tegra210.dtsi 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882
  1. #include <dt-bindings/clock/tegra210-car.h>
  2. #include <dt-bindings/gpio/tegra-gpio.h>
  3. #include <dt-bindings/memory/tegra210-mc.h>
  4. #include <dt-bindings/pinctrl/pinctrl-tegra.h>
  5. #include <dt-bindings/interrupt-controller/arm-gic.h>
  6. #include <dt-bindings/pinctrl/pinctrl-tegra-xusb.h>
  7. / {
  8. compatible = "nvidia,tegra210";
  9. interrupt-parent = <&lic>;
  10. #address-cells = <2>;
  11. #size-cells = <2>;
  12. pcie-controller@01003000 {
  13. compatible = "nvidia,tegra210-pcie";
  14. device_type = "pci";
  15. reg = <0x0 0x01003000 0x0 0x00000800 /* PADS registers */
  16. 0x0 0x01003800 0x0 0x00000800 /* AFI registers */
  17. 0x0 0x02000000 0x0 0x10000000>; /* configuration space */
  18. reg-names = "pads", "afi", "cs";
  19. interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>, /* controller interrupt */
  20. <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; /* MSI interrupt */
  21. interrupt-names = "intr", "msi";
  22. #interrupt-cells = <1>;
  23. interrupt-map-mask = <0 0 0 0>;
  24. interrupt-map = <0 0 0 0 &gic GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
  25. bus-range = <0x00 0xff>;
  26. #address-cells = <3>;
  27. #size-cells = <2>;
  28. ranges = <0x82000000 0 0x01000000 0x0 0x01000000 0 0x00001000 /* port 0 configuration space */
  29. 0x82000000 0 0x01001000 0x0 0x01001000 0 0x00001000 /* port 1 configuration space */
  30. 0x81000000 0 0x0 0x0 0x12000000 0 0x00010000 /* downstream I/O (64 KiB) */
  31. 0x82000000 0 0x13000000 0x0 0x13000000 0 0x0d000000 /* non-prefetchable memory (208 MiB) */
  32. 0xc2000000 0 0x20000000 0x0 0x20000000 0 0x20000000>; /* prefetchable memory (512 MiB) */
  33. clocks = <&tegra_car TEGRA210_CLK_PCIE>,
  34. <&tegra_car TEGRA210_CLK_AFI>,
  35. <&tegra_car TEGRA210_CLK_PLL_E>,
  36. <&tegra_car TEGRA210_CLK_CML0>;
  37. clock-names = "pex", "afi", "pll_e", "cml";
  38. resets = <&tegra_car 70>,
  39. <&tegra_car 72>,
  40. <&tegra_car 74>;
  41. reset-names = "pex", "afi", "pcie_x";
  42. status = "disabled";
  43. phys = <&padctl TEGRA_XUSB_PADCTL_PCIE>;
  44. phy-names = "pcie";
  45. pci@1,0 {
  46. device_type = "pci";
  47. assigned-addresses = <0x82000800 0 0x01000000 0 0x1000>;
  48. reg = <0x000800 0 0 0 0>;
  49. status = "disabled";
  50. #address-cells = <3>;
  51. #size-cells = <2>;
  52. ranges;
  53. nvidia,num-lanes = <4>;
  54. };
  55. pci@2,0 {
  56. device_type = "pci";
  57. assigned-addresses = <0x82001000 0 0x01001000 0 0x1000>;
  58. reg = <0x001000 0 0 0 0>;
  59. status = "disabled";
  60. #address-cells = <3>;
  61. #size-cells = <2>;
  62. ranges;
  63. nvidia,num-lanes = <1>;
  64. };
  65. };
  66. host1x@50000000 {
  67. compatible = "nvidia,tegra210-host1x", "simple-bus";
  68. reg = <0x0 0x50000000 0x0 0x00034000>;
  69. interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>, /* syncpt */
  70. <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; /* general */
  71. clocks = <&tegra_car TEGRA210_CLK_HOST1X>;
  72. clock-names = "host1x";
  73. resets = <&tegra_car 28>;
  74. reset-names = "host1x";
  75. #address-cells = <2>;
  76. #size-cells = <2>;
  77. ranges = <0x0 0x54000000 0x0 0x54000000 0x0 0x01000000>;
  78. dpaux1: dpaux@54040000 {
  79. compatible = "nvidia,tegra210-dpaux";
  80. reg = <0x0 0x54040000 0x0 0x00040000>;
  81. interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
  82. clocks = <&tegra_car TEGRA210_CLK_DPAUX1>,
  83. <&tegra_car TEGRA210_CLK_PLL_DP>;
  84. clock-names = "dpaux", "parent";
  85. resets = <&tegra_car 207>;
  86. reset-names = "dpaux";
  87. status = "disabled";
  88. };
  89. vi@54080000 {
  90. compatible = "nvidia,tegra210-vi";
  91. reg = <0x0 0x54080000 0x0 0x00040000>;
  92. interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
  93. status = "disabled";
  94. };
  95. tsec@54100000 {
  96. compatible = "nvidia,tegra210-tsec";
  97. reg = <0x0 0x54100000 0x0 0x00040000>;
  98. };
  99. dc@54200000 {
  100. compatible = "nvidia,tegra210-dc";
  101. reg = <0x0 0x54200000 0x0 0x00040000>;
  102. interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
  103. clocks = <&tegra_car TEGRA210_CLK_DISP1>,
  104. <&tegra_car TEGRA210_CLK_PLL_P>;
  105. clock-names = "dc", "parent";
  106. resets = <&tegra_car 27>;
  107. reset-names = "dc";
  108. iommus = <&mc TEGRA_SWGROUP_DC>;
  109. nvidia,head = <0>;
  110. };
  111. dc@54240000 {
  112. compatible = "nvidia,tegra210-dc";
  113. reg = <0x0 0x54240000 0x0 0x00040000>;
  114. interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
  115. clocks = <&tegra_car TEGRA210_CLK_DISP2>,
  116. <&tegra_car TEGRA210_CLK_PLL_P>;
  117. clock-names = "dc", "parent";
  118. resets = <&tegra_car 26>;
  119. reset-names = "dc";
  120. iommus = <&mc TEGRA_SWGROUP_DCB>;
  121. nvidia,head = <1>;
  122. };
  123. dsi@54300000 {
  124. compatible = "nvidia,tegra210-dsi";
  125. reg = <0x0 0x54300000 0x0 0x00040000>;
  126. clocks = <&tegra_car TEGRA210_CLK_DSIA>,
  127. <&tegra_car TEGRA210_CLK_DSIALP>,
  128. <&tegra_car TEGRA210_CLK_PLL_D_OUT0>;
  129. clock-names = "dsi", "lp", "parent";
  130. resets = <&tegra_car 48>;
  131. reset-names = "dsi";
  132. nvidia,mipi-calibrate = <&mipi 0x0c0>; /* DSIA & DSIB pads */
  133. status = "disabled";
  134. #address-cells = <1>;
  135. #size-cells = <0>;
  136. };
  137. vic@54340000 {
  138. compatible = "nvidia,tegra210-vic";
  139. reg = <0x0 0x54340000 0x0 0x00040000>;
  140. status = "disabled";
  141. };
  142. nvjpg@54380000 {
  143. compatible = "nvidia,tegra210-nvjpg";
  144. reg = <0x0 0x54380000 0x0 0x00040000>;
  145. status = "disabled";
  146. };
  147. dsi@54400000 {
  148. compatible = "nvidia,tegra210-dsi";
  149. reg = <0x0 0x54400000 0x0 0x00040000>;
  150. clocks = <&tegra_car TEGRA210_CLK_DSIB>,
  151. <&tegra_car TEGRA210_CLK_DSIBLP>,
  152. <&tegra_car TEGRA210_CLK_PLL_D_OUT0>;
  153. clock-names = "dsi", "lp", "parent";
  154. resets = <&tegra_car 82>;
  155. reset-names = "dsi";
  156. nvidia,mipi-calibrate = <&mipi 0x300>; /* DSIC & DSID pads */
  157. status = "disabled";
  158. #address-cells = <1>;
  159. #size-cells = <0>;
  160. };
  161. nvdec@54480000 {
  162. compatible = "nvidia,tegra210-nvdec";
  163. reg = <0x0 0x54480000 0x0 0x00040000>;
  164. status = "disabled";
  165. };
  166. nvenc@544c0000 {
  167. compatible = "nvidia,tegra210-nvenc";
  168. reg = <0x0 0x544c0000 0x0 0x00040000>;
  169. status = "disabled";
  170. };
  171. tsec@54500000 {
  172. compatible = "nvidia,tegra210-tsec";
  173. reg = <0x0 0x54500000 0x0 0x00040000>;
  174. status = "disabled";
  175. };
  176. sor@54540000 {
  177. compatible = "nvidia,tegra210-sor";
  178. reg = <0x0 0x54540000 0x0 0x00040000>;
  179. interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
  180. clocks = <&tegra_car TEGRA210_CLK_SOR0>,
  181. <&tegra_car TEGRA210_CLK_PLL_D_OUT0>,
  182. <&tegra_car TEGRA210_CLK_PLL_DP>,
  183. <&tegra_car TEGRA210_CLK_SOR_SAFE>;
  184. clock-names = "sor", "parent", "dp", "safe";
  185. resets = <&tegra_car 182>;
  186. reset-names = "sor";
  187. status = "disabled";
  188. };
  189. sor@54580000 {
  190. compatible = "nvidia,tegra210-sor1";
  191. reg = <0x0 0x54580000 0x0 0x00040000>;
  192. interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
  193. clocks = <&tegra_car TEGRA210_CLK_SOR1>,
  194. <&tegra_car TEGRA210_CLK_PLL_D2_OUT0>,
  195. <&tegra_car TEGRA210_CLK_PLL_DP>,
  196. <&tegra_car TEGRA210_CLK_SOR_SAFE>;
  197. clock-names = "sor", "parent", "dp", "safe";
  198. resets = <&tegra_car 183>;
  199. reset-names = "sor";
  200. status = "disabled";
  201. };
  202. dpaux: dpaux@545c0000 {
  203. compatible = "nvidia,tegra124-dpaux";
  204. reg = <0x0 0x545c0000 0x0 0x00040000>;
  205. interrupts = <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>;
  206. clocks = <&tegra_car TEGRA210_CLK_DPAUX>,
  207. <&tegra_car TEGRA210_CLK_PLL_DP>;
  208. clock-names = "dpaux", "parent";
  209. resets = <&tegra_car 181>;
  210. reset-names = "dpaux";
  211. status = "disabled";
  212. };
  213. isp@54600000 {
  214. compatible = "nvidia,tegra210-isp";
  215. reg = <0x0 0x54600000 0x0 0x00040000>;
  216. interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
  217. status = "disabled";
  218. };
  219. isp@54680000 {
  220. compatible = "nvidia,tegra210-isp";
  221. reg = <0x0 0x54680000 0x0 0x00040000>;
  222. interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
  223. status = "disabled";
  224. };
  225. i2c@546c0000 {
  226. compatible = "nvidia,tegra210-i2c-vi";
  227. reg = <0x0 0x546c0000 0x0 0x00040000>;
  228. interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
  229. status = "disabled";
  230. };
  231. };
  232. gic: interrupt-controller@50041000 {
  233. compatible = "arm,gic-400";
  234. #interrupt-cells = <3>;
  235. interrupt-controller;
  236. reg = <0x0 0x50041000 0x0 0x1000>,
  237. <0x0 0x50042000 0x0 0x2000>,
  238. <0x0 0x50044000 0x0 0x2000>,
  239. <0x0 0x50046000 0x0 0x2000>;
  240. interrupts = <GIC_PPI 9
  241. (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
  242. interrupt-parent = <&gic>;
  243. };
  244. gpu@57000000 {
  245. compatible = "nvidia,gm20b";
  246. reg = <0x0 0x57000000 0x0 0x01000000>,
  247. <0x0 0x58000000 0x0 0x01000000>;
  248. interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>,
  249. <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>;
  250. interrupt-names = "stall", "nonstall";
  251. clocks = <&tegra_car TEGRA210_CLK_GPU>,
  252. <&tegra_car TEGRA210_CLK_PLL_P_OUT5>,
  253. <&tegra_car TEGRA210_CLK_PLL_G_REF>;
  254. clock-names = "gpu", "pwr", "ref";
  255. resets = <&tegra_car 184>;
  256. reset-names = "gpu";
  257. iommus = <&mc TEGRA_SWGROUP_GPU>;
  258. status = "disabled";
  259. };
  260. lic: interrupt-controller@60004000 {
  261. compatible = "nvidia,tegra210-ictlr";
  262. reg = <0x0 0x60004000 0x0 0x40>, /* primary controller */
  263. <0x0 0x60004100 0x0 0x40>, /* secondary controller */
  264. <0x0 0x60004200 0x0 0x40>, /* tertiary controller */
  265. <0x0 0x60004300 0x0 0x40>, /* quaternary controller */
  266. <0x0 0x60004400 0x0 0x40>, /* quinary controller */
  267. <0x0 0x60004500 0x0 0x40>; /* senary controller */
  268. interrupt-controller;
  269. #interrupt-cells = <3>;
  270. interrupt-parent = <&gic>;
  271. };
  272. timer@60005000 {
  273. compatible = "nvidia,tegra210-timer", "nvidia,tegra20-timer";
  274. reg = <0x0 0x60005000 0x0 0x400>;
  275. interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
  276. <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
  277. <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
  278. <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>,
  279. <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
  280. <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>;
  281. clocks = <&tegra_car TEGRA210_CLK_TIMER>;
  282. clock-names = "timer";
  283. };
  284. tegra_car: clock@60006000 {
  285. compatible = "nvidia,tegra210-car";
  286. reg = <0x0 0x60006000 0x0 0x1000>;
  287. #clock-cells = <1>;
  288. #reset-cells = <1>;
  289. };
  290. flow-controller@60007000 {
  291. compatible = "nvidia,tegra210-flowctrl";
  292. reg = <0x0 0x60007000 0x0 0x1000>;
  293. };
  294. gpio: gpio@6000d000 {
  295. compatible = "nvidia,tegra210-gpio", "nvidia,tegra30-gpio";
  296. reg = <0x0 0x6000d000 0x0 0x1000>;
  297. interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>,
  298. <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>,
  299. <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>,
  300. <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>,
  301. <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>,
  302. <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>,
  303. <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>,
  304. <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>;
  305. #gpio-cells = <2>;
  306. gpio-controller;
  307. #interrupt-cells = <2>;
  308. interrupt-controller;
  309. };
  310. apbdma: dma@60020000 {
  311. compatible = "nvidia,tegra210-apbdma", "nvidia,tegra148-apbdma";
  312. reg = <0x0 0x60020000 0x0 0x1400>;
  313. interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
  314. <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
  315. <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
  316. <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
  317. <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
  318. <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
  319. <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
  320. <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>,
  321. <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>,
  322. <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
  323. <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
  324. <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
  325. <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
  326. <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
  327. <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
  328. <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>,
  329. <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>,
  330. <GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>,
  331. <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>,
  332. <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
  333. <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>,
  334. <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>,
  335. <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>,
  336. <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,
  337. <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>,
  338. <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>,
  339. <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>,
  340. <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>,
  341. <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>,
  342. <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>,
  343. <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
  344. <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
  345. clocks = <&tegra_car TEGRA210_CLK_APBDMA>;
  346. clock-names = "dma";
  347. resets = <&tegra_car 34>;
  348. reset-names = "dma";
  349. #dma-cells = <1>;
  350. };
  351. apbmisc@70000800 {
  352. compatible = "nvidia,tegra210-apbmisc", "nvidia,tegra20-apbmisc";
  353. reg = <0x0 0x70000800 0x0 0x64>, /* Chip revision */
  354. <0x0 0x7000e864 0x0 0x04>; /* Strapping options */
  355. };
  356. pinmux: pinmux@700008d4 {
  357. compatible = "nvidia,tegra210-pinmux";
  358. reg = <0x0 0x700008d4 0x0 0x29c>, /* Pad control registers */
  359. <0x0 0x70003000 0x0 0x294>; /* Mux registers */
  360. };
  361. /*
  362. * There are two serial driver i.e. 8250 based simple serial
  363. * driver and APB DMA based serial driver for higher baudrate
  364. * and performance. To enable the 8250 based driver, the compatible
  365. * is "nvidia,tegra124-uart", "nvidia,tegra20-uart" and to enable
  366. * the APB DMA based serial driver, the compatible is
  367. * "nvidia,tegra124-hsuart", "nvidia,tegra30-hsuart".
  368. */
  369. uarta: serial@70006000 {
  370. compatible = "nvidia,tegra210-uart", "nvidia,tegra20-uart";
  371. reg = <0x0 0x70006000 0x0 0x40>;
  372. reg-shift = <2>;
  373. interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
  374. clocks = <&tegra_car TEGRA210_CLK_UARTA>;
  375. clock-names = "serial";
  376. resets = <&tegra_car 6>;
  377. reset-names = "serial";
  378. dmas = <&apbdma 8>, <&apbdma 8>;
  379. dma-names = "rx", "tx";
  380. status = "disabled";
  381. };
  382. uartb: serial@70006040 {
  383. compatible = "nvidia,tegra210-uart", "nvidia,tegra20-uart";
  384. reg = <0x0 0x70006040 0x0 0x40>;
  385. reg-shift = <2>;
  386. interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
  387. clocks = <&tegra_car TEGRA210_CLK_UARTB>;
  388. clock-names = "serial";
  389. resets = <&tegra_car 7>;
  390. reset-names = "serial";
  391. dmas = <&apbdma 9>, <&apbdma 9>;
  392. dma-names = "rx", "tx";
  393. status = "disabled";
  394. };
  395. uartc: serial@70006200 {
  396. compatible = "nvidia,tegra210-uart", "nvidia,tegra20-uart";
  397. reg = <0x0 0x70006200 0x0 0x40>;
  398. reg-shift = <2>;
  399. interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
  400. clocks = <&tegra_car TEGRA210_CLK_UARTC>;
  401. clock-names = "serial";
  402. resets = <&tegra_car 55>;
  403. reset-names = "serial";
  404. dmas = <&apbdma 10>, <&apbdma 10>;
  405. dma-names = "rx", "tx";
  406. status = "disabled";
  407. };
  408. uartd: serial@70006300 {
  409. compatible = "nvidia,tegra210-uart", "nvidia,tegra20-uart";
  410. reg = <0x0 0x70006300 0x0 0x40>;
  411. reg-shift = <2>;
  412. interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
  413. clocks = <&tegra_car TEGRA210_CLK_UARTD>;
  414. clock-names = "serial";
  415. resets = <&tegra_car 65>;
  416. reset-names = "serial";
  417. dmas = <&apbdma 19>, <&apbdma 19>;
  418. dma-names = "rx", "tx";
  419. status = "disabled";
  420. };
  421. pwm: pwm@7000a000 {
  422. compatible = "nvidia,tegra210-pwm", "nvidia,tegra20-pwm";
  423. reg = <0x0 0x7000a000 0x0 0x100>;
  424. #pwm-cells = <2>;
  425. clocks = <&tegra_car TEGRA210_CLK_PWM>;
  426. clock-names = "pwm";
  427. resets = <&tegra_car 17>;
  428. reset-names = "pwm";
  429. status = "disabled";
  430. };
  431. i2c@7000c000 {
  432. compatible = "nvidia,tegra210-i2c", "nvidia,tegra114-i2c";
  433. reg = <0x0 0x7000c000 0x0 0x100>;
  434. interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
  435. #address-cells = <1>;
  436. #size-cells = <0>;
  437. clocks = <&tegra_car TEGRA210_CLK_I2C1>;
  438. clock-names = "div-clk";
  439. resets = <&tegra_car 12>;
  440. reset-names = "i2c";
  441. dmas = <&apbdma 21>, <&apbdma 21>;
  442. dma-names = "rx", "tx";
  443. status = "disabled";
  444. };
  445. i2c@7000c400 {
  446. compatible = "nvidia,tegra210-i2c", "nvidia,tegra114-i2c";
  447. reg = <0x0 0x7000c400 0x0 0x100>;
  448. interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
  449. #address-cells = <1>;
  450. #size-cells = <0>;
  451. clocks = <&tegra_car TEGRA210_CLK_I2C2>;
  452. clock-names = "div-clk";
  453. resets = <&tegra_car 54>;
  454. reset-names = "i2c";
  455. dmas = <&apbdma 22>, <&apbdma 22>;
  456. dma-names = "rx", "tx";
  457. status = "disabled";
  458. };
  459. i2c@7000c500 {
  460. compatible = "nvidia,tegra210-i2c", "nvidia,tegra114-i2c";
  461. reg = <0x0 0x7000c500 0x0 0x100>;
  462. interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
  463. #address-cells = <1>;
  464. #size-cells = <0>;
  465. clocks = <&tegra_car TEGRA210_CLK_I2C3>;
  466. clock-names = "div-clk";
  467. resets = <&tegra_car 67>;
  468. reset-names = "i2c";
  469. dmas = <&apbdma 23>, <&apbdma 23>;
  470. dma-names = "rx", "tx";
  471. status = "disabled";
  472. };
  473. i2c@7000c700 {
  474. compatible = "nvidia,tegra210-i2c", "nvidia,tegra114-i2c";
  475. reg = <0x0 0x7000c700 0x0 0x100>;
  476. interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
  477. #address-cells = <1>;
  478. #size-cells = <0>;
  479. clocks = <&tegra_car TEGRA210_CLK_I2C4>;
  480. clock-names = "div-clk";
  481. resets = <&tegra_car 103>;
  482. reset-names = "i2c";
  483. dmas = <&apbdma 26>, <&apbdma 26>;
  484. dma-names = "rx", "tx";
  485. status = "disabled";
  486. };
  487. i2c@7000d000 {
  488. compatible = "nvidia,tegra210-i2c", "nvidia,tegra114-i2c";
  489. reg = <0x0 0x7000d000 0x0 0x100>;
  490. interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
  491. #address-cells = <1>;
  492. #size-cells = <0>;
  493. clocks = <&tegra_car TEGRA210_CLK_I2C5>;
  494. clock-names = "div-clk";
  495. resets = <&tegra_car 47>;
  496. reset-names = "i2c";
  497. dmas = <&apbdma 24>, <&apbdma 24>;
  498. dma-names = "rx", "tx";
  499. status = "disabled";
  500. };
  501. i2c@7000d100 {
  502. compatible = "nvidia,tegra210-i2c", "nvidia,tegra114-i2c";
  503. reg = <0x0 0x7000d100 0x0 0x100>;
  504. interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
  505. #address-cells = <1>;
  506. #size-cells = <0>;
  507. clocks = <&tegra_car TEGRA210_CLK_I2C6>;
  508. clock-names = "div-clk";
  509. resets = <&tegra_car 166>;
  510. reset-names = "i2c";
  511. dmas = <&apbdma 30>, <&apbdma 30>;
  512. dma-names = "rx", "tx";
  513. status = "disabled";
  514. };
  515. spi@7000d400 {
  516. compatible = "nvidia,tegra210-spi", "nvidia,tegra114-spi";
  517. reg = <0x0 0x7000d400 0x0 0x200>;
  518. interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
  519. #address-cells = <1>;
  520. #size-cells = <0>;
  521. clocks = <&tegra_car TEGRA210_CLK_SBC1>;
  522. clock-names = "spi";
  523. resets = <&tegra_car 41>;
  524. reset-names = "spi";
  525. dmas = <&apbdma 15>, <&apbdma 15>;
  526. dma-names = "rx", "tx";
  527. status = "disabled";
  528. };
  529. spi@7000d600 {
  530. compatible = "nvidia,tegra210-spi", "nvidia,tegra114-spi";
  531. reg = <0x0 0x7000d600 0x0 0x200>;
  532. interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
  533. #address-cells = <1>;
  534. #size-cells = <0>;
  535. clocks = <&tegra_car TEGRA210_CLK_SBC2>;
  536. clock-names = "spi";
  537. resets = <&tegra_car 44>;
  538. reset-names = "spi";
  539. dmas = <&apbdma 16>, <&apbdma 16>;
  540. dma-names = "rx", "tx";
  541. status = "disabled";
  542. };
  543. spi@7000d800 {
  544. compatible = "nvidia,tegra210-spi", "nvidia,tegra114-spi";
  545. reg = <0x0 0x7000d800 0x0 0x200>;
  546. interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
  547. #address-cells = <1>;
  548. #size-cells = <0>;
  549. clocks = <&tegra_car TEGRA210_CLK_SBC3>;
  550. clock-names = "spi";
  551. resets = <&tegra_car 46>;
  552. reset-names = "spi";
  553. dmas = <&apbdma 17>, <&apbdma 17>;
  554. dma-names = "rx", "tx";
  555. status = "disabled";
  556. };
  557. spi@7000da00 {
  558. compatible = "nvidia,tegra210-spi", "nvidia,tegra114-spi";
  559. reg = <0x0 0x7000da00 0x0 0x200>;
  560. interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
  561. #address-cells = <1>;
  562. #size-cells = <0>;
  563. clocks = <&tegra_car TEGRA210_CLK_SBC4>;
  564. clock-names = "spi";
  565. resets = <&tegra_car 68>;
  566. reset-names = "spi";
  567. dmas = <&apbdma 18>, <&apbdma 18>;
  568. dma-names = "rx", "tx";
  569. status = "disabled";
  570. };
  571. rtc@7000e000 {
  572. compatible = "nvidia,tegra210-rtc", "nvidia,tegra20-rtc";
  573. reg = <0x0 0x7000e000 0x0 0x100>;
  574. interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
  575. clocks = <&tegra_car TEGRA210_CLK_RTC>;
  576. clock-names = "rtc";
  577. };
  578. pmc: pmc@7000e400 {
  579. compatible = "nvidia,tegra210-pmc";
  580. reg = <0x0 0x7000e400 0x0 0x400>;
  581. clocks = <&tegra_car TEGRA210_CLK_PCLK>, <&clk32k_in>;
  582. clock-names = "pclk", "clk32k_in";
  583. };
  584. fuse@7000f800 {
  585. compatible = "nvidia,tegra210-efuse";
  586. reg = <0x0 0x7000f800 0x0 0x400>;
  587. clocks = <&tegra_car TEGRA210_CLK_FUSE>;
  588. clock-names = "fuse";
  589. resets = <&tegra_car 39>;
  590. reset-names = "fuse";
  591. };
  592. mc: memory-controller@70019000 {
  593. compatible = "nvidia,tegra210-mc";
  594. reg = <0x0 0x70019000 0x0 0x1000>;
  595. clocks = <&tegra_car TEGRA210_CLK_MC>;
  596. clock-names = "mc";
  597. interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
  598. #iommu-cells = <1>;
  599. };
  600. hda@70030000 {
  601. compatible = "nvidia,tegra210-hda", "nvidia,tegra30-hda";
  602. reg = <0x0 0x70030000 0x0 0x10000>;
  603. interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
  604. clocks = <&tegra_car TEGRA210_CLK_HDA>,
  605. <&tegra_car TEGRA210_CLK_HDA2HDMI>,
  606. <&tegra_car TEGRA210_CLK_HDA2CODEC_2X>;
  607. clock-names = "hda", "hda2hdmi", "hda2codec_2x";
  608. resets = <&tegra_car 125>, /* hda */
  609. <&tegra_car 128>, /* hda2hdmi */
  610. <&tegra_car 111>; /* hda2codec_2x */
  611. reset-names = "hda", "hda2hdmi", "hda2codec_2x";
  612. status = "disabled";
  613. };
  614. padctl: padctl@7009f000 {
  615. compatible = "nvidia,tegra210-xusb-padctl";
  616. reg = <0x0 0x7009f000 0x0 0x1000>;
  617. resets = <&tegra_car 142>;
  618. reset-names = "padctl";
  619. #phy-cells = <1>;
  620. };
  621. sdhci@700b0000 {
  622. compatible = "nvidia,tegra210-sdhci", "nvidia,tegra124-sdhci";
  623. reg = <0x0 0x700b0000 0x0 0x200>;
  624. interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
  625. clocks = <&tegra_car TEGRA210_CLK_SDMMC1>;
  626. clock-names = "sdhci";
  627. resets = <&tegra_car 14>;
  628. reset-names = "sdhci";
  629. status = "disabled";
  630. };
  631. sdhci@700b0200 {
  632. compatible = "nvidia,tegra210-sdhci", "nvidia,tegra124-sdhci";
  633. reg = <0x0 0x700b0200 0x0 0x200>;
  634. interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
  635. clocks = <&tegra_car TEGRA210_CLK_SDMMC2>;
  636. clock-names = "sdhci";
  637. resets = <&tegra_car 9>;
  638. reset-names = "sdhci";
  639. status = "disabled";
  640. };
  641. sdhci@700b0400 {
  642. compatible = "nvidia,tegra210-sdhci", "nvidia,tegra124-sdhci";
  643. reg = <0x0 0x700b0400 0x0 0x200>;
  644. interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
  645. clocks = <&tegra_car TEGRA210_CLK_SDMMC3>;
  646. clock-names = "sdhci";
  647. resets = <&tegra_car 69>;
  648. reset-names = "sdhci";
  649. status = "disabled";
  650. };
  651. sdhci@700b0600 {
  652. compatible = "nvidia,tegra210-sdhci", "nvidia,tegra124-sdhci";
  653. reg = <0x0 0x700b0600 0x0 0x200>;
  654. interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
  655. clocks = <&tegra_car TEGRA210_CLK_SDMMC4>;
  656. clock-names = "sdhci";
  657. resets = <&tegra_car 15>;
  658. reset-names = "sdhci";
  659. status = "disabled";
  660. };
  661. mipi: mipi@700e3000 {
  662. compatible = "nvidia,tegra210-mipi";
  663. reg = <0x0 0x700e3000 0x0 0x100>;
  664. clocks = <&tegra_car TEGRA210_CLK_MIPI_CAL>;
  665. clock-names = "mipi-cal";
  666. #nvidia,mipi-calibrate-cells = <1>;
  667. };
  668. spi@70410000 {
  669. compatible = "nvidia,tegra210-qspi";
  670. reg = <0x0 0x70410000 0x0 0x1000>;
  671. interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
  672. #address-cells = <1>;
  673. #size-cells = <0>;
  674. clocks = <&tegra_car TEGRA210_CLK_QSPI>;
  675. clock-names = "qspi";
  676. resets = <&tegra_car 211>;
  677. reset-names = "qspi";
  678. dmas = <&apbdma 5>, <&apbdma 5>;
  679. dma-names = "rx", "tx";
  680. status = "disabled";
  681. };
  682. usb@7d000000 {
  683. compatible = "nvidia,tegra210-ehci", "nvidia,tegra30-ehci", "usb-ehci";
  684. reg = <0x0 0x7d000000 0x0 0x4000>;
  685. interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
  686. phy_type = "utmi";
  687. clocks = <&tegra_car TEGRA210_CLK_USBD>;
  688. clock-names = "usb";
  689. resets = <&tegra_car 22>;
  690. reset-names = "usb";
  691. nvidia,phy = <&phy1>;
  692. status = "disabled";
  693. };
  694. phy1: usb-phy@7d000000 {
  695. compatible = "nvidia,tegra210-usb-phy", "nvidia,tegra30-usb-phy";
  696. reg = <0x0 0x7d000000 0x0 0x4000>,
  697. <0x0 0x7d000000 0x0 0x4000>;
  698. phy_type = "utmi";
  699. clocks = <&tegra_car TEGRA210_CLK_USBD>,
  700. <&tegra_car TEGRA210_CLK_PLL_U>,
  701. <&tegra_car TEGRA210_CLK_USBD>;
  702. clock-names = "reg", "pll_u", "utmi-pads";
  703. resets = <&tegra_car 22>, <&tegra_car 22>;
  704. reset-names = "usb", "utmi-pads";
  705. nvidia,hssync-start-delay = <0>;
  706. nvidia,idle-wait-delay = <17>;
  707. nvidia,elastic-limit = <16>;
  708. nvidia,term-range-adj = <6>;
  709. nvidia,xcvr-setup = <9>;
  710. nvidia,xcvr-lsfslew = <0>;
  711. nvidia,xcvr-lsrslew = <3>;
  712. nvidia,hssquelch-level = <2>;
  713. nvidia,hsdiscon-level = <5>;
  714. nvidia,xcvr-hsslew = <12>;
  715. nvidia,has-utmi-pad-registers;
  716. status = "disabled";
  717. };
  718. usb@7d004000 {
  719. compatible = "nvidia,tegra210-ehci", "nvidia,tegra30-ehci", "usb-ehci";
  720. reg = <0x0 0x7d004000 0x0 0x4000>;
  721. interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
  722. phy_type = "utmi";
  723. clocks = <&tegra_car TEGRA210_CLK_USB2>;
  724. clock-names = "usb";
  725. resets = <&tegra_car 58>;
  726. reset-names = "usb";
  727. nvidia,phy = <&phy2>;
  728. status = "disabled";
  729. };
  730. phy2: usb-phy@7d004000 {
  731. compatible = "nvidia,tegra210-usb-phy", "nvidia,tegra30-usb-phy";
  732. reg = <0x0 0x7d004000 0x0 0x4000>,
  733. <0x0 0x7d000000 0x0 0x4000>;
  734. phy_type = "utmi";
  735. clocks = <&tegra_car TEGRA210_CLK_USB2>,
  736. <&tegra_car TEGRA210_CLK_PLL_U>,
  737. <&tegra_car TEGRA210_CLK_USBD>;
  738. clock-names = "reg", "pll_u", "utmi-pads";
  739. resets = <&tegra_car 58>, <&tegra_car 22>;
  740. reset-names = "usb", "utmi-pads";
  741. nvidia,hssync-start-delay = <0>;
  742. nvidia,idle-wait-delay = <17>;
  743. nvidia,elastic-limit = <16>;
  744. nvidia,term-range-adj = <6>;
  745. nvidia,xcvr-setup = <9>;
  746. nvidia,xcvr-lsfslew = <0>;
  747. nvidia,xcvr-lsrslew = <3>;
  748. nvidia,hssquelch-level = <2>;
  749. nvidia,hsdiscon-level = <5>;
  750. nvidia,xcvr-hsslew = <12>;
  751. status = "disabled";
  752. };
  753. cpus {
  754. #address-cells = <1>;
  755. #size-cells = <0>;
  756. cpu@0 {
  757. device_type = "cpu";
  758. compatible = "arm,cortex-a57";
  759. reg = <0>;
  760. };
  761. cpu@1 {
  762. device_type = "cpu";
  763. compatible = "arm,cortex-a57";
  764. reg = <1>;
  765. };
  766. cpu@2 {
  767. device_type = "cpu";
  768. compatible = "arm,cortex-a57";
  769. reg = <2>;
  770. };
  771. cpu@3 {
  772. device_type = "cpu";
  773. compatible = "arm,cortex-a57";
  774. reg = <3>;
  775. };
  776. };
  777. timer {
  778. compatible = "arm,armv8-timer";
  779. interrupts = <GIC_PPI 13
  780. (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
  781. <GIC_PPI 14
  782. (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
  783. <GIC_PPI 11
  784. (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
  785. <GIC_PPI 10
  786. (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
  787. interrupt-parent = <&gic>;
  788. };
  789. };