1 // SPDX-License-Identifier: GPL-2.0
2 #include <dt-bindings/clock/tegra20-car.h>
3 #include <dt-bindings/gpio/tegra-gpio.h>
4 #include <dt-bindings/memory/tegra20-mc.h>
5 #include <dt-bindings/pinctrl/pinctrl-tegra.h>
6 #include <dt-bindings/interrupt-controller/arm-gic.h>
7 #include <dt-bindings/soc/tegra-pmc.h>
10 compatible = "nvidia,tegra20";
11 interrupt-parent = <&lic>;
16 device_type = "memory";
21 compatible = "mmio-sram";
22 reg = <0x40000000 0x40000>;
25 ranges = <0 0x40000000 0x40000>;
28 reg = <0x400 0x3fc00>;
34 compatible = "nvidia,tegra20-host1x";
35 reg = <0x50000000 0x00024000>;
36 interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>, /* syncpt */
37 <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; /* general */
38 interrupt-names = "syncpt", "host1x";
39 clocks = <&tegra_car TEGRA20_CLK_HOST1X>;
40 clock-names = "host1x";
41 resets = <&tegra_car 28>;
42 reset-names = "host1x";
47 ranges = <0x54000000 0x54000000 0x04000000>;
50 compatible = "nvidia,tegra20-mpe";
51 reg = <0x54040000 0x00040000>;
52 interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>;
53 clocks = <&tegra_car TEGRA20_CLK_MPE>;
54 resets = <&tegra_car 60>;
59 compatible = "nvidia,tegra20-vi";
60 reg = <0x54080000 0x00040000>;
61 interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
62 clocks = <&tegra_car TEGRA20_CLK_VI>;
63 resets = <&tegra_car 20>;
68 compatible = "nvidia,tegra20-epp";
69 reg = <0x540c0000 0x00040000>;
70 interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
71 clocks = <&tegra_car TEGRA20_CLK_EPP>;
72 resets = <&tegra_car 19>;
77 compatible = "nvidia,tegra20-isp";
78 reg = <0x54100000 0x00040000>;
79 interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
80 clocks = <&tegra_car TEGRA20_CLK_ISP>;
81 resets = <&tegra_car 23>;
86 compatible = "nvidia,tegra20-gr2d";
87 reg = <0x54140000 0x00040000>;
88 interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
89 clocks = <&tegra_car TEGRA20_CLK_GR2D>;
90 resets = <&tegra_car 21>;
95 compatible = "nvidia,tegra20-gr3d";
96 reg = <0x54180000 0x00040000>;
97 clocks = <&tegra_car TEGRA20_CLK_GR3D>;
98 resets = <&tegra_car 24>;
103 compatible = "nvidia,tegra20-dc";
104 reg = <0x54200000 0x00040000>;
105 interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
106 clocks = <&tegra_car TEGRA20_CLK_DISP1>,
107 <&tegra_car TEGRA20_CLK_PLL_P>;
108 clock-names = "dc", "parent";
109 resets = <&tegra_car 27>;
114 interconnects = <&mc TEGRA20_MC_DISPLAY0A &emc>,
115 <&mc TEGRA20_MC_DISPLAY0B &emc>,
116 <&mc TEGRA20_MC_DISPLAY1B &emc>,
117 <&mc TEGRA20_MC_DISPLAY0C &emc>,
118 <&mc TEGRA20_MC_DISPLAYHC &emc>;
119 interconnect-names = "wina",
131 compatible = "nvidia,tegra20-dc";
132 reg = <0x54240000 0x00040000>;
133 interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
134 clocks = <&tegra_car TEGRA20_CLK_DISP2>,
135 <&tegra_car TEGRA20_CLK_PLL_P>;
136 clock-names = "dc", "parent";
137 resets = <&tegra_car 26>;
142 interconnects = <&mc TEGRA20_MC_DISPLAY0AB &emc>,
143 <&mc TEGRA20_MC_DISPLAY0BB &emc>,
144 <&mc TEGRA20_MC_DISPLAY1BB &emc>,
145 <&mc TEGRA20_MC_DISPLAY0CB &emc>,
146 <&mc TEGRA20_MC_DISPLAYHCB &emc>;
147 interconnect-names = "wina",
159 compatible = "nvidia,tegra20-hdmi";
160 reg = <0x54280000 0x00040000>;
161 interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
162 clocks = <&tegra_car TEGRA20_CLK_HDMI>,
163 <&tegra_car TEGRA20_CLK_PLL_D_OUT0>;
164 clock-names = "hdmi", "parent";
165 resets = <&tegra_car 51>;
166 reset-names = "hdmi";
171 compatible = "nvidia,tegra20-tvo";
172 reg = <0x542c0000 0x00040000>;
173 interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
174 clocks = <&tegra_car TEGRA20_CLK_TVO>;
179 compatible = "nvidia,tegra20-dsi";
180 reg = <0x54300000 0x00040000>;
181 clocks = <&tegra_car TEGRA20_CLK_DSI>,
182 <&tegra_car TEGRA20_CLK_PLL_D_OUT0>;
183 clock-names = "dsi", "parent";
184 resets = <&tegra_car 48>;
191 compatible = "arm,cortex-a9-twd-timer";
192 interrupt-parent = <&intc>;
193 reg = <0x50040600 0x20>;
194 interrupts = <GIC_PPI 13
195 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_EDGE_RISING)>;
196 clocks = <&tegra_car TEGRA20_CLK_TWD>;
199 intc: interrupt-controller@50041000 {
200 compatible = "arm,cortex-a9-gic";
201 reg = <0x50041000 0x1000>,
203 interrupt-controller;
204 #interrupt-cells = <3>;
205 interrupt-parent = <&intc>;
208 cache-controller@50043000 {
209 compatible = "arm,pl310-cache";
210 reg = <0x50043000 0x1000>;
211 arm,data-latency = <5 5 2>;
212 arm,tag-latency = <4 4 2>;
217 lic: interrupt-controller@60004000 {
218 compatible = "nvidia,tegra20-ictlr";
219 reg = <0x60004000 0x100>,
223 interrupt-controller;
224 #interrupt-cells = <3>;
225 interrupt-parent = <&intc>;
229 compatible = "nvidia,tegra20-timer";
230 reg = <0x60005000 0x60>;
231 interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
232 <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
233 <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
234 <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
235 clocks = <&tegra_car TEGRA20_CLK_TIMER>;
238 tegra_car: clock@60006000 {
239 compatible = "nvidia,tegra20-car";
240 reg = <0x60006000 0x1000>;
245 flow-controller@60007000 {
246 compatible = "nvidia,tegra20-flowctrl";
247 reg = <0x60007000 0x1000>;
250 apbdma: dma@6000a000 {
251 compatible = "nvidia,tegra20-apbdma";
252 reg = <0x6000a000 0x1200>;
253 interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
254 <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
255 <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
256 <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
257 <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
258 <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
259 <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
260 <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>,
261 <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>,
262 <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
263 <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
264 <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
265 <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
266 <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
267 <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
268 <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>;
269 clocks = <&tegra_car TEGRA20_CLK_APBDMA>;
270 resets = <&tegra_car 34>;
276 compatible = "nvidia,tegra20-ahb";
277 reg = <0x6000c000 0x110>; /* AHB Arbitration + Gizmo Controller */
280 gpio: gpio@6000d000 {
281 compatible = "nvidia,tegra20-gpio";
282 reg = <0x6000d000 0x1000>;
283 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>,
284 <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>,
285 <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>,
286 <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>,
287 <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>,
288 <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>,
289 <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
292 #interrupt-cells = <2>;
293 interrupt-controller;
295 gpio-ranges = <&pinmux 0 0 224>;
300 compatible = "nvidia,tegra20-vde";
301 reg = <0x6001a000 0x1000>, /* Syntax Engine */
302 <0x6001b000 0x1000>, /* Video Bitstream Engine */
303 <0x6001c000 0x100>, /* Macroblock Engine */
304 <0x6001c200 0x100>, /* Post-processing Engine */
305 <0x6001c400 0x100>, /* Motion Compensation Engine */
306 <0x6001c600 0x100>, /* Transform Engine */
307 <0x6001c800 0x100>, /* Pixel prediction block */
308 <0x6001ca00 0x100>, /* Video DMA */
309 <0x6001d800 0x300>; /* Video frame controls */
310 reg-names = "sxe", "bsev", "mbe", "ppe", "mce",
311 "tfe", "ppb", "vdma", "frameid";
312 iram = <&vde_pool>; /* IRAM region */
313 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>, /* Sync token interrupt */
314 <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>, /* BSE-V interrupt */
315 <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; /* SXE interrupt */
316 interrupt-names = "sync-token", "bsev", "sxe";
317 clocks = <&tegra_car TEGRA20_CLK_VDE>;
318 reset-names = "vde", "mc";
319 resets = <&tegra_car 61>, <&mc TEGRA20_MC_RESET_VDE>;
323 compatible = "nvidia,tegra20-apbmisc";
324 reg = <0x70000800 0x64>, /* Chip revision */
325 <0x70000008 0x04>; /* Strapping options */
328 pinmux: pinmux@70000014 {
329 compatible = "nvidia,tegra20-pinmux";
330 reg = <0x70000014 0x10>, /* Tri-state registers */
331 <0x70000080 0x20>, /* Mux registers */
332 <0x700000a0 0x14>, /* Pull-up/down registers */
333 <0x70000868 0xa8>; /* Pad control registers */
337 compatible = "nvidia,tegra20-das";
338 reg = <0x70000c00 0x80>;
341 tegra_ac97: ac97@70002000 {
342 compatible = "nvidia,tegra20-ac97";
343 reg = <0x70002000 0x200>;
344 interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
345 clocks = <&tegra_car TEGRA20_CLK_AC97>;
346 resets = <&tegra_car 3>;
347 reset-names = "ac97";
348 dmas = <&apbdma 12>, <&apbdma 12>;
349 dma-names = "rx", "tx";
353 tegra_i2s1: i2s@70002800 {
354 compatible = "nvidia,tegra20-i2s";
355 reg = <0x70002800 0x200>;
356 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
357 clocks = <&tegra_car TEGRA20_CLK_I2S1>;
358 resets = <&tegra_car 11>;
360 dmas = <&apbdma 2>, <&apbdma 2>;
361 dma-names = "rx", "tx";
365 tegra_i2s2: i2s@70002a00 {
366 compatible = "nvidia,tegra20-i2s";
367 reg = <0x70002a00 0x200>;
368 interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
369 clocks = <&tegra_car TEGRA20_CLK_I2S2>;
370 resets = <&tegra_car 18>;
372 dmas = <&apbdma 1>, <&apbdma 1>;
373 dma-names = "rx", "tx";
378 * There are two serial driver i.e. 8250 based simple serial
379 * driver and APB DMA based serial driver for higher baudrate
380 * and performace. To enable the 8250 based driver, the compatible
381 * is "nvidia,tegra20-uart" and to enable the APB DMA based serial
382 * driver, the compatible is "nvidia,tegra20-hsuart".
384 uarta: serial@70006000 {
385 compatible = "nvidia,tegra20-uart";
386 reg = <0x70006000 0x40>;
388 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
389 clocks = <&tegra_car TEGRA20_CLK_UARTA>;
390 resets = <&tegra_car 6>;
391 reset-names = "serial";
392 dmas = <&apbdma 8>, <&apbdma 8>;
393 dma-names = "rx", "tx";
397 uartb: serial@70006040 {
398 compatible = "nvidia,tegra20-uart";
399 reg = <0x70006040 0x40>;
401 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
402 clocks = <&tegra_car TEGRA20_CLK_UARTB>;
403 resets = <&tegra_car 7>;
404 reset-names = "serial";
405 dmas = <&apbdma 9>, <&apbdma 9>;
406 dma-names = "rx", "tx";
410 uartc: serial@70006200 {
411 compatible = "nvidia,tegra20-uart";
412 reg = <0x70006200 0x100>;
414 interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
415 clocks = <&tegra_car TEGRA20_CLK_UARTC>;
416 resets = <&tegra_car 55>;
417 reset-names = "serial";
418 dmas = <&apbdma 10>, <&apbdma 10>;
419 dma-names = "rx", "tx";
423 uartd: serial@70006300 {
424 compatible = "nvidia,tegra20-uart";
425 reg = <0x70006300 0x100>;
427 interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
428 clocks = <&tegra_car TEGRA20_CLK_UARTD>;
429 resets = <&tegra_car 65>;
430 reset-names = "serial";
431 dmas = <&apbdma 19>, <&apbdma 19>;
432 dma-names = "rx", "tx";
436 uarte: serial@70006400 {
437 compatible = "nvidia,tegra20-uart";
438 reg = <0x70006400 0x100>;
440 interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
441 clocks = <&tegra_car TEGRA20_CLK_UARTE>;
442 resets = <&tegra_car 66>;
443 reset-names = "serial";
444 dmas = <&apbdma 20>, <&apbdma 20>;
445 dma-names = "rx", "tx";
449 nand-controller@70008000 {
450 compatible = "nvidia,tegra20-nand";
451 reg = <0x70008000 0x100>;
452 #address-cells = <1>;
454 interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
455 clocks = <&tegra_car TEGRA20_CLK_NDFLASH>;
456 clock-names = "nand";
457 resets = <&tegra_car 13>;
458 reset-names = "nand";
459 assigned-clocks = <&tegra_car TEGRA20_CLK_NDFLASH>;
460 assigned-clock-rates = <150000000>;
465 compatible = "nvidia,tegra20-gmi";
466 reg = <0x70009000 0x1000>;
467 #address-cells = <2>;
469 ranges = <0 0 0xd0000000 0xfffffff>;
470 clocks = <&tegra_car TEGRA20_CLK_NOR>;
472 resets = <&tegra_car 42>;
478 compatible = "nvidia,tegra20-pwm";
479 reg = <0x7000a000 0x100>;
481 clocks = <&tegra_car TEGRA20_CLK_PWM>;
482 resets = <&tegra_car 17>;
488 compatible = "nvidia,tegra20-rtc";
489 reg = <0x7000e000 0x100>;
490 interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
491 clocks = <&tegra_car TEGRA20_CLK_RTC>;
495 compatible = "nvidia,tegra20-i2c";
496 reg = <0x7000c000 0x100>;
497 interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
498 #address-cells = <1>;
500 clocks = <&tegra_car TEGRA20_CLK_I2C1>,
501 <&tegra_car TEGRA20_CLK_PLL_P_OUT3>;
502 clock-names = "div-clk", "fast-clk";
503 resets = <&tegra_car 12>;
505 dmas = <&apbdma 21>, <&apbdma 21>;
506 dma-names = "rx", "tx";
511 compatible = "nvidia,tegra20-sflash";
512 reg = <0x7000c380 0x80>;
513 interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
514 #address-cells = <1>;
516 clocks = <&tegra_car TEGRA20_CLK_SPI>;
517 resets = <&tegra_car 43>;
519 dmas = <&apbdma 11>, <&apbdma 11>;
520 dma-names = "rx", "tx";
525 compatible = "nvidia,tegra20-i2c";
526 reg = <0x7000c400 0x100>;
527 interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
528 #address-cells = <1>;
530 clocks = <&tegra_car TEGRA20_CLK_I2C2>,
531 <&tegra_car TEGRA20_CLK_PLL_P_OUT3>;
532 clock-names = "div-clk", "fast-clk";
533 resets = <&tegra_car 54>;
535 dmas = <&apbdma 22>, <&apbdma 22>;
536 dma-names = "rx", "tx";
541 compatible = "nvidia,tegra20-i2c";
542 reg = <0x7000c500 0x100>;
543 interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
544 #address-cells = <1>;
546 clocks = <&tegra_car TEGRA20_CLK_I2C3>,
547 <&tegra_car TEGRA20_CLK_PLL_P_OUT3>;
548 clock-names = "div-clk", "fast-clk";
549 resets = <&tegra_car 67>;
551 dmas = <&apbdma 23>, <&apbdma 23>;
552 dma-names = "rx", "tx";
557 compatible = "nvidia,tegra20-i2c-dvc";
558 reg = <0x7000d000 0x200>;
559 interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
560 #address-cells = <1>;
562 clocks = <&tegra_car TEGRA20_CLK_DVC>,
563 <&tegra_car TEGRA20_CLK_PLL_P_OUT3>;
564 clock-names = "div-clk", "fast-clk";
565 resets = <&tegra_car 47>;
567 dmas = <&apbdma 24>, <&apbdma 24>;
568 dma-names = "rx", "tx";
573 compatible = "nvidia,tegra20-slink";
574 reg = <0x7000d400 0x200>;
575 interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
576 #address-cells = <1>;
578 clocks = <&tegra_car TEGRA20_CLK_SBC1>;
579 resets = <&tegra_car 41>;
581 dmas = <&apbdma 15>, <&apbdma 15>;
582 dma-names = "rx", "tx";
587 compatible = "nvidia,tegra20-slink";
588 reg = <0x7000d600 0x200>;
589 interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
590 #address-cells = <1>;
592 clocks = <&tegra_car TEGRA20_CLK_SBC2>;
593 resets = <&tegra_car 44>;
595 dmas = <&apbdma 16>, <&apbdma 16>;
596 dma-names = "rx", "tx";
601 compatible = "nvidia,tegra20-slink";
602 reg = <0x7000d800 0x200>;
603 interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
604 #address-cells = <1>;
606 clocks = <&tegra_car TEGRA20_CLK_SBC3>;
607 resets = <&tegra_car 46>;
609 dmas = <&apbdma 17>, <&apbdma 17>;
610 dma-names = "rx", "tx";
615 compatible = "nvidia,tegra20-slink";
616 reg = <0x7000da00 0x200>;
617 interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
618 #address-cells = <1>;
620 clocks = <&tegra_car TEGRA20_CLK_SBC4>;
621 resets = <&tegra_car 68>;
623 dmas = <&apbdma 18>, <&apbdma 18>;
624 dma-names = "rx", "tx";
629 compatible = "nvidia,tegra20-kbc";
630 reg = <0x7000e200 0x100>;
631 interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
632 clocks = <&tegra_car TEGRA20_CLK_KBC>;
633 resets = <&tegra_car 36>;
638 tegra_pmc: pmc@7000e400 {
639 compatible = "nvidia,tegra20-pmc";
640 reg = <0x7000e400 0x400>;
641 clocks = <&tegra_car TEGRA20_CLK_PCLK>, <&clk32k_in>;
642 clock-names = "pclk", "clk32k_in";
646 mc: memory-controller@7000f000 {
647 compatible = "nvidia,tegra20-mc-gart";
648 reg = <0x7000f000 0x00000400>, /* controller registers */
649 <0x58000000 0x02000000>; /* GART aperture */
650 clocks = <&tegra_car TEGRA20_CLK_MC>;
652 interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
655 #interconnect-cells = <1>;
658 emc: memory-controller@7000f400 {
659 compatible = "nvidia,tegra20-emc";
660 reg = <0x7000f400 0x400>;
661 interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
662 clocks = <&tegra_car TEGRA20_CLK_EMC>;
663 #address-cells = <1>;
665 #interconnect-cells = <0>;
667 nvidia,memory-controller = <&mc>;
671 compatible = "nvidia,tegra20-efuse";
672 reg = <0x7000f800 0x400>;
673 clocks = <&tegra_car TEGRA20_CLK_FUSE>;
674 clock-names = "fuse";
675 resets = <&tegra_car 39>;
676 reset-names = "fuse";
680 compatible = "nvidia,tegra20-pcie";
682 reg = <0x80003000 0x00000800>, /* PADS registers */
683 <0x80003800 0x00000200>, /* AFI registers */
684 <0x90000000 0x10000000>; /* configuration space */
685 reg-names = "pads", "afi", "cs";
686 interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>, /* controller interrupt */
687 <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; /* MSI interrupt */
688 interrupt-names = "intr", "msi";
690 #interrupt-cells = <1>;
691 interrupt-map-mask = <0 0 0 0>;
692 interrupt-map = <0 0 0 0 &intc GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
694 bus-range = <0x00 0xff>;
695 #address-cells = <3>;
698 ranges = <0x02000000 0 0x80000000 0x80000000 0 0x00001000>, /* port 0 registers */
699 <0x02000000 0 0x80001000 0x80001000 0 0x00001000>, /* port 1 registers */
700 <0x01000000 0 0 0x82000000 0 0x00010000>, /* downstream I/O */
701 <0x02000000 0 0xa0000000 0xa0000000 0 0x08000000>, /* non-prefetchable memory */
702 <0x42000000 0 0xa8000000 0xa8000000 0 0x18000000>; /* prefetchable memory */
704 clocks = <&tegra_car TEGRA20_CLK_PEX>,
705 <&tegra_car TEGRA20_CLK_AFI>,
706 <&tegra_car TEGRA20_CLK_PLL_E>;
707 clock-names = "pex", "afi", "pll_e";
708 resets = <&tegra_car 70>,
711 reset-names = "pex", "afi", "pcie_x";
716 assigned-addresses = <0x82000800 0 0x80000000 0 0x1000>;
717 reg = <0x000800 0 0 0 0>;
718 bus-range = <0x00 0xff>;
721 #address-cells = <3>;
725 nvidia,num-lanes = <2>;
730 assigned-addresses = <0x82001000 0 0x80001000 0 0x1000>;
731 reg = <0x001000 0 0 0 0>;
732 bus-range = <0x00 0xff>;
735 #address-cells = <3>;
739 nvidia,num-lanes = <2>;
744 compatible = "nvidia,tegra20-ehci", "usb-ehci";
745 reg = <0xc5000000 0x4000>;
746 interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
748 nvidia,has-legacy-mode;
749 clocks = <&tegra_car TEGRA20_CLK_USBD>;
750 resets = <&tegra_car 22>;
752 nvidia,needs-double-reset;
753 nvidia,phy = <&phy1>;
757 phy1: usb-phy@c5000000 {
758 compatible = "nvidia,tegra20-usb-phy";
759 reg = <0xc5000000 0x4000>,
762 clocks = <&tegra_car TEGRA20_CLK_USBD>,
763 <&tegra_car TEGRA20_CLK_PLL_U>,
764 <&tegra_car TEGRA20_CLK_CLK_M>,
765 <&tegra_car TEGRA20_CLK_USBD>;
766 clock-names = "reg", "pll_u", "timer", "utmi-pads";
767 resets = <&tegra_car 22>, <&tegra_car 22>;
768 reset-names = "usb", "utmi-pads";
770 nvidia,has-legacy-mode;
771 nvidia,hssync-start-delay = <9>;
772 nvidia,idle-wait-delay = <17>;
773 nvidia,elastic-limit = <16>;
774 nvidia,term-range-adj = <6>;
775 nvidia,xcvr-setup = <9>;
776 nvidia,xcvr-lsfslew = <1>;
777 nvidia,xcvr-lsrslew = <1>;
778 nvidia,has-utmi-pad-registers;
783 compatible = "nvidia,tegra20-ehci", "usb-ehci";
784 reg = <0xc5004000 0x4000>;
785 interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
787 clocks = <&tegra_car TEGRA20_CLK_USB2>;
788 resets = <&tegra_car 58>;
790 nvidia,phy = <&phy2>;
794 phy2: usb-phy@c5004000 {
795 compatible = "nvidia,tegra20-usb-phy";
796 reg = <0xc5004000 0x4000>;
798 clocks = <&tegra_car TEGRA20_CLK_USB2>,
799 <&tegra_car TEGRA20_CLK_PLL_U>,
800 <&tegra_car TEGRA20_CLK_CDEV2>;
801 clock-names = "reg", "pll_u", "ulpi-link";
802 resets = <&tegra_car 58>, <&tegra_car 22>;
803 reset-names = "usb", "utmi-pads";
809 compatible = "nvidia,tegra20-ehci", "usb-ehci";
810 reg = <0xc5008000 0x4000>;
811 interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
813 clocks = <&tegra_car TEGRA20_CLK_USB3>;
814 resets = <&tegra_car 59>;
816 nvidia,phy = <&phy3>;
820 phy3: usb-phy@c5008000 {
821 compatible = "nvidia,tegra20-usb-phy";
822 reg = <0xc5008000 0x4000>,
825 clocks = <&tegra_car TEGRA20_CLK_USB3>,
826 <&tegra_car TEGRA20_CLK_PLL_U>,
827 <&tegra_car TEGRA20_CLK_CLK_M>,
828 <&tegra_car TEGRA20_CLK_USBD>;
829 clock-names = "reg", "pll_u", "timer", "utmi-pads";
830 resets = <&tegra_car 59>, <&tegra_car 22>;
831 reset-names = "usb", "utmi-pads";
833 nvidia,hssync-start-delay = <9>;
834 nvidia,idle-wait-delay = <17>;
835 nvidia,elastic-limit = <16>;
836 nvidia,term-range-adj = <6>;
837 nvidia,xcvr-setup = <9>;
838 nvidia,xcvr-lsfslew = <2>;
839 nvidia,xcvr-lsrslew = <2>;
844 compatible = "nvidia,tegra20-sdhci";
845 reg = <0xc8000000 0x200>;
846 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
847 clocks = <&tegra_car TEGRA20_CLK_SDMMC1>;
848 clock-names = "sdhci";
849 resets = <&tegra_car 14>;
850 reset-names = "sdhci";
855 compatible = "nvidia,tegra20-sdhci";
856 reg = <0xc8000200 0x200>;
857 interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
858 clocks = <&tegra_car TEGRA20_CLK_SDMMC2>;
859 clock-names = "sdhci";
860 resets = <&tegra_car 9>;
861 reset-names = "sdhci";
866 compatible = "nvidia,tegra20-sdhci";
867 reg = <0xc8000400 0x200>;
868 interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
869 clocks = <&tegra_car TEGRA20_CLK_SDMMC3>;
870 clock-names = "sdhci";
871 resets = <&tegra_car 69>;
872 reset-names = "sdhci";
877 compatible = "nvidia,tegra20-sdhci";
878 reg = <0xc8000600 0x200>;
879 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
880 clocks = <&tegra_car TEGRA20_CLK_SDMMC4>;
881 clock-names = "sdhci";
882 resets = <&tegra_car 15>;
883 reset-names = "sdhci";
888 #address-cells = <1>;
893 compatible = "arm,cortex-a9";
895 clocks = <&tegra_car TEGRA20_CLK_CCLK>;
900 compatible = "arm,cortex-a9";
902 clocks = <&tegra_car TEGRA20_CLK_CCLK>;
907 compatible = "arm,cortex-a9-pmu";
908 interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>,
909 <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
910 interrupt-affinity = <&{/cpus/cpu@0}>,