xref: /freebsd-src/sys/contrib/device-tree/src/arm/nvidia/tegra20.dtsi (revision aa1a8ff2d6dbc51ef058f46f3db5a8bb77967145)
1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0
2*f126890aSEmmanuel Vadot#include <dt-bindings/clock/tegra20-car.h>
3*f126890aSEmmanuel Vadot#include <dt-bindings/gpio/tegra-gpio.h>
4*f126890aSEmmanuel Vadot#include <dt-bindings/memory/tegra20-mc.h>
5*f126890aSEmmanuel Vadot#include <dt-bindings/pinctrl/pinctrl-tegra.h>
6*f126890aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h>
7*f126890aSEmmanuel Vadot#include <dt-bindings/soc/tegra-pmc.h>
8*f126890aSEmmanuel Vadot
9*f126890aSEmmanuel Vadot#include "tegra20-peripherals-opp.dtsi"
10*f126890aSEmmanuel Vadot
11*f126890aSEmmanuel Vadot/ {
12*f126890aSEmmanuel Vadot	compatible = "nvidia,tegra20";
13*f126890aSEmmanuel Vadot	interrupt-parent = <&lic>;
14*f126890aSEmmanuel Vadot	#address-cells = <1>;
15*f126890aSEmmanuel Vadot	#size-cells = <1>;
16*f126890aSEmmanuel Vadot
17*f126890aSEmmanuel Vadot	memory@0 {
18*f126890aSEmmanuel Vadot		device_type = "memory";
19*f126890aSEmmanuel Vadot		reg = <0 0>;
20*f126890aSEmmanuel Vadot	};
21*f126890aSEmmanuel Vadot
22*f126890aSEmmanuel Vadot	sram@40000000 {
23*f126890aSEmmanuel Vadot		compatible = "mmio-sram";
24*f126890aSEmmanuel Vadot		reg = <0x40000000 0x40000>;
25*f126890aSEmmanuel Vadot		#address-cells = <1>;
26*f126890aSEmmanuel Vadot		#size-cells = <1>;
27*f126890aSEmmanuel Vadot		ranges = <0 0x40000000 0x40000>;
28*f126890aSEmmanuel Vadot
29*f126890aSEmmanuel Vadot		vde_pool: sram@400 {
30*f126890aSEmmanuel Vadot			reg = <0x400 0x3fc00>;
31*f126890aSEmmanuel Vadot			pool;
32*f126890aSEmmanuel Vadot		};
33*f126890aSEmmanuel Vadot	};
34*f126890aSEmmanuel Vadot
35*f126890aSEmmanuel Vadot	host1x@50000000 {
36*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra20-host1x";
37*f126890aSEmmanuel Vadot		reg = <0x50000000 0x00024000>;
38*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>, /* syncpt */
39*f126890aSEmmanuel Vadot			     <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; /* general */
40*f126890aSEmmanuel Vadot		interrupt-names = "syncpt", "host1x";
41*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA20_CLK_HOST1X>;
42*f126890aSEmmanuel Vadot		clock-names = "host1x";
43*f126890aSEmmanuel Vadot		resets = <&tegra_car 28>, <&mc TEGRA20_MC_RESET_HC>;
44*f126890aSEmmanuel Vadot		reset-names = "host1x", "mc";
45*f126890aSEmmanuel Vadot		power-domains = <&pd_core>;
46*f126890aSEmmanuel Vadot		operating-points-v2 = <&host1x_dvfs_opp_table>;
47*f126890aSEmmanuel Vadot
48*f126890aSEmmanuel Vadot		#address-cells = <1>;
49*f126890aSEmmanuel Vadot		#size-cells = <1>;
50*f126890aSEmmanuel Vadot
51*f126890aSEmmanuel Vadot		ranges = <0x54000000 0x54000000 0x04000000>;
52*f126890aSEmmanuel Vadot
53*f126890aSEmmanuel Vadot		mpe@54040000 {
54*f126890aSEmmanuel Vadot			compatible = "nvidia,tegra20-mpe";
55*f126890aSEmmanuel Vadot			reg = <0x54040000 0x00040000>;
56*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>;
57*f126890aSEmmanuel Vadot			clocks = <&tegra_car TEGRA20_CLK_MPE>;
58*f126890aSEmmanuel Vadot			resets = <&tegra_car 60>;
59*f126890aSEmmanuel Vadot			reset-names = "mpe";
60*f126890aSEmmanuel Vadot			power-domains = <&pd_mpe>;
61*f126890aSEmmanuel Vadot			operating-points-v2 = <&mpe_dvfs_opp_table>;
62*f126890aSEmmanuel Vadot			status = "disabled";
63*f126890aSEmmanuel Vadot		};
64*f126890aSEmmanuel Vadot
65*f126890aSEmmanuel Vadot		vi@54080000 {
66*f126890aSEmmanuel Vadot			compatible = "nvidia,tegra20-vi";
67*f126890aSEmmanuel Vadot			reg = <0x54080000 0x00040000>;
68*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
69*f126890aSEmmanuel Vadot			clocks = <&tegra_car TEGRA20_CLK_VI>;
70*f126890aSEmmanuel Vadot			resets = <&tegra_car 20>;
71*f126890aSEmmanuel Vadot			reset-names = "vi";
72*f126890aSEmmanuel Vadot			power-domains = <&pd_venc>;
73*f126890aSEmmanuel Vadot			operating-points-v2 = <&vi_dvfs_opp_table>;
74*f126890aSEmmanuel Vadot			status = "disabled";
75*f126890aSEmmanuel Vadot		};
76*f126890aSEmmanuel Vadot
77*f126890aSEmmanuel Vadot		epp@540c0000 {
78*f126890aSEmmanuel Vadot			compatible = "nvidia,tegra20-epp";
79*f126890aSEmmanuel Vadot			reg = <0x540c0000 0x00040000>;
80*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
81*f126890aSEmmanuel Vadot			clocks = <&tegra_car TEGRA20_CLK_EPP>;
82*f126890aSEmmanuel Vadot			resets = <&tegra_car 19>;
83*f126890aSEmmanuel Vadot			reset-names = "epp";
84*f126890aSEmmanuel Vadot			power-domains = <&pd_core>;
85*f126890aSEmmanuel Vadot			operating-points-v2 = <&epp_dvfs_opp_table>;
86*f126890aSEmmanuel Vadot			status = "disabled";
87*f126890aSEmmanuel Vadot		};
88*f126890aSEmmanuel Vadot
89*f126890aSEmmanuel Vadot		isp@54100000 {
90*f126890aSEmmanuel Vadot			compatible = "nvidia,tegra20-isp";
91*f126890aSEmmanuel Vadot			reg = <0x54100000 0x00040000>;
92*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
93*f126890aSEmmanuel Vadot			clocks = <&tegra_car TEGRA20_CLK_ISP>;
94*f126890aSEmmanuel Vadot			resets = <&tegra_car 23>;
95*f126890aSEmmanuel Vadot			reset-names = "isp";
96*f126890aSEmmanuel Vadot			power-domains = <&pd_venc>;
97*f126890aSEmmanuel Vadot			status = "disabled";
98*f126890aSEmmanuel Vadot		};
99*f126890aSEmmanuel Vadot
100*f126890aSEmmanuel Vadot		gr2d@54140000 {
101*f126890aSEmmanuel Vadot			compatible = "nvidia,tegra20-gr2d";
102*f126890aSEmmanuel Vadot			reg = <0x54140000 0x00040000>;
103*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
104*f126890aSEmmanuel Vadot			clocks = <&tegra_car TEGRA20_CLK_GR2D>;
105*f126890aSEmmanuel Vadot			resets = <&tegra_car 21>, <&mc TEGRA20_MC_RESET_2D>;
106*f126890aSEmmanuel Vadot			reset-names = "2d", "mc";
107*f126890aSEmmanuel Vadot			power-domains = <&pd_core>;
108*f126890aSEmmanuel Vadot			operating-points-v2 = <&gr2d_dvfs_opp_table>;
109*f126890aSEmmanuel Vadot		};
110*f126890aSEmmanuel Vadot
111*f126890aSEmmanuel Vadot		gr3d@54180000 {
112*f126890aSEmmanuel Vadot			compatible = "nvidia,tegra20-gr3d";
113*f126890aSEmmanuel Vadot			reg = <0x54180000 0x00040000>;
114*f126890aSEmmanuel Vadot			clocks = <&tegra_car TEGRA20_CLK_GR3D>;
115*f126890aSEmmanuel Vadot			resets = <&tegra_car 24>, <&mc TEGRA20_MC_RESET_3D>;
116*f126890aSEmmanuel Vadot			reset-names = "3d", "mc";
117*f126890aSEmmanuel Vadot			power-domains = <&pd_3d>;
118*f126890aSEmmanuel Vadot			operating-points-v2 = <&gr3d_dvfs_opp_table>;
119*f126890aSEmmanuel Vadot		};
120*f126890aSEmmanuel Vadot
121*f126890aSEmmanuel Vadot		dc@54200000 {
122*f126890aSEmmanuel Vadot			compatible = "nvidia,tegra20-dc";
123*f126890aSEmmanuel Vadot			reg = <0x54200000 0x00040000>;
124*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
125*f126890aSEmmanuel Vadot			clocks = <&tegra_car TEGRA20_CLK_DISP1>,
126*f126890aSEmmanuel Vadot				 <&tegra_car TEGRA20_CLK_PLL_P>;
127*f126890aSEmmanuel Vadot			clock-names = "dc", "parent";
128*f126890aSEmmanuel Vadot			resets = <&tegra_car 27>;
129*f126890aSEmmanuel Vadot			reset-names = "dc";
130*f126890aSEmmanuel Vadot			power-domains = <&pd_core>;
131*f126890aSEmmanuel Vadot			operating-points-v2 = <&disp1_dvfs_opp_table>;
132*f126890aSEmmanuel Vadot
133*f126890aSEmmanuel Vadot			nvidia,head = <0>;
134*f126890aSEmmanuel Vadot
135*f126890aSEmmanuel Vadot			interconnects = <&mc TEGRA20_MC_DISPLAY0A &emc>,
136*f126890aSEmmanuel Vadot					<&mc TEGRA20_MC_DISPLAY0B &emc>,
137*f126890aSEmmanuel Vadot					<&mc TEGRA20_MC_DISPLAY1B &emc>,
138*f126890aSEmmanuel Vadot					<&mc TEGRA20_MC_DISPLAY0C &emc>,
139*f126890aSEmmanuel Vadot					<&mc TEGRA20_MC_DISPLAYHC &emc>;
140*f126890aSEmmanuel Vadot			interconnect-names = "wina",
141*f126890aSEmmanuel Vadot					     "winb",
142*f126890aSEmmanuel Vadot					     "winb-vfilter",
143*f126890aSEmmanuel Vadot					     "winc",
144*f126890aSEmmanuel Vadot					     "cursor";
145*f126890aSEmmanuel Vadot
146*f126890aSEmmanuel Vadot			rgb {
147*f126890aSEmmanuel Vadot				status = "disabled";
148*f126890aSEmmanuel Vadot			};
149*f126890aSEmmanuel Vadot		};
150*f126890aSEmmanuel Vadot
151*f126890aSEmmanuel Vadot		dc@54240000 {
152*f126890aSEmmanuel Vadot			compatible = "nvidia,tegra20-dc";
153*f126890aSEmmanuel Vadot			reg = <0x54240000 0x00040000>;
154*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
155*f126890aSEmmanuel Vadot			clocks = <&tegra_car TEGRA20_CLK_DISP2>,
156*f126890aSEmmanuel Vadot				 <&tegra_car TEGRA20_CLK_PLL_P>;
157*f126890aSEmmanuel Vadot			clock-names = "dc", "parent";
158*f126890aSEmmanuel Vadot			resets = <&tegra_car 26>;
159*f126890aSEmmanuel Vadot			reset-names = "dc";
160*f126890aSEmmanuel Vadot			power-domains = <&pd_core>;
161*f126890aSEmmanuel Vadot			operating-points-v2 = <&disp2_dvfs_opp_table>;
162*f126890aSEmmanuel Vadot
163*f126890aSEmmanuel Vadot			nvidia,head = <1>;
164*f126890aSEmmanuel Vadot
165*f126890aSEmmanuel Vadot			interconnects = <&mc TEGRA20_MC_DISPLAY0AB &emc>,
166*f126890aSEmmanuel Vadot					<&mc TEGRA20_MC_DISPLAY0BB &emc>,
167*f126890aSEmmanuel Vadot					<&mc TEGRA20_MC_DISPLAY1BB &emc>,
168*f126890aSEmmanuel Vadot					<&mc TEGRA20_MC_DISPLAY0CB &emc>,
169*f126890aSEmmanuel Vadot					<&mc TEGRA20_MC_DISPLAYHCB &emc>;
170*f126890aSEmmanuel Vadot			interconnect-names = "wina",
171*f126890aSEmmanuel Vadot					     "winb",
172*f126890aSEmmanuel Vadot					     "winb-vfilter",
173*f126890aSEmmanuel Vadot					     "winc",
174*f126890aSEmmanuel Vadot					     "cursor";
175*f126890aSEmmanuel Vadot
176*f126890aSEmmanuel Vadot			rgb {
177*f126890aSEmmanuel Vadot				status = "disabled";
178*f126890aSEmmanuel Vadot			};
179*f126890aSEmmanuel Vadot		};
180*f126890aSEmmanuel Vadot
181*f126890aSEmmanuel Vadot		tegra_hdmi: hdmi@54280000 {
182*f126890aSEmmanuel Vadot			compatible = "nvidia,tegra20-hdmi";
183*f126890aSEmmanuel Vadot			reg = <0x54280000 0x00040000>;
184*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
185*f126890aSEmmanuel Vadot			clocks = <&tegra_car TEGRA20_CLK_HDMI>,
186*f126890aSEmmanuel Vadot				 <&tegra_car TEGRA20_CLK_PLL_D_OUT0>;
187*f126890aSEmmanuel Vadot			clock-names = "hdmi", "parent";
188*f126890aSEmmanuel Vadot			resets = <&tegra_car 51>;
189*f126890aSEmmanuel Vadot			reset-names = "hdmi";
190*f126890aSEmmanuel Vadot			power-domains = <&pd_core>;
191*f126890aSEmmanuel Vadot			operating-points-v2 = <&hdmi_dvfs_opp_table>;
192*f126890aSEmmanuel Vadot			#sound-dai-cells = <0>;
193*f126890aSEmmanuel Vadot			status = "disabled";
194*f126890aSEmmanuel Vadot		};
195*f126890aSEmmanuel Vadot
196*f126890aSEmmanuel Vadot		tvo@542c0000 {
197*f126890aSEmmanuel Vadot			compatible = "nvidia,tegra20-tvo";
198*f126890aSEmmanuel Vadot			reg = <0x542c0000 0x00040000>;
199*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
200*f126890aSEmmanuel Vadot			clocks = <&tegra_car TEGRA20_CLK_TVO>;
201*f126890aSEmmanuel Vadot			power-domains = <&pd_core>;
202*f126890aSEmmanuel Vadot			operating-points-v2 = <&tvo_dvfs_opp_table>;
203*f126890aSEmmanuel Vadot			status = "disabled";
204*f126890aSEmmanuel Vadot		};
205*f126890aSEmmanuel Vadot
206*f126890aSEmmanuel Vadot		dsi@54300000 {
207*f126890aSEmmanuel Vadot			compatible = "nvidia,tegra20-dsi";
208*f126890aSEmmanuel Vadot			reg = <0x54300000 0x00040000>;
209*f126890aSEmmanuel Vadot			clocks = <&tegra_car TEGRA20_CLK_DSI>,
210*f126890aSEmmanuel Vadot				 <&tegra_car TEGRA20_CLK_PLL_D_OUT0>;
211*f126890aSEmmanuel Vadot			clock-names = "dsi", "parent";
212*f126890aSEmmanuel Vadot			resets = <&tegra_car 48>;
213*f126890aSEmmanuel Vadot			reset-names = "dsi";
214*f126890aSEmmanuel Vadot			power-domains = <&pd_core>;
215*f126890aSEmmanuel Vadot			operating-points-v2 = <&dsi_dvfs_opp_table>;
216*f126890aSEmmanuel Vadot			status = "disabled";
217*f126890aSEmmanuel Vadot		};
218*f126890aSEmmanuel Vadot	};
219*f126890aSEmmanuel Vadot
220*f126890aSEmmanuel Vadot	timer@50040600 {
221*f126890aSEmmanuel Vadot		compatible = "arm,cortex-a9-twd-timer";
222*f126890aSEmmanuel Vadot		interrupt-parent = <&intc>;
223*f126890aSEmmanuel Vadot		reg = <0x50040600 0x20>;
224*f126890aSEmmanuel Vadot		interrupts = <GIC_PPI 13
225*f126890aSEmmanuel Vadot			(GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_EDGE_RISING)>;
226*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA20_CLK_TWD>;
227*f126890aSEmmanuel Vadot	};
228*f126890aSEmmanuel Vadot
229*f126890aSEmmanuel Vadot	intc: interrupt-controller@50041000 {
230*f126890aSEmmanuel Vadot		compatible = "arm,cortex-a9-gic";
231*f126890aSEmmanuel Vadot		reg = <0x50041000 0x1000>,
232*f126890aSEmmanuel Vadot		      <0x50040100 0x0100>;
233*f126890aSEmmanuel Vadot		interrupt-controller;
234*f126890aSEmmanuel Vadot		#interrupt-cells = <3>;
235*f126890aSEmmanuel Vadot		interrupt-parent = <&intc>;
236*f126890aSEmmanuel Vadot	};
237*f126890aSEmmanuel Vadot
238*f126890aSEmmanuel Vadot	cache-controller@50043000 {
239*f126890aSEmmanuel Vadot		compatible = "arm,pl310-cache";
240*f126890aSEmmanuel Vadot		reg = <0x50043000 0x1000>;
241*f126890aSEmmanuel Vadot		arm,data-latency = <5 5 2>;
242*f126890aSEmmanuel Vadot		arm,tag-latency = <4 4 2>;
243*f126890aSEmmanuel Vadot		cache-unified;
244*f126890aSEmmanuel Vadot		cache-level = <2>;
245*f126890aSEmmanuel Vadot	};
246*f126890aSEmmanuel Vadot
247*f126890aSEmmanuel Vadot	lic: interrupt-controller@60004000 {
248*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra20-ictlr";
249*f126890aSEmmanuel Vadot		reg = <0x60004000 0x100>,
250*f126890aSEmmanuel Vadot		      <0x60004100 0x50>,
251*f126890aSEmmanuel Vadot		      <0x60004200 0x50>,
252*f126890aSEmmanuel Vadot		      <0x60004300 0x50>;
253*f126890aSEmmanuel Vadot		interrupt-controller;
254*f126890aSEmmanuel Vadot		#interrupt-cells = <3>;
255*f126890aSEmmanuel Vadot		interrupt-parent = <&intc>;
256*f126890aSEmmanuel Vadot	};
257*f126890aSEmmanuel Vadot
258*f126890aSEmmanuel Vadot	timer@60005000 {
259*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra20-timer";
260*f126890aSEmmanuel Vadot		reg = <0x60005000 0x60>;
261*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
262*f126890aSEmmanuel Vadot			     <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
263*f126890aSEmmanuel Vadot			     <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
264*f126890aSEmmanuel Vadot			     <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
265*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA20_CLK_TIMER>;
266*f126890aSEmmanuel Vadot	};
267*f126890aSEmmanuel Vadot
268*f126890aSEmmanuel Vadot	tegra_car: clock@60006000 {
269*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra20-car";
270*f126890aSEmmanuel Vadot		reg = <0x60006000 0x1000>;
271*f126890aSEmmanuel Vadot		#clock-cells = <1>;
272*f126890aSEmmanuel Vadot		#reset-cells = <1>;
273*f126890aSEmmanuel Vadot
274*f126890aSEmmanuel Vadot		sclk {
275*f126890aSEmmanuel Vadot			compatible = "nvidia,tegra20-sclk";
276*f126890aSEmmanuel Vadot			clocks = <&tegra_car TEGRA20_CLK_SCLK>;
277*f126890aSEmmanuel Vadot			power-domains = <&pd_core>;
278*f126890aSEmmanuel Vadot			operating-points-v2 = <&sclk_dvfs_opp_table>;
279*f126890aSEmmanuel Vadot		};
280*f126890aSEmmanuel Vadot	};
281*f126890aSEmmanuel Vadot
282*f126890aSEmmanuel Vadot	flow-controller@60007000 {
283*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra20-flowctrl";
284*f126890aSEmmanuel Vadot		reg = <0x60007000 0x1000>;
285*f126890aSEmmanuel Vadot	};
286*f126890aSEmmanuel Vadot
287*f126890aSEmmanuel Vadot	apbdma: dma@6000a000 {
288*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra20-apbdma";
289*f126890aSEmmanuel Vadot		reg = <0x6000a000 0x1200>;
290*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
291*f126890aSEmmanuel Vadot			     <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
292*f126890aSEmmanuel Vadot			     <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
293*f126890aSEmmanuel Vadot			     <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
294*f126890aSEmmanuel Vadot			     <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
295*f126890aSEmmanuel Vadot			     <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
296*f126890aSEmmanuel Vadot			     <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
297*f126890aSEmmanuel Vadot			     <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>,
298*f126890aSEmmanuel Vadot			     <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>,
299*f126890aSEmmanuel Vadot			     <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
300*f126890aSEmmanuel Vadot			     <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
301*f126890aSEmmanuel Vadot			     <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
302*f126890aSEmmanuel Vadot			     <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
303*f126890aSEmmanuel Vadot			     <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
304*f126890aSEmmanuel Vadot			     <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
305*f126890aSEmmanuel Vadot			     <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>;
306*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA20_CLK_APBDMA>;
307*f126890aSEmmanuel Vadot		resets = <&tegra_car 34>;
308*f126890aSEmmanuel Vadot		reset-names = "dma";
309*f126890aSEmmanuel Vadot		#dma-cells = <1>;
310*f126890aSEmmanuel Vadot	};
311*f126890aSEmmanuel Vadot
312*f126890aSEmmanuel Vadot	ahb@6000c000 {
313*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra20-ahb";
314*f126890aSEmmanuel Vadot		reg = <0x6000c000 0x110>; /* AHB Arbitration + Gizmo Controller */
315*f126890aSEmmanuel Vadot	};
316*f126890aSEmmanuel Vadot
317*f126890aSEmmanuel Vadot	gpio: gpio@6000d000 {
318*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra20-gpio";
319*f126890aSEmmanuel Vadot		reg = <0x6000d000 0x1000>;
320*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>,
321*f126890aSEmmanuel Vadot			     <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>,
322*f126890aSEmmanuel Vadot			     <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>,
323*f126890aSEmmanuel Vadot			     <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>,
324*f126890aSEmmanuel Vadot			     <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>,
325*f126890aSEmmanuel Vadot			     <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>,
326*f126890aSEmmanuel Vadot			     <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
327*f126890aSEmmanuel Vadot		#gpio-cells = <2>;
328*f126890aSEmmanuel Vadot		gpio-controller;
329*f126890aSEmmanuel Vadot		#interrupt-cells = <2>;
330*f126890aSEmmanuel Vadot		interrupt-controller;
331*f126890aSEmmanuel Vadot		gpio-ranges = <&pinmux 0 0 224>;
332*f126890aSEmmanuel Vadot	};
333*f126890aSEmmanuel Vadot
334*f126890aSEmmanuel Vadot	vde@6001a000 {
335*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra20-vde";
336*f126890aSEmmanuel Vadot		reg = <0x6001a000 0x1000>, /* Syntax Engine */
337*f126890aSEmmanuel Vadot		      <0x6001b000 0x1000>, /* Video Bitstream Engine */
338*f126890aSEmmanuel Vadot		      <0x6001c000  0x100>, /* Macroblock Engine */
339*f126890aSEmmanuel Vadot		      <0x6001c200  0x100>, /* Post-processing Engine */
340*f126890aSEmmanuel Vadot		      <0x6001c400  0x100>, /* Motion Compensation Engine */
341*f126890aSEmmanuel Vadot		      <0x6001c600  0x100>, /* Transform Engine */
342*f126890aSEmmanuel Vadot		      <0x6001c800  0x100>, /* Pixel prediction block */
343*f126890aSEmmanuel Vadot		      <0x6001ca00  0x100>, /* Video DMA */
344*f126890aSEmmanuel Vadot		      <0x6001d800  0x300>; /* Video frame controls */
345*f126890aSEmmanuel Vadot		reg-names = "sxe", "bsev", "mbe", "ppe", "mce",
346*f126890aSEmmanuel Vadot			    "tfe", "ppb", "vdma", "frameid";
347*f126890aSEmmanuel Vadot		iram = <&vde_pool>; /* IRAM region */
348*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI  9 IRQ_TYPE_LEVEL_HIGH>, /* Sync token interrupt */
349*f126890aSEmmanuel Vadot			     <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>, /* BSE-V interrupt */
350*f126890aSEmmanuel Vadot			     <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; /* SXE interrupt */
351*f126890aSEmmanuel Vadot		interrupt-names = "sync-token", "bsev", "sxe";
352*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA20_CLK_VDE>;
353*f126890aSEmmanuel Vadot		reset-names = "vde", "mc";
354*f126890aSEmmanuel Vadot		resets = <&tegra_car 61>, <&mc TEGRA20_MC_RESET_VDE>;
355*f126890aSEmmanuel Vadot		power-domains = <&pd_vde>;
356*f126890aSEmmanuel Vadot		operating-points-v2 = <&vde_dvfs_opp_table>;
357*f126890aSEmmanuel Vadot	};
358*f126890aSEmmanuel Vadot
359*f126890aSEmmanuel Vadot	pinmux: pinmux@70000014 {
360*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra20-pinmux";
361*f126890aSEmmanuel Vadot		reg = <0x70000014 0x10>, /* Tri-state registers */
362*f126890aSEmmanuel Vadot		      <0x70000080 0x20>, /* Mux registers */
363*f126890aSEmmanuel Vadot		      <0x700000a0 0x14>, /* Pull-up/down registers */
364*f126890aSEmmanuel Vadot		      <0x70000868 0xa8>; /* Pad control registers */
365*f126890aSEmmanuel Vadot	};
366*f126890aSEmmanuel Vadot
367*f126890aSEmmanuel Vadot	apbmisc@70000800 {
368*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra20-apbmisc";
369*f126890aSEmmanuel Vadot		reg = <0x70000800 0x64>, /* Chip revision */
370*f126890aSEmmanuel Vadot		      <0x70000008 0x04>; /* Strapping options */
371*f126890aSEmmanuel Vadot	};
372*f126890aSEmmanuel Vadot
373*f126890aSEmmanuel Vadot	das@70000c00 {
374*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra20-das";
375*f126890aSEmmanuel Vadot		reg = <0x70000c00 0x80>;
376*f126890aSEmmanuel Vadot	};
377*f126890aSEmmanuel Vadot
378*f126890aSEmmanuel Vadot	tegra_ac97: ac97@70002000 {
379*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra20-ac97";
380*f126890aSEmmanuel Vadot		reg = <0x70002000 0x200>;
381*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
382*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA20_CLK_AC97>;
383*f126890aSEmmanuel Vadot		resets = <&tegra_car 3>;
384*f126890aSEmmanuel Vadot		reset-names = "ac97";
385*f126890aSEmmanuel Vadot		dmas = <&apbdma 12>, <&apbdma 12>;
386*f126890aSEmmanuel Vadot		dma-names = "rx", "tx";
387*f126890aSEmmanuel Vadot		status = "disabled";
388*f126890aSEmmanuel Vadot	};
389*f126890aSEmmanuel Vadot
390*f126890aSEmmanuel Vadot	tegra_spdif: spdif@70002400 {
391*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra20-spdif";
392*f126890aSEmmanuel Vadot		reg = <0x70002400 0x200>;
393*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
394*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA20_CLK_SPDIF_OUT>,
395*f126890aSEmmanuel Vadot			 <&tegra_car TEGRA20_CLK_SPDIF_IN>;
396*f126890aSEmmanuel Vadot		clock-names = "out", "in";
397*f126890aSEmmanuel Vadot		resets = <&tegra_car 10>;
398*f126890aSEmmanuel Vadot		dmas = <&apbdma 3>, <&apbdma 3>;
399*f126890aSEmmanuel Vadot		dma-names = "rx", "tx";
400*f126890aSEmmanuel Vadot		#sound-dai-cells = <0>;
401*f126890aSEmmanuel Vadot		status = "disabled";
402*f126890aSEmmanuel Vadot
403*f126890aSEmmanuel Vadot		assigned-clocks = <&tegra_car TEGRA20_CLK_SPDIF_OUT>;
404*f126890aSEmmanuel Vadot		assigned-clock-parents = <&tegra_car TEGRA20_CLK_PLL_A_OUT0>;
405*f126890aSEmmanuel Vadot	};
406*f126890aSEmmanuel Vadot
407*f126890aSEmmanuel Vadot	tegra_i2s1: i2s@70002800 {
408*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra20-i2s";
409*f126890aSEmmanuel Vadot		reg = <0x70002800 0x200>;
410*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
411*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA20_CLK_I2S1>;
412*f126890aSEmmanuel Vadot		resets = <&tegra_car 11>;
413*f126890aSEmmanuel Vadot		reset-names = "i2s";
414*f126890aSEmmanuel Vadot		dmas = <&apbdma 2>, <&apbdma 2>;
415*f126890aSEmmanuel Vadot		dma-names = "rx", "tx";
416*f126890aSEmmanuel Vadot		status = "disabled";
417*f126890aSEmmanuel Vadot	};
418*f126890aSEmmanuel Vadot
419*f126890aSEmmanuel Vadot	tegra_i2s2: i2s@70002a00 {
420*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra20-i2s";
421*f126890aSEmmanuel Vadot		reg = <0x70002a00 0x200>;
422*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
423*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA20_CLK_I2S2>;
424*f126890aSEmmanuel Vadot		resets = <&tegra_car 18>;
425*f126890aSEmmanuel Vadot		reset-names = "i2s";
426*f126890aSEmmanuel Vadot		dmas = <&apbdma 1>, <&apbdma 1>;
427*f126890aSEmmanuel Vadot		dma-names = "rx", "tx";
428*f126890aSEmmanuel Vadot		status = "disabled";
429*f126890aSEmmanuel Vadot	};
430*f126890aSEmmanuel Vadot
431*f126890aSEmmanuel Vadot	/*
432*f126890aSEmmanuel Vadot	 * There are two serial driver i.e. 8250 based simple serial
433*f126890aSEmmanuel Vadot	 * driver and APB DMA based serial driver for higher baudrate
434*f126890aSEmmanuel Vadot	 * and performace. To enable the 8250 based driver, the compatible
435*f126890aSEmmanuel Vadot	 * is "nvidia,tegra20-uart" and to enable the APB DMA based serial
436*f126890aSEmmanuel Vadot	 * driver, the compatible is "nvidia,tegra20-hsuart".
437*f126890aSEmmanuel Vadot	 */
438*f126890aSEmmanuel Vadot	uarta: serial@70006000 {
439*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra20-uart";
440*f126890aSEmmanuel Vadot		reg = <0x70006000 0x40>;
441*f126890aSEmmanuel Vadot		reg-shift = <2>;
442*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
443*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA20_CLK_UARTA>;
444*f126890aSEmmanuel Vadot		resets = <&tegra_car 6>;
445*f126890aSEmmanuel Vadot		dmas = <&apbdma 8>, <&apbdma 8>;
446*f126890aSEmmanuel Vadot		dma-names = "rx", "tx";
447*f126890aSEmmanuel Vadot		status = "disabled";
448*f126890aSEmmanuel Vadot	};
449*f126890aSEmmanuel Vadot
450*f126890aSEmmanuel Vadot	uartb: serial@70006040 {
451*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra20-uart";
452*f126890aSEmmanuel Vadot		reg = <0x70006040 0x40>;
453*f126890aSEmmanuel Vadot		reg-shift = <2>;
454*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
455*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA20_CLK_UARTB>;
456*f126890aSEmmanuel Vadot		resets = <&tegra_car 7>;
457*f126890aSEmmanuel Vadot		dmas = <&apbdma 9>, <&apbdma 9>;
458*f126890aSEmmanuel Vadot		dma-names = "rx", "tx";
459*f126890aSEmmanuel Vadot		status = "disabled";
460*f126890aSEmmanuel Vadot	};
461*f126890aSEmmanuel Vadot
462*f126890aSEmmanuel Vadot	uartc: serial@70006200 {
463*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra20-uart";
464*f126890aSEmmanuel Vadot		reg = <0x70006200 0x100>;
465*f126890aSEmmanuel Vadot		reg-shift = <2>;
466*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
467*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA20_CLK_UARTC>;
468*f126890aSEmmanuel Vadot		resets = <&tegra_car 55>;
469*f126890aSEmmanuel Vadot		dmas = <&apbdma 10>, <&apbdma 10>;
470*f126890aSEmmanuel Vadot		dma-names = "rx", "tx";
471*f126890aSEmmanuel Vadot		status = "disabled";
472*f126890aSEmmanuel Vadot	};
473*f126890aSEmmanuel Vadot
474*f126890aSEmmanuel Vadot	uartd: serial@70006300 {
475*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra20-uart";
476*f126890aSEmmanuel Vadot		reg = <0x70006300 0x100>;
477*f126890aSEmmanuel Vadot		reg-shift = <2>;
478*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
479*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA20_CLK_UARTD>;
480*f126890aSEmmanuel Vadot		resets = <&tegra_car 65>;
481*f126890aSEmmanuel Vadot		dmas = <&apbdma 19>, <&apbdma 19>;
482*f126890aSEmmanuel Vadot		dma-names = "rx", "tx";
483*f126890aSEmmanuel Vadot		status = "disabled";
484*f126890aSEmmanuel Vadot	};
485*f126890aSEmmanuel Vadot
486*f126890aSEmmanuel Vadot	uarte: serial@70006400 {
487*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra20-uart";
488*f126890aSEmmanuel Vadot		reg = <0x70006400 0x100>;
489*f126890aSEmmanuel Vadot		reg-shift = <2>;
490*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
491*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA20_CLK_UARTE>;
492*f126890aSEmmanuel Vadot		resets = <&tegra_car 66>;
493*f126890aSEmmanuel Vadot		dmas = <&apbdma 20>, <&apbdma 20>;
494*f126890aSEmmanuel Vadot		dma-names = "rx", "tx";
495*f126890aSEmmanuel Vadot		status = "disabled";
496*f126890aSEmmanuel Vadot	};
497*f126890aSEmmanuel Vadot
498*f126890aSEmmanuel Vadot	nand-controller@70008000 {
499*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra20-nand";
500*f126890aSEmmanuel Vadot		reg = <0x70008000 0x100>;
501*f126890aSEmmanuel Vadot		#address-cells = <1>;
502*f126890aSEmmanuel Vadot		#size-cells = <0>;
503*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
504*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA20_CLK_NDFLASH>;
505*f126890aSEmmanuel Vadot		clock-names = "nand";
506*f126890aSEmmanuel Vadot		resets = <&tegra_car 13>;
507*f126890aSEmmanuel Vadot		reset-names = "nand";
508*f126890aSEmmanuel Vadot		assigned-clocks = <&tegra_car TEGRA20_CLK_NDFLASH>;
509*f126890aSEmmanuel Vadot		assigned-clock-rates = <150000000>;
510*f126890aSEmmanuel Vadot		power-domains = <&pd_core>;
511*f126890aSEmmanuel Vadot		operating-points-v2 = <&ndflash_dvfs_opp_table>;
512*f126890aSEmmanuel Vadot		status = "disabled";
513*f126890aSEmmanuel Vadot	};
514*f126890aSEmmanuel Vadot
515*f126890aSEmmanuel Vadot	gmi@70009000 {
516*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra20-gmi";
517*f126890aSEmmanuel Vadot		reg = <0x70009000 0x1000>;
518*f126890aSEmmanuel Vadot		#address-cells = <2>;
519*f126890aSEmmanuel Vadot		#size-cells = <1>;
520*f126890aSEmmanuel Vadot		ranges = <0 0 0xd0000000 0xfffffff>;
521*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA20_CLK_NOR>;
522*f126890aSEmmanuel Vadot		clock-names = "gmi";
523*f126890aSEmmanuel Vadot		resets = <&tegra_car 42>;
524*f126890aSEmmanuel Vadot		reset-names = "gmi";
525*f126890aSEmmanuel Vadot		power-domains = <&pd_core>;
526*f126890aSEmmanuel Vadot		operating-points-v2 = <&nor_dvfs_opp_table>;
527*f126890aSEmmanuel Vadot		status = "disabled";
528*f126890aSEmmanuel Vadot	};
529*f126890aSEmmanuel Vadot
530*f126890aSEmmanuel Vadot	pwm: pwm@7000a000 {
531*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra20-pwm";
532*f126890aSEmmanuel Vadot		reg = <0x7000a000 0x100>;
533*f126890aSEmmanuel Vadot		#pwm-cells = <2>;
534*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA20_CLK_PWM>;
535*f126890aSEmmanuel Vadot		resets = <&tegra_car 17>;
536*f126890aSEmmanuel Vadot		reset-names = "pwm";
537*f126890aSEmmanuel Vadot		status = "disabled";
538*f126890aSEmmanuel Vadot	};
539*f126890aSEmmanuel Vadot
540*f126890aSEmmanuel Vadot	i2c@7000c000 {
541*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra20-i2c";
542*f126890aSEmmanuel Vadot		reg = <0x7000c000 0x100>;
543*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
544*f126890aSEmmanuel Vadot		#address-cells = <1>;
545*f126890aSEmmanuel Vadot		#size-cells = <0>;
546*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA20_CLK_I2C1>,
547*f126890aSEmmanuel Vadot			 <&tegra_car TEGRA20_CLK_PLL_P_OUT3>;
548*f126890aSEmmanuel Vadot		clock-names = "div-clk", "fast-clk";
549*f126890aSEmmanuel Vadot		resets = <&tegra_car 12>;
550*f126890aSEmmanuel Vadot		reset-names = "i2c";
551*f126890aSEmmanuel Vadot		dmas = <&apbdma 21>, <&apbdma 21>;
552*f126890aSEmmanuel Vadot		dma-names = "rx", "tx";
553*f126890aSEmmanuel Vadot		status = "disabled";
554*f126890aSEmmanuel Vadot	};
555*f126890aSEmmanuel Vadot
556*f126890aSEmmanuel Vadot	spi@7000c380 {
557*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra20-sflash";
558*f126890aSEmmanuel Vadot		reg = <0x7000c380 0x80>;
559*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
560*f126890aSEmmanuel Vadot		#address-cells = <1>;
561*f126890aSEmmanuel Vadot		#size-cells = <0>;
562*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA20_CLK_SPI>;
563*f126890aSEmmanuel Vadot		resets = <&tegra_car 43>;
564*f126890aSEmmanuel Vadot		reset-names = "spi";
565*f126890aSEmmanuel Vadot		dmas = <&apbdma 11>, <&apbdma 11>;
566*f126890aSEmmanuel Vadot		dma-names = "rx", "tx";
567*f126890aSEmmanuel Vadot		status = "disabled";
568*f126890aSEmmanuel Vadot	};
569*f126890aSEmmanuel Vadot
570*f126890aSEmmanuel Vadot	i2c2: i2c@7000c400 {
571*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra20-i2c";
572*f126890aSEmmanuel Vadot		reg = <0x7000c400 0x100>;
573*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
574*f126890aSEmmanuel Vadot		#address-cells = <1>;
575*f126890aSEmmanuel Vadot		#size-cells = <0>;
576*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA20_CLK_I2C2>,
577*f126890aSEmmanuel Vadot			 <&tegra_car TEGRA20_CLK_PLL_P_OUT3>;
578*f126890aSEmmanuel Vadot		clock-names = "div-clk", "fast-clk";
579*f126890aSEmmanuel Vadot		resets = <&tegra_car 54>;
580*f126890aSEmmanuel Vadot		reset-names = "i2c";
581*f126890aSEmmanuel Vadot		dmas = <&apbdma 22>, <&apbdma 22>;
582*f126890aSEmmanuel Vadot		dma-names = "rx", "tx";
583*f126890aSEmmanuel Vadot		status = "disabled";
584*f126890aSEmmanuel Vadot	};
585*f126890aSEmmanuel Vadot
586*f126890aSEmmanuel Vadot	i2c@7000c500 {
587*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra20-i2c";
588*f126890aSEmmanuel Vadot		reg = <0x7000c500 0x100>;
589*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
590*f126890aSEmmanuel Vadot		#address-cells = <1>;
591*f126890aSEmmanuel Vadot		#size-cells = <0>;
592*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA20_CLK_I2C3>,
593*f126890aSEmmanuel Vadot			 <&tegra_car TEGRA20_CLK_PLL_P_OUT3>;
594*f126890aSEmmanuel Vadot		clock-names = "div-clk", "fast-clk";
595*f126890aSEmmanuel Vadot		resets = <&tegra_car 67>;
596*f126890aSEmmanuel Vadot		reset-names = "i2c";
597*f126890aSEmmanuel Vadot		dmas = <&apbdma 23>, <&apbdma 23>;
598*f126890aSEmmanuel Vadot		dma-names = "rx", "tx";
599*f126890aSEmmanuel Vadot		status = "disabled";
600*f126890aSEmmanuel Vadot	};
601*f126890aSEmmanuel Vadot
602*f126890aSEmmanuel Vadot	i2c@7000d000 {
603*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra20-i2c-dvc";
604*f126890aSEmmanuel Vadot		reg = <0x7000d000 0x200>;
605*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
606*f126890aSEmmanuel Vadot		#address-cells = <1>;
607*f126890aSEmmanuel Vadot		#size-cells = <0>;
608*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA20_CLK_DVC>,
609*f126890aSEmmanuel Vadot			 <&tegra_car TEGRA20_CLK_PLL_P_OUT3>;
610*f126890aSEmmanuel Vadot		clock-names = "div-clk", "fast-clk";
611*f126890aSEmmanuel Vadot		resets = <&tegra_car 47>;
612*f126890aSEmmanuel Vadot		reset-names = "i2c";
613*f126890aSEmmanuel Vadot		dmas = <&apbdma 24>, <&apbdma 24>;
614*f126890aSEmmanuel Vadot		dma-names = "rx", "tx";
615*f126890aSEmmanuel Vadot		status = "disabled";
616*f126890aSEmmanuel Vadot	};
617*f126890aSEmmanuel Vadot
618*f126890aSEmmanuel Vadot	spi@7000d400 {
619*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra20-slink";
620*f126890aSEmmanuel Vadot		reg = <0x7000d400 0x200>;
621*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
622*f126890aSEmmanuel Vadot		#address-cells = <1>;
623*f126890aSEmmanuel Vadot		#size-cells = <0>;
624*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA20_CLK_SBC1>;
625*f126890aSEmmanuel Vadot		resets = <&tegra_car 41>;
626*f126890aSEmmanuel Vadot		reset-names = "spi";
627*f126890aSEmmanuel Vadot		dmas = <&apbdma 15>, <&apbdma 15>;
628*f126890aSEmmanuel Vadot		dma-names = "rx", "tx";
629*f126890aSEmmanuel Vadot		status = "disabled";
630*f126890aSEmmanuel Vadot	};
631*f126890aSEmmanuel Vadot
632*f126890aSEmmanuel Vadot	spi@7000d600 {
633*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra20-slink";
634*f126890aSEmmanuel Vadot		reg = <0x7000d600 0x200>;
635*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
636*f126890aSEmmanuel Vadot		#address-cells = <1>;
637*f126890aSEmmanuel Vadot		#size-cells = <0>;
638*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA20_CLK_SBC2>;
639*f126890aSEmmanuel Vadot		resets = <&tegra_car 44>;
640*f126890aSEmmanuel Vadot		reset-names = "spi";
641*f126890aSEmmanuel Vadot		dmas = <&apbdma 16>, <&apbdma 16>;
642*f126890aSEmmanuel Vadot		dma-names = "rx", "tx";
643*f126890aSEmmanuel Vadot		status = "disabled";
644*f126890aSEmmanuel Vadot	};
645*f126890aSEmmanuel Vadot
646*f126890aSEmmanuel Vadot	spi@7000d800 {
647*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra20-slink";
648*f126890aSEmmanuel Vadot		reg = <0x7000d800 0x200>;
649*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
650*f126890aSEmmanuel Vadot		#address-cells = <1>;
651*f126890aSEmmanuel Vadot		#size-cells = <0>;
652*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA20_CLK_SBC3>;
653*f126890aSEmmanuel Vadot		resets = <&tegra_car 46>;
654*f126890aSEmmanuel Vadot		reset-names = "spi";
655*f126890aSEmmanuel Vadot		dmas = <&apbdma 17>, <&apbdma 17>;
656*f126890aSEmmanuel Vadot		dma-names = "rx", "tx";
657*f126890aSEmmanuel Vadot		status = "disabled";
658*f126890aSEmmanuel Vadot	};
659*f126890aSEmmanuel Vadot
660*f126890aSEmmanuel Vadot	spi@7000da00 {
661*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra20-slink";
662*f126890aSEmmanuel Vadot		reg = <0x7000da00 0x200>;
663*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
664*f126890aSEmmanuel Vadot		#address-cells = <1>;
665*f126890aSEmmanuel Vadot		#size-cells = <0>;
666*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA20_CLK_SBC4>;
667*f126890aSEmmanuel Vadot		resets = <&tegra_car 68>;
668*f126890aSEmmanuel Vadot		reset-names = "spi";
669*f126890aSEmmanuel Vadot		dmas = <&apbdma 18>, <&apbdma 18>;
670*f126890aSEmmanuel Vadot		dma-names = "rx", "tx";
671*f126890aSEmmanuel Vadot		status = "disabled";
672*f126890aSEmmanuel Vadot	};
673*f126890aSEmmanuel Vadot
674*f126890aSEmmanuel Vadot	rtc@7000e000 {
675*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra20-rtc";
676*f126890aSEmmanuel Vadot		reg = <0x7000e000 0x100>;
677*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
678*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA20_CLK_RTC>;
679*f126890aSEmmanuel Vadot	};
680*f126890aSEmmanuel Vadot
681*f126890aSEmmanuel Vadot	kbc@7000e200 {
682*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra20-kbc";
683*f126890aSEmmanuel Vadot		reg = <0x7000e200 0x100>;
684*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
685*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA20_CLK_KBC>;
686*f126890aSEmmanuel Vadot		resets = <&tegra_car 36>;
687*f126890aSEmmanuel Vadot		reset-names = "kbc";
688*f126890aSEmmanuel Vadot		status = "disabled";
689*f126890aSEmmanuel Vadot	};
690*f126890aSEmmanuel Vadot
691*f126890aSEmmanuel Vadot	tegra_pmc: pmc@7000e400 {
692*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra20-pmc";
693*f126890aSEmmanuel Vadot		reg = <0x7000e400 0x400>;
694*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA20_CLK_PCLK>, <&clk32k_in>;
695*f126890aSEmmanuel Vadot		clock-names = "pclk", "clk32k_in";
696*f126890aSEmmanuel Vadot		#clock-cells = <1>;
697*f126890aSEmmanuel Vadot
698*f126890aSEmmanuel Vadot		pd_core: core-domain {
699*f126890aSEmmanuel Vadot			#power-domain-cells = <0>;
700*f126890aSEmmanuel Vadot			operating-points-v2 = <&core_opp_table>;
701*f126890aSEmmanuel Vadot		};
702*f126890aSEmmanuel Vadot
703*f126890aSEmmanuel Vadot		powergates {
704*f126890aSEmmanuel Vadot			pd_mpe: mpe {
705*f126890aSEmmanuel Vadot				clocks = <&tegra_car TEGRA20_CLK_MPE>;
706*f126890aSEmmanuel Vadot				resets = <&mc TEGRA20_MC_RESET_MPEA>,
707*f126890aSEmmanuel Vadot					 <&mc TEGRA20_MC_RESET_MPEB>,
708*f126890aSEmmanuel Vadot					 <&mc TEGRA20_MC_RESET_MPEC>,
709*f126890aSEmmanuel Vadot					 <&tegra_car TEGRA20_CLK_MPE>;
710*f126890aSEmmanuel Vadot				power-domains = <&pd_core>;
711*f126890aSEmmanuel Vadot				#power-domain-cells = <0>;
712*f126890aSEmmanuel Vadot			};
713*f126890aSEmmanuel Vadot
714*f126890aSEmmanuel Vadot			pd_3d: td {
715*f126890aSEmmanuel Vadot				clocks = <&tegra_car TEGRA20_CLK_GR3D>;
716*f126890aSEmmanuel Vadot				resets = <&mc TEGRA20_MC_RESET_3D>,
717*f126890aSEmmanuel Vadot					 <&tegra_car TEGRA20_CLK_GR3D>;
718*f126890aSEmmanuel Vadot				power-domains = <&pd_core>;
719*f126890aSEmmanuel Vadot				#power-domain-cells = <0>;
720*f126890aSEmmanuel Vadot			};
721*f126890aSEmmanuel Vadot
722*f126890aSEmmanuel Vadot			pd_vde: vdec {
723*f126890aSEmmanuel Vadot				clocks = <&tegra_car TEGRA20_CLK_VDE>;
724*f126890aSEmmanuel Vadot				resets = <&mc TEGRA20_MC_RESET_VDE>,
725*f126890aSEmmanuel Vadot					 <&tegra_car TEGRA20_CLK_VDE>;
726*f126890aSEmmanuel Vadot				power-domains = <&pd_core>;
727*f126890aSEmmanuel Vadot				#power-domain-cells = <0>;
728*f126890aSEmmanuel Vadot			};
729*f126890aSEmmanuel Vadot
730*f126890aSEmmanuel Vadot			pd_venc: venc {
731*f126890aSEmmanuel Vadot				clocks = <&tegra_car TEGRA20_CLK_ISP>,
732*f126890aSEmmanuel Vadot					 <&tegra_car TEGRA20_CLK_VI>,
733*f126890aSEmmanuel Vadot					 <&tegra_car TEGRA20_CLK_CSI>;
734*f126890aSEmmanuel Vadot				resets = <&mc TEGRA20_MC_RESET_ISP>,
735*f126890aSEmmanuel Vadot					 <&mc TEGRA20_MC_RESET_VI>,
736*f126890aSEmmanuel Vadot					 <&tegra_car TEGRA20_CLK_ISP>,
737*f126890aSEmmanuel Vadot					 <&tegra_car 20 /* VI */>,
738*f126890aSEmmanuel Vadot					 <&tegra_car TEGRA20_CLK_CSI>;
739*f126890aSEmmanuel Vadot				power-domains = <&pd_core>;
740*f126890aSEmmanuel Vadot				#power-domain-cells = <0>;
741*f126890aSEmmanuel Vadot			};
742*f126890aSEmmanuel Vadot		};
743*f126890aSEmmanuel Vadot	};
744*f126890aSEmmanuel Vadot
745*f126890aSEmmanuel Vadot	mc: memory-controller@7000f000 {
746*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra20-mc-gart";
747*f126890aSEmmanuel Vadot		reg = <0x7000f000 0x00000400>, /* controller registers */
748*f126890aSEmmanuel Vadot		      <0x58000000 0x02000000>; /* GART aperture */
749*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA20_CLK_MC>;
750*f126890aSEmmanuel Vadot		clock-names = "mc";
751*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
752*f126890aSEmmanuel Vadot		#reset-cells = <1>;
753*f126890aSEmmanuel Vadot		#iommu-cells = <0>;
754*f126890aSEmmanuel Vadot		#interconnect-cells = <1>;
755*f126890aSEmmanuel Vadot	};
756*f126890aSEmmanuel Vadot
757*f126890aSEmmanuel Vadot	emc: memory-controller@7000f400 {
758*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra20-emc";
759*f126890aSEmmanuel Vadot		reg = <0x7000f400 0x400>;
760*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
761*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA20_CLK_EMC>;
762*f126890aSEmmanuel Vadot		power-domains = <&pd_core>;
763*f126890aSEmmanuel Vadot		#address-cells = <1>;
764*f126890aSEmmanuel Vadot		#size-cells = <0>;
765*f126890aSEmmanuel Vadot		#interconnect-cells = <0>;
766*f126890aSEmmanuel Vadot
767*f126890aSEmmanuel Vadot		nvidia,memory-controller = <&mc>;
768*f126890aSEmmanuel Vadot		operating-points-v2 = <&emc_icc_dvfs_opp_table>;
769*f126890aSEmmanuel Vadot	};
770*f126890aSEmmanuel Vadot
771*f126890aSEmmanuel Vadot	fuse@7000f800 {
772*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra20-efuse";
773*f126890aSEmmanuel Vadot		reg = <0x7000f800 0x400>;
774*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA20_CLK_FUSE>;
775*f126890aSEmmanuel Vadot		clock-names = "fuse";
776*f126890aSEmmanuel Vadot		resets = <&tegra_car 39>;
777*f126890aSEmmanuel Vadot		reset-names = "fuse";
778*f126890aSEmmanuel Vadot	};
779*f126890aSEmmanuel Vadot
780*f126890aSEmmanuel Vadot	pcie@80003000 {
781*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra20-pcie";
782*f126890aSEmmanuel Vadot		device_type = "pci";
783*f126890aSEmmanuel Vadot		reg = <0x80003000 0x00000800>, /* PADS registers */
784*f126890aSEmmanuel Vadot		      <0x80003800 0x00000200>, /* AFI registers */
785*f126890aSEmmanuel Vadot		      <0x90000000 0x10000000>; /* configuration space */
786*f126890aSEmmanuel Vadot		reg-names = "pads", "afi", "cs";
787*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>, /* controller interrupt */
788*f126890aSEmmanuel Vadot			     <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; /* MSI interrupt */
789*f126890aSEmmanuel Vadot		interrupt-names = "intr", "msi";
790*f126890aSEmmanuel Vadot
791*f126890aSEmmanuel Vadot		#interrupt-cells = <1>;
792*f126890aSEmmanuel Vadot		interrupt-map-mask = <0 0 0 0>;
793*f126890aSEmmanuel Vadot		interrupt-map = <0 0 0 0 &intc GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
794*f126890aSEmmanuel Vadot
795*f126890aSEmmanuel Vadot		bus-range = <0x00 0xff>;
796*f126890aSEmmanuel Vadot		#address-cells = <3>;
797*f126890aSEmmanuel Vadot		#size-cells = <2>;
798*f126890aSEmmanuel Vadot
799*f126890aSEmmanuel Vadot		ranges = <0x02000000 0 0x80000000 0x80000000 0 0x00001000>, /* port 0 registers */
800*f126890aSEmmanuel Vadot			 <0x02000000 0 0x80001000 0x80001000 0 0x00001000>, /* port 1 registers */
801*f126890aSEmmanuel Vadot			 <0x01000000 0 0          0x82000000 0 0x00010000>, /* downstream I/O */
802*f126890aSEmmanuel Vadot			 <0x02000000 0 0xa0000000 0xa0000000 0 0x08000000>, /* non-prefetchable memory */
803*f126890aSEmmanuel Vadot			 <0x42000000 0 0xa8000000 0xa8000000 0 0x18000000>; /* prefetchable memory */
804*f126890aSEmmanuel Vadot
805*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA20_CLK_PEX>,
806*f126890aSEmmanuel Vadot			 <&tegra_car TEGRA20_CLK_AFI>,
807*f126890aSEmmanuel Vadot			 <&tegra_car TEGRA20_CLK_PLL_E>;
808*f126890aSEmmanuel Vadot		clock-names = "pex", "afi", "pll_e";
809*f126890aSEmmanuel Vadot		resets = <&tegra_car 70>,
810*f126890aSEmmanuel Vadot			 <&tegra_car 72>,
811*f126890aSEmmanuel Vadot			 <&tegra_car 74>;
812*f126890aSEmmanuel Vadot		reset-names = "pex", "afi", "pcie_x";
813*f126890aSEmmanuel Vadot		power-domains = <&pd_core>;
814*f126890aSEmmanuel Vadot		operating-points-v2 = <&pcie_dvfs_opp_table>;
815*f126890aSEmmanuel Vadot
816*f126890aSEmmanuel Vadot		status = "disabled";
817*f126890aSEmmanuel Vadot
818*f126890aSEmmanuel Vadot		pci@1,0 {
819*f126890aSEmmanuel Vadot			device_type = "pci";
820*f126890aSEmmanuel Vadot			assigned-addresses = <0x82000800 0 0x80000000 0 0x1000>;
821*f126890aSEmmanuel Vadot			reg = <0x000800 0 0 0 0>;
822*f126890aSEmmanuel Vadot			bus-range = <0x00 0xff>;
823*f126890aSEmmanuel Vadot			status = "disabled";
824*f126890aSEmmanuel Vadot
825*f126890aSEmmanuel Vadot			#address-cells = <3>;
826*f126890aSEmmanuel Vadot			#size-cells = <2>;
827*f126890aSEmmanuel Vadot			ranges;
828*f126890aSEmmanuel Vadot
829*f126890aSEmmanuel Vadot			nvidia,num-lanes = <2>;
830*f126890aSEmmanuel Vadot		};
831*f126890aSEmmanuel Vadot
832*f126890aSEmmanuel Vadot		pci@2,0 {
833*f126890aSEmmanuel Vadot			device_type = "pci";
834*f126890aSEmmanuel Vadot			assigned-addresses = <0x82001000 0 0x80001000 0 0x1000>;
835*f126890aSEmmanuel Vadot			reg = <0x001000 0 0 0 0>;
836*f126890aSEmmanuel Vadot			bus-range = <0x00 0xff>;
837*f126890aSEmmanuel Vadot			status = "disabled";
838*f126890aSEmmanuel Vadot
839*f126890aSEmmanuel Vadot			#address-cells = <3>;
840*f126890aSEmmanuel Vadot			#size-cells = <2>;
841*f126890aSEmmanuel Vadot			ranges;
842*f126890aSEmmanuel Vadot
843*f126890aSEmmanuel Vadot			nvidia,num-lanes = <2>;
844*f126890aSEmmanuel Vadot		};
845*f126890aSEmmanuel Vadot	};
846*f126890aSEmmanuel Vadot
847*f126890aSEmmanuel Vadot	usb@c5000000 {
848*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra20-ehci";
849*f126890aSEmmanuel Vadot		reg = <0xc5000000 0x4000>;
850*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
851*f126890aSEmmanuel Vadot		phy_type = "utmi";
852*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA20_CLK_USBD>;
853*f126890aSEmmanuel Vadot		resets = <&tegra_car 22>;
854*f126890aSEmmanuel Vadot		reset-names = "usb";
855*f126890aSEmmanuel Vadot		nvidia,needs-double-reset;
856*f126890aSEmmanuel Vadot		nvidia,phy = <&phy1>;
857*f126890aSEmmanuel Vadot		power-domains = <&pd_core>;
858*f126890aSEmmanuel Vadot		operating-points-v2 = <&usbd_dvfs_opp_table>;
859*f126890aSEmmanuel Vadot		status = "disabled";
860*f126890aSEmmanuel Vadot	};
861*f126890aSEmmanuel Vadot
862*f126890aSEmmanuel Vadot	phy1: usb-phy@c5000000 {
863*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra20-usb-phy";
864*f126890aSEmmanuel Vadot		reg = <0xc5000000 0x4000>,
865*f126890aSEmmanuel Vadot		      <0xc5000000 0x4000>;
866*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
867*f126890aSEmmanuel Vadot		phy_type = "utmi";
868*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA20_CLK_USBD>,
869*f126890aSEmmanuel Vadot			 <&tegra_car TEGRA20_CLK_PLL_U>,
870*f126890aSEmmanuel Vadot			 <&tegra_car TEGRA20_CLK_CLK_M>,
871*f126890aSEmmanuel Vadot			 <&tegra_car TEGRA20_CLK_USBD>;
872*f126890aSEmmanuel Vadot		clock-names = "reg", "pll_u", "timer", "utmi-pads";
873*f126890aSEmmanuel Vadot		resets = <&tegra_car 22>, <&tegra_car 22>;
874*f126890aSEmmanuel Vadot		reset-names = "usb", "utmi-pads";
875*f126890aSEmmanuel Vadot		#phy-cells = <0>;
876*f126890aSEmmanuel Vadot		nvidia,has-legacy-mode;
877*f126890aSEmmanuel Vadot		nvidia,hssync-start-delay = <9>;
878*f126890aSEmmanuel Vadot		nvidia,idle-wait-delay = <17>;
879*f126890aSEmmanuel Vadot		nvidia,elastic-limit = <16>;
880*f126890aSEmmanuel Vadot		nvidia,term-range-adj = <6>;
881*f126890aSEmmanuel Vadot		nvidia,xcvr-setup = <9>;
882*f126890aSEmmanuel Vadot		nvidia,xcvr-lsfslew = <1>;
883*f126890aSEmmanuel Vadot		nvidia,xcvr-lsrslew = <1>;
884*f126890aSEmmanuel Vadot		nvidia,has-utmi-pad-registers;
885*f126890aSEmmanuel Vadot		nvidia,pmc = <&tegra_pmc 0>;
886*f126890aSEmmanuel Vadot		status = "disabled";
887*f126890aSEmmanuel Vadot	};
888*f126890aSEmmanuel Vadot
889*f126890aSEmmanuel Vadot	usb@c5004000 {
890*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra20-ehci";
891*f126890aSEmmanuel Vadot		reg = <0xc5004000 0x4000>;
892*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
893*f126890aSEmmanuel Vadot		phy_type = "ulpi";
894*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA20_CLK_USB2>;
895*f126890aSEmmanuel Vadot		resets = <&tegra_car 58>;
896*f126890aSEmmanuel Vadot		reset-names = "usb";
897*f126890aSEmmanuel Vadot		nvidia,phy = <&phy2>;
898*f126890aSEmmanuel Vadot		power-domains = <&pd_core>;
899*f126890aSEmmanuel Vadot		operating-points-v2 = <&usb2_dvfs_opp_table>;
900*f126890aSEmmanuel Vadot		status = "disabled";
901*f126890aSEmmanuel Vadot	};
902*f126890aSEmmanuel Vadot
903*f126890aSEmmanuel Vadot	phy2: usb-phy@c5004000 {
904*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra20-usb-phy";
905*f126890aSEmmanuel Vadot		reg = <0xc5004000 0x4000>;
906*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
907*f126890aSEmmanuel Vadot		phy_type = "ulpi";
908*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA20_CLK_USB2>,
909*f126890aSEmmanuel Vadot			 <&tegra_car TEGRA20_CLK_PLL_U>,
910*f126890aSEmmanuel Vadot			 <&tegra_car TEGRA20_CLK_CDEV2>;
911*f126890aSEmmanuel Vadot		clock-names = "reg", "pll_u", "ulpi-link";
912*f126890aSEmmanuel Vadot		resets = <&tegra_car 58>, <&tegra_car 22>;
913*f126890aSEmmanuel Vadot		reset-names = "usb", "utmi-pads";
914*f126890aSEmmanuel Vadot		#phy-cells = <0>;
915*f126890aSEmmanuel Vadot		nvidia,pmc = <&tegra_pmc 1>;
916*f126890aSEmmanuel Vadot		status = "disabled";
917*f126890aSEmmanuel Vadot	};
918*f126890aSEmmanuel Vadot
919*f126890aSEmmanuel Vadot	usb@c5008000 {
920*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra20-ehci";
921*f126890aSEmmanuel Vadot		reg = <0xc5008000 0x4000>;
922*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
923*f126890aSEmmanuel Vadot		phy_type = "utmi";
924*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA20_CLK_USB3>;
925*f126890aSEmmanuel Vadot		resets = <&tegra_car 59>;
926*f126890aSEmmanuel Vadot		reset-names = "usb";
927*f126890aSEmmanuel Vadot		nvidia,phy = <&phy3>;
928*f126890aSEmmanuel Vadot		power-domains = <&pd_core>;
929*f126890aSEmmanuel Vadot		operating-points-v2 = <&usb3_dvfs_opp_table>;
930*f126890aSEmmanuel Vadot		status = "disabled";
931*f126890aSEmmanuel Vadot	};
932*f126890aSEmmanuel Vadot
933*f126890aSEmmanuel Vadot	phy3: usb-phy@c5008000 {
934*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra20-usb-phy";
935*f126890aSEmmanuel Vadot		reg = <0xc5008000 0x4000>,
936*f126890aSEmmanuel Vadot		      <0xc5000000 0x4000>;
937*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
938*f126890aSEmmanuel Vadot		phy_type = "utmi";
939*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA20_CLK_USB3>,
940*f126890aSEmmanuel Vadot			 <&tegra_car TEGRA20_CLK_PLL_U>,
941*f126890aSEmmanuel Vadot			 <&tegra_car TEGRA20_CLK_CLK_M>,
942*f126890aSEmmanuel Vadot			 <&tegra_car TEGRA20_CLK_USBD>;
943*f126890aSEmmanuel Vadot		clock-names = "reg", "pll_u", "timer", "utmi-pads";
944*f126890aSEmmanuel Vadot		resets = <&tegra_car 59>, <&tegra_car 22>;
945*f126890aSEmmanuel Vadot		reset-names = "usb", "utmi-pads";
946*f126890aSEmmanuel Vadot		#phy-cells = <0>;
947*f126890aSEmmanuel Vadot		nvidia,hssync-start-delay = <9>;
948*f126890aSEmmanuel Vadot		nvidia,idle-wait-delay = <17>;
949*f126890aSEmmanuel Vadot		nvidia,elastic-limit = <16>;
950*f126890aSEmmanuel Vadot		nvidia,term-range-adj = <6>;
951*f126890aSEmmanuel Vadot		nvidia,xcvr-setup = <9>;
952*f126890aSEmmanuel Vadot		nvidia,xcvr-lsfslew = <2>;
953*f126890aSEmmanuel Vadot		nvidia,xcvr-lsrslew = <2>;
954*f126890aSEmmanuel Vadot		nvidia,pmc = <&tegra_pmc 2>;
955*f126890aSEmmanuel Vadot		status = "disabled";
956*f126890aSEmmanuel Vadot	};
957*f126890aSEmmanuel Vadot
958*f126890aSEmmanuel Vadot	mmc@c8000000 {
959*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra20-sdhci";
960*f126890aSEmmanuel Vadot		reg = <0xc8000000 0x200>;
961*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
962*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA20_CLK_SDMMC1>;
963*f126890aSEmmanuel Vadot		clock-names = "sdhci";
964*f126890aSEmmanuel Vadot		resets = <&tegra_car 14>;
965*f126890aSEmmanuel Vadot		reset-names = "sdhci";
966*f126890aSEmmanuel Vadot		power-domains = <&pd_core>;
967*f126890aSEmmanuel Vadot		operating-points-v2 = <&sdmmc1_dvfs_opp_table>;
968*f126890aSEmmanuel Vadot		status = "disabled";
969*f126890aSEmmanuel Vadot	};
970*f126890aSEmmanuel Vadot
971*f126890aSEmmanuel Vadot	mmc@c8000200 {
972*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra20-sdhci";
973*f126890aSEmmanuel Vadot		reg = <0xc8000200 0x200>;
974*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
975*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA20_CLK_SDMMC2>;
976*f126890aSEmmanuel Vadot		clock-names = "sdhci";
977*f126890aSEmmanuel Vadot		resets = <&tegra_car 9>;
978*f126890aSEmmanuel Vadot		reset-names = "sdhci";
979*f126890aSEmmanuel Vadot		power-domains = <&pd_core>;
980*f126890aSEmmanuel Vadot		operating-points-v2 = <&sdmmc2_dvfs_opp_table>;
981*f126890aSEmmanuel Vadot		status = "disabled";
982*f126890aSEmmanuel Vadot	};
983*f126890aSEmmanuel Vadot
984*f126890aSEmmanuel Vadot	mmc@c8000400 {
985*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra20-sdhci";
986*f126890aSEmmanuel Vadot		reg = <0xc8000400 0x200>;
987*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
988*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA20_CLK_SDMMC3>;
989*f126890aSEmmanuel Vadot		clock-names = "sdhci";
990*f126890aSEmmanuel Vadot		resets = <&tegra_car 69>;
991*f126890aSEmmanuel Vadot		reset-names = "sdhci";
992*f126890aSEmmanuel Vadot		power-domains = <&pd_core>;
993*f126890aSEmmanuel Vadot		operating-points-v2 = <&sdmmc3_dvfs_opp_table>;
994*f126890aSEmmanuel Vadot		status = "disabled";
995*f126890aSEmmanuel Vadot	};
996*f126890aSEmmanuel Vadot
997*f126890aSEmmanuel Vadot	mmc@c8000600 {
998*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra20-sdhci";
999*f126890aSEmmanuel Vadot		reg = <0xc8000600 0x200>;
1000*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
1001*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA20_CLK_SDMMC4>;
1002*f126890aSEmmanuel Vadot		clock-names = "sdhci";
1003*f126890aSEmmanuel Vadot		resets = <&tegra_car 15>;
1004*f126890aSEmmanuel Vadot		reset-names = "sdhci";
1005*f126890aSEmmanuel Vadot		power-domains = <&pd_core>;
1006*f126890aSEmmanuel Vadot		operating-points-v2 = <&sdmmc4_dvfs_opp_table>;
1007*f126890aSEmmanuel Vadot		status = "disabled";
1008*f126890aSEmmanuel Vadot	};
1009*f126890aSEmmanuel Vadot
1010*f126890aSEmmanuel Vadot	cpus {
1011*f126890aSEmmanuel Vadot		#address-cells = <1>;
1012*f126890aSEmmanuel Vadot		#size-cells = <0>;
1013*f126890aSEmmanuel Vadot
1014*f126890aSEmmanuel Vadot		cpu@0 {
1015*f126890aSEmmanuel Vadot			device_type = "cpu";
1016*f126890aSEmmanuel Vadot			compatible = "arm,cortex-a9";
1017*f126890aSEmmanuel Vadot			reg = <0>;
1018*f126890aSEmmanuel Vadot			clocks = <&tegra_car TEGRA20_CLK_CCLK>;
1019*f126890aSEmmanuel Vadot		};
1020*f126890aSEmmanuel Vadot
1021*f126890aSEmmanuel Vadot		cpu@1 {
1022*f126890aSEmmanuel Vadot			device_type = "cpu";
1023*f126890aSEmmanuel Vadot			compatible = "arm,cortex-a9";
1024*f126890aSEmmanuel Vadot			reg = <1>;
1025*f126890aSEmmanuel Vadot			clocks = <&tegra_car TEGRA20_CLK_CCLK>;
1026*f126890aSEmmanuel Vadot		};
1027*f126890aSEmmanuel Vadot	};
1028*f126890aSEmmanuel Vadot
1029*f126890aSEmmanuel Vadot	pmu {
1030*f126890aSEmmanuel Vadot		compatible = "arm,cortex-a9-pmu";
1031*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>,
1032*f126890aSEmmanuel Vadot			     <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
1033*f126890aSEmmanuel Vadot		interrupt-affinity = <&{/cpus/cpu@0}>,
1034*f126890aSEmmanuel Vadot				     <&{/cpus/cpu@1}>;
1035*f126890aSEmmanuel Vadot	};
1036*f126890aSEmmanuel Vadot
1037*f126890aSEmmanuel Vadot	sound-hdmi {
1038*f126890aSEmmanuel Vadot		compatible = "simple-audio-card";
1039*f126890aSEmmanuel Vadot		simple-audio-card,name = "NVIDIA Tegra20 HDMI";
1040*f126890aSEmmanuel Vadot
1041*f126890aSEmmanuel Vadot		#address-cells = <1>;
1042*f126890aSEmmanuel Vadot		#size-cells = <0>;
1043*f126890aSEmmanuel Vadot
1044*f126890aSEmmanuel Vadot		simple-audio-card,dai-link@0 {
1045*f126890aSEmmanuel Vadot			reg = <0>;
1046*f126890aSEmmanuel Vadot
1047*f126890aSEmmanuel Vadot			codec {
1048*f126890aSEmmanuel Vadot				sound-dai = <&tegra_hdmi>;
1049*f126890aSEmmanuel Vadot			};
1050*f126890aSEmmanuel Vadot
1051*f126890aSEmmanuel Vadot			cpu {
1052*f126890aSEmmanuel Vadot				sound-dai = <&tegra_spdif>;
1053*f126890aSEmmanuel Vadot			};
1054*f126890aSEmmanuel Vadot		};
1055*f126890aSEmmanuel Vadot	};
1056*f126890aSEmmanuel Vadot};
1057