tegra114.dtsi 21 KB

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