tegra114.dtsi 8.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395
  1. #include <dt-bindings/gpio/tegra-gpio.h>
  2. #include "skeleton.dtsi"
  3. / {
  4. compatible = "nvidia,tegra114";
  5. interrupt-parent = <&gic>;
  6. aliases {
  7. serial0 = &uarta;
  8. serial1 = &uartb;
  9. serial2 = &uartc;
  10. serial3 = &uartd;
  11. };
  12. gic: interrupt-controller {
  13. compatible = "arm,cortex-a15-gic";
  14. #interrupt-cells = <3>;
  15. interrupt-controller;
  16. reg = <0x50041000 0x1000>,
  17. <0x50042000 0x1000>,
  18. <0x50044000 0x2000>,
  19. <0x50046000 0x2000>;
  20. interrupts = <1 9 0xf04>;
  21. };
  22. timer@60005000 {
  23. compatible = "nvidia,tegra114-timer", "nvidia,tegra20-timer";
  24. reg = <0x60005000 0x400>;
  25. interrupts = <0 0 0x04
  26. 0 1 0x04
  27. 0 41 0x04
  28. 0 42 0x04
  29. 0 121 0x04
  30. 0 122 0x04>;
  31. clocks = <&tegra_car 5>;
  32. };
  33. tegra_car: clock {
  34. compatible = "nvidia,tegra114-car";
  35. reg = <0x60006000 0x1000>;
  36. #clock-cells = <1>;
  37. };
  38. apbdma: dma {
  39. compatible = "nvidia,tegra114-apbdma";
  40. reg = <0x6000a000 0x1400>;
  41. interrupts = <0 104 0x04
  42. 0 105 0x04
  43. 0 106 0x04
  44. 0 107 0x04
  45. 0 108 0x04
  46. 0 109 0x04
  47. 0 110 0x04
  48. 0 111 0x04
  49. 0 112 0x04
  50. 0 113 0x04
  51. 0 114 0x04
  52. 0 115 0x04
  53. 0 116 0x04
  54. 0 117 0x04
  55. 0 118 0x04
  56. 0 119 0x04
  57. 0 128 0x04
  58. 0 129 0x04
  59. 0 130 0x04
  60. 0 131 0x04
  61. 0 132 0x04
  62. 0 133 0x04
  63. 0 134 0x04
  64. 0 135 0x04
  65. 0 136 0x04
  66. 0 137 0x04
  67. 0 138 0x04
  68. 0 139 0x04
  69. 0 140 0x04
  70. 0 141 0x04
  71. 0 142 0x04
  72. 0 143 0x04>;
  73. clocks = <&tegra_car 34>;
  74. };
  75. ahb: ahb {
  76. compatible = "nvidia,tegra114-ahb", "nvidia,tegra30-ahb";
  77. reg = <0x6000c004 0x14c>;
  78. };
  79. gpio: gpio {
  80. compatible = "nvidia,tegra114-gpio", "nvidia,tegra30-gpio";
  81. reg = <0x6000d000 0x1000>;
  82. interrupts = <0 32 0x04
  83. 0 33 0x04
  84. 0 34 0x04
  85. 0 35 0x04
  86. 0 55 0x04
  87. 0 87 0x04
  88. 0 89 0x04
  89. 0 125 0x04>;
  90. #gpio-cells = <2>;
  91. gpio-controller;
  92. #interrupt-cells = <2>;
  93. interrupt-controller;
  94. };
  95. pinmux: pinmux {
  96. compatible = "nvidia,tegra114-pinmux";
  97. reg = <0x70000868 0x148 /* Pad control registers */
  98. 0x70003000 0x40c>; /* Mux registers */
  99. };
  100. /*
  101. * There are two serial driver i.e. 8250 based simple serial
  102. * driver and APB DMA based serial driver for higher baudrate
  103. * and performace. To enable the 8250 based driver, the compatible
  104. * is "nvidia,tegra114-uart", "nvidia,tegra20-uart" and to enable
  105. * the APB DMA based serial driver, the comptible is
  106. * "nvidia,tegra114-hsuart", "nvidia,tegra30-hsuart".
  107. */
  108. uarta: serial@70006000 {
  109. compatible = "nvidia,tegra114-uart", "nvidia,tegra20-uart";
  110. reg = <0x70006000 0x40>;
  111. reg-shift = <2>;
  112. interrupts = <0 36 0x04>;
  113. nvidia,dma-request-selector = <&apbdma 8>;
  114. status = "disabled";
  115. clocks = <&tegra_car 6>;
  116. };
  117. uartb: serial@70006040 {
  118. compatible = "nvidia,tegra114-uart", "nvidia,tegra20-uart";
  119. reg = <0x70006040 0x40>;
  120. reg-shift = <2>;
  121. interrupts = <0 37 0x04>;
  122. nvidia,dma-request-selector = <&apbdma 9>;
  123. status = "disabled";
  124. clocks = <&tegra_car 192>;
  125. };
  126. uartc: serial@70006200 {
  127. compatible = "nvidia,tegra114-uart", "nvidia,tegra20-uart";
  128. reg = <0x70006200 0x100>;
  129. reg-shift = <2>;
  130. interrupts = <0 46 0x04>;
  131. nvidia,dma-request-selector = <&apbdma 10>;
  132. status = "disabled";
  133. clocks = <&tegra_car 55>;
  134. };
  135. uartd: serial@70006300 {
  136. compatible = "nvidia,tegra114-uart", "nvidia,tegra20-uart";
  137. reg = <0x70006300 0x100>;
  138. reg-shift = <2>;
  139. interrupts = <0 90 0x04>;
  140. nvidia,dma-request-selector = <&apbdma 19>;
  141. status = "disabled";
  142. clocks = <&tegra_car 65>;
  143. };
  144. pwm: pwm {
  145. compatible = "nvidia,tegra114-pwm", "nvidia,tegra20-pwm";
  146. reg = <0x7000a000 0x100>;
  147. #pwm-cells = <2>;
  148. clocks = <&tegra_car 17>;
  149. status = "disabled";
  150. };
  151. i2c@7000c000 {
  152. compatible = "nvidia,tegra114-i2c";
  153. reg = <0x7000c000 0x100>;
  154. interrupts = <0 38 0x04>;
  155. #address-cells = <1>;
  156. #size-cells = <0>;
  157. clocks = <&tegra_car 12>;
  158. clock-names = "div-clk";
  159. status = "disabled";
  160. };
  161. i2c@7000c400 {
  162. compatible = "nvidia,tegra114-i2c";
  163. reg = <0x7000c400 0x100>;
  164. interrupts = <0 84 0x04>;
  165. #address-cells = <1>;
  166. #size-cells = <0>;
  167. clocks = <&tegra_car 54>;
  168. clock-names = "div-clk";
  169. status = "disabled";
  170. };
  171. i2c@7000c500 {
  172. compatible = "nvidia,tegra114-i2c";
  173. reg = <0x7000c500 0x100>;
  174. interrupts = <0 92 0x04>;
  175. #address-cells = <1>;
  176. #size-cells = <0>;
  177. clocks = <&tegra_car 67>;
  178. clock-names = "div-clk";
  179. status = "disabled";
  180. };
  181. i2c@7000c700 {
  182. compatible = "nvidia,tegra114-i2c";
  183. reg = <0x7000c700 0x100>;
  184. interrupts = <0 120 0x04>;
  185. #address-cells = <1>;
  186. #size-cells = <0>;
  187. clocks = <&tegra_car 103>;
  188. clock-names = "div-clk";
  189. status = "disabled";
  190. };
  191. i2c@7000d000 {
  192. compatible = "nvidia,tegra114-i2c";
  193. reg = <0x7000d000 0x100>;
  194. interrupts = <0 53 0x04>;
  195. #address-cells = <1>;
  196. #size-cells = <0>;
  197. clocks = <&tegra_car 47>;
  198. clock-names = "div-clk";
  199. status = "disabled";
  200. };
  201. spi@7000d400 {
  202. compatible = "nvidia,tegra114-spi";
  203. reg = <0x7000d400 0x200>;
  204. interrupts = <0 59 0x04>;
  205. nvidia,dma-request-selector = <&apbdma 15>;
  206. #address-cells = <1>;
  207. #size-cells = <0>;
  208. clocks = <&tegra_car 41>;
  209. clock-names = "spi";
  210. status = "disabled";
  211. };
  212. spi@7000d600 {
  213. compatible = "nvidia,tegra114-spi";
  214. reg = <0x7000d600 0x200>;
  215. interrupts = <0 82 0x04>;
  216. nvidia,dma-request-selector = <&apbdma 16>;
  217. #address-cells = <1>;
  218. #size-cells = <0>;
  219. clocks = <&tegra_car 44>;
  220. clock-names = "spi";
  221. status = "disabled";
  222. };
  223. spi@7000d800 {
  224. compatible = "nvidia,tegra114-spi";
  225. reg = <0x7000d800 0x200>;
  226. interrupts = <0 83 0x04>;
  227. nvidia,dma-request-selector = <&apbdma 17>;
  228. #address-cells = <1>;
  229. #size-cells = <0>;
  230. clocks = <&tegra_car 46>;
  231. clock-names = "spi";
  232. status = "disabled";
  233. };
  234. spi@7000da00 {
  235. compatible = "nvidia,tegra114-spi";
  236. reg = <0x7000da00 0x200>;
  237. interrupts = <0 93 0x04>;
  238. nvidia,dma-request-selector = <&apbdma 18>;
  239. #address-cells = <1>;
  240. #size-cells = <0>;
  241. clocks = <&tegra_car 68>;
  242. clock-names = "spi";
  243. status = "disabled";
  244. };
  245. spi@7000dc00 {
  246. compatible = "nvidia,tegra114-spi";
  247. reg = <0x7000dc00 0x200>;
  248. interrupts = <0 94 0x04>;
  249. nvidia,dma-request-selector = <&apbdma 27>;
  250. #address-cells = <1>;
  251. #size-cells = <0>;
  252. clocks = <&tegra_car 104>;
  253. clock-names = "spi";
  254. status = "disabled";
  255. };
  256. spi@7000de00 {
  257. compatible = "nvidia,tegra114-spi";
  258. reg = <0x7000de00 0x200>;
  259. interrupts = <0 79 0x04>;
  260. nvidia,dma-request-selector = <&apbdma 28>;
  261. #address-cells = <1>;
  262. #size-cells = <0>;
  263. clocks = <&tegra_car 105>;
  264. clock-names = "spi";
  265. status = "disabled";
  266. };
  267. rtc {
  268. compatible = "nvidia,tegra114-rtc", "nvidia,tegra20-rtc";
  269. reg = <0x7000e000 0x100>;
  270. interrupts = <0 2 0x04>;
  271. clocks = <&tegra_car 4>;
  272. };
  273. kbc {
  274. compatible = "nvidia,tegra114-kbc";
  275. reg = <0x7000e200 0x100>;
  276. interrupts = <0 85 0x04>;
  277. clocks = <&tegra_car 36>;
  278. status = "disabled";
  279. };
  280. pmc {
  281. compatible = "nvidia,tegra114-pmc";
  282. reg = <0x7000e400 0x400>;
  283. clocks = <&tegra_car 261>, <&clk32k_in>;
  284. clock-names = "pclk", "clk32k_in";
  285. };
  286. iommu {
  287. compatible = "nvidia,tegra114-smmu", "nvidia,tegra30-smmu";
  288. reg = <0x7000f010 0x02c
  289. 0x7000f1f0 0x010
  290. 0x7000f228 0x074>;
  291. nvidia,#asids = <4>;
  292. dma-window = <0 0x40000000>;
  293. nvidia,swgroups = <0x18659fe>;
  294. nvidia,ahb = <&ahb>;
  295. };
  296. sdhci@78000000 {
  297. compatible = "nvidia,tegra114-sdhci", "nvidia,tegra30-sdhci";
  298. reg = <0x78000000 0x200>;
  299. interrupts = <0 14 0x04>;
  300. clocks = <&tegra_car 14>;
  301. status = "disable";
  302. };
  303. sdhci@78000200 {
  304. compatible = "nvidia,tegra114-sdhci", "nvidia,tegra30-sdhci";
  305. reg = <0x78000200 0x200>;
  306. interrupts = <0 15 0x04>;
  307. clocks = <&tegra_car 9>;
  308. status = "disable";
  309. };
  310. sdhci@78000400 {
  311. compatible = "nvidia,tegra114-sdhci", "nvidia,tegra30-sdhci";
  312. reg = <0x78000400 0x200>;
  313. interrupts = <0 19 0x04>;
  314. clocks = <&tegra_car 69>;
  315. status = "disable";
  316. };
  317. sdhci@78000600 {
  318. compatible = "nvidia,tegra114-sdhci", "nvidia,tegra30-sdhci";
  319. reg = <0x78000600 0x200>;
  320. interrupts = <0 31 0x04>;
  321. clocks = <&tegra_car 15>;
  322. status = "disable";
  323. };
  324. cpus {
  325. #address-cells = <1>;
  326. #size-cells = <0>;
  327. cpu@0 {
  328. device_type = "cpu";
  329. compatible = "arm,cortex-a15";
  330. reg = <0>;
  331. };
  332. cpu@1 {
  333. device_type = "cpu";
  334. compatible = "arm,cortex-a15";
  335. reg = <1>;
  336. };
  337. cpu@2 {
  338. device_type = "cpu";
  339. compatible = "arm,cortex-a15";
  340. reg = <2>;
  341. };
  342. cpu@3 {
  343. device_type = "cpu";
  344. compatible = "arm,cortex-a15";
  345. reg = <3>;
  346. };
  347. };
  348. timer {
  349. compatible = "arm,armv7-timer";
  350. interrupts = <1 13 0xf08>,
  351. <1 14 0xf08>,
  352. <1 11 0xf08>,
  353. <1 10 0xf08>;
  354. };
  355. };