keystone-k2hk.dtsi 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295
  1. // SPDX-License-Identifier: GPL-2.0
  2. /*
  3. * Keystone 2 Kepler/Hawking soc specific device tree
  4. *
  5. * Copyright (C) 2013-2017 Texas Instruments Incorporated - http://www.ti.com/
  6. */
  7. #include <dt-bindings/reset/ti-syscon.h>
  8. / {
  9. compatible = "ti,k2hk", "ti,keystone";
  10. model = "Texas Instruments Keystone 2 Kepler/Hawking SoC";
  11. cpus {
  12. #address-cells = <1>;
  13. #size-cells = <0>;
  14. interrupt-parent = <&gic>;
  15. cpu@0 {
  16. compatible = "arm,cortex-a15";
  17. device_type = "cpu";
  18. reg = <0>;
  19. };
  20. cpu@1 {
  21. compatible = "arm,cortex-a15";
  22. device_type = "cpu";
  23. reg = <1>;
  24. };
  25. cpu@2 {
  26. compatible = "arm,cortex-a15";
  27. device_type = "cpu";
  28. reg = <2>;
  29. };
  30. cpu@3 {
  31. compatible = "arm,cortex-a15";
  32. device_type = "cpu";
  33. reg = <3>;
  34. };
  35. };
  36. aliases {
  37. rproc0 = &dsp0;
  38. rproc1 = &dsp1;
  39. rproc2 = &dsp2;
  40. rproc3 = &dsp3;
  41. rproc4 = &dsp4;
  42. rproc5 = &dsp5;
  43. rproc6 = &dsp6;
  44. rproc7 = &dsp7;
  45. };
  46. };
  47. &soc0 {
  48. /include/ "keystone-k2hk-clocks.dtsi"
  49. msm_ram: sram@c000000 {
  50. compatible = "mmio-sram";
  51. reg = <0x0c000000 0x600000>;
  52. ranges = <0x0 0x0c000000 0x600000>;
  53. #address-cells = <1>;
  54. #size-cells = <1>;
  55. bm-sram@5f0000 {
  56. reg = <0x5f0000 0x8000>;
  57. };
  58. };
  59. psc: power-sleep-controller@2350000 {
  60. pscrst: reset-controller {
  61. compatible = "ti,k2hk-pscrst", "ti,syscon-reset";
  62. #reset-cells = <1>;
  63. ti,reset-bits = <
  64. 0xa3c 8 0xa3c 8 0x83c 8 (ASSERT_CLEAR | DEASSERT_SET | STATUS_CLEAR) /* 0: dsp0 */
  65. 0xa40 8 0xa40 8 0x840 8 (ASSERT_CLEAR | DEASSERT_SET | STATUS_CLEAR) /* 1: dsp1 */
  66. 0xa44 8 0xa44 8 0x844 8 (ASSERT_CLEAR | DEASSERT_SET | STATUS_CLEAR) /* 2: dsp2 */
  67. 0xa48 8 0xa48 8 0x848 8 (ASSERT_CLEAR | DEASSERT_SET | STATUS_CLEAR) /* 3: dsp3 */
  68. 0xa4c 8 0xa4c 8 0x84c 8 (ASSERT_CLEAR | DEASSERT_SET | STATUS_CLEAR) /* 4: dsp4 */
  69. 0xa50 8 0xa50 8 0x850 8 (ASSERT_CLEAR | DEASSERT_SET | STATUS_CLEAR) /* 5: dsp5 */
  70. 0xa54 8 0xa54 8 0x854 8 (ASSERT_CLEAR | DEASSERT_SET | STATUS_CLEAR) /* 6: dsp6 */
  71. 0xa58 8 0xa58 8 0x858 8 (ASSERT_CLEAR | DEASSERT_SET | STATUS_CLEAR) /* 7: dsp7 */
  72. >;
  73. };
  74. };
  75. devctrl: device-state-control@2620000 {
  76. dspgpio0: keystone_dsp_gpio@240 {
  77. compatible = "ti,keystone-dsp-gpio";
  78. reg = <0x240 0x4>;
  79. gpio-controller;
  80. #gpio-cells = <2>;
  81. gpio,syscon-dev = <&devctrl 0x240>;
  82. };
  83. dspgpio1: keystone_dsp_gpio@244 {
  84. compatible = "ti,keystone-dsp-gpio";
  85. reg = <0x244 0x4>;
  86. gpio-controller;
  87. #gpio-cells = <2>;
  88. gpio,syscon-dev = <&devctrl 0x244>;
  89. };
  90. dspgpio2: keystone_dsp_gpio@248 {
  91. compatible = "ti,keystone-dsp-gpio";
  92. reg = <0x248 0x4>;
  93. gpio-controller;
  94. #gpio-cells = <2>;
  95. gpio,syscon-dev = <&devctrl 0x248>;
  96. };
  97. dspgpio3: keystone_dsp_gpio@24c {
  98. compatible = "ti,keystone-dsp-gpio";
  99. reg = <0x24c 0x4>;
  100. gpio-controller;
  101. #gpio-cells = <2>;
  102. gpio,syscon-dev = <&devctrl 0x24c>;
  103. };
  104. dspgpio4: keystone_dsp_gpio@250 {
  105. compatible = "ti,keystone-dsp-gpio";
  106. reg = <0x250 0x4>;
  107. gpio-controller;
  108. #gpio-cells = <2>;
  109. gpio,syscon-dev = <&devctrl 0x250>;
  110. };
  111. dspgpio5: keystone_dsp_gpio@254 {
  112. compatible = "ti,keystone-dsp-gpio";
  113. reg = <0x254 0x4>;
  114. gpio-controller;
  115. #gpio-cells = <2>;
  116. gpio,syscon-dev = <&devctrl 0x254>;
  117. };
  118. dspgpio6: keystone_dsp_gpio@258 {
  119. compatible = "ti,keystone-dsp-gpio";
  120. reg = <0x258 0x4>;
  121. gpio-controller;
  122. #gpio-cells = <2>;
  123. gpio,syscon-dev = <&devctrl 0x258>;
  124. };
  125. dspgpio7: keystone_dsp_gpio@25c {
  126. compatible = "ti,keystone-dsp-gpio";
  127. reg = <0x25c 0x4>;
  128. gpio-controller;
  129. #gpio-cells = <2>;
  130. gpio,syscon-dev = <&devctrl 0x25c>;
  131. };
  132. };
  133. dsp0: dsp@10800000 {
  134. compatible = "ti,k2hk-dsp";
  135. reg = <0x10800000 0x00100000>,
  136. <0x10e00000 0x00008000>,
  137. <0x10f00000 0x00008000>;
  138. reg-names = "l2sram", "l1pram", "l1dram";
  139. clocks = <&clkgem0>;
  140. ti,syscon-dev = <&devctrl 0x40>;
  141. resets = <&pscrst 0>;
  142. interrupt-parent = <&kirq0>;
  143. interrupts = <0 8>;
  144. interrupt-names = "vring", "exception";
  145. kick-gpios = <&dspgpio0 27 0>;
  146. status = "disabled";
  147. };
  148. dsp1: dsp@11800000 {
  149. compatible = "ti,k2hk-dsp";
  150. reg = <0x11800000 0x00100000>,
  151. <0x11e00000 0x00008000>,
  152. <0x11f00000 0x00008000>;
  153. reg-names = "l2sram", "l1pram", "l1dram";
  154. clocks = <&clkgem1>;
  155. ti,syscon-dev = <&devctrl 0x44>;
  156. resets = <&pscrst 1>;
  157. interrupt-parent = <&kirq0>;
  158. interrupts = <1 9>;
  159. interrupt-names = "vring", "exception";
  160. kick-gpios = <&dspgpio1 27 0>;
  161. status = "disabled";
  162. };
  163. dsp2: dsp@12800000 {
  164. compatible = "ti,k2hk-dsp";
  165. reg = <0x12800000 0x00100000>,
  166. <0x12e00000 0x00008000>,
  167. <0x12f00000 0x00008000>;
  168. reg-names = "l2sram", "l1pram", "l1dram";
  169. clocks = <&clkgem2>;
  170. ti,syscon-dev = <&devctrl 0x48>;
  171. resets = <&pscrst 2>;
  172. interrupt-parent = <&kirq0>;
  173. interrupts = <2 10>;
  174. interrupt-names = "vring", "exception";
  175. kick-gpios = <&dspgpio2 27 0>;
  176. status = "disabled";
  177. };
  178. dsp3: dsp@13800000 {
  179. compatible = "ti,k2hk-dsp";
  180. reg = <0x13800000 0x00100000>,
  181. <0x13e00000 0x00008000>,
  182. <0x13f00000 0x00008000>;
  183. reg-names = "l2sram", "l1pram", "l1dram";
  184. clocks = <&clkgem3>;
  185. ti,syscon-dev = <&devctrl 0x4c>;
  186. resets = <&pscrst 3>;
  187. interrupt-parent = <&kirq0>;
  188. interrupts = <3 11>;
  189. interrupt-names = "vring", "exception";
  190. kick-gpios = <&dspgpio3 27 0>;
  191. status = "disabled";
  192. };
  193. dsp4: dsp@14800000 {
  194. compatible = "ti,k2hk-dsp";
  195. reg = <0x14800000 0x00100000>,
  196. <0x14e00000 0x00008000>,
  197. <0x14f00000 0x00008000>;
  198. reg-names = "l2sram", "l1pram", "l1dram";
  199. clocks = <&clkgem4>;
  200. ti,syscon-dev = <&devctrl 0x50>;
  201. resets = <&pscrst 4>;
  202. interrupt-parent = <&kirq0>;
  203. interrupts = <4 12>;
  204. interrupt-names = "vring", "exception";
  205. kick-gpios = <&dspgpio4 27 0>;
  206. status = "disabled";
  207. };
  208. dsp5: dsp@15800000 {
  209. compatible = "ti,k2hk-dsp";
  210. reg = <0x15800000 0x00100000>,
  211. <0x15e00000 0x00008000>,
  212. <0x15f00000 0x00008000>;
  213. reg-names = "l2sram", "l1pram", "l1dram";
  214. clocks = <&clkgem5>;
  215. ti,syscon-dev = <&devctrl 0x54>;
  216. resets = <&pscrst 5>;
  217. interrupt-parent = <&kirq0>;
  218. interrupts = <5 13>;
  219. interrupt-names = "vring", "exception";
  220. kick-gpios = <&dspgpio5 27 0>;
  221. status = "disabled";
  222. };
  223. dsp6: dsp@16800000 {
  224. compatible = "ti,k2hk-dsp";
  225. reg = <0x16800000 0x00100000>,
  226. <0x16e00000 0x00008000>,
  227. <0x16f00000 0x00008000>;
  228. reg-names = "l2sram", "l1pram", "l1dram";
  229. clocks = <&clkgem6>;
  230. ti,syscon-dev = <&devctrl 0x58>;
  231. resets = <&pscrst 6>;
  232. interrupt-parent = <&kirq0>;
  233. interrupts = <6 14>;
  234. interrupt-names = "vring", "exception";
  235. kick-gpios = <&dspgpio6 27 0>;
  236. status = "disabled";
  237. };
  238. dsp7: dsp@17800000 {
  239. compatible = "ti,k2hk-dsp";
  240. reg = <0x17800000 0x00100000>,
  241. <0x17e00000 0x00008000>,
  242. <0x17f00000 0x00008000>;
  243. reg-names = "l2sram", "l1pram", "l1dram";
  244. clocks = <&clkgem7>;
  245. ti,syscon-dev = <&devctrl 0x5c>;
  246. resets = <&pscrst 7>;
  247. interrupt-parent = <&kirq0>;
  248. interrupts = <7 15>;
  249. interrupt-names = "vring", "exception";
  250. kick-gpios = <&dspgpio7 27 0>;
  251. status = "disabled";
  252. };
  253. mdio: mdio@2090300 {
  254. compatible = "ti,keystone_mdio", "ti,davinci_mdio";
  255. #address-cells = <1>;
  256. #size-cells = <0>;
  257. reg = <0x02090300 0x100>;
  258. status = "disabled";
  259. clocks = <&clkcpgmac>;
  260. clock-names = "fck";
  261. bus_freq = <2500000>;
  262. };
  263. /include/ "keystone-k2hk-netcp.dtsi"
  264. };