blob: a899d54e2871f177b4bcb1d68a2571718e15b2d2 [file] [log] [blame]
Simon Glassc3691392014-09-04 16:27:35 -06001#include <dt-bindings/clock/tegra124-car.h>
Simon Glass89460342014-06-11 23:29:52 -06002#include <dt-bindings/gpio/tegra-gpio.h>
Simon Glass754204b2014-12-04 06:36:29 -07003#include <dt-bindings/pinctrl/pinctrl-tegra.h>
Simon Glass89460342014-06-11 23:29:52 -06004#include <dt-bindings/interrupt-controller/arm-gic.h>
Thierry Reding78e9f1c2014-12-09 22:25:10 -07005#include <dt-bindings/pinctrl/pinctrl-tegra-xusb.h>
Simon Glass89460342014-06-11 23:29:52 -06006
Tom Warrena57c5842014-01-24 12:46:17 -07007#include "skeleton.dtsi"
8
9/ {
10 compatible = "nvidia,tegra124";
Thierry Reding12e5f6a2014-12-09 22:25:19 -070011 interrupt-parent = <&gic>;
12
13 gic: interrupt-controller@50041000 {
14 compatible = "arm,cortex-a15-gic";
15 #interrupt-cells = <3>;
16 interrupt-controller;
17 reg = <0x50041000 0x1000>,
18 <0x50042000 0x2000>,
19 <0x50044000 0x2000>,
20 <0x50046000 0x2000>;
21 interrupts = <GIC_PPI 9
22 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
23 };
Tom Warrena57c5842014-01-24 12:46:17 -070024
25 tegra_car: clock@60006000 {
26 compatible = "nvidia,tegra124-car";
27 reg = <0x60006000 0x1000>;
28 #clock-cells = <1>;
29 };
30
31 apbdma: dma@60020000 {
32 compatible = "nvidia,tegra124-apbdma", "nvidia,tegra148-apbdma";
33 reg = <0x60020000 0x1400>;
34 interrupts = <0 104 0x04
35 0 105 0x04
36 0 106 0x04
37 0 107 0x04
38 0 108 0x04
39 0 109 0x04
40 0 110 0x04
41 0 111 0x04
42 0 112 0x04
43 0 113 0x04
44 0 114 0x04
45 0 115 0x04
46 0 116 0x04
47 0 117 0x04
48 0 118 0x04
49 0 119 0x04
50 0 128 0x04
51 0 129 0x04
52 0 130 0x04
53 0 131 0x04
54 0 132 0x04
55 0 133 0x04
56 0 134 0x04
57 0 135 0x04
58 0 136 0x04
59 0 137 0x04
60 0 138 0x04
61 0 139 0x04
62 0 140 0x04
63 0 141 0x04
64 0 142 0x04
65 0 143 0x04>;
66 };
67
68 gpio: gpio@6000d000 {
69 compatible = "nvidia,tegra124-gpio", "nvidia,tegra30-gpio";
70 reg = <0x6000d000 0x1000>;
Simon Glass89460342014-06-11 23:29:52 -060071 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>,
72 <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>,
73 <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>,
74 <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>,
75 <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>,
76 <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>,
77 <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>,
78 <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>;
Tom Warrena57c5842014-01-24 12:46:17 -070079 #gpio-cells = <2>;
80 gpio-controller;
81 #interrupt-cells = <2>;
82 interrupt-controller;
83 };
84
85 i2c@7000c000 {
86 compatible = "nvidia,tegra124-i2c", "nvidia,tegra114-i2c";
87 reg = <0x7000c000 0x100>;
88 interrupts = <0 38 0x04>;
89 #address-cells = <1>;
90 #size-cells = <0>;
91 clocks = <&tegra_car 12>;
92 status = "disabled";
93 };
94
95 i2c@7000c400 {
96 compatible = "nvidia,tegra124-i2c", "nvidia,tegra114-i2c";
97 reg = <0x7000c400 0x100>;
98 interrupts = <0 84 0x04>;
99 #address-cells = <1>;
100 #size-cells = <0>;
101 clocks = <&tegra_car 54>;
102 status = "disabled";
103 };
104
105 i2c@7000c500 {
106 compatible = "nvidia,tegra124-i2c", "nvidia,tegra114-i2c";
107 reg = <0x7000c500 0x100>;
108 interrupts = <0 92 0x04>;
109 #address-cells = <1>;
110 #size-cells = <0>;
111 clocks = <&tegra_car 67>;
112 status = "disabled";
113 };
114
115 i2c@7000c700 {
116 compatible = "nvidia,tegra124-i2c", "nvidia,tegra114-i2c";
117 reg = <0x7000c700 0x100>;
118 interrupts = <0 120 0x04>;
119 #address-cells = <1>;
120 #size-cells = <0>;
121 clocks = <&tegra_car 103>;
122 status = "disabled";
123 };
124
125 i2c@7000d000 {
126 compatible = "nvidia,tegra124-i2c", "nvidia,tegra114-i2c";
127 reg = <0x7000d000 0x100>;
128 interrupts = <0 53 0x04>;
129 #address-cells = <1>;
130 #size-cells = <0>;
131 clocks = <&tegra_car 47>;
132 status = "disabled";
133 };
134
135 i2c@7000d100 {
136 compatible = "nvidia,tegra124-i2c", "nvidia,tegra114-i2c";
137 reg = <0x7000d100 0x100>;
138 interrupts = <0 53 0x04>;
139 #address-cells = <1>;
140 #size-cells = <0>;
141 clocks = <&tegra_car 47>;
142 status = "disabled";
143 };
144
Simon Glassc3691392014-09-04 16:27:35 -0600145 uarta: serial@70006000 {
146 compatible = "nvidia,tegra124-uart", "nvidia,tegra20-uart";
147 reg = <0x70006000 0x40>;
148 reg-shift = <2>;
149 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
150 clocks = <&tegra_car TEGRA124_CLK_UARTA>;
151 resets = <&tegra_car 6>;
152 reset-names = "serial";
153 dmas = <&apbdma 8>, <&apbdma 8>;
154 dma-names = "rx", "tx";
155 status = "disabled";
156 };
157
158 uartb: serial@70006040 {
159 compatible = "nvidia,tegra124-uart", "nvidia,tegra20-uart";
160 reg = <0x70006040 0x40>;
161 reg-shift = <2>;
162 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
163 clocks = <&tegra_car TEGRA124_CLK_UARTB>;
164 resets = <&tegra_car 7>;
165 reset-names = "serial";
166 dmas = <&apbdma 9>, <&apbdma 9>;
167 dma-names = "rx", "tx";
168 status = "disabled";
169 };
170
171 uartc: serial@70006200 {
172 compatible = "nvidia,tegra124-uart", "nvidia,tegra20-uart";
173 reg = <0x70006200 0x40>;
174 reg-shift = <2>;
175 interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
176 clocks = <&tegra_car TEGRA124_CLK_UARTC>;
177 resets = <&tegra_car 55>;
178 reset-names = "serial";
179 dmas = <&apbdma 10>, <&apbdma 10>;
180 dma-names = "rx", "tx";
181 status = "disabled";
182 };
183
184 uartd: serial@70006300 {
185 compatible = "nvidia,tegra124-uart", "nvidia,tegra20-uart";
186 reg = <0x70006300 0x40>;
187 reg-shift = <2>;
188 interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
189 clocks = <&tegra_car TEGRA124_CLK_UARTD>;
190 resets = <&tegra_car 65>;
191 reset-names = "serial";
192 dmas = <&apbdma 19>, <&apbdma 19>;
193 dma-names = "rx", "tx";
194 status = "disabled";
195 };
196
197 uarte: serial@70006400 {
198 compatible = "nvidia,tegra124-uart", "nvidia,tegra20-uart";
199 reg = <0x70006400 0x40>;
200 reg-shift = <2>;
201 interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
202 clocks = <&tegra_car TEGRA124_CLK_UARTE>;
203 resets = <&tegra_car 66>;
204 reset-names = "serial";
205 dmas = <&apbdma 20>, <&apbdma 20>;
206 dma-names = "rx", "tx";
207 status = "disabled";
208 };
209
Simon Glass754204b2014-12-04 06:36:29 -0700210 pwm: pwm@7000a000 {
211 compatible = "nvidia,tegra124-pwm", "nvidia,tegra20-pwm";
212 reg = <0x7000a000 0x100>;
213 #pwm-cells = <2>;
214 clocks = <&tegra_car TEGRA124_CLK_PWM>;
215 resets = <&tegra_car 17>;
216 reset-names = "pwm";
217 status = "disabled";
218 };
219
Tom Warrena57c5842014-01-24 12:46:17 -0700220 spi@7000d400 {
221 compatible = "nvidia,tegra124-spi", "nvidia,tegra114-spi";
222 reg = <0x7000d400 0x200>;
223 interrupts = <0 59 0x04>;
224 nvidia,dma-request-selector = <&apbdma 15>;
225 #address-cells = <1>;
226 #size-cells = <0>;
227 status = "disabled";
228 clocks = <&tegra_car 41>;
229 };
230
231 spi@7000d600 {
232 compatible = "nvidia,tegra124-spi", "nvidia,tegra114-spi";
233 reg = <0x7000d600 0x200>;
234 interrupts = <0 82 0x04>;
235 nvidia,dma-request-selector = <&apbdma 16>;
236 #address-cells = <1>;
237 #size-cells = <0>;
238 status = "disabled";
239 clocks = <&tegra_car 44>;
240 };
241
242 spi@7000d800 {
243 compatible = "nvidia,tegra124-spi", "nvidia,tegra114-spi";
244 reg = <0x7000d800 0x200>;
245 interrupts = <0 83 0x04>;
246 nvidia,dma-request-selector = <&apbdma 17>;
247 #address-cells = <1>;
248 #size-cells = <0>;
249 status = "disabled";
250 clocks = <&tegra_car 46>;
251 };
252
253 spi@7000da00 {
254 compatible = "nvidia,tegra124-spi", "nvidia,tegra114-spi";
255 reg = <0x7000da00 0x200>;
256 interrupts = <0 93 0x04>;
257 nvidia,dma-request-selector = <&apbdma 18>;
258 #address-cells = <1>;
259 #size-cells = <0>;
260 status = "disabled";
261 clocks = <&tegra_car 68>;
262 };
263
264 spi@7000dc00 {
265 compatible = "nvidia,tegra124-spi", "nvidia,tegra114-spi";
266 reg = <0x7000dc00 0x200>;
267 interrupts = <0 94 0x04>;
268 nvidia,dma-request-selector = <&apbdma 27>;
269 #address-cells = <1>;
270 #size-cells = <0>;
271 status = "disabled";
272 clocks = <&tegra_car 104>;
273 };
274
275 spi@7000de00 {
276 compatible = "nvidia,tegra124-spi", "nvidia,tegra114-spi";
277 reg = <0x7000de00 0x200>;
278 interrupts = <0 79 0x04>;
279 nvidia,dma-request-selector = <&apbdma 28>;
280 #address-cells = <1>;
281 #size-cells = <0>;
282 status = "disabled";
283 clocks = <&tegra_car 105>;
284 };
285
Thierry Reding78e9f1c2014-12-09 22:25:10 -0700286 padctl: padctl@7009f000 {
287 compatible = "nvidia,tegra124-xusb-padctl";
288 reg = <0x7009f000 0x1000>;
289 resets = <&tegra_car 142>;
290 reset-names = "padctl";
291
292 #phy-cells = <1>;
293 };
294
Tom Warrena57c5842014-01-24 12:46:17 -0700295 sdhci@700b0000 {
296 compatible = "nvidia,tegra124-sdhci";
297 reg = <0x700b0000 0x200>;
298 interrupts = <0 14 0x04>;
299 clocks = <&tegra_car 14>;
300 status = "disabled";
301 };
302
303 sdhci@700b0200 {
304 compatible = "nvidia,tegra124-sdhci";
305 reg = <0x700b0200 0x200>;
306 interrupts = <0 15 0x04>;
307 clocks = <&tegra_car 9>;
308 status = "disabled";
309 };
310
311 sdhci@700b0400 {
312 compatible = "nvidia,tegra124-sdhci";
313 reg = <0x700b0400 0x200>;
314 interrupts = <0 19 0x04>;
315 clocks = <&tegra_car 69>;
316 status = "disabled";
317 };
318
319 sdhci@700b0600 {
320 compatible = "nvidia,tegra124-sdhci";
321 reg = <0x700b0600 0x200>;
322 interrupts = <0 31 0x04>;
323 clocks = <&tegra_car 15>;
324 status = "disabled";
325 };
326
Simon Glass754204b2014-12-04 06:36:29 -0700327 ahub@70300000 {
328 compatible = "nvidia,tegra124-ahub";
329 reg = <0x70300000 0x200>,
330 <0x70300800 0x800>,
331 <0x70300200 0x600>;
332 interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
333 clocks = <&tegra_car TEGRA124_CLK_D_AUDIO>,
334 <&tegra_car TEGRA124_CLK_APBIF>;
335 clock-names = "d_audio", "apbif";
336 resets = <&tegra_car 106>, /* d_audio */
337 <&tegra_car 107>, /* apbif */
338 <&tegra_car 30>, /* i2s0 */
339 <&tegra_car 11>, /* i2s1 */
340 <&tegra_car 18>, /* i2s2 */
341 <&tegra_car 101>, /* i2s3 */
342 <&tegra_car 102>, /* i2s4 */
343 <&tegra_car 108>, /* dam0 */
344 <&tegra_car 109>, /* dam1 */
345 <&tegra_car 110>, /* dam2 */
346 <&tegra_car 10>, /* spdif */
347 <&tegra_car 153>, /* amx */
348 <&tegra_car 185>, /* amx1 */
349 <&tegra_car 154>, /* adx */
350 <&tegra_car 180>, /* adx1 */
351 <&tegra_car 186>, /* afc0 */
352 <&tegra_car 187>, /* afc1 */
353 <&tegra_car 188>, /* afc2 */
354 <&tegra_car 189>, /* afc3 */
355 <&tegra_car 190>, /* afc4 */
356 <&tegra_car 191>; /* afc5 */
357 reset-names = "d_audio", "apbif", "i2s0", "i2s1", "i2s2",
358 "i2s3", "i2s4", "dam0", "dam1", "dam2",
359 "spdif", "amx", "amx1", "adx", "adx1",
360 "afc0", "afc1", "afc2", "afc3", "afc4", "afc5";
361 dmas = <&apbdma 1>, <&apbdma 1>,
362 <&apbdma 2>, <&apbdma 2>,
363 <&apbdma 3>, <&apbdma 3>,
364 <&apbdma 4>, <&apbdma 4>,
365 <&apbdma 6>, <&apbdma 6>,
366 <&apbdma 7>, <&apbdma 7>,
367 <&apbdma 12>, <&apbdma 12>,
368 <&apbdma 13>, <&apbdma 13>,
369 <&apbdma 14>, <&apbdma 14>,
370 <&apbdma 29>, <&apbdma 29>;
371 dma-names = "rx0", "tx0", "rx1", "tx1", "rx2", "tx2",
372 "rx3", "tx3", "rx4", "tx4", "rx5", "tx5",
373 "rx6", "tx6", "rx7", "tx7", "rx8", "tx8",
374 "rx9", "tx9";
375 ranges;
376 #address-cells = <1>;
377 #size-cells = <1>;
378
379 tegra_i2s0: i2s@70301000 {
380 compatible = "nvidia,tegra124-i2s";
381 reg = <0x70301000 0x100>;
382 nvidia,ahub-cif-ids = <4 4>;
383 clocks = <&tegra_car TEGRA124_CLK_I2S0>;
384 resets = <&tegra_car 30>;
385 reset-names = "i2s";
386 status = "disabled";
387 };
388
389 tegra_i2s1: i2s@70301100 {
390 compatible = "nvidia,tegra124-i2s";
391 reg = <0x70301100 0x100>;
392 nvidia,ahub-cif-ids = <5 5>;
393 clocks = <&tegra_car TEGRA124_CLK_I2S1>;
394 resets = <&tegra_car 11>;
395 reset-names = "i2s";
396 status = "disabled";
397 };
398
399 tegra_i2s2: i2s@70301200 {
400 compatible = "nvidia,tegra124-i2s";
401 reg = <0x70301200 0x100>;
402 nvidia,ahub-cif-ids = <6 6>;
403 clocks = <&tegra_car TEGRA124_CLK_I2S2>;
404 resets = <&tegra_car 18>;
405 reset-names = "i2s";
406 status = "disabled";
407 };
408
409 tegra_i2s3: i2s@70301300 {
410 compatible = "nvidia,tegra124-i2s";
411 reg = <0x70301300 0x100>;
412 nvidia,ahub-cif-ids = <7 7>;
413 clocks = <&tegra_car TEGRA124_CLK_I2S3>;
414 resets = <&tegra_car 101>;
415 reset-names = "i2s";
416 status = "disabled";
417 };
418
419 tegra_i2s4: i2s@70301400 {
420 compatible = "nvidia,tegra124-i2s";
421 reg = <0x70301400 0x100>;
422 nvidia,ahub-cif-ids = <8 8>;
423 clocks = <&tegra_car TEGRA124_CLK_I2S4>;
424 resets = <&tegra_car 102>;
425 reset-names = "i2s";
426 status = "disabled";
427 };
428 };
429
Tom Warrena57c5842014-01-24 12:46:17 -0700430 usb@7d000000 {
431 compatible = "nvidia,tegra124-ehci", "nvidia,tegra30-ehci";
432 reg = <0x7d000000 0x4000>;
433 interrupts = < 52 >;
434 phy_type = "utmi";
435 clocks = <&tegra_car 22>; /* PERIPH_ID_USBD */
436 status = "disabled";
437 };
438
439 usb@7d004000 {
440 compatible = "nvidia,tegra124-ehci", "nvidia,tegra30-ehci";
441 reg = <0x7d004000 0x4000>;
442 interrupts = < 53 >;
443 phy_type = "hsic";
444 clocks = <&tegra_car 58>; /* PERIPH_ID_USB2 */
445 status = "disabled";
446 };
447
448 usb@7d008000 {
449 compatible = "nvidia,tegra124-ehci", "nvidia,tegra30-ehci";
450 reg = <0x7d008000 0x4000>;
451 interrupts = < 129 >;
452 phy_type = "utmi";
453 clocks = <&tegra_car 59>; /* PERIPH_ID_USB3 */
454 status = "disabled";
455 };
456};