tegra30.dtsi 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516
  1. /include/ "skeleton.dtsi"
  2. / {
  3. compatible = "nvidia,tegra30";
  4. interrupt-parent = <&intc>;
  5. host1x {
  6. compatible = "nvidia,tegra30-host1x", "simple-bus";
  7. reg = <0x50000000 0x00024000>;
  8. interrupts = <0 65 0x04 /* mpcore syncpt */
  9. 0 67 0x04>; /* mpcore general */
  10. clocks = <&tegra_car 28>;
  11. #address-cells = <1>;
  12. #size-cells = <1>;
  13. ranges = <0x54000000 0x54000000 0x04000000>;
  14. mpe {
  15. compatible = "nvidia,tegra30-mpe";
  16. reg = <0x54040000 0x00040000>;
  17. interrupts = <0 68 0x04>;
  18. clocks = <&tegra_car 60>;
  19. };
  20. vi {
  21. compatible = "nvidia,tegra30-vi";
  22. reg = <0x54080000 0x00040000>;
  23. interrupts = <0 69 0x04>;
  24. clocks = <&tegra_car 164>;
  25. };
  26. epp {
  27. compatible = "nvidia,tegra30-epp";
  28. reg = <0x540c0000 0x00040000>;
  29. interrupts = <0 70 0x04>;
  30. clocks = <&tegra_car 19>;
  31. };
  32. isp {
  33. compatible = "nvidia,tegra30-isp";
  34. reg = <0x54100000 0x00040000>;
  35. interrupts = <0 71 0x04>;
  36. clocks = <&tegra_car 23>;
  37. };
  38. gr2d {
  39. compatible = "nvidia,tegra30-gr2d";
  40. reg = <0x54140000 0x00040000>;
  41. interrupts = <0 72 0x04>;
  42. clocks = <&tegra_car 21>;
  43. };
  44. gr3d {
  45. compatible = "nvidia,tegra30-gr3d";
  46. reg = <0x54180000 0x00040000>;
  47. clocks = <&tegra_car 24 &tegra_car 98>;
  48. clock-names = "3d", "3d2";
  49. };
  50. dc@54200000 {
  51. compatible = "nvidia,tegra30-dc";
  52. reg = <0x54200000 0x00040000>;
  53. interrupts = <0 73 0x04>;
  54. clocks = <&tegra_car 27>, <&tegra_car 179>;
  55. clock-names = "disp1", "parent";
  56. rgb {
  57. status = "disabled";
  58. };
  59. };
  60. dc@54240000 {
  61. compatible = "nvidia,tegra30-dc";
  62. reg = <0x54240000 0x00040000>;
  63. interrupts = <0 74 0x04>;
  64. clocks = <&tegra_car 26>, <&tegra_car 179>;
  65. clock-names = "disp2", "parent";
  66. rgb {
  67. status = "disabled";
  68. };
  69. };
  70. hdmi {
  71. compatible = "nvidia,tegra30-hdmi";
  72. reg = <0x54280000 0x00040000>;
  73. interrupts = <0 75 0x04>;
  74. clocks = <&tegra_car 51>, <&tegra_car 189>;
  75. clock-names = "hdmi", "parent";
  76. status = "disabled";
  77. };
  78. tvo {
  79. compatible = "nvidia,tegra30-tvo";
  80. reg = <0x542c0000 0x00040000>;
  81. interrupts = <0 76 0x04>;
  82. clocks = <&tegra_car 169>;
  83. status = "disabled";
  84. };
  85. dsi {
  86. compatible = "nvidia,tegra30-dsi";
  87. reg = <0x54300000 0x00040000>;
  88. clocks = <&tegra_car 48>;
  89. status = "disabled";
  90. };
  91. };
  92. timer@50004600 {
  93. compatible = "arm,cortex-a9-twd-timer";
  94. reg = <0x50040600 0x20>;
  95. interrupts = <1 13 0xf04>;
  96. };
  97. cache-controller@50043000 {
  98. compatible = "arm,pl310-cache";
  99. reg = <0x50043000 0x1000>;
  100. arm,data-latency = <6 6 2>;
  101. arm,tag-latency = <5 5 2>;
  102. cache-unified;
  103. cache-level = <2>;
  104. };
  105. intc: interrupt-controller {
  106. compatible = "arm,cortex-a9-gic";
  107. reg = <0x50041000 0x1000
  108. 0x50040100 0x0100>;
  109. interrupt-controller;
  110. #interrupt-cells = <3>;
  111. };
  112. timer@60005000 {
  113. compatible = "nvidia,tegra30-timer", "nvidia,tegra20-timer";
  114. reg = <0x60005000 0x400>;
  115. interrupts = <0 0 0x04
  116. 0 1 0x04
  117. 0 41 0x04
  118. 0 42 0x04
  119. 0 121 0x04
  120. 0 122 0x04>;
  121. };
  122. tegra_car: clock {
  123. compatible = "nvidia,tegra30-car";
  124. reg = <0x60006000 0x1000>;
  125. #clock-cells = <1>;
  126. };
  127. apbdma: dma {
  128. compatible = "nvidia,tegra30-apbdma", "nvidia,tegra20-apbdma";
  129. reg = <0x6000a000 0x1400>;
  130. interrupts = <0 104 0x04
  131. 0 105 0x04
  132. 0 106 0x04
  133. 0 107 0x04
  134. 0 108 0x04
  135. 0 109 0x04
  136. 0 110 0x04
  137. 0 111 0x04
  138. 0 112 0x04
  139. 0 113 0x04
  140. 0 114 0x04
  141. 0 115 0x04
  142. 0 116 0x04
  143. 0 117 0x04
  144. 0 118 0x04
  145. 0 119 0x04
  146. 0 128 0x04
  147. 0 129 0x04
  148. 0 130 0x04
  149. 0 131 0x04
  150. 0 132 0x04
  151. 0 133 0x04
  152. 0 134 0x04
  153. 0 135 0x04
  154. 0 136 0x04
  155. 0 137 0x04
  156. 0 138 0x04
  157. 0 139 0x04
  158. 0 140 0x04
  159. 0 141 0x04
  160. 0 142 0x04
  161. 0 143 0x04>;
  162. clocks = <&tegra_car 34>;
  163. };
  164. ahb: ahb {
  165. compatible = "nvidia,tegra30-ahb";
  166. reg = <0x6000c004 0x14c>; /* AHB Arbitration + Gizmo Controller */
  167. };
  168. gpio: gpio {
  169. compatible = "nvidia,tegra30-gpio", "nvidia,tegra20-gpio";
  170. reg = <0x6000d000 0x1000>;
  171. interrupts = <0 32 0x04
  172. 0 33 0x04
  173. 0 34 0x04
  174. 0 35 0x04
  175. 0 55 0x04
  176. 0 87 0x04
  177. 0 89 0x04
  178. 0 125 0x04>;
  179. #gpio-cells = <2>;
  180. gpio-controller;
  181. #interrupt-cells = <2>;
  182. interrupt-controller;
  183. };
  184. pinmux: pinmux {
  185. compatible = "nvidia,tegra30-pinmux";
  186. reg = <0x70000868 0xd4 /* Pad control registers */
  187. 0x70003000 0x3e4>; /* Mux registers */
  188. };
  189. serial@70006000 {
  190. compatible = "nvidia,tegra30-uart", "nvidia,tegra20-uart";
  191. reg = <0x70006000 0x40>;
  192. reg-shift = <2>;
  193. interrupts = <0 36 0x04>;
  194. clocks = <&tegra_car 6>;
  195. status = "disabled";
  196. };
  197. serial@70006040 {
  198. compatible = "nvidia,tegra30-uart", "nvidia,tegra20-uart";
  199. reg = <0x70006040 0x40>;
  200. reg-shift = <2>;
  201. interrupts = <0 37 0x04>;
  202. clocks = <&tegra_car 160>;
  203. status = "disabled";
  204. };
  205. serial@70006200 {
  206. compatible = "nvidia,tegra30-uart", "nvidia,tegra20-uart";
  207. reg = <0x70006200 0x100>;
  208. reg-shift = <2>;
  209. interrupts = <0 46 0x04>;
  210. clocks = <&tegra_car 55>;
  211. status = "disabled";
  212. };
  213. serial@70006300 {
  214. compatible = "nvidia,tegra30-uart", "nvidia,tegra20-uart";
  215. reg = <0x70006300 0x100>;
  216. reg-shift = <2>;
  217. interrupts = <0 90 0x04>;
  218. clocks = <&tegra_car 65>;
  219. status = "disabled";
  220. };
  221. serial@70006400 {
  222. compatible = "nvidia,tegra30-uart", "nvidia,tegra20-uart";
  223. reg = <0x70006400 0x100>;
  224. reg-shift = <2>;
  225. interrupts = <0 91 0x04>;
  226. clocks = <&tegra_car 66>;
  227. status = "disabled";
  228. };
  229. pwm: pwm {
  230. compatible = "nvidia,tegra30-pwm", "nvidia,tegra20-pwm";
  231. reg = <0x7000a000 0x100>;
  232. #pwm-cells = <2>;
  233. clocks = <&tegra_car 17>;
  234. };
  235. rtc {
  236. compatible = "nvidia,tegra30-rtc", "nvidia,tegra20-rtc";
  237. reg = <0x7000e000 0x100>;
  238. interrupts = <0 2 0x04>;
  239. };
  240. i2c@7000c000 {
  241. compatible = "nvidia,tegra30-i2c", "nvidia,tegra20-i2c";
  242. reg = <0x7000c000 0x100>;
  243. interrupts = <0 38 0x04>;
  244. #address-cells = <1>;
  245. #size-cells = <0>;
  246. clocks = <&tegra_car 12>, <&tegra_car 182>;
  247. clock-names = "div-clk", "fast-clk";
  248. status = "disabled";
  249. };
  250. i2c@7000c400 {
  251. compatible = "nvidia,tegra30-i2c", "nvidia,tegra20-i2c";
  252. reg = <0x7000c400 0x100>;
  253. interrupts = <0 84 0x04>;
  254. #address-cells = <1>;
  255. #size-cells = <0>;
  256. clocks = <&tegra_car 54>, <&tegra_car 182>;
  257. clock-names = "div-clk", "fast-clk";
  258. status = "disabled";
  259. };
  260. i2c@7000c500 {
  261. compatible = "nvidia,tegra30-i2c", "nvidia,tegra20-i2c";
  262. reg = <0x7000c500 0x100>;
  263. interrupts = <0 92 0x04>;
  264. #address-cells = <1>;
  265. #size-cells = <0>;
  266. clocks = <&tegra_car 67>, <&tegra_car 182>;
  267. clock-names = "div-clk", "fast-clk";
  268. status = "disabled";
  269. };
  270. i2c@7000c700 {
  271. compatible = "nvidia,tegra30-i2c", "nvidia,tegra20-i2c";
  272. reg = <0x7000c700 0x100>;
  273. interrupts = <0 120 0x04>;
  274. #address-cells = <1>;
  275. #size-cells = <0>;
  276. clocks = <&tegra_car 103>, <&tegra_car 182>;
  277. clock-names = "div-clk", "fast-clk";
  278. status = "disabled";
  279. };
  280. i2c@7000d000 {
  281. compatible = "nvidia,tegra30-i2c", "nvidia,tegra20-i2c";
  282. reg = <0x7000d000 0x100>;
  283. interrupts = <0 53 0x04>;
  284. #address-cells = <1>;
  285. #size-cells = <0>;
  286. clocks = <&tegra_car 47>, <&tegra_car 182>;
  287. clock-names = "div-clk", "fast-clk";
  288. status = "disabled";
  289. };
  290. spi@7000d400 {
  291. compatible = "nvidia,tegra30-slink", "nvidia,tegra20-slink";
  292. reg = <0x7000d400 0x200>;
  293. interrupts = <0 59 0x04>;
  294. nvidia,dma-request-selector = <&apbdma 15>;
  295. #address-cells = <1>;
  296. #size-cells = <0>;
  297. clocks = <&tegra_car 41>;
  298. status = "disabled";
  299. };
  300. spi@7000d600 {
  301. compatible = "nvidia,tegra30-slink", "nvidia,tegra20-slink";
  302. reg = <0x7000d600 0x200>;
  303. interrupts = <0 82 0x04>;
  304. nvidia,dma-request-selector = <&apbdma 16>;
  305. #address-cells = <1>;
  306. #size-cells = <0>;
  307. clocks = <&tegra_car 44>;
  308. status = "disabled";
  309. };
  310. spi@7000d800 {
  311. compatible = "nvidia,tegra30-slink", "nvidia,tegra20-slink";
  312. reg = <0x7000d480 0x200>;
  313. interrupts = <0 83 0x04>;
  314. nvidia,dma-request-selector = <&apbdma 17>;
  315. #address-cells = <1>;
  316. #size-cells = <0>;
  317. clocks = <&tegra_car 46>;
  318. status = "disabled";
  319. };
  320. spi@7000da00 {
  321. compatible = "nvidia,tegra30-slink", "nvidia,tegra20-slink";
  322. reg = <0x7000da00 0x200>;
  323. interrupts = <0 93 0x04>;
  324. nvidia,dma-request-selector = <&apbdma 18>;
  325. #address-cells = <1>;
  326. #size-cells = <0>;
  327. clocks = <&tegra_car 68>;
  328. status = "disabled";
  329. };
  330. spi@7000dc00 {
  331. compatible = "nvidia,tegra30-slink", "nvidia,tegra20-slink";
  332. reg = <0x7000dc00 0x200>;
  333. interrupts = <0 94 0x04>;
  334. nvidia,dma-request-selector = <&apbdma 27>;
  335. #address-cells = <1>;
  336. #size-cells = <0>;
  337. clocks = <&tegra_car 104>;
  338. status = "disabled";
  339. };
  340. spi@7000de00 {
  341. compatible = "nvidia,tegra30-slink", "nvidia,tegra20-slink";
  342. reg = <0x7000de00 0x200>;
  343. interrupts = <0 79 0x04>;
  344. nvidia,dma-request-selector = <&apbdma 28>;
  345. #address-cells = <1>;
  346. #size-cells = <0>;
  347. clocks = <&tegra_car 105>;
  348. status = "disabled";
  349. };
  350. pmc {
  351. compatible = "nvidia,tegra20-pmc", "nvidia,tegra30-pmc";
  352. reg = <0x7000e400 0x400>;
  353. };
  354. memory-controller {
  355. compatible = "nvidia,tegra30-mc";
  356. reg = <0x7000f000 0x010
  357. 0x7000f03c 0x1b4
  358. 0x7000f200 0x028
  359. 0x7000f284 0x17c>;
  360. interrupts = <0 77 0x04>;
  361. };
  362. smmu {
  363. compatible = "nvidia,tegra30-smmu";
  364. reg = <0x7000f010 0x02c
  365. 0x7000f1f0 0x010
  366. 0x7000f228 0x05c>;
  367. nvidia,#asids = <4>; /* # of ASIDs */
  368. dma-window = <0 0x40000000>; /* IOVA start & length */
  369. nvidia,ahb = <&ahb>;
  370. };
  371. ahub {
  372. compatible = "nvidia,tegra30-ahub";
  373. reg = <0x70080000 0x200
  374. 0x70080200 0x100>;
  375. interrupts = <0 103 0x04>;
  376. nvidia,dma-request-selector = <&apbdma 1>;
  377. clocks = <&tegra_car 106>, <&tegra_car 107>, <&tegra_car 30>,
  378. <&tegra_car 11>, <&tegra_car 18>, <&tegra_car 101>,
  379. <&tegra_car 102>, <&tegra_car 108>, <&tegra_car 109>,
  380. <&tegra_car 110>, <&tegra_car 162>;
  381. clock-names = "d_audio", "apbif", "i2s0", "i2s1", "i2s2",
  382. "i2s3", "i2s4", "dam0", "dam1", "dam2",
  383. "spdif_in";
  384. ranges;
  385. #address-cells = <1>;
  386. #size-cells = <1>;
  387. tegra_i2s0: i2s@70080300 {
  388. compatible = "nvidia,tegra30-i2s";
  389. reg = <0x70080300 0x100>;
  390. nvidia,ahub-cif-ids = <4 4>;
  391. clocks = <&tegra_car 30>;
  392. status = "disabled";
  393. };
  394. tegra_i2s1: i2s@70080400 {
  395. compatible = "nvidia,tegra30-i2s";
  396. reg = <0x70080400 0x100>;
  397. nvidia,ahub-cif-ids = <5 5>;
  398. clocks = <&tegra_car 11>;
  399. status = "disabled";
  400. };
  401. tegra_i2s2: i2s@70080500 {
  402. compatible = "nvidia,tegra30-i2s";
  403. reg = <0x70080500 0x100>;
  404. nvidia,ahub-cif-ids = <6 6>;
  405. clocks = <&tegra_car 18>;
  406. status = "disabled";
  407. };
  408. tegra_i2s3: i2s@70080600 {
  409. compatible = "nvidia,tegra30-i2s";
  410. reg = <0x70080600 0x100>;
  411. nvidia,ahub-cif-ids = <7 7>;
  412. clocks = <&tegra_car 101>;
  413. status = "disabled";
  414. };
  415. tegra_i2s4: i2s@70080700 {
  416. compatible = "nvidia,tegra30-i2s";
  417. reg = <0x70080700 0x100>;
  418. nvidia,ahub-cif-ids = <8 8>;
  419. clocks = <&tegra_car 102>;
  420. status = "disabled";
  421. };
  422. };
  423. sdhci@78000000 {
  424. compatible = "nvidia,tegra30-sdhci", "nvidia,tegra20-sdhci";
  425. reg = <0x78000000 0x200>;
  426. interrupts = <0 14 0x04>;
  427. clocks = <&tegra_car 14>;
  428. status = "disabled";
  429. };
  430. sdhci@78000200 {
  431. compatible = "nvidia,tegra30-sdhci", "nvidia,tegra20-sdhci";
  432. reg = <0x78000200 0x200>;
  433. interrupts = <0 15 0x04>;
  434. clocks = <&tegra_car 9>;
  435. status = "disabled";
  436. };
  437. sdhci@78000400 {
  438. compatible = "nvidia,tegra30-sdhci", "nvidia,tegra20-sdhci";
  439. reg = <0x78000400 0x200>;
  440. interrupts = <0 19 0x04>;
  441. clocks = <&tegra_car 69>;
  442. status = "disabled";
  443. };
  444. sdhci@78000600 {
  445. compatible = "nvidia,tegra30-sdhci", "nvidia,tegra20-sdhci";
  446. reg = <0x78000600 0x200>;
  447. interrupts = <0 31 0x04>;
  448. clocks = <&tegra_car 15>;
  449. status = "disabled";
  450. };
  451. pmu {
  452. compatible = "arm,cortex-a9-pmu";
  453. interrupts = <0 144 0x04
  454. 0 145 0x04
  455. 0 146 0x04
  456. 0 147 0x04>;
  457. };
  458. };