xref: /rk3399_rockchip-uboot/arch/arm/dts/tegra20.dtsi (revision 36737f22b78a475c6bbc8a0467b51e4d95b52a7d)
1c3691392SSimon Glass#include <dt-bindings/clock/tegra20-car.h>
28946034aSSimon Glass#include <dt-bindings/gpio/tegra-gpio.h>
3ee7d755aSSimon Glass#include <dt-bindings/pinctrl/pinctrl-tegra.h>
48946034aSSimon Glass#include <dt-bindings/interrupt-controller/arm-gic.h>
58946034aSSimon Glass
66c5be646STom Warren#include "skeleton.dtsi"
7c3474ef3SSimon Glass
8c3474ef3SSimon Glass/ {
9c3474ef3SSimon Glass	compatible = "nvidia,tegra20";
10ee7d755aSSimon Glass	interrupt-parent = <&lic>;
11c3474ef3SSimon Glass
12ee7d755aSSimon Glass	host1x@50000000 {
13eefe3e59SSimon Glass		compatible = "nvidia,tegra20-host1x", "simple-bus";
14eefe3e59SSimon Glass		reg = <0x50000000 0x00024000>;
15ee7d755aSSimon Glass		interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>, /* syncpt */
16ee7d755aSSimon Glass			     <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; /* general */
17ee7d755aSSimon Glass		clocks = <&tegra_car TEGRA20_CLK_HOST1X>;
18ee7d755aSSimon Glass		resets = <&tegra_car 28>;
19ee7d755aSSimon Glass		reset-names = "host1x";
20eefe3e59SSimon Glass
21eefe3e59SSimon Glass		#address-cells = <1>;
22eefe3e59SSimon Glass		#size-cells = <1>;
23eefe3e59SSimon Glass
24eefe3e59SSimon Glass		ranges = <0x54000000 0x54000000 0x04000000>;
25eefe3e59SSimon Glass
26ee7d755aSSimon Glass		mpe@54040000 {
27ee7d755aSSimon Glass			compatible = "nvidia,tegra20-mpe";
28eefe3e59SSimon Glass			reg = <0x54040000 0x00040000>;
29ee7d755aSSimon Glass			interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>;
30ee7d755aSSimon Glass			clocks = <&tegra_car TEGRA20_CLK_MPE>;
31ee7d755aSSimon Glass			resets = <&tegra_car 60>;
32ee7d755aSSimon Glass			reset-names = "mpe";
33eefe3e59SSimon Glass		};
34eefe3e59SSimon Glass
35ee7d755aSSimon Glass		vi@54080000 {
36ee7d755aSSimon Glass			compatible = "nvidia,tegra20-vi";
37eefe3e59SSimon Glass			reg = <0x54080000 0x00040000>;
38ee7d755aSSimon Glass			interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
39ee7d755aSSimon Glass			clocks = <&tegra_car TEGRA20_CLK_VI>;
40ee7d755aSSimon Glass			resets = <&tegra_car 20>;
41ee7d755aSSimon Glass			reset-names = "vi";
42eefe3e59SSimon Glass		};
43eefe3e59SSimon Glass
44ee7d755aSSimon Glass		epp@540c0000 {
45ee7d755aSSimon Glass			compatible = "nvidia,tegra20-epp";
46eefe3e59SSimon Glass			reg = <0x540c0000 0x00040000>;
47ee7d755aSSimon Glass			interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
48ee7d755aSSimon Glass			clocks = <&tegra_car TEGRA20_CLK_EPP>;
49ee7d755aSSimon Glass			resets = <&tegra_car 19>;
50ee7d755aSSimon Glass			reset-names = "epp";
51eefe3e59SSimon Glass		};
52eefe3e59SSimon Glass
53ee7d755aSSimon Glass		isp@54100000 {
54ee7d755aSSimon Glass			compatible = "nvidia,tegra20-isp";
55eefe3e59SSimon Glass			reg = <0x54100000 0x00040000>;
56ee7d755aSSimon Glass			interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
57ee7d755aSSimon Glass			clocks = <&tegra_car TEGRA20_CLK_ISP>;
58ee7d755aSSimon Glass			resets = <&tegra_car 23>;
59ee7d755aSSimon Glass			reset-names = "isp";
60eefe3e59SSimon Glass		};
61eefe3e59SSimon Glass
62ee7d755aSSimon Glass		gr2d@54140000 {
63ee7d755aSSimon Glass			compatible = "nvidia,tegra20-gr2d";
64eefe3e59SSimon Glass			reg = <0x54140000 0x00040000>;
65ee7d755aSSimon Glass			interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
66ee7d755aSSimon Glass			clocks = <&tegra_car TEGRA20_CLK_GR2D>;
67ee7d755aSSimon Glass			resets = <&tegra_car 21>;
68ee7d755aSSimon Glass			reset-names = "2d";
69eefe3e59SSimon Glass		};
70eefe3e59SSimon Glass
71ee7d755aSSimon Glass		gr3d@54180000 {
72ee7d755aSSimon Glass			compatible = "nvidia,tegra20-gr3d";
73eefe3e59SSimon Glass			reg = <0x54180000 0x00040000>;
74ee7d755aSSimon Glass			clocks = <&tegra_car TEGRA20_CLK_GR3D>;
75ee7d755aSSimon Glass			resets = <&tegra_car 24>;
76ee7d755aSSimon Glass			reset-names = "3d";
77eefe3e59SSimon Glass		};
78eefe3e59SSimon Glass
79eefe3e59SSimon Glass		dc@54200000 {
80eefe3e59SSimon Glass			compatible = "nvidia,tegra20-dc";
81eefe3e59SSimon Glass			reg = <0x54200000 0x00040000>;
82ee7d755aSSimon Glass			interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
83ee7d755aSSimon Glass			clocks = <&tegra_car TEGRA20_CLK_DISP1>,
84ee7d755aSSimon Glass				 <&tegra_car TEGRA20_CLK_PLL_P>;
85ee7d755aSSimon Glass			clock-names = "dc", "parent";
86ee7d755aSSimon Glass			resets = <&tegra_car 27>;
87ee7d755aSSimon Glass			reset-names = "dc";
88ee7d755aSSimon Glass
89ee7d755aSSimon Glass			nvidia,head = <0>;
90eefe3e59SSimon Glass
91eefe3e59SSimon Glass			rgb {
92eefe3e59SSimon Glass				status = "disabled";
93eefe3e59SSimon Glass			};
94eefe3e59SSimon Glass		};
95eefe3e59SSimon Glass
96eefe3e59SSimon Glass		dc@54240000 {
97eefe3e59SSimon Glass			compatible = "nvidia,tegra20-dc";
98eefe3e59SSimon Glass			reg = <0x54240000 0x00040000>;
99ee7d755aSSimon Glass			interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
100ee7d755aSSimon Glass			clocks = <&tegra_car TEGRA20_CLK_DISP2>,
101ee7d755aSSimon Glass				 <&tegra_car TEGRA20_CLK_PLL_P>;
102ee7d755aSSimon Glass			clock-names = "dc", "parent";
103ee7d755aSSimon Glass			resets = <&tegra_car 26>;
104ee7d755aSSimon Glass			reset-names = "dc";
105ee7d755aSSimon Glass
106ee7d755aSSimon Glass			nvidia,head = <1>;
107eefe3e59SSimon Glass
108eefe3e59SSimon Glass			rgb {
109eefe3e59SSimon Glass				status = "disabled";
110eefe3e59SSimon Glass			};
111eefe3e59SSimon Glass		};
112eefe3e59SSimon Glass
113ee7d755aSSimon Glass		hdmi@54280000 {
114eefe3e59SSimon Glass			compatible = "nvidia,tegra20-hdmi";
115eefe3e59SSimon Glass			reg = <0x54280000 0x00040000>;
116ee7d755aSSimon Glass			interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
117ee7d755aSSimon Glass			clocks = <&tegra_car TEGRA20_CLK_HDMI>,
118ee7d755aSSimon Glass				 <&tegra_car TEGRA20_CLK_PLL_D_OUT0>;
119ee7d755aSSimon Glass			clock-names = "hdmi", "parent";
120ee7d755aSSimon Glass			resets = <&tegra_car 51>;
121ee7d755aSSimon Glass			reset-names = "hdmi";
122eefe3e59SSimon Glass			status = "disabled";
123eefe3e59SSimon Glass		};
124eefe3e59SSimon Glass
125ee7d755aSSimon Glass		tvo@542c0000 {
126eefe3e59SSimon Glass			compatible = "nvidia,tegra20-tvo";
127eefe3e59SSimon Glass			reg = <0x542c0000 0x00040000>;
128ee7d755aSSimon Glass			interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
129ee7d755aSSimon Glass			clocks = <&tegra_car TEGRA20_CLK_TVO>;
130eefe3e59SSimon Glass			status = "disabled";
131eefe3e59SSimon Glass		};
132eefe3e59SSimon Glass
133ee7d755aSSimon Glass		dsi@54300000 {
134eefe3e59SSimon Glass			compatible = "nvidia,tegra20-dsi";
135eefe3e59SSimon Glass			reg = <0x54300000 0x00040000>;
136ee7d755aSSimon Glass			clocks = <&tegra_car TEGRA20_CLK_DSI>;
137ee7d755aSSimon Glass			resets = <&tegra_car 48>;
138ee7d755aSSimon Glass			reset-names = "dsi";
139eefe3e59SSimon Glass			status = "disabled";
140eefe3e59SSimon Glass		};
141eefe3e59SSimon Glass	};
142eefe3e59SSimon Glass
143ee7d755aSSimon Glass	timer@50040600 {
144ee7d755aSSimon Glass		compatible = "arm,cortex-a9-twd-timer";
145ee7d755aSSimon Glass		interrupt-parent = <&intc>;
146ee7d755aSSimon Glass		reg = <0x50040600 0x20>;
147ee7d755aSSimon Glass		interrupts = <GIC_PPI 13
148*50a303bdSStephen Warren			(GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_EDGE_RISING)>;
149ee7d755aSSimon Glass		clocks = <&tegra_car TEGRA20_CLK_TWD>;
150ee7d755aSSimon Glass	};
151ee7d755aSSimon Glass
152b7723f3fSAllen Martin	intc: interrupt-controller@50041000 {
153ee7d755aSSimon Glass		compatible = "arm,cortex-a9-gic";
154ee7d755aSSimon Glass		reg = <0x50041000 0x1000
155ee7d755aSSimon Glass		       0x50040100 0x0100>;
156b7723f3fSAllen Martin		interrupt-controller;
157ee7d755aSSimon Glass		#interrupt-cells = <3>;
158ee7d755aSSimon Glass		interrupt-parent = <&intc>;
159ee7d755aSSimon Glass	};
160ee7d755aSSimon Glass
161ee7d755aSSimon Glass	cache-controller@50043000 {
162ee7d755aSSimon Glass		compatible = "arm,pl310-cache";
163ee7d755aSSimon Glass		reg = <0x50043000 0x1000>;
164ee7d755aSSimon Glass		arm,data-latency = <5 5 2>;
165ee7d755aSSimon Glass		arm,tag-latency = <4 4 2>;
166ee7d755aSSimon Glass		cache-unified;
167ee7d755aSSimon Glass		cache-level = <2>;
168ee7d755aSSimon Glass	};
169ee7d755aSSimon Glass
170ee7d755aSSimon Glass	lic: interrupt-controller@60004000 {
171ee7d755aSSimon Glass		compatible = "nvidia,tegra20-ictlr";
172ee7d755aSSimon Glass		reg = <0x60004000 0x100>,
173ee7d755aSSimon Glass		      <0x60004100 0x50>,
174ee7d755aSSimon Glass		      <0x60004200 0x50>,
175ee7d755aSSimon Glass		      <0x60004300 0x50>;
176ee7d755aSSimon Glass		interrupt-controller;
177ee7d755aSSimon Glass		#interrupt-cells = <3>;
178ee7d755aSSimon Glass		interrupt-parent = <&intc>;
179ee7d755aSSimon Glass	};
180ee7d755aSSimon Glass
181ee7d755aSSimon Glass	timer@60005000 {
182ee7d755aSSimon Glass		compatible = "nvidia,tegra20-timer";
183ee7d755aSSimon Glass		reg = <0x60005000 0x60>;
184ee7d755aSSimon Glass		interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
185ee7d755aSSimon Glass			     <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
186ee7d755aSSimon Glass			     <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
187ee7d755aSSimon Glass			     <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
188ee7d755aSSimon Glass		clocks = <&tegra_car TEGRA20_CLK_TIMER>;
189b7723f3fSAllen Martin	};
190b7723f3fSAllen Martin
191b7723f3fSAllen Martin	tegra_car: clock@60006000 {
192b7723f3fSAllen Martin		compatible = "nvidia,tegra20-car";
193b7723f3fSAllen Martin		reg = <0x60006000 0x1000>;
194b7723f3fSAllen Martin		#clock-cells = <1>;
195ee7d755aSSimon Glass		#reset-cells = <1>;
196b7723f3fSAllen Martin	};
197b7723f3fSAllen Martin
198ee7d755aSSimon Glass	flow-controller@60007000 {
199ee7d755aSSimon Glass		compatible = "nvidia,tegra20-flowctrl";
200ee7d755aSSimon Glass		reg = <0x60007000 0x1000>;
201ee7d755aSSimon Glass	};
202ee7d755aSSimon Glass
203ee7d755aSSimon Glass	apbdma: dma@6000a000 {
20464e6ec1dSAllen Martin		compatible = "nvidia,tegra20-apbdma";
20564e6ec1dSAllen Martin		reg = <0x6000a000 0x1200>;
206ee7d755aSSimon Glass		interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
207ee7d755aSSimon Glass			     <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
208ee7d755aSSimon Glass			     <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
209ee7d755aSSimon Glass			     <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
210ee7d755aSSimon Glass			     <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
211ee7d755aSSimon Glass			     <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
212ee7d755aSSimon Glass			     <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
213ee7d755aSSimon Glass			     <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>,
214ee7d755aSSimon Glass			     <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>,
215ee7d755aSSimon Glass			     <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
216ee7d755aSSimon Glass			     <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
217ee7d755aSSimon Glass			     <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
218ee7d755aSSimon Glass			     <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
219ee7d755aSSimon Glass			     <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
220ee7d755aSSimon Glass			     <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
221ee7d755aSSimon Glass			     <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>;
222ee7d755aSSimon Glass		clocks = <&tegra_car TEGRA20_CLK_APBDMA>;
223ee7d755aSSimon Glass		resets = <&tegra_car 34>;
224ee7d755aSSimon Glass		reset-names = "dma";
225ee7d755aSSimon Glass		#dma-cells = <1>;
226ee7d755aSSimon Glass	};
227ee7d755aSSimon Glass
228ee7d755aSSimon Glass	ahb@6000c000 {
229ee7d755aSSimon Glass		compatible = "nvidia,tegra20-ahb";
230ee7d755aSSimon Glass		reg = <0x6000c000 0x110>; /* AHB Arbitration + Gizmo Controller */
23164e6ec1dSAllen Martin	};
23264e6ec1dSAllen Martin
233b7723f3fSAllen Martin	gpio: gpio@6000d000 {
234b7723f3fSAllen Martin		compatible = "nvidia,tegra20-gpio";
235b7723f3fSAllen Martin		reg = <0x6000d000 0x1000>;
2368946034aSSimon Glass		interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>,
2378946034aSSimon Glass			     <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>,
2388946034aSSimon Glass			     <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>,
2398946034aSSimon Glass			     <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>,
2408946034aSSimon Glass			     <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>,
2418946034aSSimon Glass			     <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>,
2428946034aSSimon Glass			     <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
243b7723f3fSAllen Martin		#gpio-cells = <2>;
244b7723f3fSAllen Martin		gpio-controller;
2458946034aSSimon Glass		#interrupt-cells = <2>;
2468946034aSSimon Glass		interrupt-controller;
247ee7d755aSSimon Glass		/*
248ee7d755aSSimon Glass		gpio-ranges = <&pinmux 0 0 224>;
249ee7d755aSSimon Glass		*/
250b7723f3fSAllen Martin	};
251b7723f3fSAllen Martin
252ee7d755aSSimon Glass	apbmisc@70000800 {
253ee7d755aSSimon Glass		compatible = "nvidia,tegra20-apbmisc";
254ee7d755aSSimon Glass		reg = <0x70000800 0x64   /* Chip revision */
255ee7d755aSSimon Glass		       0x70000008 0x04>; /* Strapping options */
256ee7d755aSSimon Glass	};
257ee7d755aSSimon Glass
258ee7d755aSSimon Glass	pinmux: pinmux@70000014 {
259b7723f3fSAllen Martin		compatible = "nvidia,tegra20-pinmux";
260b7723f3fSAllen Martin		reg = <0x70000014 0x10   /* Tri-state registers */
261b7723f3fSAllen Martin		       0x70000080 0x20   /* Mux registers */
262b7723f3fSAllen Martin		       0x700000a0 0x14   /* Pull-up/down registers */
263b7723f3fSAllen Martin		       0x70000868 0xa8>; /* Pad control registers */
264b7723f3fSAllen Martin	};
265b7723f3fSAllen Martin
266b7723f3fSAllen Martin	das@70000c00 {
267b7723f3fSAllen Martin		compatible = "nvidia,tegra20-das";
268b7723f3fSAllen Martin		reg = <0x70000c00 0x80>;
269b7723f3fSAllen Martin	};
270b7723f3fSAllen Martin
271ee7d755aSSimon Glass	tegra_ac97: ac97@70002000 {
272ee7d755aSSimon Glass		compatible = "nvidia,tegra20-ac97";
273ee7d755aSSimon Glass		reg = <0x70002000 0x200>;
274ee7d755aSSimon Glass		interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
275ee7d755aSSimon Glass		clocks = <&tegra_car TEGRA20_CLK_AC97>;
276ee7d755aSSimon Glass		resets = <&tegra_car 3>;
277ee7d755aSSimon Glass		reset-names = "ac97";
278ee7d755aSSimon Glass		dmas = <&apbdma 12>, <&apbdma 12>;
279ee7d755aSSimon Glass		dma-names = "rx", "tx";
280ee7d755aSSimon Glass		status = "disabled";
281ee7d755aSSimon Glass	};
282ee7d755aSSimon Glass
283ee7d755aSSimon Glass	tegra_i2s1: i2s@70002800 {
284b7723f3fSAllen Martin		compatible = "nvidia,tegra20-i2s";
285b7723f3fSAllen Martin		reg = <0x70002800 0x200>;
286ee7d755aSSimon Glass		interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
287ee7d755aSSimon Glass		clocks = <&tegra_car TEGRA20_CLK_I2S1>;
288ee7d755aSSimon Glass		resets = <&tegra_car 11>;
289ee7d755aSSimon Glass		reset-names = "i2s";
290ee7d755aSSimon Glass		dmas = <&apbdma 2>, <&apbdma 2>;
291ee7d755aSSimon Glass		dma-names = "rx", "tx";
292ee7d755aSSimon Glass		status = "disabled";
293b7723f3fSAllen Martin	};
294b7723f3fSAllen Martin
295ee7d755aSSimon Glass	tegra_i2s2: i2s@70002a00 {
296b7723f3fSAllen Martin		compatible = "nvidia,tegra20-i2s";
297b7723f3fSAllen Martin		reg = <0x70002a00 0x200>;
298ee7d755aSSimon Glass		interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
299ee7d755aSSimon Glass		clocks = <&tegra_car TEGRA20_CLK_I2S2>;
300ee7d755aSSimon Glass		resets = <&tegra_car 18>;
301ee7d755aSSimon Glass		reset-names = "i2s";
302ee7d755aSSimon Glass		dmas = <&apbdma 1>, <&apbdma 1>;
303ee7d755aSSimon Glass		dma-names = "rx", "tx";
304ee7d755aSSimon Glass		status = "disabled";
305b7723f3fSAllen Martin	};
306b7723f3fSAllen Martin
307ee7d755aSSimon Glass	/*
308ee7d755aSSimon Glass	 * There are two serial driver i.e. 8250 based simple serial
309ee7d755aSSimon Glass	 * driver and APB DMA based serial driver for higher baudrate
310ee7d755aSSimon Glass	 * and performace. To enable the 8250 based driver, the compatible
311ee7d755aSSimon Glass	 * is "nvidia,tegra20-uart" and to enable the APB DMA based serial
312*50a303bdSStephen Warren	 * driver, the compatible is "nvidia,tegra20-hsuart".
313ee7d755aSSimon Glass	 */
314c3691392SSimon Glass	uarta: serial@70006000 {
315b7723f3fSAllen Martin		compatible = "nvidia,tegra20-uart";
316b7723f3fSAllen Martin		reg = <0x70006000 0x40>;
317b7723f3fSAllen Martin		reg-shift = <2>;
318c3691392SSimon Glass		interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
319c3691392SSimon Glass		clocks = <&tegra_car TEGRA20_CLK_UARTA>;
320c3691392SSimon Glass		resets = <&tegra_car 6>;
321c3691392SSimon Glass		reset-names = "serial";
322c3691392SSimon Glass		dmas = <&apbdma 8>, <&apbdma 8>;
323c3691392SSimon Glass		dma-names = "rx", "tx";
324c3691392SSimon Glass		status = "disabled";
325b7723f3fSAllen Martin	};
326b7723f3fSAllen Martin
327c3691392SSimon Glass	uartb: serial@70006040 {
328b7723f3fSAllen Martin		compatible = "nvidia,tegra20-uart";
329b7723f3fSAllen Martin		reg = <0x70006040 0x40>;
330b7723f3fSAllen Martin		reg-shift = <2>;
331c3691392SSimon Glass		interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
332c3691392SSimon Glass		clocks = <&tegra_car TEGRA20_CLK_UARTB>;
333c3691392SSimon Glass		resets = <&tegra_car 7>;
334c3691392SSimon Glass		reset-names = "serial";
335c3691392SSimon Glass		dmas = <&apbdma 9>, <&apbdma 9>;
336c3691392SSimon Glass		dma-names = "rx", "tx";
337c3691392SSimon Glass		status = "disabled";
338b7723f3fSAllen Martin	};
339b7723f3fSAllen Martin
340c3691392SSimon Glass	uartc: serial@70006200 {
341b7723f3fSAllen Martin		compatible = "nvidia,tegra20-uart";
342b7723f3fSAllen Martin		reg = <0x70006200 0x100>;
343b7723f3fSAllen Martin		reg-shift = <2>;
344c3691392SSimon Glass		interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
345c3691392SSimon Glass		clocks = <&tegra_car TEGRA20_CLK_UARTC>;
346c3691392SSimon Glass		resets = <&tegra_car 55>;
347c3691392SSimon Glass		reset-names = "serial";
348c3691392SSimon Glass		dmas = <&apbdma 10>, <&apbdma 10>;
349c3691392SSimon Glass		dma-names = "rx", "tx";
350c3691392SSimon Glass		status = "disabled";
351b7723f3fSAllen Martin	};
352b7723f3fSAllen Martin
353c3691392SSimon Glass	uartd: serial@70006300 {
354b7723f3fSAllen Martin		compatible = "nvidia,tegra20-uart";
355b7723f3fSAllen Martin		reg = <0x70006300 0x100>;
356b7723f3fSAllen Martin		reg-shift = <2>;
357c3691392SSimon Glass		interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
358c3691392SSimon Glass		clocks = <&tegra_car TEGRA20_CLK_UARTD>;
359c3691392SSimon Glass		resets = <&tegra_car 65>;
360c3691392SSimon Glass		reset-names = "serial";
361c3691392SSimon Glass		dmas = <&apbdma 19>, <&apbdma 19>;
362c3691392SSimon Glass		dma-names = "rx", "tx";
363c3691392SSimon Glass		status = "disabled";
364b7723f3fSAllen Martin	};
365b7723f3fSAllen Martin
366c3691392SSimon Glass	uarte: serial@70006400 {
367b7723f3fSAllen Martin		compatible = "nvidia,tegra20-uart";
368b7723f3fSAllen Martin		reg = <0x70006400 0x100>;
369b7723f3fSAllen Martin		reg-shift = <2>;
370c3691392SSimon Glass		interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
371c3691392SSimon Glass		clocks = <&tegra_car TEGRA20_CLK_UARTE>;
372c3691392SSimon Glass		resets = <&tegra_car 66>;
373c3691392SSimon Glass		reset-names = "serial";
374c3691392SSimon Glass		dmas = <&apbdma 20>, <&apbdma 20>;
375c3691392SSimon Glass		dma-names = "rx", "tx";
376c3691392SSimon Glass		status = "disabled";
377b7723f3fSAllen Martin	};
378b7723f3fSAllen Martin
379b7723f3fSAllen Martin	nand: nand-controller@70008000 {
380b7723f3fSAllen Martin		#address-cells = <1>;
381b7723f3fSAllen Martin		#size-cells = <0>;
382b7723f3fSAllen Martin		compatible = "nvidia,tegra20-nand";
383b7723f3fSAllen Martin		reg = <0x70008000 0x100>;
384b7723f3fSAllen Martin	};
385b7723f3fSAllen Martin
386b7723f3fSAllen Martin	pwm: pwm@7000a000 {
387b7723f3fSAllen Martin		compatible = "nvidia,tegra20-pwm";
388b7723f3fSAllen Martin		reg = <0x7000a000 0x100>;
389b7723f3fSAllen Martin		#pwm-cells = <2>;
390ee7d755aSSimon Glass		clocks = <&tegra_car TEGRA20_CLK_PWM>;
391ee7d755aSSimon Glass		resets = <&tegra_car 17>;
392ee7d755aSSimon Glass		reset-names = "pwm";
393ee7d755aSSimon Glass		status = "disabled";
394ee7d755aSSimon Glass	};
395ee7d755aSSimon Glass
396ee7d755aSSimon Glass	rtc@7000e000 {
397ee7d755aSSimon Glass		compatible = "nvidia,tegra20-rtc";
398ee7d755aSSimon Glass		reg = <0x7000e000 0x100>;
399ee7d755aSSimon Glass		interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
400ee7d755aSSimon Glass		clocks = <&tegra_car TEGRA20_CLK_RTC>;
401b7723f3fSAllen Martin	};
402b7723f3fSAllen Martin
403b7723f3fSAllen Martin	i2c@7000c000 {
404ee7d755aSSimon Glass		compatible = "nvidia,tegra20-i2c";
405ee7d755aSSimon Glass		reg = <0x7000c000 0x100>;
406ee7d755aSSimon Glass		interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
407b7723f3fSAllen Martin		#address-cells = <1>;
408b7723f3fSAllen Martin		#size-cells = <0>;
409ee7d755aSSimon Glass		clocks = <&tegra_car TEGRA20_CLK_I2C1>,
410ee7d755aSSimon Glass			 <&tegra_car TEGRA20_CLK_PLL_P_OUT3>;
411ee7d755aSSimon Glass		clock-names = "div-clk", "fast-clk";
412ee7d755aSSimon Glass		resets = <&tegra_car 12>;
413ee7d755aSSimon Glass		reset-names = "i2c";
414ee7d755aSSimon Glass		dmas = <&apbdma 21>, <&apbdma 21>;
415ee7d755aSSimon Glass		dma-names = "rx", "tx";
416ee7d755aSSimon Glass		status = "disabled";
417b7723f3fSAllen Martin	};
418b7723f3fSAllen Martin
419c98f03faSAllen Martin	spi@7000c380 {
420c98f03faSAllen Martin		compatible = "nvidia,tegra20-sflash";
421c98f03faSAllen Martin		reg = <0x7000c380 0x80>;
422ee7d755aSSimon Glass		interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
423c98f03faSAllen Martin		#address-cells = <1>;
424c98f03faSAllen Martin		#size-cells = <0>;
425ee7d755aSSimon Glass		clocks = <&tegra_car TEGRA20_CLK_SPI>;
426ee7d755aSSimon Glass		resets = <&tegra_car 43>;
427ee7d755aSSimon Glass		reset-names = "spi";
428ee7d755aSSimon Glass		dmas = <&apbdma 11>, <&apbdma 11>;
429ee7d755aSSimon Glass		dma-names = "rx", "tx";
430c98f03faSAllen Martin		status = "disabled";
431c98f03faSAllen Martin	};
432c98f03faSAllen Martin
433b7723f3fSAllen Martin	i2c@7000c400 {
434ee7d755aSSimon Glass		compatible = "nvidia,tegra20-i2c";
435ee7d755aSSimon Glass		reg = <0x7000c400 0x100>;
436ee7d755aSSimon Glass		interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
437b7723f3fSAllen Martin		#address-cells = <1>;
438b7723f3fSAllen Martin		#size-cells = <0>;
439ee7d755aSSimon Glass		clocks = <&tegra_car TEGRA20_CLK_I2C2>,
440ee7d755aSSimon Glass			 <&tegra_car TEGRA20_CLK_PLL_P_OUT3>;
441ee7d755aSSimon Glass		clock-names = "div-clk", "fast-clk";
442ee7d755aSSimon Glass		resets = <&tegra_car 54>;
443ee7d755aSSimon Glass		reset-names = "i2c";
444ee7d755aSSimon Glass		dmas = <&apbdma 22>, <&apbdma 22>;
445ee7d755aSSimon Glass		dma-names = "rx", "tx";
446ee7d755aSSimon Glass		status = "disabled";
447b7723f3fSAllen Martin	};
448b7723f3fSAllen Martin
449b7723f3fSAllen Martin	i2c@7000c500 {
450ee7d755aSSimon Glass		compatible = "nvidia,tegra20-i2c";
451ee7d755aSSimon Glass		reg = <0x7000c500 0x100>;
452ee7d755aSSimon Glass		interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
453b7723f3fSAllen Martin		#address-cells = <1>;
454b7723f3fSAllen Martin		#size-cells = <0>;
455ee7d755aSSimon Glass		clocks = <&tegra_car TEGRA20_CLK_I2C3>,
456ee7d755aSSimon Glass			 <&tegra_car TEGRA20_CLK_PLL_P_OUT3>;
457ee7d755aSSimon Glass		clock-names = "div-clk", "fast-clk";
458ee7d755aSSimon Glass		resets = <&tegra_car 67>;
459ee7d755aSSimon Glass		reset-names = "i2c";
460ee7d755aSSimon Glass		dmas = <&apbdma 23>, <&apbdma 23>;
461ee7d755aSSimon Glass		dma-names = "rx", "tx";
462ee7d755aSSimon Glass		status = "disabled";
463b7723f3fSAllen Martin	};
464b7723f3fSAllen Martin
465b7723f3fSAllen Martin	i2c@7000d000 {
466ee7d755aSSimon Glass		compatible = "nvidia,tegra20-i2c-dvc";
467ee7d755aSSimon Glass		reg = <0x7000d000 0x200>;
468ee7d755aSSimon Glass		interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
469b7723f3fSAllen Martin		#address-cells = <1>;
470b7723f3fSAllen Martin		#size-cells = <0>;
471ee7d755aSSimon Glass		clocks = <&tegra_car TEGRA20_CLK_DVC>,
472ee7d755aSSimon Glass			 <&tegra_car TEGRA20_CLK_PLL_P_OUT3>;
473ee7d755aSSimon Glass		clock-names = "div-clk", "fast-clk";
474ee7d755aSSimon Glass		resets = <&tegra_car 47>;
475ee7d755aSSimon Glass		reset-names = "i2c";
476ee7d755aSSimon Glass		dmas = <&apbdma 24>, <&apbdma 24>;
477ee7d755aSSimon Glass		dma-names = "rx", "tx";
478ee7d755aSSimon Glass		status = "disabled";
479b7723f3fSAllen Martin	};
480b7723f3fSAllen Martin
48120613c92SMirza Krak	spi@7000d400 {
48220613c92SMirza Krak		compatible = "nvidia,tegra20-slink";
48320613c92SMirza Krak		reg = <0x7000d400 0x200>;
48420613c92SMirza Krak		interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
48520613c92SMirza Krak		#address-cells = <1>;
48620613c92SMirza Krak		#size-cells = <0>;
48720613c92SMirza Krak		clocks = <&tegra_car TEGRA20_CLK_SBC1>;
48820613c92SMirza Krak		resets = <&tegra_car 41>;
48920613c92SMirza Krak		reset-names = "spi";
49020613c92SMirza Krak		dmas = <&apbdma 15>, <&apbdma 15>;
49120613c92SMirza Krak		dma-names = "rx", "tx";
49220613c92SMirza Krak		status = "disabled";
49320613c92SMirza Krak	};
49420613c92SMirza Krak
49520613c92SMirza Krak	spi@7000d600 {
49620613c92SMirza Krak		compatible = "nvidia,tegra20-slink";
49720613c92SMirza Krak		reg = <0x7000d600 0x200>;
49820613c92SMirza Krak		interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
49920613c92SMirza Krak		#address-cells = <1>;
50020613c92SMirza Krak		#size-cells = <0>;
50120613c92SMirza Krak		clocks = <&tegra_car TEGRA20_CLK_SBC2>;
50220613c92SMirza Krak		resets = <&tegra_car 44>;
50320613c92SMirza Krak		reset-names = "spi";
50420613c92SMirza Krak		dmas = <&apbdma 16>, <&apbdma 16>;
50520613c92SMirza Krak		dma-names = "rx", "tx";
50620613c92SMirza Krak		status = "disabled";
50720613c92SMirza Krak	};
50820613c92SMirza Krak
50920613c92SMirza Krak	spi@7000d800 {
51020613c92SMirza Krak		compatible = "nvidia,tegra20-slink";
51120613c92SMirza Krak		reg = <0x7000d800 0x200>;
51220613c92SMirza Krak		interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
51320613c92SMirza Krak		#address-cells = <1>;
51420613c92SMirza Krak		#size-cells = <0>;
51520613c92SMirza Krak		clocks = <&tegra_car TEGRA20_CLK_SBC3>;
51620613c92SMirza Krak		resets = <&tegra_car 46>;
51720613c92SMirza Krak		reset-names = "spi";
51820613c92SMirza Krak		dmas = <&apbdma 17>, <&apbdma 17>;
51920613c92SMirza Krak		dma-names = "rx", "tx";
52020613c92SMirza Krak		status = "disabled";
52120613c92SMirza Krak	};
52220613c92SMirza Krak
52320613c92SMirza Krak	spi@7000da00 {
52420613c92SMirza Krak		compatible = "nvidia,tegra20-slink";
52520613c92SMirza Krak		reg = <0x7000da00 0x200>;
52620613c92SMirza Krak		interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
52720613c92SMirza Krak		#address-cells = <1>;
52820613c92SMirza Krak		#size-cells = <0>;
52920613c92SMirza Krak		clocks = <&tegra_car TEGRA20_CLK_SBC4>;
53020613c92SMirza Krak		resets = <&tegra_car 68>;
53120613c92SMirza Krak		reset-names = "spi";
53220613c92SMirza Krak		dmas = <&apbdma 18>, <&apbdma 18>;
53320613c92SMirza Krak		dma-names = "rx", "tx";
53420613c92SMirza Krak		status = "disabled";
53520613c92SMirza Krak	};
53620613c92SMirza Krak
537b7723f3fSAllen Martin	kbc@7000e200 {
538b7723f3fSAllen Martin		compatible = "nvidia,tegra20-kbc";
539ee7d755aSSimon Glass		reg = <0x7000e200 0x100>;
540ee7d755aSSimon Glass		interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
541ee7d755aSSimon Glass		clocks = <&tegra_car TEGRA20_CLK_KBC>;
542ee7d755aSSimon Glass		resets = <&tegra_car 36>;
543ee7d755aSSimon Glass		reset-names = "kbc";
544ee7d755aSSimon Glass		status = "disabled";
545b7723f3fSAllen Martin	};
546b7723f3fSAllen Martin
547ee7d755aSSimon Glass	pmc@7000e400 {
548ee7d755aSSimon Glass		compatible = "nvidia,tegra20-pmc";
549ee7d755aSSimon Glass		reg = <0x7000e400 0x400>;
550ee7d755aSSimon Glass		clocks = <&tegra_car TEGRA20_CLK_PCLK>, <&clk32k_in>;
551ee7d755aSSimon Glass		clock-names = "pclk", "clk32k_in";
552ee7d755aSSimon Glass	};
553ee7d755aSSimon Glass
554ee7d755aSSimon Glass	memory-controller@7000f000 {
555ee7d755aSSimon Glass		compatible = "nvidia,tegra20-mc";
556ee7d755aSSimon Glass		reg = <0x7000f000 0x024
557ee7d755aSSimon Glass		       0x7000f03c 0x3c4>;
558ee7d755aSSimon Glass		interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
559ee7d755aSSimon Glass	};
560ee7d755aSSimon Glass
561ee7d755aSSimon Glass	iommu@7000f024 {
562ee7d755aSSimon Glass		compatible = "nvidia,tegra20-gart";
563ee7d755aSSimon Glass		reg = <0x7000f024 0x00000018	/* controller registers */
564ee7d755aSSimon Glass		       0x58000000 0x02000000>;	/* GART aperture */
565ee7d755aSSimon Glass	};
566ee7d755aSSimon Glass
567ee7d755aSSimon Glass	memory-controller@7000f400 {
568b7723f3fSAllen Martin		compatible = "nvidia,tegra20-emc";
569b7723f3fSAllen Martin		reg = <0x7000f400 0x200>;
570ee7d755aSSimon Glass		#address-cells = <1>;
571ee7d755aSSimon Glass		#size-cells = <0>;
572ee7d755aSSimon Glass	};
573ee7d755aSSimon Glass
574ee7d755aSSimon Glass	fuse@7000f800 {
575ee7d755aSSimon Glass		compatible = "nvidia,tegra20-efuse";
576ee7d755aSSimon Glass		reg = <0x7000f800 0x400>;
577ee7d755aSSimon Glass		clocks = <&tegra_car TEGRA20_CLK_FUSE>;
578ee7d755aSSimon Glass		clock-names = "fuse";
579ee7d755aSSimon Glass		resets = <&tegra_car 39>;
580ee7d755aSSimon Glass		reset-names = "fuse";
581b7723f3fSAllen Martin	};
582b7723f3fSAllen Martin
58365d2465dSThierry Reding	pcie-controller@80003000 {
58465d2465dSThierry Reding		compatible = "nvidia,tegra20-pcie";
58565d2465dSThierry Reding		device_type = "pci";
58665d2465dSThierry Reding		reg = <0x80003000 0x00000800   /* PADS registers */
58765d2465dSThierry Reding		       0x80003800 0x00000200   /* AFI registers */
58865d2465dSThierry Reding		       0x90000000 0x10000000>; /* configuration space */
58965d2465dSThierry Reding		reg-names = "pads", "afi", "cs";
59065d2465dSThierry Reding		interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH   /* controller interrupt */
59165d2465dSThierry Reding			      GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; /* MSI interrupt */
59265d2465dSThierry Reding		interrupt-names = "intr", "msi";
59365d2465dSThierry Reding
59465d2465dSThierry Reding		#interrupt-cells = <1>;
59565d2465dSThierry Reding		interrupt-map-mask = <0 0 0 0>;
59665d2465dSThierry Reding		interrupt-map = <0 0 0 0 &intc GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
59765d2465dSThierry Reding
59865d2465dSThierry Reding		bus-range = <0x00 0xff>;
59965d2465dSThierry Reding		#address-cells = <3>;
60065d2465dSThierry Reding		#size-cells = <2>;
60165d2465dSThierry Reding
60265d2465dSThierry Reding		ranges = <0x82000000 0 0x80000000 0x80000000 0 0x00001000   /* port 0 registers */
60365d2465dSThierry Reding			  0x82000000 0 0x80001000 0x80001000 0 0x00001000   /* port 1 registers */
60465d2465dSThierry Reding			  0x81000000 0 0          0x82000000 0 0x00010000   /* downstream I/O */
60565d2465dSThierry Reding			  0x82000000 0 0xa0000000 0xa0000000 0 0x08000000   /* non-prefetchable memory */
60665d2465dSThierry Reding			  0xc2000000 0 0xa8000000 0xa8000000 0 0x18000000>; /* prefetchable memory */
60765d2465dSThierry Reding
60865d2465dSThierry Reding		clocks = <&tegra_car TEGRA20_CLK_PEX>,
60965d2465dSThierry Reding			 <&tegra_car TEGRA20_CLK_AFI>,
61065d2465dSThierry Reding			 <&tegra_car TEGRA20_CLK_PLL_E>;
611ee7d755aSSimon Glass		clock-names = "pex", "afi", "pll_e";
612ee7d755aSSimon Glass		resets = <&tegra_car 70>,
613ee7d755aSSimon Glass			 <&tegra_car 72>,
614ee7d755aSSimon Glass			 <&tegra_car 74>;
615ee7d755aSSimon Glass		reset-names = "pex", "afi", "pcie_x";
61665d2465dSThierry Reding		status = "disabled";
61765d2465dSThierry Reding
61865d2465dSThierry Reding		pci@1,0 {
61965d2465dSThierry Reding			device_type = "pci";
62065d2465dSThierry Reding			assigned-addresses = <0x82000800 0 0x80000000 0 0x1000>;
62165d2465dSThierry Reding			reg = <0x000800 0 0 0 0>;
62265d2465dSThierry Reding			status = "disabled";
62365d2465dSThierry Reding
62465d2465dSThierry Reding			#address-cells = <3>;
62565d2465dSThierry Reding			#size-cells = <2>;
62665d2465dSThierry Reding			ranges;
62765d2465dSThierry Reding
62865d2465dSThierry Reding			nvidia,num-lanes = <2>;
62965d2465dSThierry Reding		};
63065d2465dSThierry Reding
63165d2465dSThierry Reding		pci@2,0 {
63265d2465dSThierry Reding			device_type = "pci";
63365d2465dSThierry Reding			assigned-addresses = <0x82001000 0 0x80001000 0 0x1000>;
63465d2465dSThierry Reding			reg = <0x001000 0 0 0 0>;
63565d2465dSThierry Reding			status = "disabled";
63665d2465dSThierry Reding
63765d2465dSThierry Reding			#address-cells = <3>;
63865d2465dSThierry Reding			#size-cells = <2>;
63965d2465dSThierry Reding			ranges;
64065d2465dSThierry Reding
64165d2465dSThierry Reding			nvidia,num-lanes = <2>;
64265d2465dSThierry Reding		};
64365d2465dSThierry Reding	};
64465d2465dSThierry Reding
645b7723f3fSAllen Martin	usb@c5000000 {
646b7723f3fSAllen Martin		compatible = "nvidia,tegra20-ehci", "usb-ehci";
647b7723f3fSAllen Martin		reg = <0xc5000000 0x4000>;
648ee7d755aSSimon Glass		interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
649b7723f3fSAllen Martin		phy_type = "utmi";
650b7723f3fSAllen Martin		nvidia,has-legacy-mode;
651ee7d755aSSimon Glass		clocks = <&tegra_car TEGRA20_CLK_USBD>;
652ee7d755aSSimon Glass		resets = <&tegra_car 22>;
653ee7d755aSSimon Glass		reset-names = "usb";
654ee7d755aSSimon Glass		nvidia,needs-double-reset;
655ee7d755aSSimon Glass		nvidia,phy = <&phy1>;
656ee7d755aSSimon Glass		status = "disabled";
657ee7d755aSSimon Glass	};
658ee7d755aSSimon Glass
659ee7d755aSSimon Glass	phy1: usb-phy@c5000000 {
660ee7d755aSSimon Glass		compatible = "nvidia,tegra20-usb-phy";
661ee7d755aSSimon Glass		reg = <0xc5000000 0x4000 0xc5000000 0x4000>;
662ee7d755aSSimon Glass		phy_type = "utmi";
663ee7d755aSSimon Glass		clocks = <&tegra_car TEGRA20_CLK_USBD>,
664ee7d755aSSimon Glass			 <&tegra_car TEGRA20_CLK_PLL_U>,
665ee7d755aSSimon Glass			 <&tegra_car TEGRA20_CLK_CLK_M>,
666ee7d755aSSimon Glass			 <&tegra_car TEGRA20_CLK_USBD>;
667ee7d755aSSimon Glass		clock-names = "reg", "pll_u", "timer", "utmi-pads";
668ee7d755aSSimon Glass		resets = <&tegra_car 22>, <&tegra_car 22>;
669ee7d755aSSimon Glass		reset-names = "usb", "utmi-pads";
670ee7d755aSSimon Glass		nvidia,has-legacy-mode;
671ee7d755aSSimon Glass		nvidia,hssync-start-delay = <9>;
672ee7d755aSSimon Glass		nvidia,idle-wait-delay = <17>;
673ee7d755aSSimon Glass		nvidia,elastic-limit = <16>;
674ee7d755aSSimon Glass		nvidia,term-range-adj = <6>;
675ee7d755aSSimon Glass		nvidia,xcvr-setup = <9>;
676ee7d755aSSimon Glass		nvidia,xcvr-lsfslew = <1>;
677ee7d755aSSimon Glass		nvidia,xcvr-lsrslew = <1>;
678ee7d755aSSimon Glass		nvidia,has-utmi-pad-registers;
679ee7d755aSSimon Glass		status = "disabled";
680b7723f3fSAllen Martin	};
681b7723f3fSAllen Martin
682b7723f3fSAllen Martin	usb@c5004000 {
683b7723f3fSAllen Martin		compatible = "nvidia,tegra20-ehci", "usb-ehci";
684b7723f3fSAllen Martin		reg = <0xc5004000 0x4000>;
685ee7d755aSSimon Glass		interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
686b7723f3fSAllen Martin		phy_type = "ulpi";
687ee7d755aSSimon Glass		clocks = <&tegra_car TEGRA20_CLK_USB2>;
688ee7d755aSSimon Glass		resets = <&tegra_car 58>;
689ee7d755aSSimon Glass		reset-names = "usb";
690ee7d755aSSimon Glass		nvidia,phy = <&phy2>;
691ee7d755aSSimon Glass		status = "disabled";
692ee7d755aSSimon Glass	};
693ee7d755aSSimon Glass
694ee7d755aSSimon Glass	phy2: usb-phy@c5004000 {
695ee7d755aSSimon Glass		compatible = "nvidia,tegra20-usb-phy";
696ee7d755aSSimon Glass		reg = <0xc5004000 0x4000>;
697ee7d755aSSimon Glass		phy_type = "ulpi";
698ee7d755aSSimon Glass		clocks = <&tegra_car TEGRA20_CLK_USB2>,
699ee7d755aSSimon Glass			 <&tegra_car TEGRA20_CLK_PLL_U>,
700ee7d755aSSimon Glass			 <&tegra_car TEGRA20_CLK_CDEV2>;
701ee7d755aSSimon Glass		clock-names = "reg", "pll_u", "ulpi-link";
702ee7d755aSSimon Glass		resets = <&tegra_car 58>, <&tegra_car 22>;
703ee7d755aSSimon Glass		reset-names = "usb", "utmi-pads";
704ee7d755aSSimon Glass		status = "disabled";
705b7723f3fSAllen Martin	};
706b7723f3fSAllen Martin
707b7723f3fSAllen Martin	usb@c5008000 {
708b7723f3fSAllen Martin		compatible = "nvidia,tegra20-ehci", "usb-ehci";
709b7723f3fSAllen Martin		reg = <0xc5008000 0x4000>;
710ee7d755aSSimon Glass		interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
711b7723f3fSAllen Martin		phy_type = "utmi";
712ee7d755aSSimon Glass		clocks = <&tegra_car TEGRA20_CLK_USB3>;
713ee7d755aSSimon Glass		resets = <&tegra_car 59>;
714ee7d755aSSimon Glass		reset-names = "usb";
715ee7d755aSSimon Glass		nvidia,phy = <&phy3>;
716ee7d755aSSimon Glass		status = "disabled";
717ee7d755aSSimon Glass	};
718ee7d755aSSimon Glass
719ee7d755aSSimon Glass	phy3: usb-phy@c5008000 {
720ee7d755aSSimon Glass		compatible = "nvidia,tegra20-usb-phy";
721ee7d755aSSimon Glass		reg = <0xc5008000 0x4000 0xc5000000 0x4000>;
722ee7d755aSSimon Glass		phy_type = "utmi";
723ee7d755aSSimon Glass		clocks = <&tegra_car TEGRA20_CLK_USB3>,
724ee7d755aSSimon Glass			 <&tegra_car TEGRA20_CLK_PLL_U>,
725ee7d755aSSimon Glass			 <&tegra_car TEGRA20_CLK_CLK_M>,
726ee7d755aSSimon Glass			 <&tegra_car TEGRA20_CLK_USBD>;
727ee7d755aSSimon Glass		clock-names = "reg", "pll_u", "timer", "utmi-pads";
728ee7d755aSSimon Glass		resets = <&tegra_car 59>, <&tegra_car 22>;
729ee7d755aSSimon Glass		reset-names = "usb", "utmi-pads";
730ee7d755aSSimon Glass		nvidia,hssync-start-delay = <9>;
731ee7d755aSSimon Glass		nvidia,idle-wait-delay = <17>;
732ee7d755aSSimon Glass		nvidia,elastic-limit = <16>;
733ee7d755aSSimon Glass		nvidia,term-range-adj = <6>;
734ee7d755aSSimon Glass		nvidia,xcvr-setup = <9>;
735ee7d755aSSimon Glass		nvidia,xcvr-lsfslew = <2>;
736ee7d755aSSimon Glass		nvidia,xcvr-lsrslew = <2>;
737ee7d755aSSimon Glass		status = "disabled";
738b7723f3fSAllen Martin	};
739b7723f3fSAllen Martin
740b7723f3fSAllen Martin	sdhci@c8000000 {
741b7723f3fSAllen Martin		compatible = "nvidia,tegra20-sdhci";
742b7723f3fSAllen Martin		reg = <0xc8000000 0x200>;
743ee7d755aSSimon Glass		interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
744ee7d755aSSimon Glass		clocks = <&tegra_car TEGRA20_CLK_SDMMC1>;
745ee7d755aSSimon Glass		resets = <&tegra_car 14>;
746ee7d755aSSimon Glass		reset-names = "sdhci";
747126685adSTom Warren		status = "disabled";
748b7723f3fSAllen Martin	};
749b7723f3fSAllen Martin
750b7723f3fSAllen Martin	sdhci@c8000200 {
751b7723f3fSAllen Martin		compatible = "nvidia,tegra20-sdhci";
752b7723f3fSAllen Martin		reg = <0xc8000200 0x200>;
753ee7d755aSSimon Glass		interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
754ee7d755aSSimon Glass		clocks = <&tegra_car TEGRA20_CLK_SDMMC2>;
755ee7d755aSSimon Glass		resets = <&tegra_car 9>;
756ee7d755aSSimon Glass		reset-names = "sdhci";
757126685adSTom Warren		status = "disabled";
758b7723f3fSAllen Martin	};
759b7723f3fSAllen Martin
760b7723f3fSAllen Martin	sdhci@c8000400 {
761b7723f3fSAllen Martin		compatible = "nvidia,tegra20-sdhci";
762b7723f3fSAllen Martin		reg = <0xc8000400 0x200>;
763ee7d755aSSimon Glass		interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
764ee7d755aSSimon Glass		clocks = <&tegra_car TEGRA20_CLK_SDMMC3>;
765ee7d755aSSimon Glass		resets = <&tegra_car 69>;
766ee7d755aSSimon Glass		reset-names = "sdhci";
767126685adSTom Warren		status = "disabled";
768b7723f3fSAllen Martin	};
769b7723f3fSAllen Martin
770b7723f3fSAllen Martin	sdhci@c8000600 {
771b7723f3fSAllen Martin		compatible = "nvidia,tegra20-sdhci";
772b7723f3fSAllen Martin		reg = <0xc8000600 0x200>;
773ee7d755aSSimon Glass		interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
774ee7d755aSSimon Glass		clocks = <&tegra_car TEGRA20_CLK_SDMMC4>;
775ee7d755aSSimon Glass		resets = <&tegra_car 15>;
776ee7d755aSSimon Glass		reset-names = "sdhci";
777126685adSTom Warren		status = "disabled";
778b7723f3fSAllen Martin	};
779ee7d755aSSimon Glass
780ee7d755aSSimon Glass	cpus {
781ee7d755aSSimon Glass		#address-cells = <1>;
782ee7d755aSSimon Glass		#size-cells = <0>;
783ee7d755aSSimon Glass
784ee7d755aSSimon Glass		cpu@0 {
785ee7d755aSSimon Glass			device_type = "cpu";
786ee7d755aSSimon Glass			compatible = "arm,cortex-a9";
787ee7d755aSSimon Glass			reg = <0>;
788ee7d755aSSimon Glass		};
789ee7d755aSSimon Glass
790ee7d755aSSimon Glass		cpu@1 {
791ee7d755aSSimon Glass			device_type = "cpu";
792ee7d755aSSimon Glass			compatible = "arm,cortex-a9";
793ee7d755aSSimon Glass			reg = <1>;
794ee7d755aSSimon Glass		};
795ee7d755aSSimon Glass	};
796ee7d755aSSimon Glass
797ee7d755aSSimon Glass	pmu {
798ee7d755aSSimon Glass		compatible = "arm,cortex-a9-pmu";
799ee7d755aSSimon Glass		interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>,
800ee7d755aSSimon Glass			     <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
801ee7d755aSSimon Glass	};
802c3474ef3SSimon Glass};
803