tegra114.dtsi 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850
  1. // SPDX-License-Identifier: GPL-2.0
  2. #include <dt-bindings/clock/tegra114-car.h>
  3. #include <dt-bindings/gpio/tegra-gpio.h>
  4. #include <dt-bindings/memory/tegra114-mc.h>
  5. #include <dt-bindings/pinctrl/pinctrl-tegra.h>
  6. #include <dt-bindings/interrupt-controller/arm-gic.h>
  7. #include <dt-bindings/soc/tegra-pmc.h>
  8. / {
  9. compatible = "nvidia,tegra114";
  10. interrupt-parent = <&lic>;
  11. #address-cells = <1>;
  12. #size-cells = <1>;
  13. memory@80000000 {
  14. device_type = "memory";
  15. reg = <0x80000000 0x0>;
  16. };
  17. sram@40000000 {
  18. compatible = "mmio-sram";
  19. reg = <0x40000000 0x40000>;
  20. #address-cells = <1>;
  21. #size-cells = <1>;
  22. ranges = <0 0x40000000 0x40000>;
  23. vde_pool: sram@400 {
  24. reg = <0x400 0x3fc00>;
  25. pool;
  26. };
  27. };
  28. host1x@50000000 {
  29. compatible = "nvidia,tegra114-host1x";
  30. reg = <0x50000000 0x00028000>;
  31. interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>, /* syncpt */
  32. <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; /* general */
  33. interrupt-names = "syncpt", "host1x";
  34. clocks = <&tegra_car TEGRA114_CLK_HOST1X>;
  35. clock-names = "host1x";
  36. resets = <&tegra_car 28>, <&mc TEGRA114_MC_RESET_HC>;
  37. reset-names = "host1x", "mc";
  38. iommus = <&mc TEGRA_SWGROUP_HC>;
  39. #address-cells = <1>;
  40. #size-cells = <1>;
  41. ranges = <0x54000000 0x54000000 0x01000000>;
  42. gr2d@54140000 {
  43. compatible = "nvidia,tegra114-gr2d";
  44. reg = <0x54140000 0x00040000>;
  45. interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
  46. clocks = <&tegra_car TEGRA114_CLK_GR2D>;
  47. resets = <&tegra_car 21>, <&mc TEGRA114_MC_RESET_2D>;
  48. reset-names = "2d", "mc";
  49. iommus = <&mc TEGRA_SWGROUP_G2>;
  50. };
  51. gr3d@54180000 {
  52. compatible = "nvidia,tegra114-gr3d";
  53. reg = <0x54180000 0x00040000>;
  54. clocks = <&tegra_car TEGRA114_CLK_GR3D>;
  55. resets = <&tegra_car 24>, <&mc TEGRA114_MC_RESET_3D>;
  56. reset-names = "3d", "mc";
  57. iommus = <&mc TEGRA_SWGROUP_NV>;
  58. };
  59. dc@54200000 {
  60. compatible = "nvidia,tegra114-dc";
  61. reg = <0x54200000 0x00040000>;
  62. interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
  63. clocks = <&tegra_car TEGRA114_CLK_DISP1>,
  64. <&tegra_car TEGRA114_CLK_PLL_P>;
  65. clock-names = "dc", "parent";
  66. resets = <&tegra_car 27>;
  67. reset-names = "dc";
  68. iommus = <&mc TEGRA_SWGROUP_DC>;
  69. nvidia,head = <0>;
  70. rgb {
  71. status = "disabled";
  72. };
  73. };
  74. dc@54240000 {
  75. compatible = "nvidia,tegra114-dc";
  76. reg = <0x54240000 0x00040000>;
  77. interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
  78. clocks = <&tegra_car TEGRA114_CLK_DISP2>,
  79. <&tegra_car TEGRA114_CLK_PLL_P>;
  80. clock-names = "dc", "parent";
  81. resets = <&tegra_car 26>;
  82. reset-names = "dc";
  83. iommus = <&mc TEGRA_SWGROUP_DCB>;
  84. nvidia,head = <1>;
  85. rgb {
  86. status = "disabled";
  87. };
  88. };
  89. hdmi@54280000 {
  90. compatible = "nvidia,tegra114-hdmi";
  91. reg = <0x54280000 0x00040000>;
  92. interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
  93. clocks = <&tegra_car TEGRA114_CLK_HDMI>,
  94. <&tegra_car TEGRA114_CLK_PLL_D2_OUT0>;
  95. clock-names = "hdmi", "parent";
  96. resets = <&tegra_car 51>;
  97. reset-names = "hdmi";
  98. status = "disabled";
  99. };
  100. dsia: dsi@54300000 {
  101. compatible = "nvidia,tegra114-dsi";
  102. reg = <0x54300000 0x00040000>;
  103. clocks = <&tegra_car TEGRA114_CLK_DSIA>,
  104. <&tegra_car TEGRA114_CLK_DSIALP>,
  105. <&tegra_car TEGRA114_CLK_PLL_D_OUT0>;
  106. clock-names = "dsi", "lp", "parent";
  107. resets = <&tegra_car 48>;
  108. reset-names = "dsi";
  109. nvidia,mipi-calibrate = <&mipi 0x060>; /* DSIA & DSIB pads */
  110. status = "disabled";
  111. #address-cells = <1>;
  112. #size-cells = <0>;
  113. };
  114. dsib: dsi@54400000 {
  115. compatible = "nvidia,tegra114-dsi";
  116. reg = <0x54400000 0x00040000>;
  117. clocks = <&tegra_car TEGRA114_CLK_DSIB>,
  118. <&tegra_car TEGRA114_CLK_DSIBLP>,
  119. <&tegra_car TEGRA114_CLK_PLL_D2_OUT0>;
  120. clock-names = "dsi", "lp", "parent";
  121. resets = <&tegra_car 82>;
  122. reset-names = "dsi";
  123. nvidia,mipi-calibrate = <&mipi 0x180>; /* DSIC & DSID pads */
  124. status = "disabled";
  125. #address-cells = <1>;
  126. #size-cells = <0>;
  127. };
  128. };
  129. gic: interrupt-controller@50041000 {
  130. compatible = "arm,cortex-a15-gic";
  131. #interrupt-cells = <3>;
  132. interrupt-controller;
  133. reg = <0x50041000 0x1000>,
  134. <0x50042000 0x1000>,
  135. <0x50044000 0x2000>,
  136. <0x50046000 0x2000>;
  137. interrupts = <GIC_PPI 9
  138. (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
  139. interrupt-parent = <&gic>;
  140. };
  141. lic: interrupt-controller@60004000 {
  142. compatible = "nvidia,tegra114-ictlr", "nvidia,tegra30-ictlr";
  143. reg = <0x60004000 0x100>,
  144. <0x60004100 0x50>,
  145. <0x60004200 0x50>,
  146. <0x60004300 0x50>,
  147. <0x60004400 0x50>;
  148. interrupt-controller;
  149. #interrupt-cells = <3>;
  150. interrupt-parent = <&gic>;
  151. };
  152. timer@60005000 {
  153. compatible = "nvidia,tegra114-timer", "nvidia,tegra30-timer";
  154. reg = <0x60005000 0x400>;
  155. interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
  156. <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
  157. <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
  158. <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>,
  159. <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
  160. <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>;
  161. clocks = <&tegra_car TEGRA114_CLK_TIMER>;
  162. };
  163. tegra_car: clock@60006000 {
  164. compatible = "nvidia,tegra114-car";
  165. reg = <0x60006000 0x1000>;
  166. #clock-cells = <1>;
  167. #reset-cells = <1>;
  168. };
  169. flow-controller@60007000 {
  170. compatible = "nvidia,tegra114-flowctrl";
  171. reg = <0x60007000 0x1000>;
  172. };
  173. apbdma: dma@6000a000 {
  174. compatible = "nvidia,tegra114-apbdma";
  175. reg = <0x6000a000 0x1400>;
  176. interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
  177. <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
  178. <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
  179. <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
  180. <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
  181. <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
  182. <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
  183. <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>,
  184. <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>,
  185. <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
  186. <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
  187. <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
  188. <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
  189. <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
  190. <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
  191. <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>,
  192. <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>,
  193. <GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>,
  194. <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>,
  195. <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
  196. <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>,
  197. <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>,
  198. <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>,
  199. <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,
  200. <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>,
  201. <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>,
  202. <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>,
  203. <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>,
  204. <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>,
  205. <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>,
  206. <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
  207. <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
  208. clocks = <&tegra_car TEGRA114_CLK_APBDMA>;
  209. resets = <&tegra_car 34>;
  210. reset-names = "dma";
  211. #dma-cells = <1>;
  212. };
  213. ahb: ahb@6000c000 {
  214. compatible = "nvidia,tegra114-ahb", "nvidia,tegra30-ahb";
  215. reg = <0x6000c000 0x150>;
  216. };
  217. gpio: gpio@6000d000 {
  218. compatible = "nvidia,tegra114-gpio", "nvidia,tegra30-gpio";
  219. reg = <0x6000d000 0x1000>;
  220. interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>,
  221. <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>,
  222. <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>,
  223. <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>,
  224. <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>,
  225. <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>,
  226. <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>,
  227. <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>;
  228. #gpio-cells = <2>;
  229. gpio-controller;
  230. #interrupt-cells = <2>;
  231. interrupt-controller;
  232. gpio-ranges = <&pinmux 0 0 246>;
  233. };
  234. vde@6001a000 {
  235. compatible = "nvidia,tegra114-vde";
  236. reg = <0x6001a000 0x1000>, /* Syntax Engine */
  237. <0x6001b000 0x1000>, /* Video Bitstream Engine */
  238. <0x6001c000 0x100>, /* Macroblock Engine */
  239. <0x6001c200 0x100>, /* Post-processing Engine */
  240. <0x6001c400 0x100>, /* Motion Compensation Engine */
  241. <0x6001c600 0x100>, /* Transform Engine */
  242. <0x6001c800 0x100>, /* Pixel prediction block */
  243. <0x6001ca00 0x100>, /* Video DMA */
  244. <0x6001d800 0x400>; /* Video frame controls */
  245. reg-names = "sxe", "bsev", "mbe", "ppe", "mce",
  246. "tfe", "ppb", "vdma", "frameid";
  247. iram = <&vde_pool>; /* IRAM region */
  248. interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>, /* Sync token interrupt */
  249. <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>, /* BSE-V interrupt */
  250. <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; /* SXE interrupt */
  251. interrupt-names = "sync-token", "bsev", "sxe";
  252. clocks = <&tegra_car TEGRA114_CLK_VDE>;
  253. reset-names = "vde", "mc";
  254. resets = <&tegra_car 61>, <&mc TEGRA114_MC_RESET_VDE>;
  255. iommus = <&mc TEGRA_SWGROUP_VDE>;
  256. };
  257. apbmisc@70000800 {
  258. compatible = "nvidia,tegra114-apbmisc", "nvidia,tegra20-apbmisc";
  259. reg = <0x70000800 0x64>, /* Chip revision */
  260. <0x70000008 0x04>; /* Strapping options */
  261. };
  262. pinmux: pinmux@70000868 {
  263. compatible = "nvidia,tegra114-pinmux";
  264. reg = <0x70000868 0x148>, /* Pad control registers */
  265. <0x70003000 0x40c>; /* Mux registers */
  266. };
  267. /*
  268. * There are two serial driver i.e. 8250 based simple serial
  269. * driver and APB DMA based serial driver for higher baudrate
  270. * and performace. To enable the 8250 based driver, the compatible
  271. * is "nvidia,tegra114-uart", "nvidia,tegra20-uart" and to enable
  272. * the APB DMA based serial driver, the compatible is
  273. * "nvidia,tegra114-hsuart", "nvidia,tegra30-hsuart".
  274. */
  275. uarta: serial@70006000 {
  276. compatible = "nvidia,tegra114-uart", "nvidia,tegra20-uart";
  277. reg = <0x70006000 0x40>;
  278. reg-shift = <2>;
  279. interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
  280. clocks = <&tegra_car TEGRA114_CLK_UARTA>;
  281. resets = <&tegra_car 6>;
  282. reset-names = "serial";
  283. dmas = <&apbdma 8>, <&apbdma 8>;
  284. dma-names = "rx", "tx";
  285. status = "disabled";
  286. };
  287. uartb: serial@70006040 {
  288. compatible = "nvidia,tegra114-uart", "nvidia,tegra20-uart";
  289. reg = <0x70006040 0x40>;
  290. reg-shift = <2>;
  291. interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
  292. clocks = <&tegra_car TEGRA114_CLK_UARTB>;
  293. resets = <&tegra_car 7>;
  294. reset-names = "serial";
  295. dmas = <&apbdma 9>, <&apbdma 9>;
  296. dma-names = "rx", "tx";
  297. status = "disabled";
  298. };
  299. uartc: serial@70006200 {
  300. compatible = "nvidia,tegra114-uart", "nvidia,tegra20-uart";
  301. reg = <0x70006200 0x100>;
  302. reg-shift = <2>;
  303. interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
  304. clocks = <&tegra_car TEGRA114_CLK_UARTC>;
  305. resets = <&tegra_car 55>;
  306. reset-names = "serial";
  307. dmas = <&apbdma 10>, <&apbdma 10>;
  308. dma-names = "rx", "tx";
  309. status = "disabled";
  310. };
  311. uartd: serial@70006300 {
  312. compatible = "nvidia,tegra114-uart", "nvidia,tegra20-uart";
  313. reg = <0x70006300 0x100>;
  314. reg-shift = <2>;
  315. interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
  316. clocks = <&tegra_car TEGRA114_CLK_UARTD>;
  317. resets = <&tegra_car 65>;
  318. reset-names = "serial";
  319. dmas = <&apbdma 19>, <&apbdma 19>;
  320. dma-names = "rx", "tx";
  321. status = "disabled";
  322. };
  323. pwm: pwm@7000a000 {
  324. compatible = "nvidia,tegra114-pwm", "nvidia,tegra20-pwm";
  325. reg = <0x7000a000 0x100>;
  326. #pwm-cells = <2>;
  327. clocks = <&tegra_car TEGRA114_CLK_PWM>;
  328. resets = <&tegra_car 17>;
  329. reset-names = "pwm";
  330. status = "disabled";
  331. };
  332. i2c@7000c000 {
  333. compatible = "nvidia,tegra114-i2c";
  334. reg = <0x7000c000 0x100>;
  335. interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
  336. #address-cells = <1>;
  337. #size-cells = <0>;
  338. clocks = <&tegra_car TEGRA114_CLK_I2C1>;
  339. clock-names = "div-clk";
  340. resets = <&tegra_car 12>;
  341. reset-names = "i2c";
  342. dmas = <&apbdma 21>, <&apbdma 21>;
  343. dma-names = "rx", "tx";
  344. status = "disabled";
  345. };
  346. i2c@7000c400 {
  347. compatible = "nvidia,tegra114-i2c";
  348. reg = <0x7000c400 0x100>;
  349. interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
  350. #address-cells = <1>;
  351. #size-cells = <0>;
  352. clocks = <&tegra_car TEGRA114_CLK_I2C2>;
  353. clock-names = "div-clk";
  354. resets = <&tegra_car 54>;
  355. reset-names = "i2c";
  356. dmas = <&apbdma 22>, <&apbdma 22>;
  357. dma-names = "rx", "tx";
  358. status = "disabled";
  359. };
  360. i2c@7000c500 {
  361. compatible = "nvidia,tegra114-i2c";
  362. reg = <0x7000c500 0x100>;
  363. interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
  364. #address-cells = <1>;
  365. #size-cells = <0>;
  366. clocks = <&tegra_car TEGRA114_CLK_I2C3>;
  367. clock-names = "div-clk";
  368. resets = <&tegra_car 67>;
  369. reset-names = "i2c";
  370. dmas = <&apbdma 23>, <&apbdma 23>;
  371. dma-names = "rx", "tx";
  372. status = "disabled";
  373. };
  374. i2c@7000c700 {
  375. compatible = "nvidia,tegra114-i2c";
  376. reg = <0x7000c700 0x100>;
  377. interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
  378. #address-cells = <1>;
  379. #size-cells = <0>;
  380. clocks = <&tegra_car TEGRA114_CLK_I2C4>;
  381. clock-names = "div-clk";
  382. resets = <&tegra_car 103>;
  383. reset-names = "i2c";
  384. dmas = <&apbdma 26>, <&apbdma 26>;
  385. dma-names = "rx", "tx";
  386. status = "disabled";
  387. };
  388. i2c@7000d000 {
  389. compatible = "nvidia,tegra114-i2c";
  390. reg = <0x7000d000 0x100>;
  391. interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
  392. #address-cells = <1>;
  393. #size-cells = <0>;
  394. clocks = <&tegra_car TEGRA114_CLK_I2C5>;
  395. clock-names = "div-clk";
  396. resets = <&tegra_car 47>;
  397. reset-names = "i2c";
  398. dmas = <&apbdma 24>, <&apbdma 24>;
  399. dma-names = "rx", "tx";
  400. status = "disabled";
  401. };
  402. spi@7000d400 {
  403. compatible = "nvidia,tegra114-spi";
  404. reg = <0x7000d400 0x200>;
  405. interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
  406. #address-cells = <1>;
  407. #size-cells = <0>;
  408. clocks = <&tegra_car TEGRA114_CLK_SBC1>;
  409. clock-names = "spi";
  410. resets = <&tegra_car 41>;
  411. reset-names = "spi";
  412. dmas = <&apbdma 15>, <&apbdma 15>;
  413. dma-names = "rx", "tx";
  414. status = "disabled";
  415. };
  416. spi@7000d600 {
  417. compatible = "nvidia,tegra114-spi";
  418. reg = <0x7000d600 0x200>;
  419. interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
  420. #address-cells = <1>;
  421. #size-cells = <0>;
  422. clocks = <&tegra_car TEGRA114_CLK_SBC2>;
  423. clock-names = "spi";
  424. resets = <&tegra_car 44>;
  425. reset-names = "spi";
  426. dmas = <&apbdma 16>, <&apbdma 16>;
  427. dma-names = "rx", "tx";
  428. status = "disabled";
  429. };
  430. spi@7000d800 {
  431. compatible = "nvidia,tegra114-spi";
  432. reg = <0x7000d800 0x200>;
  433. interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
  434. #address-cells = <1>;
  435. #size-cells = <0>;
  436. clocks = <&tegra_car TEGRA114_CLK_SBC3>;
  437. clock-names = "spi";
  438. resets = <&tegra_car 46>;
  439. reset-names = "spi";
  440. dmas = <&apbdma 17>, <&apbdma 17>;
  441. dma-names = "rx", "tx";
  442. status = "disabled";
  443. };
  444. spi@7000da00 {
  445. compatible = "nvidia,tegra114-spi";
  446. reg = <0x7000da00 0x200>;
  447. interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
  448. #address-cells = <1>;
  449. #size-cells = <0>;
  450. clocks = <&tegra_car TEGRA114_CLK_SBC4>;
  451. clock-names = "spi";
  452. resets = <&tegra_car 68>;
  453. reset-names = "spi";
  454. dmas = <&apbdma 18>, <&apbdma 18>;
  455. dma-names = "rx", "tx";
  456. status = "disabled";
  457. };
  458. spi@7000dc00 {
  459. compatible = "nvidia,tegra114-spi";
  460. reg = <0x7000dc00 0x200>;
  461. interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
  462. #address-cells = <1>;
  463. #size-cells = <0>;
  464. clocks = <&tegra_car TEGRA114_CLK_SBC5>;
  465. clock-names = "spi";
  466. resets = <&tegra_car 104>;
  467. reset-names = "spi";
  468. dmas = <&apbdma 27>, <&apbdma 27>;
  469. dma-names = "rx", "tx";
  470. status = "disabled";
  471. };
  472. spi@7000de00 {
  473. compatible = "nvidia,tegra114-spi";
  474. reg = <0x7000de00 0x200>;
  475. interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
  476. #address-cells = <1>;
  477. #size-cells = <0>;
  478. clocks = <&tegra_car TEGRA114_CLK_SBC6>;
  479. clock-names = "spi";
  480. resets = <&tegra_car 105>;
  481. reset-names = "spi";
  482. dmas = <&apbdma 28>, <&apbdma 28>;
  483. dma-names = "rx", "tx";
  484. status = "disabled";
  485. };
  486. rtc@7000e000 {
  487. compatible = "nvidia,tegra114-rtc", "nvidia,tegra20-rtc";
  488. reg = <0x7000e000 0x100>;
  489. interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
  490. clocks = <&tegra_car TEGRA114_CLK_RTC>;
  491. };
  492. kbc@7000e200 {
  493. compatible = "nvidia,tegra114-kbc";
  494. reg = <0x7000e200 0x100>;
  495. interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
  496. clocks = <&tegra_car TEGRA114_CLK_KBC>;
  497. resets = <&tegra_car 36>;
  498. reset-names = "kbc";
  499. status = "disabled";
  500. };
  501. tegra_pmc: pmc@7000e400 {
  502. compatible = "nvidia,tegra114-pmc";
  503. reg = <0x7000e400 0x400>;
  504. clocks = <&tegra_car TEGRA114_CLK_PCLK>, <&clk32k_in>;
  505. clock-names = "pclk", "clk32k_in";
  506. #clock-cells = <1>;
  507. };
  508. fuse@7000f800 {
  509. compatible = "nvidia,tegra114-efuse";
  510. reg = <0x7000f800 0x400>;
  511. clocks = <&tegra_car TEGRA114_CLK_FUSE>;
  512. clock-names = "fuse";
  513. resets = <&tegra_car 39>;
  514. reset-names = "fuse";
  515. };
  516. mc: memory-controller@70019000 {
  517. compatible = "nvidia,tegra114-mc";
  518. reg = <0x70019000 0x1000>;
  519. clocks = <&tegra_car TEGRA114_CLK_MC>;
  520. clock-names = "mc";
  521. interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
  522. #reset-cells = <1>;
  523. #iommu-cells = <1>;
  524. };
  525. ahub@70080000 {
  526. compatible = "nvidia,tegra114-ahub";
  527. reg = <0x70080000 0x200>,
  528. <0x70080200 0x100>,
  529. <0x70081000 0x200>;
  530. interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
  531. clocks = <&tegra_car TEGRA114_CLK_D_AUDIO>,
  532. <&tegra_car TEGRA114_CLK_APBIF>;
  533. clock-names = "d_audio", "apbif";
  534. resets = <&tegra_car 106>, /* d_audio */
  535. <&tegra_car 107>, /* apbif */
  536. <&tegra_car 30>, /* i2s0 */
  537. <&tegra_car 11>, /* i2s1 */
  538. <&tegra_car 18>, /* i2s2 */
  539. <&tegra_car 101>, /* i2s3 */
  540. <&tegra_car 102>, /* i2s4 */
  541. <&tegra_car 108>, /* dam0 */
  542. <&tegra_car 109>, /* dam1 */
  543. <&tegra_car 110>, /* dam2 */
  544. <&tegra_car 10>, /* spdif */
  545. <&tegra_car 153>, /* amx */
  546. <&tegra_car 154>; /* adx */
  547. reset-names = "d_audio", "apbif", "i2s0", "i2s1", "i2s2",
  548. "i2s3", "i2s4", "dam0", "dam1", "dam2",
  549. "spdif", "amx", "adx";
  550. dmas = <&apbdma 1>, <&apbdma 1>,
  551. <&apbdma 2>, <&apbdma 2>,
  552. <&apbdma 3>, <&apbdma 3>,
  553. <&apbdma 4>, <&apbdma 4>,
  554. <&apbdma 6>, <&apbdma 6>,
  555. <&apbdma 7>, <&apbdma 7>,
  556. <&apbdma 12>, <&apbdma 12>,
  557. <&apbdma 13>, <&apbdma 13>,
  558. <&apbdma 14>, <&apbdma 14>,
  559. <&apbdma 29>, <&apbdma 29>;
  560. dma-names = "rx0", "tx0", "rx1", "tx1", "rx2", "tx2",
  561. "rx3", "tx3", "rx4", "tx4", "rx5", "tx5",
  562. "rx6", "tx6", "rx7", "tx7", "rx8", "tx8",
  563. "rx9", "tx9";
  564. ranges;
  565. #address-cells = <1>;
  566. #size-cells = <1>;
  567. tegra_i2s0: i2s@70080300 {
  568. compatible = "nvidia,tegra114-i2s", "nvidia,tegra30-i2s";
  569. reg = <0x70080300 0x100>;
  570. nvidia,ahub-cif-ids = <4 4>;
  571. clocks = <&tegra_car TEGRA114_CLK_I2S0>;
  572. resets = <&tegra_car 30>;
  573. reset-names = "i2s";
  574. status = "disabled";
  575. };
  576. tegra_i2s1: i2s@70080400 {
  577. compatible = "nvidia,tegra114-i2s", "nvidia,tegra30-i2s";
  578. reg = <0x70080400 0x100>;
  579. nvidia,ahub-cif-ids = <5 5>;
  580. clocks = <&tegra_car TEGRA114_CLK_I2S1>;
  581. resets = <&tegra_car 11>;
  582. reset-names = "i2s";
  583. status = "disabled";
  584. };
  585. tegra_i2s2: i2s@70080500 {
  586. compatible = "nvidia,tegra114-i2s", "nvidia,tegra30-i2s";
  587. reg = <0x70080500 0x100>;
  588. nvidia,ahub-cif-ids = <6 6>;
  589. clocks = <&tegra_car TEGRA114_CLK_I2S2>;
  590. resets = <&tegra_car 18>;
  591. reset-names = "i2s";
  592. status = "disabled";
  593. };
  594. tegra_i2s3: i2s@70080600 {
  595. compatible = "nvidia,tegra114-i2s", "nvidia,tegra30-i2s";
  596. reg = <0x70080600 0x100>;
  597. nvidia,ahub-cif-ids = <7 7>;
  598. clocks = <&tegra_car TEGRA114_CLK_I2S3>;
  599. resets = <&tegra_car 101>;
  600. reset-names = "i2s";
  601. status = "disabled";
  602. };
  603. tegra_i2s4: i2s@70080700 {
  604. compatible = "nvidia,tegra114-i2s", "nvidia,tegra30-i2s";
  605. reg = <0x70080700 0x100>;
  606. nvidia,ahub-cif-ids = <8 8>;
  607. clocks = <&tegra_car TEGRA114_CLK_I2S4>;
  608. resets = <&tegra_car 102>;
  609. reset-names = "i2s";
  610. status = "disabled";
  611. };
  612. };
  613. mipi: mipi@700e3000 {
  614. compatible = "nvidia,tegra114-mipi";
  615. reg = <0x700e3000 0x100>;
  616. clocks = <&tegra_car TEGRA114_CLK_MIPI_CAL>;
  617. #nvidia,mipi-calibrate-cells = <1>;
  618. };
  619. mmc@78000000 {
  620. compatible = "nvidia,tegra114-sdhci";
  621. reg = <0x78000000 0x200>;
  622. interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
  623. clocks = <&tegra_car TEGRA114_CLK_SDMMC1>;
  624. clock-names = "sdhci";
  625. resets = <&tegra_car 14>;
  626. reset-names = "sdhci";
  627. status = "disabled";
  628. };
  629. mmc@78000200 {
  630. compatible = "nvidia,tegra114-sdhci";
  631. reg = <0x78000200 0x200>;
  632. interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
  633. clocks = <&tegra_car TEGRA114_CLK_SDMMC2>;
  634. clock-names = "sdhci";
  635. resets = <&tegra_car 9>;
  636. reset-names = "sdhci";
  637. status = "disabled";
  638. };
  639. mmc@78000400 {
  640. compatible = "nvidia,tegra114-sdhci";
  641. reg = <0x78000400 0x200>;
  642. interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
  643. clocks = <&tegra_car TEGRA114_CLK_SDMMC3>;
  644. clock-names = "sdhci";
  645. resets = <&tegra_car 69>;
  646. reset-names = "sdhci";
  647. status = "disabled";
  648. };
  649. mmc@78000600 {
  650. compatible = "nvidia,tegra114-sdhci";
  651. reg = <0x78000600 0x200>;
  652. interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
  653. clocks = <&tegra_car TEGRA114_CLK_SDMMC4>;
  654. clock-names = "sdhci";
  655. resets = <&tegra_car 15>;
  656. reset-names = "sdhci";
  657. status = "disabled";
  658. };
  659. usb@7d000000 {
  660. compatible = "nvidia,tegra114-ehci", "nvidia,tegra30-ehci";
  661. reg = <0x7d000000 0x4000>;
  662. interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
  663. phy_type = "utmi";
  664. clocks = <&tegra_car TEGRA114_CLK_USBD>;
  665. resets = <&tegra_car 22>;
  666. reset-names = "usb";
  667. nvidia,phy = <&phy1>;
  668. status = "disabled";
  669. };
  670. phy1: usb-phy@7d000000 {
  671. compatible = "nvidia,tegra114-usb-phy", "nvidia,tegra30-usb-phy";
  672. reg = <0x7d000000 0x4000>,
  673. <0x7d000000 0x4000>;
  674. interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
  675. phy_type = "utmi";
  676. clocks = <&tegra_car TEGRA114_CLK_USBD>,
  677. <&tegra_car TEGRA114_CLK_PLL_U>,
  678. <&tegra_car TEGRA114_CLK_USBD>;
  679. clock-names = "reg", "pll_u", "utmi-pads";
  680. resets = <&tegra_car 22>, <&tegra_car 22>;
  681. reset-names = "usb", "utmi-pads";
  682. #phy-cells = <0>;
  683. nvidia,hssync-start-delay = <0>;
  684. nvidia,idle-wait-delay = <17>;
  685. nvidia,elastic-limit = <16>;
  686. nvidia,term-range-adj = <6>;
  687. nvidia,xcvr-setup = <9>;
  688. nvidia,xcvr-lsfslew = <0>;
  689. nvidia,xcvr-lsrslew = <3>;
  690. nvidia,hssquelch-level = <2>;
  691. nvidia,hsdiscon-level = <5>;
  692. nvidia,xcvr-hsslew = <12>;
  693. nvidia,has-utmi-pad-registers;
  694. nvidia,pmc = <&tegra_pmc 0>;
  695. status = "disabled";
  696. };
  697. usb@7d008000 {
  698. compatible = "nvidia,tegra114-ehci", "nvidia,tegra30-ehci";
  699. reg = <0x7d008000 0x4000>;
  700. interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
  701. phy_type = "utmi";
  702. clocks = <&tegra_car TEGRA114_CLK_USB3>;
  703. resets = <&tegra_car 59>;
  704. reset-names = "usb";
  705. nvidia,phy = <&phy3>;
  706. status = "disabled";
  707. };
  708. phy3: usb-phy@7d008000 {
  709. compatible = "nvidia,tegra114-usb-phy", "nvidia,tegra30-usb-phy";
  710. reg = <0x7d008000 0x4000>,
  711. <0x7d000000 0x4000>;
  712. interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
  713. phy_type = "utmi";
  714. clocks = <&tegra_car TEGRA114_CLK_USB3>,
  715. <&tegra_car TEGRA114_CLK_PLL_U>,
  716. <&tegra_car TEGRA114_CLK_USBD>;
  717. clock-names = "reg", "pll_u", "utmi-pads";
  718. resets = <&tegra_car 59>, <&tegra_car 22>;
  719. reset-names = "usb", "utmi-pads";
  720. #phy-cells = <0>;
  721. nvidia,hssync-start-delay = <0>;
  722. nvidia,idle-wait-delay = <17>;
  723. nvidia,elastic-limit = <16>;
  724. nvidia,term-range-adj = <6>;
  725. nvidia,xcvr-setup = <9>;
  726. nvidia,xcvr-lsfslew = <0>;
  727. nvidia,xcvr-lsrslew = <3>;
  728. nvidia,hssquelch-level = <2>;
  729. nvidia,hsdiscon-level = <5>;
  730. nvidia,xcvr-hsslew = <12>;
  731. nvidia,pmc = <&tegra_pmc 2>;
  732. status = "disabled";
  733. };
  734. cpus {
  735. #address-cells = <1>;
  736. #size-cells = <0>;
  737. cpu@0 {
  738. device_type = "cpu";
  739. compatible = "arm,cortex-a15";
  740. reg = <0>;
  741. };
  742. cpu@1 {
  743. device_type = "cpu";
  744. compatible = "arm,cortex-a15";
  745. reg = <1>;
  746. };
  747. cpu@2 {
  748. device_type = "cpu";
  749. compatible = "arm,cortex-a15";
  750. reg = <2>;
  751. };
  752. cpu@3 {
  753. device_type = "cpu";
  754. compatible = "arm,cortex-a15";
  755. reg = <3>;
  756. };
  757. };
  758. timer {
  759. compatible = "arm,armv7-timer";
  760. interrupts =
  761. <GIC_PPI 13
  762. (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
  763. <GIC_PPI 14
  764. (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
  765. <GIC_PPI 11
  766. (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
  767. <GIC_PPI 10
  768. (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
  769. interrupt-parent = <&gic>;
  770. };
  771. };