tegra114.dtsi 6.8 KB

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