aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/boot/dts/tegra20.dtsi
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/boot/dts/tegra20.dtsi')
-rw-r--r--arch/arm/boot/dts/tegra20.dtsi195
1 files changed, 151 insertions, 44 deletions
diff --git a/arch/arm/boot/dts/tegra20.dtsi b/arch/arm/boot/dts/tegra20.dtsi
index df40b54fd8bc..48d2a7f4d0c0 100644
--- a/arch/arm/boot/dts/tegra20.dtsi
+++ b/arch/arm/boot/dts/tegra20.dtsi
@@ -1,5 +1,6 @@
1#include <dt-bindings/clock/tegra20-car.h> 1#include <dt-bindings/clock/tegra20-car.h>
2#include <dt-bindings/gpio/tegra-gpio.h> 2#include <dt-bindings/gpio/tegra-gpio.h>
3#include <dt-bindings/pinctrl/pinctrl-tegra.h>
3#include <dt-bindings/interrupt-controller/arm-gic.h> 4#include <dt-bindings/interrupt-controller/arm-gic.h>
4 5
5#include "skeleton.dtsi" 6#include "skeleton.dtsi"
@@ -16,57 +17,71 @@
16 serial4 = &uarte; 17 serial4 = &uarte;
17 }; 18 };
18 19
19 host1x { 20 host1x@50000000 {
20 compatible = "nvidia,tegra20-host1x", "simple-bus"; 21 compatible = "nvidia,tegra20-host1x", "simple-bus";
21 reg = <0x50000000 0x00024000>; 22 reg = <0x50000000 0x00024000>;
22 interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>, /* syncpt */ 23 interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>, /* syncpt */
23 <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; /* general */ 24 <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; /* general */
24 clocks = <&tegra_car TEGRA20_CLK_HOST1X>; 25 clocks = <&tegra_car TEGRA20_CLK_HOST1X>;
26 resets = <&tegra_car 28>;
27 reset-names = "host1x";
25 28
26 #address-cells = <1>; 29 #address-cells = <1>;
27 #size-cells = <1>; 30 #size-cells = <1>;
28 31
29 ranges = <0x54000000 0x54000000 0x04000000>; 32 ranges = <0x54000000 0x54000000 0x04000000>;
30 33
31 mpe { 34 mpe@54040000 {
32 compatible = "nvidia,tegra20-mpe"; 35 compatible = "nvidia,tegra20-mpe";
33 reg = <0x54040000 0x00040000>; 36 reg = <0x54040000 0x00040000>;
34 interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>; 37 interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>;
35 clocks = <&tegra_car TEGRA20_CLK_MPE>; 38 clocks = <&tegra_car TEGRA20_CLK_MPE>;
39 resets = <&tegra_car 60>;
40 reset-names = "mpe";
36 }; 41 };
37 42
38 vi { 43 vi@54080000 {
39 compatible = "nvidia,tegra20-vi"; 44 compatible = "nvidia,tegra20-vi";
40 reg = <0x54080000 0x00040000>; 45 reg = <0x54080000 0x00040000>;
41 interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>; 46 interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
42 clocks = <&tegra_car TEGRA20_CLK_VI>; 47 clocks = <&tegra_car TEGRA20_CLK_VI>;
48 resets = <&tegra_car 20>;
49 reset-names = "vi";
43 }; 50 };
44 51
45 epp { 52 epp@540c0000 {
46 compatible = "nvidia,tegra20-epp"; 53 compatible = "nvidia,tegra20-epp";
47 reg = <0x540c0000 0x00040000>; 54 reg = <0x540c0000 0x00040000>;
48 interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>; 55 interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
49 clocks = <&tegra_car TEGRA20_CLK_EPP>; 56 clocks = <&tegra_car TEGRA20_CLK_EPP>;
57 resets = <&tegra_car 19>;
58 reset-names = "epp";
50 }; 59 };
51 60
52 isp { 61 isp@54100000 {
53 compatible = "nvidia,tegra20-isp"; 62 compatible = "nvidia,tegra20-isp";
54 reg = <0x54100000 0x00040000>; 63 reg = <0x54100000 0x00040000>;
55 interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>; 64 interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
56 clocks = <&tegra_car TEGRA20_CLK_ISP>; 65 clocks = <&tegra_car TEGRA20_CLK_ISP>;
66 resets = <&tegra_car 23>;
67 reset-names = "isp";
57 }; 68 };
58 69
59 gr2d { 70 gr2d@54140000 {
60 compatible = "nvidia,tegra20-gr2d"; 71 compatible = "nvidia,tegra20-gr2d";
61 reg = <0x54140000 0x00040000>; 72 reg = <0x54140000 0x00040000>;
62 interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>; 73 interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
63 clocks = <&tegra_car TEGRA20_CLK_GR2D>; 74 clocks = <&tegra_car TEGRA20_CLK_GR2D>;
75 resets = <&tegra_car 21>;
76 reset-names = "2d";
64 }; 77 };
65 78
66 gr3d { 79 gr3d@54140000 {
67 compatible = "nvidia,tegra20-gr3d"; 80 compatible = "nvidia,tegra20-gr3d";
68 reg = <0x54180000 0x00040000>; 81 reg = <0x54140000 0x00040000>;
69 clocks = <&tegra_car TEGRA20_CLK_GR3D>; 82 clocks = <&tegra_car TEGRA20_CLK_GR3D>;
83 resets = <&tegra_car 24>;
84 reset-names = "3d";
70 }; 85 };
71 86
72 dc@54200000 { 87 dc@54200000 {
@@ -75,7 +90,11 @@
75 interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>; 90 interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
76 clocks = <&tegra_car TEGRA20_CLK_DISP1>, 91 clocks = <&tegra_car TEGRA20_CLK_DISP1>,
77 <&tegra_car TEGRA20_CLK_PLL_P>; 92 <&tegra_car TEGRA20_CLK_PLL_P>;
78 clock-names = "disp1", "parent"; 93 clock-names = "dc", "parent";
94 resets = <&tegra_car 27>;
95 reset-names = "dc";
96
97 nvidia,head = <0>;
79 98
80 rgb { 99 rgb {
81 status = "disabled"; 100 status = "disabled";
@@ -88,24 +107,30 @@
88 interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>; 107 interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
89 clocks = <&tegra_car TEGRA20_CLK_DISP2>, 108 clocks = <&tegra_car TEGRA20_CLK_DISP2>,
90 <&tegra_car TEGRA20_CLK_PLL_P>; 109 <&tegra_car TEGRA20_CLK_PLL_P>;
91 clock-names = "disp2", "parent"; 110 clock-names = "dc", "parent";
111 resets = <&tegra_car 26>;
112 reset-names = "dc";
113
114 nvidia,head = <1>;
92 115
93 rgb { 116 rgb {
94 status = "disabled"; 117 status = "disabled";
95 }; 118 };
96 }; 119 };
97 120
98 hdmi { 121 hdmi@54280000 {
99 compatible = "nvidia,tegra20-hdmi"; 122 compatible = "nvidia,tegra20-hdmi";
100 reg = <0x54280000 0x00040000>; 123 reg = <0x54280000 0x00040000>;
101 interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>; 124 interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
102 clocks = <&tegra_car TEGRA20_CLK_HDMI>, 125 clocks = <&tegra_car TEGRA20_CLK_HDMI>,
103 <&tegra_car TEGRA20_CLK_PLL_D_OUT0>; 126 <&tegra_car TEGRA20_CLK_PLL_D_OUT0>;
104 clock-names = "hdmi", "parent"; 127 clock-names = "hdmi", "parent";
128 resets = <&tegra_car 51>;
129 reset-names = "hdmi";
105 status = "disabled"; 130 status = "disabled";
106 }; 131 };
107 132
108 tvo { 133 tvo@542c0000 {
109 compatible = "nvidia,tegra20-tvo"; 134 compatible = "nvidia,tegra20-tvo";
110 reg = <0x542c0000 0x00040000>; 135 reg = <0x542c0000 0x00040000>;
111 interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>; 136 interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
@@ -113,10 +138,12 @@
113 status = "disabled"; 138 status = "disabled";
114 }; 139 };
115 140
116 dsi { 141 dsi@542c0000 {
117 compatible = "nvidia,tegra20-dsi"; 142 compatible = "nvidia,tegra20-dsi";
118 reg = <0x54300000 0x00040000>; 143 reg = <0x542c0000 0x00040000>;
119 clocks = <&tegra_car TEGRA20_CLK_DSI>; 144 clocks = <&tegra_car TEGRA20_CLK_DSI>;
145 resets = <&tegra_car 48>;
146 reset-names = "dsi";
120 status = "disabled"; 147 status = "disabled";
121 }; 148 };
122 }; 149 };
@@ -129,7 +156,7 @@
129 clocks = <&tegra_car TEGRA20_CLK_TWD>; 156 clocks = <&tegra_car TEGRA20_CLK_TWD>;
130 }; 157 };
131 158
132 intc: interrupt-controller { 159 intc: interrupt-controller@50041000 {
133 compatible = "arm,cortex-a9-gic"; 160 compatible = "arm,cortex-a9-gic";
134 reg = <0x50041000 0x1000 161 reg = <0x50041000 0x1000
135 0x50040100 0x0100>; 162 0x50040100 0x0100>;
@@ -137,7 +164,7 @@
137 #interrupt-cells = <3>; 164 #interrupt-cells = <3>;
138 }; 165 };
139 166
140 cache-controller { 167 cache-controller@50043000 {
141 compatible = "arm,pl310-cache"; 168 compatible = "arm,pl310-cache";
142 reg = <0x50043000 0x1000>; 169 reg = <0x50043000 0x1000>;
143 arm,data-latency = <5 5 2>; 170 arm,data-latency = <5 5 2>;
@@ -156,13 +183,14 @@
156 clocks = <&tegra_car TEGRA20_CLK_TIMER>; 183 clocks = <&tegra_car TEGRA20_CLK_TIMER>;
157 }; 184 };
158 185
159 tegra_car: clock { 186 tegra_car: clock@60006000 {
160 compatible = "nvidia,tegra20-car"; 187 compatible = "nvidia,tegra20-car";
161 reg = <0x60006000 0x1000>; 188 reg = <0x60006000 0x1000>;
162 #clock-cells = <1>; 189 #clock-cells = <1>;
190 #reset-cells = <1>;
163 }; 191 };
164 192
165 apbdma: dma { 193 apbdma: dma@6000a000 {
166 compatible = "nvidia,tegra20-apbdma"; 194 compatible = "nvidia,tegra20-apbdma";
167 reg = <0x6000a000 0x1200>; 195 reg = <0x6000a000 0x1200>;
168 interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>, 196 interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
@@ -182,14 +210,17 @@
182 <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>, 210 <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
183 <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>; 211 <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>;
184 clocks = <&tegra_car TEGRA20_CLK_APBDMA>; 212 clocks = <&tegra_car TEGRA20_CLK_APBDMA>;
213 resets = <&tegra_car 34>;
214 reset-names = "dma";
215 #dma-cells = <1>;
185 }; 216 };
186 217
187 ahb { 218 ahb@6000c004 {
188 compatible = "nvidia,tegra20-ahb"; 219 compatible = "nvidia,tegra20-ahb";
189 reg = <0x6000c004 0x10c>; /* AHB Arbitration + Gizmo Controller */ 220 reg = <0x6000c004 0x10c>; /* AHB Arbitration + Gizmo Controller */
190 }; 221 };
191 222
192 gpio: gpio { 223 gpio: gpio@6000d000 {
193 compatible = "nvidia,tegra20-gpio"; 224 compatible = "nvidia,tegra20-gpio";
194 reg = <0x6000d000 0x1000>; 225 reg = <0x6000d000 0x1000>;
195 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>, 226 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>,
@@ -205,7 +236,7 @@
205 interrupt-controller; 236 interrupt-controller;
206 }; 237 };
207 238
208 pinmux: pinmux { 239 pinmux: pinmux@70000014 {
209 compatible = "nvidia,tegra20-pinmux"; 240 compatible = "nvidia,tegra20-pinmux";
210 reg = <0x70000014 0x10 /* Tri-state registers */ 241 reg = <0x70000014 0x10 /* Tri-state registers */
211 0x70000080 0x20 /* Mux registers */ 242 0x70000080 0x20 /* Mux registers */
@@ -213,17 +244,20 @@
213 0x70000868 0xa8>; /* Pad control registers */ 244 0x70000868 0xa8>; /* Pad control registers */
214 }; 245 };
215 246
216 das { 247 das@70000c00 {
217 compatible = "nvidia,tegra20-das"; 248 compatible = "nvidia,tegra20-das";
218 reg = <0x70000c00 0x80>; 249 reg = <0x70000c00 0x80>;
219 }; 250 };
220 251
221 tegra_ac97: ac97 { 252 tegra_ac97: ac97@70002000 {
222 compatible = "nvidia,tegra20-ac97"; 253 compatible = "nvidia,tegra20-ac97";
223 reg = <0x70002000 0x200>; 254 reg = <0x70002000 0x200>;
224 interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>; 255 interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
225 nvidia,dma-request-selector = <&apbdma 12>;
226 clocks = <&tegra_car TEGRA20_CLK_AC97>; 256 clocks = <&tegra_car TEGRA20_CLK_AC97>;
257 resets = <&tegra_car 3>;
258 reset-names = "ac97";
259 dmas = <&apbdma 12>, <&apbdma 12>;
260 dma-names = "rx", "tx";
227 status = "disabled"; 261 status = "disabled";
228 }; 262 };
229 263
@@ -231,8 +265,11 @@
231 compatible = "nvidia,tegra20-i2s"; 265 compatible = "nvidia,tegra20-i2s";
232 reg = <0x70002800 0x200>; 266 reg = <0x70002800 0x200>;
233 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; 267 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
234 nvidia,dma-request-selector = <&apbdma 2>;
235 clocks = <&tegra_car TEGRA20_CLK_I2S1>; 268 clocks = <&tegra_car TEGRA20_CLK_I2S1>;
269 resets = <&tegra_car 11>;
270 reset-names = "i2s";
271 dmas = <&apbdma 2>, <&apbdma 2>;
272 dma-names = "rx", "tx";
236 status = "disabled"; 273 status = "disabled";
237 }; 274 };
238 275
@@ -240,8 +277,11 @@
240 compatible = "nvidia,tegra20-i2s"; 277 compatible = "nvidia,tegra20-i2s";
241 reg = <0x70002a00 0x200>; 278 reg = <0x70002a00 0x200>;
242 interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>; 279 interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
243 nvidia,dma-request-selector = <&apbdma 1>;
244 clocks = <&tegra_car TEGRA20_CLK_I2S2>; 280 clocks = <&tegra_car TEGRA20_CLK_I2S2>;
281 resets = <&tegra_car 18>;
282 reset-names = "i2s";
283 dmas = <&apbdma 1>, <&apbdma 1>;
284 dma-names = "rx", "tx";
245 status = "disabled"; 285 status = "disabled";
246 }; 286 };
247 287
@@ -257,8 +297,11 @@
257 reg = <0x70006000 0x40>; 297 reg = <0x70006000 0x40>;
258 reg-shift = <2>; 298 reg-shift = <2>;
259 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>; 299 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
260 nvidia,dma-request-selector = <&apbdma 8>;
261 clocks = <&tegra_car TEGRA20_CLK_UARTA>; 300 clocks = <&tegra_car TEGRA20_CLK_UARTA>;
301 resets = <&tegra_car 6>;
302 reset-names = "serial";
303 dmas = <&apbdma 8>, <&apbdma 8>;
304 dma-names = "rx", "tx";
262 status = "disabled"; 305 status = "disabled";
263 }; 306 };
264 307
@@ -267,8 +310,11 @@
267 reg = <0x70006040 0x40>; 310 reg = <0x70006040 0x40>;
268 reg-shift = <2>; 311 reg-shift = <2>;
269 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; 312 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
270 nvidia,dma-request-selector = <&apbdma 9>;
271 clocks = <&tegra_car TEGRA20_CLK_UARTB>; 313 clocks = <&tegra_car TEGRA20_CLK_UARTB>;
314 resets = <&tegra_car 7>;
315 reset-names = "serial";
316 dmas = <&apbdma 9>, <&apbdma 9>;
317 dma-names = "rx", "tx";
272 status = "disabled"; 318 status = "disabled";
273 }; 319 };
274 320
@@ -277,8 +323,11 @@
277 reg = <0x70006200 0x100>; 323 reg = <0x70006200 0x100>;
278 reg-shift = <2>; 324 reg-shift = <2>;
279 interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>; 325 interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
280 nvidia,dma-request-selector = <&apbdma 10>;
281 clocks = <&tegra_car TEGRA20_CLK_UARTC>; 326 clocks = <&tegra_car TEGRA20_CLK_UARTC>;
327 resets = <&tegra_car 55>;
328 reset-names = "serial";
329 dmas = <&apbdma 10>, <&apbdma 10>;
330 dma-names = "rx", "tx";
282 status = "disabled"; 331 status = "disabled";
283 }; 332 };
284 333
@@ -287,8 +336,11 @@
287 reg = <0x70006300 0x100>; 336 reg = <0x70006300 0x100>;
288 reg-shift = <2>; 337 reg-shift = <2>;
289 interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>; 338 interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
290 nvidia,dma-request-selector = <&apbdma 19>;
291 clocks = <&tegra_car TEGRA20_CLK_UARTD>; 339 clocks = <&tegra_car TEGRA20_CLK_UARTD>;
340 resets = <&tegra_car 65>;
341 reset-names = "serial";
342 dmas = <&apbdma 19>, <&apbdma 19>;
343 dma-names = "rx", "tx";
292 status = "disabled"; 344 status = "disabled";
293 }; 345 };
294 346
@@ -297,20 +349,25 @@
297 reg = <0x70006400 0x100>; 349 reg = <0x70006400 0x100>;
298 reg-shift = <2>; 350 reg-shift = <2>;
299 interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>; 351 interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
300 nvidia,dma-request-selector = <&apbdma 20>;
301 clocks = <&tegra_car TEGRA20_CLK_UARTE>; 352 clocks = <&tegra_car TEGRA20_CLK_UARTE>;
353 resets = <&tegra_car 66>;
354 reset-names = "serial";
355 dmas = <&apbdma 20>, <&apbdma 20>;
356 dma-names = "rx", "tx";
302 status = "disabled"; 357 status = "disabled";
303 }; 358 };
304 359
305 pwm: pwm { 360 pwm: pwm@7000a000 {
306 compatible = "nvidia,tegra20-pwm"; 361 compatible = "nvidia,tegra20-pwm";
307 reg = <0x7000a000 0x100>; 362 reg = <0x7000a000 0x100>;
308 #pwm-cells = <2>; 363 #pwm-cells = <2>;
309 clocks = <&tegra_car TEGRA20_CLK_PWM>; 364 clocks = <&tegra_car TEGRA20_CLK_PWM>;
365 resets = <&tegra_car 17>;
366 reset-names = "pwm";
310 status = "disabled"; 367 status = "disabled";
311 }; 368 };
312 369
313 rtc { 370 rtc@7000e000 {
314 compatible = "nvidia,tegra20-rtc"; 371 compatible = "nvidia,tegra20-rtc";
315 reg = <0x7000e000 0x100>; 372 reg = <0x7000e000 0x100>;
316 interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>; 373 interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
@@ -326,6 +383,10 @@
326 clocks = <&tegra_car TEGRA20_CLK_I2C1>, 383 clocks = <&tegra_car TEGRA20_CLK_I2C1>,
327 <&tegra_car TEGRA20_CLK_PLL_P_OUT3>; 384 <&tegra_car TEGRA20_CLK_PLL_P_OUT3>;
328 clock-names = "div-clk", "fast-clk"; 385 clock-names = "div-clk", "fast-clk";
386 resets = <&tegra_car 12>;
387 reset-names = "i2c";
388 dmas = <&apbdma 21>, <&apbdma 21>;
389 dma-names = "rx", "tx";
329 status = "disabled"; 390 status = "disabled";
330 }; 391 };
331 392
@@ -333,10 +394,13 @@
333 compatible = "nvidia,tegra20-sflash"; 394 compatible = "nvidia,tegra20-sflash";
334 reg = <0x7000c380 0x80>; 395 reg = <0x7000c380 0x80>;
335 interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>; 396 interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
336 nvidia,dma-request-selector = <&apbdma 11>;
337 #address-cells = <1>; 397 #address-cells = <1>;
338 #size-cells = <0>; 398 #size-cells = <0>;
339 clocks = <&tegra_car TEGRA20_CLK_SPI>; 399 clocks = <&tegra_car TEGRA20_CLK_SPI>;
400 resets = <&tegra_car 43>;
401 reset-names = "spi";
402 dmas = <&apbdma 11>, <&apbdma 11>;
403 dma-names = "rx", "tx";
340 status = "disabled"; 404 status = "disabled";
341 }; 405 };
342 406
@@ -349,6 +413,10 @@
349 clocks = <&tegra_car TEGRA20_CLK_I2C2>, 413 clocks = <&tegra_car TEGRA20_CLK_I2C2>,
350 <&tegra_car TEGRA20_CLK_PLL_P_OUT3>; 414 <&tegra_car TEGRA20_CLK_PLL_P_OUT3>;
351 clock-names = "div-clk", "fast-clk"; 415 clock-names = "div-clk", "fast-clk";
416 resets = <&tegra_car 54>;
417 reset-names = "i2c";
418 dmas = <&apbdma 22>, <&apbdma 22>;
419 dma-names = "rx", "tx";
352 status = "disabled"; 420 status = "disabled";
353 }; 421 };
354 422
@@ -361,6 +429,10 @@
361 clocks = <&tegra_car TEGRA20_CLK_I2C3>, 429 clocks = <&tegra_car TEGRA20_CLK_I2C3>,
362 <&tegra_car TEGRA20_CLK_PLL_P_OUT3>; 430 <&tegra_car TEGRA20_CLK_PLL_P_OUT3>;
363 clock-names = "div-clk", "fast-clk"; 431 clock-names = "div-clk", "fast-clk";
432 resets = <&tegra_car 67>;
433 reset-names = "i2c";
434 dmas = <&apbdma 23>, <&apbdma 23>;
435 dma-names = "rx", "tx";
364 status = "disabled"; 436 status = "disabled";
365 }; 437 };
366 438
@@ -373,6 +445,10 @@
373 clocks = <&tegra_car TEGRA20_CLK_DVC>, 445 clocks = <&tegra_car TEGRA20_CLK_DVC>,
374 <&tegra_car TEGRA20_CLK_PLL_P_OUT3>; 446 <&tegra_car TEGRA20_CLK_PLL_P_OUT3>;
375 clock-names = "div-clk", "fast-clk"; 447 clock-names = "div-clk", "fast-clk";
448 resets = <&tegra_car 47>;
449 reset-names = "i2c";
450 dmas = <&apbdma 24>, <&apbdma 24>;
451 dma-names = "rx", "tx";
376 status = "disabled"; 452 status = "disabled";
377 }; 453 };
378 454
@@ -380,10 +456,13 @@
380 compatible = "nvidia,tegra20-slink"; 456 compatible = "nvidia,tegra20-slink";
381 reg = <0x7000d400 0x200>; 457 reg = <0x7000d400 0x200>;
382 interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>; 458 interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
383 nvidia,dma-request-selector = <&apbdma 15>;
384 #address-cells = <1>; 459 #address-cells = <1>;
385 #size-cells = <0>; 460 #size-cells = <0>;
386 clocks = <&tegra_car TEGRA20_CLK_SBC1>; 461 clocks = <&tegra_car TEGRA20_CLK_SBC1>;
462 resets = <&tegra_car 41>;
463 reset-names = "spi";
464 dmas = <&apbdma 15>, <&apbdma 15>;
465 dma-names = "rx", "tx";
387 status = "disabled"; 466 status = "disabled";
388 }; 467 };
389 468
@@ -391,10 +470,13 @@
391 compatible = "nvidia,tegra20-slink"; 470 compatible = "nvidia,tegra20-slink";
392 reg = <0x7000d600 0x200>; 471 reg = <0x7000d600 0x200>;
393 interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>; 472 interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
394 nvidia,dma-request-selector = <&apbdma 16>;
395 #address-cells = <1>; 473 #address-cells = <1>;
396 #size-cells = <0>; 474 #size-cells = <0>;
397 clocks = <&tegra_car TEGRA20_CLK_SBC2>; 475 clocks = <&tegra_car TEGRA20_CLK_SBC2>;
476 resets = <&tegra_car 44>;
477 reset-names = "spi";
478 dmas = <&apbdma 16>, <&apbdma 16>;
479 dma-names = "rx", "tx";
398 status = "disabled"; 480 status = "disabled";
399 }; 481 };
400 482
@@ -402,10 +484,13 @@
402 compatible = "nvidia,tegra20-slink"; 484 compatible = "nvidia,tegra20-slink";
403 reg = <0x7000d800 0x200>; 485 reg = <0x7000d800 0x200>;
404 interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>; 486 interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
405 nvidia,dma-request-selector = <&apbdma 17>;
406 #address-cells = <1>; 487 #address-cells = <1>;
407 #size-cells = <0>; 488 #size-cells = <0>;
408 clocks = <&tegra_car TEGRA20_CLK_SBC3>; 489 clocks = <&tegra_car TEGRA20_CLK_SBC3>;
490 resets = <&tegra_car 46>;
491 reset-names = "spi";
492 dmas = <&apbdma 17>, <&apbdma 17>;
493 dma-names = "rx", "tx";
409 status = "disabled"; 494 status = "disabled";
410 }; 495 };
411 496
@@ -413,22 +498,27 @@
413 compatible = "nvidia,tegra20-slink"; 498 compatible = "nvidia,tegra20-slink";
414 reg = <0x7000da00 0x200>; 499 reg = <0x7000da00 0x200>;
415 interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>; 500 interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
416 nvidia,dma-request-selector = <&apbdma 18>;
417 #address-cells = <1>; 501 #address-cells = <1>;
418 #size-cells = <0>; 502 #size-cells = <0>;
419 clocks = <&tegra_car TEGRA20_CLK_SBC4>; 503 clocks = <&tegra_car TEGRA20_CLK_SBC4>;
504 resets = <&tegra_car 68>;
505 reset-names = "spi";
506 dmas = <&apbdma 18>, <&apbdma 18>;
507 dma-names = "rx", "tx";
420 status = "disabled"; 508 status = "disabled";
421 }; 509 };
422 510
423 kbc { 511 kbc@7000e200 {
424 compatible = "nvidia,tegra20-kbc"; 512 compatible = "nvidia,tegra20-kbc";
425 reg = <0x7000e200 0x100>; 513 reg = <0x7000e200 0x100>;
426 interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>; 514 interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
427 clocks = <&tegra_car TEGRA20_CLK_KBC>; 515 clocks = <&tegra_car TEGRA20_CLK_KBC>;
516 resets = <&tegra_car 36>;
517 reset-names = "kbc";
428 status = "disabled"; 518 status = "disabled";
429 }; 519 };
430 520
431 pmc { 521 pmc@7000e400 {
432 compatible = "nvidia,tegra20-pmc"; 522 compatible = "nvidia,tegra20-pmc";
433 reg = <0x7000e400 0x400>; 523 reg = <0x7000e400 0x400>;
434 clocks = <&tegra_car TEGRA20_CLK_PCLK>, <&clk32k_in>; 524 clocks = <&tegra_car TEGRA20_CLK_PCLK>, <&clk32k_in>;
@@ -442,7 +532,7 @@
442 interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>; 532 interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
443 }; 533 };
444 534
445 iommu { 535 iommu@7000f024 {
446 compatible = "nvidia,tegra20-gart"; 536 compatible = "nvidia,tegra20-gart";
447 reg = <0x7000f024 0x00000018 /* controller registers */ 537 reg = <0x7000f024 0x00000018 /* controller registers */
448 0x58000000 0x02000000>; /* GART aperture */ 538 0x58000000 0x02000000>; /* GART aperture */
@@ -455,7 +545,7 @@
455 #size-cells = <0>; 545 #size-cells = <0>;
456 }; 546 };
457 547
458 pcie-controller { 548 pcie-controller@80003000 {
459 compatible = "nvidia,tegra20-pcie"; 549 compatible = "nvidia,tegra20-pcie";
460 device_type = "pci"; 550 device_type = "pci";
461 reg = <0x80003000 0x00000800 /* PADS registers */ 551 reg = <0x80003000 0x00000800 /* PADS registers */
@@ -478,9 +568,12 @@
478 568
479 clocks = <&tegra_car TEGRA20_CLK_PEX>, 569 clocks = <&tegra_car TEGRA20_CLK_PEX>,
480 <&tegra_car TEGRA20_CLK_AFI>, 570 <&tegra_car TEGRA20_CLK_AFI>,
481 <&tegra_car TEGRA20_CLK_PCIE_XCLK>,
482 <&tegra_car TEGRA20_CLK_PLL_E>; 571 <&tegra_car TEGRA20_CLK_PLL_E>;
483 clock-names = "pex", "afi", "pcie_xclk", "pll_e"; 572 clock-names = "pex", "afi", "pll_e";
573 resets = <&tegra_car 70>,
574 <&tegra_car 72>,
575 <&tegra_car 74>;
576 reset-names = "pex", "afi", "pcie_x";
484 status = "disabled"; 577 status = "disabled";
485 578
486 pci@1,0 { 579 pci@1,0 {
@@ -517,6 +610,8 @@
517 phy_type = "utmi"; 610 phy_type = "utmi";
518 nvidia,has-legacy-mode; 611 nvidia,has-legacy-mode;
519 clocks = <&tegra_car TEGRA20_CLK_USBD>; 612 clocks = <&tegra_car TEGRA20_CLK_USBD>;
613 resets = <&tegra_car 22>;
614 reset-names = "usb";
520 nvidia,needs-double-reset; 615 nvidia,needs-double-reset;
521 nvidia,phy = <&phy1>; 616 nvidia,phy = <&phy1>;
522 status = "disabled"; 617 status = "disabled";
@@ -548,6 +643,8 @@
548 interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>; 643 interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
549 phy_type = "ulpi"; 644 phy_type = "ulpi";
550 clocks = <&tegra_car TEGRA20_CLK_USB2>; 645 clocks = <&tegra_car TEGRA20_CLK_USB2>;
646 resets = <&tegra_car 58>;
647 reset-names = "usb";
551 nvidia,phy = <&phy2>; 648 nvidia,phy = <&phy2>;
552 status = "disabled"; 649 status = "disabled";
553 }; 650 };
@@ -569,6 +666,8 @@
569 interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>; 666 interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
570 phy_type = "utmi"; 667 phy_type = "utmi";
571 clocks = <&tegra_car TEGRA20_CLK_USB3>; 668 clocks = <&tegra_car TEGRA20_CLK_USB3>;
669 resets = <&tegra_car 59>;
670 reset-names = "usb";
572 nvidia,phy = <&phy3>; 671 nvidia,phy = <&phy3>;
573 status = "disabled"; 672 status = "disabled";
574 }; 673 };
@@ -597,6 +696,8 @@
597 reg = <0xc8000000 0x200>; 696 reg = <0xc8000000 0x200>;
598 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; 697 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
599 clocks = <&tegra_car TEGRA20_CLK_SDMMC1>; 698 clocks = <&tegra_car TEGRA20_CLK_SDMMC1>;
699 resets = <&tegra_car 14>;
700 reset-names = "sdhci";
600 status = "disabled"; 701 status = "disabled";
601 }; 702 };
602 703
@@ -605,6 +706,8 @@
605 reg = <0xc8000200 0x200>; 706 reg = <0xc8000200 0x200>;
606 interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>; 707 interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
607 clocks = <&tegra_car TEGRA20_CLK_SDMMC2>; 708 clocks = <&tegra_car TEGRA20_CLK_SDMMC2>;
709 resets = <&tegra_car 9>;
710 reset-names = "sdhci";
608 status = "disabled"; 711 status = "disabled";
609 }; 712 };
610 713
@@ -613,6 +716,8 @@
613 reg = <0xc8000400 0x200>; 716 reg = <0xc8000400 0x200>;
614 interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>; 717 interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
615 clocks = <&tegra_car TEGRA20_CLK_SDMMC3>; 718 clocks = <&tegra_car TEGRA20_CLK_SDMMC3>;
719 resets = <&tegra_car 69>;
720 reset-names = "sdhci";
616 status = "disabled"; 721 status = "disabled";
617 }; 722 };
618 723
@@ -621,6 +726,8 @@
621 reg = <0xc8000600 0x200>; 726 reg = <0xc8000600 0x200>;
622 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>; 727 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
623 clocks = <&tegra_car TEGRA20_CLK_SDMMC4>; 728 clocks = <&tegra_car TEGRA20_CLK_SDMMC4>;
729 resets = <&tegra_car 15>;
730 reset-names = "sdhci";
624 status = "disabled"; 731 status = "disabled";
625 }; 732 };
626 733