k3-j7200-mcu-wakeup.dtsi 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424
  1. // SPDX-License-Identifier: GPL-2.0
  2. /*
  3. * Device Tree Source for J7200 SoC Family MCU/WAKEUP Domain peripherals
  4. *
  5. * Copyright (C) 2020-2021 Texas Instruments Incorporated - https://www.ti.com/
  6. */
  7. &cbass_mcu_wakeup {
  8. dmsc: system-controller@44083000 {
  9. compatible = "ti,k2g-sci";
  10. ti,host-id = <12>;
  11. mbox-names = "rx", "tx";
  12. mboxes = <&secure_proxy_main 11>,
  13. <&secure_proxy_main 13>;
  14. reg-names = "debug_messages";
  15. reg = <0x00 0x44083000 0x00 0x1000>;
  16. k3_pds: power-controller {
  17. compatible = "ti,sci-pm-domain";
  18. #power-domain-cells = <2>;
  19. };
  20. k3_clks: clock-controller {
  21. compatible = "ti,k2g-sci-clk";
  22. #clock-cells = <2>;
  23. };
  24. k3_reset: reset-controller {
  25. compatible = "ti,sci-reset";
  26. #reset-cells = <2>;
  27. };
  28. };
  29. mcu_conf: syscon@40f00000 {
  30. compatible = "syscon", "simple-mfd";
  31. reg = <0x00 0x40f00000 0x00 0x20000>;
  32. #address-cells = <1>;
  33. #size-cells = <1>;
  34. ranges = <0x00 0x00 0x40f00000 0x20000>;
  35. phy_gmii_sel: phy@4040 {
  36. compatible = "ti,am654-phy-gmii-sel";
  37. reg = <0x4040 0x4>;
  38. #phy-cells = <1>;
  39. };
  40. };
  41. chipid@43000014 {
  42. compatible = "ti,am654-chipid";
  43. reg = <0x00 0x43000014 0x00 0x4>;
  44. };
  45. wkup_pmx0: pinctrl@4301c000 {
  46. compatible = "pinctrl-single";
  47. /* Proxy 0 addressing */
  48. reg = <0x00 0x4301c000 0x00 0x34>;
  49. #pinctrl-cells = <1>;
  50. pinctrl-single,register-width = <32>;
  51. pinctrl-single,function-mask = <0xffffffff>;
  52. };
  53. wkup_pmx1: pinctrl@0x4301c038 {
  54. compatible = "pinctrl-single";
  55. /* Proxy 0 addressing */
  56. reg = <0x00 0x4301c038 0x00 0x8>;
  57. #pinctrl-cells = <1>;
  58. pinctrl-single,register-width = <32>;
  59. pinctrl-single,function-mask = <0xffffffff>;
  60. };
  61. wkup_pmx2: pinctrl@0x4301c068 {
  62. compatible = "pinctrl-single";
  63. /* Proxy 0 addressing */
  64. reg = <0x00 0x4301c068 0x00 0xec>;
  65. #pinctrl-cells = <1>;
  66. pinctrl-single,register-width = <32>;
  67. pinctrl-single,function-mask = <0xffffffff>;
  68. };
  69. wkup_pmx3: pinctrl@0x4301c174 {
  70. compatible = "pinctrl-single";
  71. /* Proxy 0 addressing */
  72. reg = <0x00 0x4301c174 0x00 0x20>;
  73. #pinctrl-cells = <1>;
  74. pinctrl-single,register-width = <32>;
  75. pinctrl-single,function-mask = <0xffffffff>;
  76. };
  77. mcu_ram: sram@41c00000 {
  78. compatible = "mmio-sram";
  79. reg = <0x00 0x41c00000 0x00 0x100000>;
  80. ranges = <0x00 0x00 0x41c00000 0x100000>;
  81. #address-cells = <1>;
  82. #size-cells = <1>;
  83. };
  84. wkup_uart0: serial@42300000 {
  85. compatible = "ti,j721e-uart", "ti,am654-uart";
  86. reg = <0x00 0x42300000 0x00 0x100>;
  87. interrupts = <GIC_SPI 897 IRQ_TYPE_LEVEL_HIGH>;
  88. clock-frequency = <48000000>;
  89. current-speed = <115200>;
  90. power-domains = <&k3_pds 287 TI_SCI_PD_EXCLUSIVE>;
  91. clocks = <&k3_clks 287 2>;
  92. clock-names = "fclk";
  93. };
  94. mcu_uart0: serial@40a00000 {
  95. compatible = "ti,j721e-uart", "ti,am654-uart";
  96. reg = <0x00 0x40a00000 0x00 0x100>;
  97. interrupts = <GIC_SPI 846 IRQ_TYPE_LEVEL_HIGH>;
  98. clock-frequency = <96000000>;
  99. current-speed = <115200>;
  100. power-domains = <&k3_pds 149 TI_SCI_PD_EXCLUSIVE>;
  101. clocks = <&k3_clks 149 2>;
  102. clock-names = "fclk";
  103. };
  104. wkup_gpio_intr: interrupt-controller@42200000 {
  105. compatible = "ti,sci-intr";
  106. reg = <0x00 0x42200000 0x00 0x400>;
  107. ti,intr-trigger-type = <1>;
  108. interrupt-controller;
  109. interrupt-parent = <&gic500>;
  110. #interrupt-cells = <1>;
  111. ti,sci = <&dmsc>;
  112. ti,sci-dev-id = <137>;
  113. ti,interrupt-ranges = <16 960 16>;
  114. };
  115. wkup_gpio0: gpio@42110000 {
  116. compatible = "ti,j721e-gpio", "ti,keystone-gpio";
  117. reg = <0x00 0x42110000 0x00 0x100>;
  118. gpio-controller;
  119. #gpio-cells = <2>;
  120. interrupt-parent = <&wkup_gpio_intr>;
  121. interrupts = <103>, <104>, <105>, <106>, <107>, <108>;
  122. interrupt-controller;
  123. #interrupt-cells = <2>;
  124. ti,ngpio = <85>;
  125. ti,davinci-gpio-unbanked = <0>;
  126. power-domains = <&k3_pds 113 TI_SCI_PD_EXCLUSIVE>;
  127. clocks = <&k3_clks 113 0>;
  128. clock-names = "gpio";
  129. };
  130. wkup_gpio1: gpio@42100000 {
  131. compatible = "ti,j721e-gpio", "ti,keystone-gpio";
  132. reg = <0x00 0x42100000 0x00 0x100>;
  133. gpio-controller;
  134. #gpio-cells = <2>;
  135. interrupt-parent = <&wkup_gpio_intr>;
  136. interrupts = <112>, <113>, <114>, <115>, <116>, <117>;
  137. interrupt-controller;
  138. #interrupt-cells = <2>;
  139. ti,ngpio = <85>;
  140. ti,davinci-gpio-unbanked = <0>;
  141. power-domains = <&k3_pds 114 TI_SCI_PD_EXCLUSIVE>;
  142. clocks = <&k3_clks 114 0>;
  143. clock-names = "gpio";
  144. };
  145. mcu_navss: bus@28380000 {
  146. compatible = "simple-mfd";
  147. #address-cells = <2>;
  148. #size-cells = <2>;
  149. ranges = <0x00 0x28380000 0x00 0x28380000 0x00 0x03880000>;
  150. dma-coherent;
  151. dma-ranges;
  152. ti,sci-dev-id = <232>;
  153. mcu_ringacc: ringacc@2b800000 {
  154. compatible = "ti,am654-navss-ringacc";
  155. reg = <0x00 0x2b800000 0x00 0x400000>,
  156. <0x00 0x2b000000 0x00 0x400000>,
  157. <0x00 0x28590000 0x00 0x100>,
  158. <0x00 0x2a500000 0x00 0x40000>;
  159. reg-names = "rt", "fifos", "proxy_gcfg", "proxy_target";
  160. ti,num-rings = <286>;
  161. ti,sci-rm-range-gp-rings = <0x1>; /* GP ring range */
  162. ti,sci = <&dmsc>;
  163. ti,sci-dev-id = <235>;
  164. msi-parent = <&main_udmass_inta>;
  165. };
  166. mcu_udmap: dma-controller@285c0000 {
  167. compatible = "ti,j721e-navss-mcu-udmap";
  168. reg = <0x00 0x285c0000 0x00 0x100>,
  169. <0x00 0x2a800000 0x00 0x40000>,
  170. <0x00 0x2aa00000 0x00 0x40000>;
  171. reg-names = "gcfg", "rchanrt", "tchanrt";
  172. msi-parent = <&main_udmass_inta>;
  173. #dma-cells = <1>;
  174. ti,sci = <&dmsc>;
  175. ti,sci-dev-id = <236>;
  176. ti,ringacc = <&mcu_ringacc>;
  177. ti,sci-rm-range-tchan = <0x0d>, /* TX_CHAN */
  178. <0x0f>; /* TX_HCHAN */
  179. ti,sci-rm-range-rchan = <0x0a>, /* RX_CHAN */
  180. <0x0b>; /* RX_HCHAN */
  181. ti,sci-rm-range-rflow = <0x00>; /* GP RFLOW */
  182. };
  183. };
  184. mcu_cpsw: ethernet@46000000 {
  185. compatible = "ti,j721e-cpsw-nuss";
  186. #address-cells = <2>;
  187. #size-cells = <2>;
  188. reg = <0x00 0x46000000 0x00 0x200000>;
  189. reg-names = "cpsw_nuss";
  190. ranges = <0x00 0x00 0x00 0x46000000 0x00 0x200000>;
  191. dma-coherent;
  192. clocks = <&k3_clks 18 21>;
  193. clock-names = "fck";
  194. power-domains = <&k3_pds 18 TI_SCI_PD_EXCLUSIVE>;
  195. dmas = <&mcu_udmap 0xf000>,
  196. <&mcu_udmap 0xf001>,
  197. <&mcu_udmap 0xf002>,
  198. <&mcu_udmap 0xf003>,
  199. <&mcu_udmap 0xf004>,
  200. <&mcu_udmap 0xf005>,
  201. <&mcu_udmap 0xf006>,
  202. <&mcu_udmap 0xf007>,
  203. <&mcu_udmap 0x7000>;
  204. dma-names = "tx0", "tx1", "tx2", "tx3",
  205. "tx4", "tx5", "tx6", "tx7",
  206. "rx";
  207. ethernet-ports {
  208. #address-cells = <1>;
  209. #size-cells = <0>;
  210. cpsw_port1: port@1 {
  211. reg = <1>;
  212. ti,mac-only;
  213. label = "port1";
  214. ti,syscon-efuse = <&mcu_conf 0x200>;
  215. phys = <&phy_gmii_sel 1>;
  216. };
  217. };
  218. davinci_mdio: mdio@f00 {
  219. compatible = "ti,cpsw-mdio","ti,davinci_mdio";
  220. reg = <0x00 0xf00 0x00 0x100>;
  221. #address-cells = <1>;
  222. #size-cells = <0>;
  223. clocks = <&k3_clks 18 21>;
  224. clock-names = "fck";
  225. bus_freq = <1000000>;
  226. };
  227. cpts@3d000 {
  228. compatible = "ti,am65-cpts";
  229. reg = <0x00 0x3d000 0x00 0x400>;
  230. clocks = <&k3_clks 18 2>;
  231. clock-names = "cpts";
  232. interrupts-extended = <&gic500 GIC_SPI 858 IRQ_TYPE_LEVEL_HIGH>;
  233. interrupt-names = "cpts";
  234. ti,cpts-ext-ts-inputs = <4>;
  235. ti,cpts-periodic-outputs = <2>;
  236. };
  237. };
  238. mcu_i2c0: i2c@40b00000 {
  239. compatible = "ti,j721e-i2c", "ti,omap4-i2c";
  240. reg = <0x00 0x40b00000 0x00 0x100>;
  241. interrupts = <GIC_SPI 852 IRQ_TYPE_LEVEL_HIGH>;
  242. #address-cells = <1>;
  243. #size-cells = <0>;
  244. clock-names = "fck";
  245. clocks = <&k3_clks 194 1>;
  246. power-domains = <&k3_pds 194 TI_SCI_PD_EXCLUSIVE>;
  247. };
  248. mcu_i2c1: i2c@40b10000 {
  249. compatible = "ti,j721e-i2c", "ti,omap4-i2c";
  250. reg = <0x00 0x40b10000 0x00 0x100>;
  251. interrupts = <GIC_SPI 853 IRQ_TYPE_LEVEL_HIGH>;
  252. #address-cells = <1>;
  253. #size-cells = <0>;
  254. clock-names = "fck";
  255. clocks = <&k3_clks 195 1>;
  256. power-domains = <&k3_pds 195 TI_SCI_PD_EXCLUSIVE>;
  257. };
  258. wkup_i2c0: i2c@42120000 {
  259. compatible = "ti,j721e-i2c", "ti,omap4-i2c";
  260. reg = <0x00 0x42120000 0x00 0x100>;
  261. interrupts = <GIC_SPI 896 IRQ_TYPE_LEVEL_HIGH>;
  262. #address-cells = <1>;
  263. #size-cells = <0>;
  264. clock-names = "fck";
  265. clocks = <&k3_clks 197 1>;
  266. power-domains = <&k3_pds 197 TI_SCI_PD_SHARED>;
  267. };
  268. fss: syscon@47000000 {
  269. compatible = "syscon", "simple-mfd";
  270. reg = <0x00 0x47000000 0x00 0x100>;
  271. #address-cells = <2>;
  272. #size-cells = <2>;
  273. ranges;
  274. hbmc_mux: hbmc-mux {
  275. compatible = "mmio-mux";
  276. #mux-control-cells = <1>;
  277. mux-reg-masks = <0x4 0x2>; /* HBMC select */
  278. };
  279. hbmc: hyperbus@47034000 {
  280. compatible = "ti,am654-hbmc";
  281. reg = <0x00 0x47034000 0x00 0x100>,
  282. <0x05 0x00000000 0x01 0x0000000>;
  283. power-domains = <&k3_pds 102 TI_SCI_PD_EXCLUSIVE>;
  284. clocks = <&k3_clks 102 0>;
  285. assigned-clocks = <&k3_clks 102 5>;
  286. assigned-clock-rates = <333333333>;
  287. #address-cells = <2>;
  288. #size-cells = <1>;
  289. mux-controls = <&hbmc_mux 0>;
  290. };
  291. ospi0: spi@47040000 {
  292. compatible = "ti,am654-ospi", "cdns,qspi-nor";
  293. reg = <0x0 0x47040000 0x0 0x100>,
  294. <0x5 0x00000000 0x1 0x0000000>;
  295. interrupts = <GIC_SPI 840 IRQ_TYPE_LEVEL_HIGH>;
  296. cdns,fifo-depth = <256>;
  297. cdns,fifo-width = <4>;
  298. cdns,trigger-address = <0x0>;
  299. clocks = <&k3_clks 103 0>;
  300. assigned-clocks = <&k3_clks 103 0>;
  301. assigned-clock-parents = <&k3_clks 103 2>;
  302. assigned-clock-rates = <166666666>;
  303. power-domains = <&k3_pds 103 TI_SCI_PD_EXCLUSIVE>;
  304. #address-cells = <1>;
  305. #size-cells = <0>;
  306. };
  307. };
  308. tscadc0: tscadc@40200000 {
  309. compatible = "ti,am3359-tscadc";
  310. reg = <0x00 0x40200000 0x00 0x1000>;
  311. interrupts = <GIC_SPI 860 IRQ_TYPE_LEVEL_HIGH>;
  312. power-domains = <&k3_pds 0 TI_SCI_PD_EXCLUSIVE>;
  313. clocks = <&k3_clks 0 1>;
  314. assigned-clocks = <&k3_clks 0 3>;
  315. assigned-clock-rates = <60000000>;
  316. clock-names = "adc_tsc_fck";
  317. dmas = <&main_udmap 0x7400>,
  318. <&main_udmap 0x7401>;
  319. dma-names = "fifo0", "fifo1";
  320. adc {
  321. #io-channel-cells = <1>;
  322. compatible = "ti,am3359-adc";
  323. };
  324. };
  325. mcu_r5fss0: r5fss@41000000 {
  326. compatible = "ti,j7200-r5fss";
  327. ti,cluster-mode = <1>;
  328. #address-cells = <1>;
  329. #size-cells = <1>;
  330. ranges = <0x41000000 0x00 0x41000000 0x20000>,
  331. <0x41400000 0x00 0x41400000 0x20000>;
  332. power-domains = <&k3_pds 249 TI_SCI_PD_EXCLUSIVE>;
  333. mcu_r5fss0_core0: r5f@41000000 {
  334. compatible = "ti,j7200-r5f";
  335. reg = <0x41000000 0x00010000>,
  336. <0x41010000 0x00010000>;
  337. reg-names = "atcm", "btcm";
  338. ti,sci = <&dmsc>;
  339. ti,sci-dev-id = <250>;
  340. ti,sci-proc-ids = <0x01 0xff>;
  341. resets = <&k3_reset 250 1>;
  342. firmware-name = "j7200-mcu-r5f0_0-fw";
  343. ti,atcm-enable = <1>;
  344. ti,btcm-enable = <1>;
  345. ti,loczrama = <1>;
  346. };
  347. mcu_r5fss0_core1: r5f@41400000 {
  348. compatible = "ti,j7200-r5f";
  349. reg = <0x41400000 0x00008000>,
  350. <0x41410000 0x00008000>;
  351. reg-names = "atcm", "btcm";
  352. ti,sci = <&dmsc>;
  353. ti,sci-dev-id = <251>;
  354. ti,sci-proc-ids = <0x02 0xff>;
  355. resets = <&k3_reset 251 1>;
  356. firmware-name = "j7200-mcu-r5f0_1-fw";
  357. ti,atcm-enable = <1>;
  358. ti,btcm-enable = <1>;
  359. ti,loczrama = <1>;
  360. };
  361. };
  362. mcu_crypto: crypto@40900000 {
  363. compatible = "ti,j721e-sa2ul";
  364. reg = <0x00 0x40900000 0x00 0x1200>;
  365. power-domains = <&k3_pds 265 TI_SCI_PD_SHARED>;
  366. #address-cells = <2>;
  367. #size-cells = <2>;
  368. ranges = <0x00 0x40900000 0x00 0x40900000 0x00 0x30000>;
  369. dmas = <&mcu_udmap 0xf501>, <&mcu_udmap 0x7502>,
  370. <&mcu_udmap 0x7503>;
  371. dma-names = "tx", "rx1", "rx2";
  372. rng: rng@40910000 {
  373. compatible = "inside-secure,safexcel-eip76";
  374. reg = <0x00 0x40910000 0x00 0x7d>;
  375. interrupts = <GIC_SPI 945 IRQ_TYPE_LEVEL_HIGH>;
  376. status = "disabled"; /* Used by OP-TEE */
  377. };
  378. };
  379. };