k3-am65-mcu.dtsi 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348
  1. // SPDX-License-Identifier: GPL-2.0
  2. /*
  3. * Device Tree Source for AM6 SoC Family MCU Domain peripherals
  4. *
  5. * Copyright (C) 2016-2020 Texas Instruments Incorporated - https://www.ti.com/
  6. */
  7. &cbass_mcu {
  8. mcu_conf: scm-conf@40f00000 {
  9. compatible = "syscon", "simple-mfd";
  10. reg = <0x0 0x40f00000 0x0 0x20000>;
  11. #address-cells = <1>;
  12. #size-cells = <1>;
  13. ranges = <0x0 0x0 0x40f00000 0x20000>;
  14. phy_gmii_sel: phy@4040 {
  15. compatible = "ti,am654-phy-gmii-sel";
  16. reg = <0x4040 0x4>;
  17. #phy-cells = <1>;
  18. };
  19. };
  20. mcu_uart0: serial@40a00000 {
  21. compatible = "ti,am654-uart";
  22. reg = <0x00 0x40a00000 0x00 0x100>;
  23. interrupts = <GIC_SPI 565 IRQ_TYPE_LEVEL_HIGH>;
  24. clock-frequency = <96000000>;
  25. current-speed = <115200>;
  26. power-domains = <&k3_pds 149 TI_SCI_PD_EXCLUSIVE>;
  27. };
  28. mcu_ram: sram@41c00000 {
  29. compatible = "mmio-sram";
  30. reg = <0x00 0x41c00000 0x00 0x80000>;
  31. ranges = <0x0 0x00 0x41c00000 0x80000>;
  32. #address-cells = <1>;
  33. #size-cells = <1>;
  34. };
  35. mcu_i2c0: i2c@40b00000 {
  36. compatible = "ti,am654-i2c", "ti,omap4-i2c";
  37. reg = <0x0 0x40b00000 0x0 0x100>;
  38. interrupts = <GIC_SPI 564 IRQ_TYPE_LEVEL_HIGH>;
  39. #address-cells = <1>;
  40. #size-cells = <0>;
  41. clock-names = "fck";
  42. clocks = <&k3_clks 114 1>;
  43. power-domains = <&k3_pds 114 TI_SCI_PD_EXCLUSIVE>;
  44. };
  45. mcu_spi0: spi@40300000 {
  46. compatible = "ti,am654-mcspi","ti,omap4-mcspi";
  47. reg = <0x0 0x40300000 0x0 0x400>;
  48. interrupts = <GIC_SPI 560 IRQ_TYPE_LEVEL_HIGH>;
  49. clocks = <&k3_clks 142 1>;
  50. power-domains = <&k3_pds 142 TI_SCI_PD_EXCLUSIVE>;
  51. #address-cells = <1>;
  52. #size-cells = <0>;
  53. };
  54. mcu_spi1: spi@40310000 {
  55. compatible = "ti,am654-mcspi","ti,omap4-mcspi";
  56. reg = <0x0 0x40310000 0x0 0x400>;
  57. interrupts = <GIC_SPI 561 IRQ_TYPE_LEVEL_HIGH>;
  58. clocks = <&k3_clks 143 1>;
  59. power-domains = <&k3_pds 143 TI_SCI_PD_EXCLUSIVE>;
  60. #address-cells = <1>;
  61. #size-cells = <0>;
  62. };
  63. mcu_spi2: spi@40320000 {
  64. compatible = "ti,am654-mcspi","ti,omap4-mcspi";
  65. reg = <0x0 0x40320000 0x0 0x400>;
  66. interrupts = <GIC_SPI 562 IRQ_TYPE_LEVEL_HIGH>;
  67. clocks = <&k3_clks 144 1>;
  68. power-domains = <&k3_pds 144 TI_SCI_PD_EXCLUSIVE>;
  69. #address-cells = <1>;
  70. #size-cells = <0>;
  71. };
  72. tscadc0: tscadc@40200000 {
  73. compatible = "ti,am654-tscadc", "ti,am3359-tscadc";
  74. reg = <0x0 0x40200000 0x0 0x1000>;
  75. interrupts = <GIC_SPI 580 IRQ_TYPE_LEVEL_HIGH>;
  76. clocks = <&k3_clks 0 2>;
  77. assigned-clocks = <&k3_clks 0 2>;
  78. assigned-clock-rates = <60000000>;
  79. clock-names = "adc_tsc_fck";
  80. dmas = <&mcu_udmap 0x7100>,
  81. <&mcu_udmap 0x7101 >;
  82. dma-names = "fifo0", "fifo1";
  83. adc {
  84. #io-channel-cells = <1>;
  85. compatible = "ti,am654-adc", "ti,am3359-adc";
  86. };
  87. };
  88. tscadc1: tscadc@40210000 {
  89. compatible = "ti,am654-tscadc", "ti,am3359-tscadc";
  90. reg = <0x0 0x40210000 0x0 0x1000>;
  91. interrupts = <GIC_SPI 581 IRQ_TYPE_LEVEL_HIGH>;
  92. clocks = <&k3_clks 1 2>;
  93. assigned-clocks = <&k3_clks 1 2>;
  94. assigned-clock-rates = <60000000>;
  95. clock-names = "adc_tsc_fck";
  96. dmas = <&mcu_udmap 0x7102>,
  97. <&mcu_udmap 0x7103>;
  98. dma-names = "fifo0", "fifo1";
  99. adc {
  100. #io-channel-cells = <1>;
  101. compatible = "ti,am654-adc", "ti,am3359-adc";
  102. };
  103. };
  104. mcu_navss: bus@28380000 {
  105. compatible = "simple-mfd";
  106. #address-cells = <2>;
  107. #size-cells = <2>;
  108. ranges = <0x00 0x28380000 0x00 0x28380000 0x00 0x03880000>;
  109. dma-coherent;
  110. dma-ranges;
  111. ti,sci-dev-id = <119>;
  112. mcu_ringacc: ringacc@2b800000 {
  113. compatible = "ti,am654-navss-ringacc";
  114. reg = <0x0 0x2b800000 0x0 0x400000>,
  115. <0x0 0x2b000000 0x0 0x400000>,
  116. <0x0 0x28590000 0x0 0x100>,
  117. <0x0 0x2a500000 0x0 0x40000>;
  118. reg-names = "rt", "fifos", "proxy_gcfg", "proxy_target";
  119. ti,num-rings = <286>;
  120. ti,sci-rm-range-gp-rings = <0x1>; /* GP ring range */
  121. ti,sci = <&dmsc>;
  122. ti,sci-dev-id = <195>;
  123. msi-parent = <&inta_main_udmass>;
  124. };
  125. mcu_udmap: dma-controller@285c0000 {
  126. compatible = "ti,am654-navss-mcu-udmap";
  127. reg = <0x0 0x285c0000 0x0 0x100>,
  128. <0x0 0x2a800000 0x0 0x40000>,
  129. <0x0 0x2aa00000 0x0 0x40000>;
  130. reg-names = "gcfg", "rchanrt", "tchanrt";
  131. msi-parent = <&inta_main_udmass>;
  132. #dma-cells = <1>;
  133. ti,sci = <&dmsc>;
  134. ti,sci-dev-id = <194>;
  135. ti,ringacc = <&mcu_ringacc>;
  136. ti,sci-rm-range-tchan = <0xf>, /* TX_HCHAN */
  137. <0xd>; /* TX_CHAN */
  138. ti,sci-rm-range-rchan = <0xb>, /* RX_HCHAN */
  139. <0xa>; /* RX_CHAN */
  140. ti,sci-rm-range-rflow = <0x0>; /* GP RFLOW */
  141. };
  142. };
  143. m_can0: mcan@40528000 {
  144. compatible = "bosch,m_can";
  145. reg = <0x0 0x40528000 0x0 0x400>,
  146. <0x0 0x40500000 0x0 0x4400>;
  147. reg-names = "m_can", "message_ram";
  148. power-domains = <&k3_pds 102 TI_SCI_PD_EXCLUSIVE>;
  149. clocks = <&k3_clks 102 5>, <&k3_clks 102 0>;
  150. clock-names = "hclk", "cclk";
  151. interrupt-parent = <&gic500>;
  152. interrupts = <GIC_SPI 544 IRQ_TYPE_LEVEL_HIGH>,
  153. <GIC_SPI 545 IRQ_TYPE_LEVEL_HIGH>;
  154. interrupt-names = "int0", "int1";
  155. bosch,mram-cfg = <0x0 128 64 64 64 64 32 32>;
  156. };
  157. m_can1: mcan@40568000 {
  158. compatible = "bosch,m_can";
  159. reg = <0x0 0x40568000 0x0 0x400>,
  160. <0x0 0x40540000 0x0 0x4400>;
  161. reg-names = "m_can", "message_ram";
  162. power-domains = <&k3_pds 103 TI_SCI_PD_EXCLUSIVE>;
  163. clocks = <&k3_clks 103 5>, <&k3_clks 103 0>;
  164. clock-names = "hclk", "cclk";
  165. interrupt-parent = <&gic500>;
  166. interrupts = <GIC_SPI 547 IRQ_TYPE_LEVEL_HIGH>,
  167. <GIC_SPI 548 IRQ_TYPE_LEVEL_HIGH>;
  168. interrupt-names = "int0", "int1";
  169. bosch,mram-cfg = <0x0 128 64 64 64 64 32 32>;
  170. };
  171. fss: fss@47000000 {
  172. compatible = "simple-bus";
  173. #address-cells = <2>;
  174. #size-cells = <2>;
  175. ranges;
  176. ospi0: spi@47040000 {
  177. compatible = "ti,am654-ospi", "cdns,qspi-nor";
  178. reg = <0x0 0x47040000 0x0 0x100>,
  179. <0x5 0x00000000 0x1 0x0000000>;
  180. interrupts = <GIC_SPI 552 IRQ_TYPE_LEVEL_HIGH>;
  181. cdns,fifo-depth = <256>;
  182. cdns,fifo-width = <4>;
  183. cdns,trigger-address = <0x0>;
  184. clocks = <&k3_clks 248 0>;
  185. assigned-clocks = <&k3_clks 248 0>;
  186. assigned-clock-parents = <&k3_clks 248 2>;
  187. assigned-clock-rates = <166666666>;
  188. power-domains = <&k3_pds 248 TI_SCI_PD_EXCLUSIVE>;
  189. #address-cells = <1>;
  190. #size-cells = <0>;
  191. };
  192. ospi1: spi@47050000 {
  193. compatible = "ti,am654-ospi", "cdns,qspi-nor";
  194. reg = <0x0 0x47050000 0x0 0x100>,
  195. <0x7 0x00000000 0x1 0x00000000>;
  196. interrupts = <GIC_SPI 553 IRQ_TYPE_LEVEL_HIGH>;
  197. cdns,fifo-depth = <256>;
  198. cdns,fifo-width = <4>;
  199. cdns,trigger-address = <0x0>;
  200. clocks = <&k3_clks 249 6>;
  201. power-domains = <&k3_pds 249 TI_SCI_PD_EXCLUSIVE>;
  202. #address-cells = <1>;
  203. #size-cells = <0>;
  204. };
  205. };
  206. mcu_cpsw: ethernet@46000000 {
  207. compatible = "ti,am654-cpsw-nuss";
  208. #address-cells = <2>;
  209. #size-cells = <2>;
  210. reg = <0x0 0x46000000 0x0 0x200000>;
  211. reg-names = "cpsw_nuss";
  212. ranges = <0x0 0x0 0x0 0x46000000 0x0 0x200000>;
  213. dma-coherent;
  214. clocks = <&k3_clks 5 10>;
  215. clock-names = "fck";
  216. power-domains = <&k3_pds 5 TI_SCI_PD_EXCLUSIVE>;
  217. dmas = <&mcu_udmap 0xf000>,
  218. <&mcu_udmap 0xf001>,
  219. <&mcu_udmap 0xf002>,
  220. <&mcu_udmap 0xf003>,
  221. <&mcu_udmap 0xf004>,
  222. <&mcu_udmap 0xf005>,
  223. <&mcu_udmap 0xf006>,
  224. <&mcu_udmap 0xf007>,
  225. <&mcu_udmap 0x7000>;
  226. dma-names = "tx0", "tx1", "tx2", "tx3",
  227. "tx4", "tx5", "tx6", "tx7",
  228. "rx";
  229. ethernet-ports {
  230. #address-cells = <1>;
  231. #size-cells = <0>;
  232. cpsw_port1: port@1 {
  233. reg = <1>;
  234. ti,mac-only;
  235. label = "port1";
  236. ti,syscon-efuse = <&mcu_conf 0x200>;
  237. phys = <&phy_gmii_sel 1>;
  238. };
  239. };
  240. davinci_mdio: mdio@f00 {
  241. compatible = "ti,cpsw-mdio","ti,davinci_mdio";
  242. reg = <0x0 0xf00 0x0 0x100>;
  243. #address-cells = <1>;
  244. #size-cells = <0>;
  245. clocks = <&k3_clks 5 10>;
  246. clock-names = "fck";
  247. bus_freq = <1000000>;
  248. };
  249. cpts@3d000 {
  250. compatible = "ti,am65-cpts";
  251. reg = <0x0 0x3d000 0x0 0x400>;
  252. clocks = <&mcu_cpsw_cpts_mux>;
  253. clock-names = "cpts";
  254. interrupts-extended = <&gic500 GIC_SPI 570 IRQ_TYPE_LEVEL_HIGH>;
  255. interrupt-names = "cpts";
  256. ti,cpts-ext-ts-inputs = <4>;
  257. ti,cpts-periodic-outputs = <2>;
  258. mcu_cpsw_cpts_mux: refclk-mux {
  259. #clock-cells = <0>;
  260. clocks = <&k3_clks 118 5>, <&k3_clks 118 11>,
  261. <&k3_clks 118 6>, <&k3_clks 118 3>,
  262. <&k3_clks 118 8>, <&k3_clks 118 14>,
  263. <&k3_clks 120 3>, <&k3_clks 121 3>;
  264. assigned-clocks = <&mcu_cpsw_cpts_mux>;
  265. assigned-clock-parents = <&k3_clks 118 5>;
  266. };
  267. };
  268. };
  269. mcu_r5fss0: r5fss@41000000 {
  270. compatible = "ti,am654-r5fss";
  271. ti,cluster-mode = <1>;
  272. #address-cells = <1>;
  273. #size-cells = <1>;
  274. ranges = <0x41000000 0x00 0x41000000 0x20000>,
  275. <0x41400000 0x00 0x41400000 0x20000>;
  276. power-domains = <&k3_pds 129 TI_SCI_PD_EXCLUSIVE>;
  277. mcu_r5fss0_core0: r5f@41000000 {
  278. compatible = "ti,am654-r5f";
  279. reg = <0x41000000 0x00008000>,
  280. <0x41010000 0x00008000>;
  281. reg-names = "atcm", "btcm";
  282. ti,sci = <&dmsc>;
  283. ti,sci-dev-id = <159>;
  284. ti,sci-proc-ids = <0x01 0xff>;
  285. resets = <&k3_reset 159 1>;
  286. firmware-name = "am65x-mcu-r5f0_0-fw";
  287. ti,atcm-enable = <1>;
  288. ti,btcm-enable = <1>;
  289. ti,loczrama = <1>;
  290. };
  291. mcu_r5fss0_core1: r5f@41400000 {
  292. compatible = "ti,am654-r5f";
  293. reg = <0x41400000 0x00008000>,
  294. <0x41410000 0x00008000>;
  295. reg-names = "atcm", "btcm";
  296. ti,sci = <&dmsc>;
  297. ti,sci-dev-id = <245>;
  298. ti,sci-proc-ids = <0x02 0xff>;
  299. resets = <&k3_reset 245 1>;
  300. firmware-name = "am65x-mcu-r5f0_1-fw";
  301. ti,atcm-enable = <1>;
  302. ti,btcm-enable = <1>;
  303. ti,loczrama = <1>;
  304. };
  305. };
  306. mcu_rti1: watchdog@40610000 {
  307. compatible = "ti,j7-rti-wdt";
  308. reg = <0x0 0x40610000 0x0 0x100>;
  309. clocks = <&k3_clks 135 0>;
  310. power-domains = <&k3_pds 135 TI_SCI_PD_SHARED>;
  311. assigned-clocks = <&k3_clks 135 0>;
  312. assigned-clock-parents = <&k3_clks 135 4>;
  313. };
  314. };