tegra124.dtsi 36 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366
  1. // SPDX-License-Identifier: GPL-2.0
  2. #include <dt-bindings/clock/tegra124-car.h>
  3. #include <dt-bindings/gpio/tegra-gpio.h>
  4. #include <dt-bindings/memory/tegra124-mc.h>
  5. #include <dt-bindings/pinctrl/pinctrl-tegra.h>
  6. #include <dt-bindings/interrupt-controller/arm-gic.h>
  7. #include <dt-bindings/reset/tegra124-car.h>
  8. #include <dt-bindings/thermal/tegra124-soctherm.h>
  9. #include <dt-bindings/soc/tegra-pmc.h>
  10. #include "tegra124-peripherals-opp.dtsi"
  11. / {
  12. compatible = "nvidia,tegra124";
  13. interrupt-parent = <&lic>;
  14. #address-cells = <2>;
  15. #size-cells = <2>;
  16. memory@80000000 {
  17. device_type = "memory";
  18. reg = <0x0 0x80000000 0x0 0x0>;
  19. };
  20. pcie@1003000 {
  21. compatible = "nvidia,tegra124-pcie";
  22. device_type = "pci";
  23. reg = <0x0 0x01003000 0x0 0x00000800>, /* PADS registers */
  24. <0x0 0x01003800 0x0 0x00000800>, /* AFI registers */
  25. <0x0 0x02000000 0x0 0x10000000>; /* configuration space */
  26. reg-names = "pads", "afi", "cs";
  27. interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>, /* controller interrupt */
  28. <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; /* MSI interrupt */
  29. interrupt-names = "intr", "msi";
  30. #interrupt-cells = <1>;
  31. interrupt-map-mask = <0 0 0 0>;
  32. interrupt-map = <0 0 0 0 &gic GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
  33. bus-range = <0x00 0xff>;
  34. #address-cells = <3>;
  35. #size-cells = <2>;
  36. ranges = <0x02000000 0 0x01000000 0x0 0x01000000 0 0x00001000>, /* port 0 configuration space */
  37. <0x02000000 0 0x01001000 0x0 0x01001000 0 0x00001000>, /* port 1 configuration space */
  38. <0x01000000 0 0x0 0x0 0x12000000 0 0x00010000>, /* downstream I/O (64 KiB) */
  39. <0x02000000 0 0x13000000 0x0 0x13000000 0 0x0d000000>, /* non-prefetchable memory (208 MiB) */
  40. <0x42000000 0 0x20000000 0x0 0x20000000 0 0x20000000>; /* prefetchable memory (512 MiB) */
  41. clocks = <&tegra_car TEGRA124_CLK_PCIE>,
  42. <&tegra_car TEGRA124_CLK_AFI>,
  43. <&tegra_car TEGRA124_CLK_PLL_E>,
  44. <&tegra_car TEGRA124_CLK_CML0>;
  45. clock-names = "pex", "afi", "pll_e", "cml";
  46. resets = <&tegra_car 70>,
  47. <&tegra_car 72>,
  48. <&tegra_car 74>;
  49. reset-names = "pex", "afi", "pcie_x";
  50. status = "disabled";
  51. pci@1,0 {
  52. device_type = "pci";
  53. assigned-addresses = <0x82000800 0 0x01000000 0 0x1000>;
  54. reg = <0x000800 0 0 0 0>;
  55. bus-range = <0x00 0xff>;
  56. status = "disabled";
  57. #address-cells = <3>;
  58. #size-cells = <2>;
  59. ranges;
  60. nvidia,num-lanes = <2>;
  61. };
  62. pci@2,0 {
  63. device_type = "pci";
  64. assigned-addresses = <0x82001000 0 0x01001000 0 0x1000>;
  65. reg = <0x001000 0 0 0 0>;
  66. bus-range = <0x00 0xff>;
  67. status = "disabled";
  68. #address-cells = <3>;
  69. #size-cells = <2>;
  70. ranges;
  71. nvidia,num-lanes = <1>;
  72. };
  73. };
  74. host1x@50000000 {
  75. compatible = "nvidia,tegra124-host1x";
  76. reg = <0x0 0x50000000 0x0 0x00034000>;
  77. interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>, /* syncpt */
  78. <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; /* general */
  79. interrupt-names = "syncpt", "host1x";
  80. clocks = <&tegra_car TEGRA124_CLK_HOST1X>;
  81. clock-names = "host1x";
  82. resets = <&tegra_car 28>, <&mc TEGRA124_MC_RESET_HC>;
  83. reset-names = "host1x", "mc";
  84. iommus = <&mc TEGRA_SWGROUP_HC>;
  85. #address-cells = <2>;
  86. #size-cells = <2>;
  87. ranges = <0 0x54000000 0 0x54000000 0 0x01000000>;
  88. dc@54200000 {
  89. compatible = "nvidia,tegra124-dc";
  90. reg = <0x0 0x54200000 0x0 0x00040000>;
  91. interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
  92. clocks = <&tegra_car TEGRA124_CLK_DISP1>;
  93. clock-names = "dc";
  94. resets = <&tegra_car 27>;
  95. reset-names = "dc";
  96. iommus = <&mc TEGRA_SWGROUP_DC>;
  97. nvidia,head = <0>;
  98. interconnects = <&mc TEGRA124_MC_DISPLAY0A &emc>,
  99. <&mc TEGRA124_MC_DISPLAY0B &emc>,
  100. <&mc TEGRA124_MC_DISPLAY0C &emc>,
  101. <&mc TEGRA124_MC_DISPLAYHC &emc>,
  102. <&mc TEGRA124_MC_DISPLAYD &emc>,
  103. <&mc TEGRA124_MC_DISPLAYT &emc>;
  104. interconnect-names = "wina",
  105. "winb",
  106. "winc",
  107. "cursor",
  108. "wind",
  109. "wint";
  110. };
  111. dc@54240000 {
  112. compatible = "nvidia,tegra124-dc";
  113. reg = <0x0 0x54240000 0x0 0x00040000>;
  114. interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
  115. clocks = <&tegra_car TEGRA124_CLK_DISP2>;
  116. clock-names = "dc";
  117. resets = <&tegra_car 26>;
  118. reset-names = "dc";
  119. iommus = <&mc TEGRA_SWGROUP_DCB>;
  120. nvidia,head = <1>;
  121. interconnects = <&mc TEGRA124_MC_DISPLAY0AB &emc>,
  122. <&mc TEGRA124_MC_DISPLAY0BB &emc>,
  123. <&mc TEGRA124_MC_DISPLAY0CB &emc>,
  124. <&mc TEGRA124_MC_DISPLAYHCB &emc>;
  125. interconnect-names = "wina",
  126. "winb",
  127. "winc",
  128. "cursor";
  129. };
  130. hdmi: hdmi@54280000 {
  131. compatible = "nvidia,tegra124-hdmi";
  132. reg = <0x0 0x54280000 0x0 0x00040000>;
  133. interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
  134. clocks = <&tegra_car TEGRA124_CLK_HDMI>,
  135. <&tegra_car TEGRA124_CLK_PLL_D2_OUT0>;
  136. clock-names = "hdmi", "parent";
  137. resets = <&tegra_car 51>;
  138. reset-names = "hdmi";
  139. status = "disabled";
  140. };
  141. vic@54340000 {
  142. compatible = "nvidia,tegra124-vic";
  143. reg = <0x0 0x54340000 0x0 0x00040000>;
  144. interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
  145. clocks = <&tegra_car TEGRA124_CLK_VIC03>;
  146. clock-names = "vic";
  147. resets = <&tegra_car 178>;
  148. reset-names = "vic";
  149. iommus = <&mc TEGRA_SWGROUP_VIC>;
  150. };
  151. sor@54540000 {
  152. compatible = "nvidia,tegra124-sor";
  153. reg = <0x0 0x54540000 0x0 0x00040000>;
  154. interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
  155. clocks = <&tegra_car TEGRA124_CLK_SOR0>,
  156. <&tegra_car TEGRA124_CLK_SOR0_OUT>,
  157. <&tegra_car TEGRA124_CLK_PLL_D_OUT0>,
  158. <&tegra_car TEGRA124_CLK_PLL_DP>,
  159. <&tegra_car TEGRA124_CLK_CLK_M>;
  160. clock-names = "sor", "out", "parent", "dp", "safe";
  161. resets = <&tegra_car 182>;
  162. reset-names = "sor";
  163. status = "disabled";
  164. };
  165. dpaux: dpaux@545c0000 {
  166. compatible = "nvidia,tegra124-dpaux";
  167. reg = <0x0 0x545c0000 0x0 0x00040000>;
  168. interrupts = <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>;
  169. clocks = <&tegra_car TEGRA124_CLK_DPAUX>,
  170. <&tegra_car TEGRA124_CLK_PLL_DP>;
  171. clock-names = "dpaux", "parent";
  172. resets = <&tegra_car 181>;
  173. reset-names = "dpaux";
  174. status = "disabled";
  175. i2c-bus {
  176. #address-cells = <1>;
  177. #size-cells = <0>;
  178. };
  179. };
  180. };
  181. gic: interrupt-controller@50041000 {
  182. compatible = "arm,cortex-a15-gic";
  183. #interrupt-cells = <3>;
  184. interrupt-controller;
  185. reg = <0x0 0x50041000 0x0 0x1000>,
  186. <0x0 0x50042000 0x0 0x1000>,
  187. <0x0 0x50044000 0x0 0x2000>,
  188. <0x0 0x50046000 0x0 0x2000>;
  189. interrupts = <GIC_PPI 9
  190. (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
  191. interrupt-parent = <&gic>;
  192. };
  193. gpu@57000000 {
  194. compatible = "nvidia,gk20a";
  195. reg = <0x0 0x57000000 0x0 0x01000000>,
  196. <0x0 0x58000000 0x0 0x01000000>;
  197. interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>,
  198. <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>;
  199. interrupt-names = "stall", "nonstall";
  200. clocks = <&tegra_car TEGRA124_CLK_GPU>,
  201. <&tegra_car TEGRA124_CLK_PLL_P_OUT5>;
  202. clock-names = "gpu", "pwr";
  203. resets = <&tegra_car 184>;
  204. reset-names = "gpu";
  205. iommus = <&mc TEGRA_SWGROUP_GPU>;
  206. status = "disabled";
  207. };
  208. lic: interrupt-controller@60004000 {
  209. compatible = "nvidia,tegra124-ictlr", "nvidia,tegra30-ictlr";
  210. reg = <0x0 0x60004000 0x0 0x100>,
  211. <0x0 0x60004100 0x0 0x100>,
  212. <0x0 0x60004200 0x0 0x100>,
  213. <0x0 0x60004300 0x0 0x100>,
  214. <0x0 0x60004400 0x0 0x100>;
  215. interrupt-controller;
  216. #interrupt-cells = <3>;
  217. interrupt-parent = <&gic>;
  218. };
  219. timer@60005000 {
  220. compatible = "nvidia,tegra124-timer", "nvidia,tegra30-timer";
  221. reg = <0x0 0x60005000 0x0 0x400>;
  222. interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
  223. <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
  224. <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
  225. <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>,
  226. <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
  227. <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>;
  228. clocks = <&tegra_car TEGRA124_CLK_TIMER>;
  229. };
  230. tegra_car: clock@60006000 {
  231. compatible = "nvidia,tegra124-car";
  232. reg = <0x0 0x60006000 0x0 0x1000>;
  233. #clock-cells = <1>;
  234. #reset-cells = <1>;
  235. nvidia,external-memory-controller = <&emc>;
  236. };
  237. flow-controller@60007000 {
  238. compatible = "nvidia,tegra124-flowctrl";
  239. reg = <0x0 0x60007000 0x0 0x1000>;
  240. };
  241. actmon: actmon@6000c800 {
  242. compatible = "nvidia,tegra124-actmon";
  243. reg = <0x0 0x6000c800 0x0 0x400>;
  244. interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
  245. clocks = <&tegra_car TEGRA124_CLK_ACTMON>,
  246. <&tegra_car TEGRA124_CLK_EMC>;
  247. clock-names = "actmon", "emc";
  248. resets = <&tegra_car 119>;
  249. reset-names = "actmon";
  250. operating-points-v2 = <&emc_bw_dfs_opp_table>;
  251. interconnects = <&mc TEGRA124_MC_MPCORER &emc>;
  252. interconnect-names = "cpu-read";
  253. #cooling-cells = <2>;
  254. };
  255. gpio: gpio@6000d000 {
  256. compatible = "nvidia,tegra124-gpio", "nvidia,tegra30-gpio";
  257. reg = <0x0 0x6000d000 0x0 0x1000>;
  258. interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>,
  259. <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>,
  260. <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>,
  261. <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>,
  262. <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>,
  263. <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>,
  264. <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>,
  265. <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>;
  266. #gpio-cells = <2>;
  267. gpio-controller;
  268. #interrupt-cells = <2>;
  269. interrupt-controller;
  270. gpio-ranges = <&pinmux 0 0 251>;
  271. };
  272. apbdma: dma@60020000 {
  273. compatible = "nvidia,tegra124-apbdma", "nvidia,tegra148-apbdma";
  274. reg = <0x0 0x60020000 0x0 0x1400>;
  275. interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
  276. <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
  277. <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
  278. <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
  279. <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
  280. <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
  281. <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
  282. <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>,
  283. <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>,
  284. <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
  285. <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
  286. <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
  287. <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
  288. <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
  289. <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
  290. <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>,
  291. <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>,
  292. <GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>,
  293. <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>,
  294. <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
  295. <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>,
  296. <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>,
  297. <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>,
  298. <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,
  299. <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>,
  300. <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>,
  301. <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>,
  302. <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>,
  303. <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>,
  304. <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>,
  305. <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
  306. <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
  307. clocks = <&tegra_car TEGRA124_CLK_APBDMA>;
  308. resets = <&tegra_car 34>;
  309. reset-names = "dma";
  310. #dma-cells = <1>;
  311. };
  312. apbmisc@70000800 {
  313. compatible = "nvidia,tegra124-apbmisc", "nvidia,tegra20-apbmisc";
  314. reg = <0x0 0x70000800 0x0 0x64>, /* Chip revision */
  315. <0x0 0x7000e864 0x0 0x04>; /* Strapping options */
  316. };
  317. pinmux: pinmux@70000868 {
  318. compatible = "nvidia,tegra124-pinmux";
  319. reg = <0x0 0x70000868 0x0 0x164>, /* Pad control registers */
  320. <0x0 0x70003000 0x0 0x434>, /* Mux registers */
  321. <0x0 0x70000820 0x0 0x008>; /* MIPI pad control */
  322. };
  323. /*
  324. * There are two serial driver i.e. 8250 based simple serial
  325. * driver and APB DMA based serial driver for higher baudrate
  326. * and performace. To enable the 8250 based driver, the compatible
  327. * is "nvidia,tegra124-uart", "nvidia,tegra20-uart" and to enable
  328. * the APB DMA based serial driver, the compatible is
  329. * "nvidia,tegra124-hsuart", "nvidia,tegra30-hsuart".
  330. */
  331. uarta: serial@70006000 {
  332. compatible = "nvidia,tegra124-uart", "nvidia,tegra20-uart";
  333. reg = <0x0 0x70006000 0x0 0x40>;
  334. reg-shift = <2>;
  335. interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
  336. clocks = <&tegra_car TEGRA124_CLK_UARTA>;
  337. resets = <&tegra_car 6>;
  338. reset-names = "serial";
  339. dmas = <&apbdma 8>, <&apbdma 8>;
  340. dma-names = "rx", "tx";
  341. status = "disabled";
  342. };
  343. uartb: serial@70006040 {
  344. compatible = "nvidia,tegra124-uart", "nvidia,tegra20-uart";
  345. reg = <0x0 0x70006040 0x0 0x40>;
  346. reg-shift = <2>;
  347. interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
  348. clocks = <&tegra_car TEGRA124_CLK_UARTB>;
  349. resets = <&tegra_car 7>;
  350. reset-names = "serial";
  351. dmas = <&apbdma 9>, <&apbdma 9>;
  352. dma-names = "rx", "tx";
  353. status = "disabled";
  354. };
  355. uartc: serial@70006200 {
  356. compatible = "nvidia,tegra124-uart", "nvidia,tegra20-uart";
  357. reg = <0x0 0x70006200 0x0 0x40>;
  358. reg-shift = <2>;
  359. interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
  360. clocks = <&tegra_car TEGRA124_CLK_UARTC>;
  361. resets = <&tegra_car 55>;
  362. reset-names = "serial";
  363. dmas = <&apbdma 10>, <&apbdma 10>;
  364. dma-names = "rx", "tx";
  365. status = "disabled";
  366. };
  367. uartd: serial@70006300 {
  368. compatible = "nvidia,tegra124-uart", "nvidia,tegra20-uart";
  369. reg = <0x0 0x70006300 0x0 0x40>;
  370. reg-shift = <2>;
  371. interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
  372. clocks = <&tegra_car TEGRA124_CLK_UARTD>;
  373. resets = <&tegra_car 65>;
  374. reset-names = "serial";
  375. dmas = <&apbdma 19>, <&apbdma 19>;
  376. dma-names = "rx", "tx";
  377. status = "disabled";
  378. };
  379. pwm: pwm@7000a000 {
  380. compatible = "nvidia,tegra124-pwm", "nvidia,tegra20-pwm";
  381. reg = <0x0 0x7000a000 0x0 0x100>;
  382. #pwm-cells = <2>;
  383. clocks = <&tegra_car TEGRA124_CLK_PWM>;
  384. resets = <&tegra_car 17>;
  385. reset-names = "pwm";
  386. status = "disabled";
  387. };
  388. i2c@7000c000 {
  389. compatible = "nvidia,tegra124-i2c";
  390. reg = <0x0 0x7000c000 0x0 0x100>;
  391. interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
  392. #address-cells = <1>;
  393. #size-cells = <0>;
  394. clocks = <&tegra_car TEGRA124_CLK_I2C1>;
  395. clock-names = "div-clk";
  396. resets = <&tegra_car 12>;
  397. reset-names = "i2c";
  398. dmas = <&apbdma 21>, <&apbdma 21>;
  399. dma-names = "rx", "tx";
  400. status = "disabled";
  401. };
  402. i2c@7000c400 {
  403. compatible = "nvidia,tegra124-i2c";
  404. reg = <0x0 0x7000c400 0x0 0x100>;
  405. interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
  406. #address-cells = <1>;
  407. #size-cells = <0>;
  408. clocks = <&tegra_car TEGRA124_CLK_I2C2>;
  409. clock-names = "div-clk";
  410. resets = <&tegra_car 54>;
  411. reset-names = "i2c";
  412. dmas = <&apbdma 22>, <&apbdma 22>;
  413. dma-names = "rx", "tx";
  414. status = "disabled";
  415. };
  416. i2c@7000c500 {
  417. compatible = "nvidia,tegra124-i2c";
  418. reg = <0x0 0x7000c500 0x0 0x100>;
  419. interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
  420. #address-cells = <1>;
  421. #size-cells = <0>;
  422. clocks = <&tegra_car TEGRA124_CLK_I2C3>;
  423. clock-names = "div-clk";
  424. resets = <&tegra_car 67>;
  425. reset-names = "i2c";
  426. dmas = <&apbdma 23>, <&apbdma 23>;
  427. dma-names = "rx", "tx";
  428. status = "disabled";
  429. };
  430. i2c@7000c700 {
  431. compatible = "nvidia,tegra124-i2c";
  432. reg = <0x0 0x7000c700 0x0 0x100>;
  433. interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
  434. #address-cells = <1>;
  435. #size-cells = <0>;
  436. clocks = <&tegra_car TEGRA124_CLK_I2C4>;
  437. clock-names = "div-clk";
  438. resets = <&tegra_car 103>;
  439. reset-names = "i2c";
  440. dmas = <&apbdma 26>, <&apbdma 26>;
  441. dma-names = "rx", "tx";
  442. status = "disabled";
  443. };
  444. i2c@7000d000 {
  445. compatible = "nvidia,tegra124-i2c";
  446. reg = <0x0 0x7000d000 0x0 0x100>;
  447. interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
  448. #address-cells = <1>;
  449. #size-cells = <0>;
  450. clocks = <&tegra_car TEGRA124_CLK_I2C5>;
  451. clock-names = "div-clk";
  452. resets = <&tegra_car 47>;
  453. reset-names = "i2c";
  454. dmas = <&apbdma 24>, <&apbdma 24>;
  455. dma-names = "rx", "tx";
  456. status = "disabled";
  457. };
  458. i2c@7000d100 {
  459. compatible = "nvidia,tegra124-i2c";
  460. reg = <0x0 0x7000d100 0x0 0x100>;
  461. interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
  462. #address-cells = <1>;
  463. #size-cells = <0>;
  464. clocks = <&tegra_car TEGRA124_CLK_I2C6>;
  465. clock-names = "div-clk";
  466. resets = <&tegra_car 166>;
  467. reset-names = "i2c";
  468. dmas = <&apbdma 30>, <&apbdma 30>;
  469. dma-names = "rx", "tx";
  470. status = "disabled";
  471. };
  472. spi@7000d400 {
  473. compatible = "nvidia,tegra124-spi", "nvidia,tegra114-spi";
  474. reg = <0x0 0x7000d400 0x0 0x200>;
  475. interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
  476. #address-cells = <1>;
  477. #size-cells = <0>;
  478. clocks = <&tegra_car TEGRA124_CLK_SBC1>;
  479. clock-names = "spi";
  480. resets = <&tegra_car 41>;
  481. reset-names = "spi";
  482. dmas = <&apbdma 15>, <&apbdma 15>;
  483. dma-names = "rx", "tx";
  484. status = "disabled";
  485. };
  486. spi@7000d600 {
  487. compatible = "nvidia,tegra124-spi", "nvidia,tegra114-spi";
  488. reg = <0x0 0x7000d600 0x0 0x200>;
  489. interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
  490. #address-cells = <1>;
  491. #size-cells = <0>;
  492. clocks = <&tegra_car TEGRA124_CLK_SBC2>;
  493. clock-names = "spi";
  494. resets = <&tegra_car 44>;
  495. reset-names = "spi";
  496. dmas = <&apbdma 16>, <&apbdma 16>;
  497. dma-names = "rx", "tx";
  498. status = "disabled";
  499. };
  500. spi@7000d800 {
  501. compatible = "nvidia,tegra124-spi", "nvidia,tegra114-spi";
  502. reg = <0x0 0x7000d800 0x0 0x200>;
  503. interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
  504. #address-cells = <1>;
  505. #size-cells = <0>;
  506. clocks = <&tegra_car TEGRA124_CLK_SBC3>;
  507. clock-names = "spi";
  508. resets = <&tegra_car 46>;
  509. reset-names = "spi";
  510. dmas = <&apbdma 17>, <&apbdma 17>;
  511. dma-names = "rx", "tx";
  512. status = "disabled";
  513. };
  514. spi@7000da00 {
  515. compatible = "nvidia,tegra124-spi", "nvidia,tegra114-spi";
  516. reg = <0x0 0x7000da00 0x0 0x200>;
  517. interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
  518. #address-cells = <1>;
  519. #size-cells = <0>;
  520. clocks = <&tegra_car TEGRA124_CLK_SBC4>;
  521. clock-names = "spi";
  522. resets = <&tegra_car 68>;
  523. reset-names = "spi";
  524. dmas = <&apbdma 18>, <&apbdma 18>;
  525. dma-names = "rx", "tx";
  526. status = "disabled";
  527. };
  528. spi@7000dc00 {
  529. compatible = "nvidia,tegra124-spi", "nvidia,tegra114-spi";
  530. reg = <0x0 0x7000dc00 0x0 0x200>;
  531. interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
  532. #address-cells = <1>;
  533. #size-cells = <0>;
  534. clocks = <&tegra_car TEGRA124_CLK_SBC5>;
  535. clock-names = "spi";
  536. resets = <&tegra_car 104>;
  537. reset-names = "spi";
  538. dmas = <&apbdma 27>, <&apbdma 27>;
  539. dma-names = "rx", "tx";
  540. status = "disabled";
  541. };
  542. spi@7000de00 {
  543. compatible = "nvidia,tegra124-spi", "nvidia,tegra114-spi";
  544. reg = <0x0 0x7000de00 0x0 0x200>;
  545. interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
  546. #address-cells = <1>;
  547. #size-cells = <0>;
  548. clocks = <&tegra_car TEGRA124_CLK_SBC6>;
  549. clock-names = "spi";
  550. resets = <&tegra_car 105>;
  551. reset-names = "spi";
  552. dmas = <&apbdma 28>, <&apbdma 28>;
  553. dma-names = "rx", "tx";
  554. status = "disabled";
  555. };
  556. rtc@7000e000 {
  557. compatible = "nvidia,tegra124-rtc", "nvidia,tegra20-rtc";
  558. reg = <0x0 0x7000e000 0x0 0x100>;
  559. interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
  560. clocks = <&tegra_car TEGRA124_CLK_RTC>;
  561. };
  562. tegra_pmc: pmc@7000e400 {
  563. compatible = "nvidia,tegra124-pmc";
  564. reg = <0x0 0x7000e400 0x0 0x400>;
  565. clocks = <&tegra_car TEGRA124_CLK_PCLK>, <&clk32k_in>;
  566. clock-names = "pclk", "clk32k_in";
  567. #clock-cells = <1>;
  568. };
  569. fuse@7000f800 {
  570. compatible = "nvidia,tegra124-efuse";
  571. reg = <0x0 0x7000f800 0x0 0x400>;
  572. clocks = <&tegra_car TEGRA124_CLK_FUSE>;
  573. clock-names = "fuse";
  574. resets = <&tegra_car 39>;
  575. reset-names = "fuse";
  576. };
  577. mc: memory-controller@70019000 {
  578. compatible = "nvidia,tegra124-mc";
  579. reg = <0x0 0x70019000 0x0 0x1000>;
  580. clocks = <&tegra_car TEGRA124_CLK_MC>;
  581. clock-names = "mc";
  582. interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
  583. #iommu-cells = <1>;
  584. #reset-cells = <1>;
  585. #interconnect-cells = <1>;
  586. };
  587. emc: external-memory-controller@7001b000 {
  588. compatible = "nvidia,tegra124-emc";
  589. reg = <0x0 0x7001b000 0x0 0x1000>;
  590. clocks = <&tegra_car TEGRA124_CLK_EMC>;
  591. clock-names = "emc";
  592. nvidia,memory-controller = <&mc>;
  593. operating-points-v2 = <&emc_icc_dvfs_opp_table>;
  594. #interconnect-cells = <0>;
  595. };
  596. sata@70020000 {
  597. compatible = "nvidia,tegra124-ahci";
  598. reg = <0x0 0x70027000 0x0 0x2000>, /* AHCI */
  599. <0x0 0x70020000 0x0 0x7000>; /* SATA */
  600. interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
  601. clocks = <&tegra_car TEGRA124_CLK_SATA>,
  602. <&tegra_car TEGRA124_CLK_SATA_OOB>;
  603. clock-names = "sata", "sata-oob";
  604. resets = <&tegra_car 124>,
  605. <&tegra_car 129>,
  606. <&tegra_car 123>;
  607. reset-names = "sata", "sata-cold", "sata-oob";
  608. status = "disabled";
  609. };
  610. hda@70030000 {
  611. compatible = "nvidia,tegra124-hda", "nvidia,tegra30-hda";
  612. reg = <0x0 0x70030000 0x0 0x10000>;
  613. interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
  614. clocks = <&tegra_car TEGRA124_CLK_HDA>,
  615. <&tegra_car TEGRA124_CLK_HDA2HDMI>,
  616. <&tegra_car TEGRA124_CLK_HDA2CODEC_2X>;
  617. clock-names = "hda", "hda2hdmi", "hda2codec_2x";
  618. resets = <&tegra_car 125>, /* hda */
  619. <&tegra_car 128>, /* hda2hdmi */
  620. <&tegra_car 111>; /* hda2codec_2x */
  621. reset-names = "hda", "hda2hdmi", "hda2codec_2x";
  622. status = "disabled";
  623. };
  624. usb@70090000 {
  625. compatible = "nvidia,tegra124-xusb";
  626. reg = <0x0 0x70090000 0x0 0x8000>,
  627. <0x0 0x70098000 0x0 0x1000>,
  628. <0x0 0x70099000 0x0 0x1000>;
  629. reg-names = "hcd", "fpci", "ipfs";
  630. interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>,
  631. <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
  632. clocks = <&tegra_car TEGRA124_CLK_XUSB_HOST>,
  633. <&tegra_car TEGRA124_CLK_XUSB_HOST_SRC>,
  634. <&tegra_car TEGRA124_CLK_XUSB_FALCON_SRC>,
  635. <&tegra_car TEGRA124_CLK_XUSB_SS>,
  636. <&tegra_car TEGRA124_CLK_XUSB_SS_DIV2>,
  637. <&tegra_car TEGRA124_CLK_XUSB_SS_SRC>,
  638. <&tegra_car TEGRA124_CLK_XUSB_HS_SRC>,
  639. <&tegra_car TEGRA124_CLK_XUSB_FS_SRC>,
  640. <&tegra_car TEGRA124_CLK_PLL_U_480M>,
  641. <&tegra_car TEGRA124_CLK_CLK_M>,
  642. <&tegra_car TEGRA124_CLK_PLL_E>;
  643. clock-names = "xusb_host", "xusb_host_src",
  644. "xusb_falcon_src", "xusb_ss",
  645. "xusb_ss_div2", "xusb_ss_src",
  646. "xusb_hs_src", "xusb_fs_src",
  647. "pll_u_480m", "clk_m", "pll_e";
  648. resets = <&tegra_car 89>, <&tegra_car 156>,
  649. <&tegra_car 143>;
  650. reset-names = "xusb_host", "xusb_ss", "xusb_src";
  651. nvidia,xusb-padctl = <&padctl>;
  652. status = "disabled";
  653. };
  654. padctl: padctl@7009f000 {
  655. compatible = "nvidia,tegra124-xusb-padctl";
  656. reg = <0x0 0x7009f000 0x0 0x1000>;
  657. resets = <&tegra_car 142>;
  658. reset-names = "padctl";
  659. pads {
  660. usb2 {
  661. status = "disabled";
  662. lanes {
  663. usb2-0 {
  664. status = "disabled";
  665. #phy-cells = <0>;
  666. };
  667. usb2-1 {
  668. status = "disabled";
  669. #phy-cells = <0>;
  670. };
  671. usb2-2 {
  672. status = "disabled";
  673. #phy-cells = <0>;
  674. };
  675. };
  676. };
  677. ulpi {
  678. status = "disabled";
  679. lanes {
  680. ulpi-0 {
  681. status = "disabled";
  682. #phy-cells = <0>;
  683. };
  684. };
  685. };
  686. hsic {
  687. status = "disabled";
  688. lanes {
  689. hsic-0 {
  690. status = "disabled";
  691. #phy-cells = <0>;
  692. };
  693. hsic-1 {
  694. status = "disabled";
  695. #phy-cells = <0>;
  696. };
  697. };
  698. };
  699. pcie {
  700. status = "disabled";
  701. lanes {
  702. pcie-0 {
  703. status = "disabled";
  704. #phy-cells = <0>;
  705. };
  706. pcie-1 {
  707. status = "disabled";
  708. #phy-cells = <0>;
  709. };
  710. pcie-2 {
  711. status = "disabled";
  712. #phy-cells = <0>;
  713. };
  714. pcie-3 {
  715. status = "disabled";
  716. #phy-cells = <0>;
  717. };
  718. pcie-4 {
  719. status = "disabled";
  720. #phy-cells = <0>;
  721. };
  722. };
  723. };
  724. sata {
  725. status = "disabled";
  726. lanes {
  727. sata-0 {
  728. status = "disabled";
  729. #phy-cells = <0>;
  730. };
  731. };
  732. };
  733. };
  734. ports {
  735. usb2-0 {
  736. status = "disabled";
  737. };
  738. usb2-1 {
  739. status = "disabled";
  740. };
  741. usb2-2 {
  742. status = "disabled";
  743. };
  744. ulpi-0 {
  745. status = "disabled";
  746. };
  747. hsic-0 {
  748. status = "disabled";
  749. };
  750. hsic-1 {
  751. status = "disabled";
  752. };
  753. usb3-0 {
  754. status = "disabled";
  755. };
  756. usb3-1 {
  757. status = "disabled";
  758. };
  759. };
  760. };
  761. mmc@700b0000 {
  762. compatible = "nvidia,tegra124-sdhci";
  763. reg = <0x0 0x700b0000 0x0 0x200>;
  764. interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
  765. clocks = <&tegra_car TEGRA124_CLK_SDMMC1>;
  766. clock-names = "sdhci";
  767. resets = <&tegra_car 14>;
  768. reset-names = "sdhci";
  769. status = "disabled";
  770. };
  771. mmc@700b0200 {
  772. compatible = "nvidia,tegra124-sdhci";
  773. reg = <0x0 0x700b0200 0x0 0x200>;
  774. interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
  775. clocks = <&tegra_car TEGRA124_CLK_SDMMC2>;
  776. clock-names = "sdhci";
  777. resets = <&tegra_car 9>;
  778. reset-names = "sdhci";
  779. status = "disabled";
  780. };
  781. mmc@700b0400 {
  782. compatible = "nvidia,tegra124-sdhci";
  783. reg = <0x0 0x700b0400 0x0 0x200>;
  784. interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
  785. clocks = <&tegra_car TEGRA124_CLK_SDMMC3>;
  786. clock-names = "sdhci";
  787. resets = <&tegra_car 69>;
  788. reset-names = "sdhci";
  789. status = "disabled";
  790. };
  791. mmc@700b0600 {
  792. compatible = "nvidia,tegra124-sdhci";
  793. reg = <0x0 0x700b0600 0x0 0x200>;
  794. interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
  795. clocks = <&tegra_car TEGRA124_CLK_SDMMC4>;
  796. clock-names = "sdhci";
  797. resets = <&tegra_car 15>;
  798. reset-names = "sdhci";
  799. status = "disabled";
  800. };
  801. cec@70015000 {
  802. compatible = "nvidia,tegra124-cec";
  803. reg = <0x0 0x70015000 0x0 0x00001000>;
  804. interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
  805. clocks = <&tegra_car TEGRA124_CLK_CEC>;
  806. clock-names = "cec";
  807. status = "disabled";
  808. hdmi-phandle = <&hdmi>;
  809. };
  810. soctherm: thermal-sensor@700e2000 {
  811. compatible = "nvidia,tegra124-soctherm";
  812. reg = <0x0 0x700e2000 0x0 0x600>, /* SOC_THERM reg_base */
  813. <0x0 0x60006000 0x0 0x400>; /* CAR reg_base */
  814. reg-names = "soctherm-reg", "car-reg";
  815. interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>,
  816. <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
  817. interrupt-names = "thermal", "edp";
  818. clocks = <&tegra_car TEGRA124_CLK_TSENSOR>,
  819. <&tegra_car TEGRA124_CLK_SOC_THERM>;
  820. clock-names = "tsensor", "soctherm";
  821. resets = <&tegra_car 78>;
  822. reset-names = "soctherm";
  823. #thermal-sensor-cells = <1>;
  824. throttle-cfgs {
  825. throttle_heavy: heavy {
  826. nvidia,priority = <100>;
  827. nvidia,cpu-throt-percent = <85>;
  828. nvidia,gpu-throt-level = <TEGRA_SOCTHERM_THROT_LEVEL_HIGH>;
  829. #cooling-cells = <2>;
  830. };
  831. };
  832. };
  833. dfll: clock@70110000 {
  834. compatible = "nvidia,tegra124-dfll";
  835. reg = <0 0x70110000 0 0x100>, /* DFLL control */
  836. <0 0x70110000 0 0x100>, /* I2C output control */
  837. <0 0x70110100 0 0x100>, /* Integrated I2C controller */
  838. <0 0x70110200 0 0x100>; /* Look-up table RAM */
  839. interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
  840. clocks = <&tegra_car TEGRA124_CLK_DFLL_SOC>,
  841. <&tegra_car TEGRA124_CLK_DFLL_REF>,
  842. <&tegra_car TEGRA124_CLK_I2C5>;
  843. clock-names = "soc", "ref", "i2c";
  844. resets = <&tegra_car TEGRA124_RST_DFLL_DVCO>;
  845. reset-names = "dvco";
  846. #clock-cells = <0>;
  847. clock-output-names = "dfllCPU_out";
  848. nvidia,sample-rate = <12500>;
  849. nvidia,droop-ctrl = <0x00000f00>;
  850. nvidia,force-mode = <1>;
  851. nvidia,cf = <10>;
  852. nvidia,ci = <0>;
  853. nvidia,cg = <2>;
  854. status = "disabled";
  855. };
  856. ahub@70300000 {
  857. compatible = "nvidia,tegra124-ahub";
  858. reg = <0x0 0x70300000 0x0 0x200>,
  859. <0x0 0x70300800 0x0 0x800>,
  860. <0x0 0x70300200 0x0 0x600>;
  861. interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
  862. clocks = <&tegra_car TEGRA124_CLK_D_AUDIO>,
  863. <&tegra_car TEGRA124_CLK_APBIF>;
  864. clock-names = "d_audio", "apbif";
  865. resets = <&tegra_car 106>, /* d_audio */
  866. <&tegra_car 107>, /* apbif */
  867. <&tegra_car 30>, /* i2s0 */
  868. <&tegra_car 11>, /* i2s1 */
  869. <&tegra_car 18>, /* i2s2 */
  870. <&tegra_car 101>, /* i2s3 */
  871. <&tegra_car 102>, /* i2s4 */
  872. <&tegra_car 108>, /* dam0 */
  873. <&tegra_car 109>, /* dam1 */
  874. <&tegra_car 110>, /* dam2 */
  875. <&tegra_car 10>, /* spdif */
  876. <&tegra_car 153>, /* amx */
  877. <&tegra_car 185>, /* amx1 */
  878. <&tegra_car 154>, /* adx */
  879. <&tegra_car 180>, /* adx1 */
  880. <&tegra_car 186>, /* afc0 */
  881. <&tegra_car 187>, /* afc1 */
  882. <&tegra_car 188>, /* afc2 */
  883. <&tegra_car 189>, /* afc3 */
  884. <&tegra_car 190>, /* afc4 */
  885. <&tegra_car 191>; /* afc5 */
  886. reset-names = "d_audio", "apbif", "i2s0", "i2s1", "i2s2",
  887. "i2s3", "i2s4", "dam0", "dam1", "dam2",
  888. "spdif", "amx", "amx1", "adx", "adx1",
  889. "afc0", "afc1", "afc2", "afc3", "afc4", "afc5";
  890. dmas = <&apbdma 1>, <&apbdma 1>,
  891. <&apbdma 2>, <&apbdma 2>,
  892. <&apbdma 3>, <&apbdma 3>,
  893. <&apbdma 4>, <&apbdma 4>,
  894. <&apbdma 6>, <&apbdma 6>,
  895. <&apbdma 7>, <&apbdma 7>,
  896. <&apbdma 12>, <&apbdma 12>,
  897. <&apbdma 13>, <&apbdma 13>,
  898. <&apbdma 14>, <&apbdma 14>,
  899. <&apbdma 29>, <&apbdma 29>;
  900. dma-names = "rx0", "tx0", "rx1", "tx1", "rx2", "tx2",
  901. "rx3", "tx3", "rx4", "tx4", "rx5", "tx5",
  902. "rx6", "tx6", "rx7", "tx7", "rx8", "tx8",
  903. "rx9", "tx9";
  904. ranges;
  905. #address-cells = <2>;
  906. #size-cells = <2>;
  907. tegra_i2s0: i2s@70301000 {
  908. compatible = "nvidia,tegra124-i2s";
  909. reg = <0x0 0x70301000 0x0 0x100>;
  910. nvidia,ahub-cif-ids = <4 4>;
  911. clocks = <&tegra_car TEGRA124_CLK_I2S0>;
  912. resets = <&tegra_car 30>;
  913. reset-names = "i2s";
  914. status = "disabled";
  915. };
  916. tegra_i2s1: i2s@70301100 {
  917. compatible = "nvidia,tegra124-i2s";
  918. reg = <0x0 0x70301100 0x0 0x100>;
  919. nvidia,ahub-cif-ids = <5 5>;
  920. clocks = <&tegra_car TEGRA124_CLK_I2S1>;
  921. resets = <&tegra_car 11>;
  922. reset-names = "i2s";
  923. status = "disabled";
  924. };
  925. tegra_i2s2: i2s@70301200 {
  926. compatible = "nvidia,tegra124-i2s";
  927. reg = <0x0 0x70301200 0x0 0x100>;
  928. nvidia,ahub-cif-ids = <6 6>;
  929. clocks = <&tegra_car TEGRA124_CLK_I2S2>;
  930. resets = <&tegra_car 18>;
  931. reset-names = "i2s";
  932. status = "disabled";
  933. };
  934. tegra_i2s3: i2s@70301300 {
  935. compatible = "nvidia,tegra124-i2s";
  936. reg = <0x0 0x70301300 0x0 0x100>;
  937. nvidia,ahub-cif-ids = <7 7>;
  938. clocks = <&tegra_car TEGRA124_CLK_I2S3>;
  939. resets = <&tegra_car 101>;
  940. reset-names = "i2s";
  941. status = "disabled";
  942. };
  943. tegra_i2s4: i2s@70301400 {
  944. compatible = "nvidia,tegra124-i2s";
  945. reg = <0x0 0x70301400 0x0 0x100>;
  946. nvidia,ahub-cif-ids = <8 8>;
  947. clocks = <&tegra_car TEGRA124_CLK_I2S4>;
  948. resets = <&tegra_car 102>;
  949. reset-names = "i2s";
  950. status = "disabled";
  951. };
  952. };
  953. usb@7d000000 {
  954. compatible = "nvidia,tegra124-ehci", "nvidia,tegra30-ehci";
  955. reg = <0x0 0x7d000000 0x0 0x4000>;
  956. interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
  957. phy_type = "utmi";
  958. clocks = <&tegra_car TEGRA124_CLK_USBD>;
  959. resets = <&tegra_car 22>;
  960. reset-names = "usb";
  961. nvidia,phy = <&phy1>;
  962. status = "disabled";
  963. };
  964. phy1: usb-phy@7d000000 {
  965. compatible = "nvidia,tegra124-usb-phy", "nvidia,tegra30-usb-phy";
  966. reg = <0x0 0x7d000000 0x0 0x4000>,
  967. <0x0 0x7d000000 0x0 0x4000>;
  968. interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
  969. phy_type = "utmi";
  970. clocks = <&tegra_car TEGRA124_CLK_USBD>,
  971. <&tegra_car TEGRA124_CLK_PLL_U>,
  972. <&tegra_car TEGRA124_CLK_USBD>;
  973. clock-names = "reg", "pll_u", "utmi-pads";
  974. resets = <&tegra_car 22>, <&tegra_car 22>;
  975. reset-names = "usb", "utmi-pads";
  976. #phy-cells = <0>;
  977. nvidia,hssync-start-delay = <0>;
  978. nvidia,idle-wait-delay = <17>;
  979. nvidia,elastic-limit = <16>;
  980. nvidia,term-range-adj = <6>;
  981. nvidia,xcvr-setup = <9>;
  982. nvidia,xcvr-lsfslew = <0>;
  983. nvidia,xcvr-lsrslew = <3>;
  984. nvidia,hssquelch-level = <2>;
  985. nvidia,hsdiscon-level = <5>;
  986. nvidia,xcvr-hsslew = <12>;
  987. nvidia,has-utmi-pad-registers;
  988. nvidia,pmc = <&tegra_pmc 0>;
  989. status = "disabled";
  990. };
  991. usb@7d004000 {
  992. compatible = "nvidia,tegra124-ehci", "nvidia,tegra30-ehci";
  993. reg = <0x0 0x7d004000 0x0 0x4000>;
  994. interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
  995. phy_type = "utmi";
  996. clocks = <&tegra_car TEGRA124_CLK_USB2>;
  997. resets = <&tegra_car 58>;
  998. reset-names = "usb";
  999. nvidia,phy = <&phy2>;
  1000. status = "disabled";
  1001. };
  1002. phy2: usb-phy@7d004000 {
  1003. compatible = "nvidia,tegra124-usb-phy", "nvidia,tegra30-usb-phy";
  1004. reg = <0x0 0x7d004000 0x0 0x4000>,
  1005. <0x0 0x7d000000 0x0 0x4000>;
  1006. interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
  1007. phy_type = "utmi";
  1008. clocks = <&tegra_car TEGRA124_CLK_USB2>,
  1009. <&tegra_car TEGRA124_CLK_PLL_U>,
  1010. <&tegra_car TEGRA124_CLK_USBD>;
  1011. clock-names = "reg", "pll_u", "utmi-pads";
  1012. resets = <&tegra_car 58>, <&tegra_car 22>;
  1013. reset-names = "usb", "utmi-pads";
  1014. #phy-cells = <0>;
  1015. nvidia,hssync-start-delay = <0>;
  1016. nvidia,idle-wait-delay = <17>;
  1017. nvidia,elastic-limit = <16>;
  1018. nvidia,term-range-adj = <6>;
  1019. nvidia,xcvr-setup = <9>;
  1020. nvidia,xcvr-lsfslew = <0>;
  1021. nvidia,xcvr-lsrslew = <3>;
  1022. nvidia,hssquelch-level = <2>;
  1023. nvidia,hsdiscon-level = <5>;
  1024. nvidia,xcvr-hsslew = <12>;
  1025. nvidia,pmc = <&tegra_pmc 1>;
  1026. status = "disabled";
  1027. };
  1028. usb@7d008000 {
  1029. compatible = "nvidia,tegra124-ehci", "nvidia,tegra30-ehci";
  1030. reg = <0x0 0x7d008000 0x0 0x4000>;
  1031. interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
  1032. phy_type = "utmi";
  1033. clocks = <&tegra_car TEGRA124_CLK_USB3>;
  1034. resets = <&tegra_car 59>;
  1035. reset-names = "usb";
  1036. nvidia,phy = <&phy3>;
  1037. status = "disabled";
  1038. };
  1039. phy3: usb-phy@7d008000 {
  1040. compatible = "nvidia,tegra124-usb-phy", "nvidia,tegra30-usb-phy";
  1041. reg = <0x0 0x7d008000 0x0 0x4000>,
  1042. <0x0 0x7d000000 0x0 0x4000>;
  1043. interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
  1044. phy_type = "utmi";
  1045. clocks = <&tegra_car TEGRA124_CLK_USB3>,
  1046. <&tegra_car TEGRA124_CLK_PLL_U>,
  1047. <&tegra_car TEGRA124_CLK_USBD>;
  1048. clock-names = "reg", "pll_u", "utmi-pads";
  1049. resets = <&tegra_car 59>, <&tegra_car 22>;
  1050. reset-names = "usb", "utmi-pads";
  1051. #phy-cells = <0>;
  1052. nvidia,hssync-start-delay = <0>;
  1053. nvidia,idle-wait-delay = <17>;
  1054. nvidia,elastic-limit = <16>;
  1055. nvidia,term-range-adj = <6>;
  1056. nvidia,xcvr-setup = <9>;
  1057. nvidia,xcvr-lsfslew = <0>;
  1058. nvidia,xcvr-lsrslew = <3>;
  1059. nvidia,hssquelch-level = <2>;
  1060. nvidia,hsdiscon-level = <5>;
  1061. nvidia,xcvr-hsslew = <12>;
  1062. nvidia,pmc = <&tegra_pmc 2>;
  1063. status = "disabled";
  1064. };
  1065. cpus {
  1066. #address-cells = <1>;
  1067. #size-cells = <0>;
  1068. cpu@0 {
  1069. device_type = "cpu";
  1070. compatible = "arm,cortex-a15";
  1071. reg = <0>;
  1072. clocks = <&tegra_car TEGRA124_CLK_CCLK_G>,
  1073. <&tegra_car TEGRA124_CLK_CCLK_LP>,
  1074. <&tegra_car TEGRA124_CLK_PLL_X>,
  1075. <&tegra_car TEGRA124_CLK_PLL_P>,
  1076. <&dfll>;
  1077. clock-names = "cpu_g", "cpu_lp", "pll_x", "pll_p", "dfll";
  1078. /* FIXME: what's the actual transition time? */
  1079. clock-latency = <300000>;
  1080. };
  1081. cpu@1 {
  1082. device_type = "cpu";
  1083. compatible = "arm,cortex-a15";
  1084. reg = <1>;
  1085. };
  1086. cpu@2 {
  1087. device_type = "cpu";
  1088. compatible = "arm,cortex-a15";
  1089. reg = <2>;
  1090. };
  1091. cpu@3 {
  1092. device_type = "cpu";
  1093. compatible = "arm,cortex-a15";
  1094. reg = <3>;
  1095. };
  1096. };
  1097. pmu {
  1098. compatible = "arm,cortex-a15-pmu";
  1099. interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>,
  1100. <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>,
  1101. <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>,
  1102. <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>;
  1103. interrupt-affinity = <&{/cpus/cpu@0}>,
  1104. <&{/cpus/cpu@1}>,
  1105. <&{/cpus/cpu@2}>,
  1106. <&{/cpus/cpu@3}>;
  1107. };
  1108. thermal-zones {
  1109. cpu-thermal {
  1110. polling-delay-passive = <1000>;
  1111. polling-delay = <1000>;
  1112. thermal-sensors =
  1113. <&soctherm TEGRA124_SOCTHERM_SENSOR_CPU>;
  1114. trips {
  1115. cpu-shutdown-trip {
  1116. temperature = <103000>;
  1117. hysteresis = <0>;
  1118. type = "critical";
  1119. };
  1120. cpu_throttle_trip: throttle-trip {
  1121. temperature = <100000>;
  1122. hysteresis = <1000>;
  1123. type = "hot";
  1124. };
  1125. };
  1126. cooling-maps {
  1127. map0 {
  1128. trip = <&cpu_throttle_trip>;
  1129. cooling-device = <&throttle_heavy 1 1>;
  1130. };
  1131. };
  1132. };
  1133. mem-thermal {
  1134. polling-delay-passive = <1000>;
  1135. polling-delay = <1000>;
  1136. thermal-sensors =
  1137. <&soctherm TEGRA124_SOCTHERM_SENSOR_MEM>;
  1138. trips {
  1139. mem-shutdown-trip {
  1140. temperature = <103000>;
  1141. hysteresis = <0>;
  1142. type = "critical";
  1143. };
  1144. mem-throttle-trip {
  1145. temperature = <99000>;
  1146. hysteresis = <1000>;
  1147. type = "hot";
  1148. };
  1149. };
  1150. cooling-maps {
  1151. /*
  1152. * There are currently no cooling maps,
  1153. * because there are no cooling devices.
  1154. */
  1155. };
  1156. };
  1157. gpu-thermal {
  1158. polling-delay-passive = <1000>;
  1159. polling-delay = <1000>;
  1160. thermal-sensors =
  1161. <&soctherm TEGRA124_SOCTHERM_SENSOR_GPU>;
  1162. trips {
  1163. gpu-shutdown-trip {
  1164. temperature = <101000>;
  1165. hysteresis = <0>;
  1166. type = "critical";
  1167. };
  1168. gpu_throttle_trip: throttle-trip {
  1169. temperature = <99000>;
  1170. hysteresis = <1000>;
  1171. type = "hot";
  1172. };
  1173. };
  1174. cooling-maps {
  1175. map0 {
  1176. trip = <&gpu_throttle_trip>;
  1177. cooling-device = <&throttle_heavy 1 1>;
  1178. };
  1179. };
  1180. };
  1181. pllx-thermal {
  1182. polling-delay-passive = <1000>;
  1183. polling-delay = <1000>;
  1184. thermal-sensors =
  1185. <&soctherm TEGRA124_SOCTHERM_SENSOR_PLLX>;
  1186. trips {
  1187. pllx-shutdown-trip {
  1188. temperature = <103000>;
  1189. hysteresis = <0>;
  1190. type = "critical";
  1191. };
  1192. pllx-throttle-trip {
  1193. temperature = <99000>;
  1194. hysteresis = <1000>;
  1195. type = "hot";
  1196. };
  1197. };
  1198. cooling-maps {
  1199. /*
  1200. * There are currently no cooling maps,
  1201. * because there are no cooling devices.
  1202. */
  1203. };
  1204. };
  1205. };
  1206. timer {
  1207. compatible = "arm,armv7-timer";
  1208. interrupts = <GIC_PPI 13
  1209. (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
  1210. <GIC_PPI 14
  1211. (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
  1212. <GIC_PPI 11
  1213. (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
  1214. <GIC_PPI 10
  1215. (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
  1216. interrupt-parent = <&gic>;
  1217. };
  1218. };