xref: /OK3568_Linux_fs/u-boot/arch/arm/dts/tegra210.dtsi (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun#include <dt-bindings/clock/tegra210-car.h>
2*4882a593Smuzhiyun#include <dt-bindings/gpio/tegra-gpio.h>
3*4882a593Smuzhiyun#include <dt-bindings/memory/tegra210-mc.h>
4*4882a593Smuzhiyun#include <dt-bindings/pinctrl/pinctrl-tegra.h>
5*4882a593Smuzhiyun#include <dt-bindings/interrupt-controller/arm-gic.h>
6*4882a593Smuzhiyun#include <dt-bindings/pinctrl/pinctrl-tegra-xusb.h>
7*4882a593Smuzhiyun
8*4882a593Smuzhiyun/ {
9*4882a593Smuzhiyun	compatible = "nvidia,tegra210";
10*4882a593Smuzhiyun	interrupt-parent = <&lic>;
11*4882a593Smuzhiyun	#address-cells = <2>;
12*4882a593Smuzhiyun	#size-cells = <2>;
13*4882a593Smuzhiyun
14*4882a593Smuzhiyun	pcie-controller@01003000 {
15*4882a593Smuzhiyun		compatible = "nvidia,tegra210-pcie";
16*4882a593Smuzhiyun		device_type = "pci";
17*4882a593Smuzhiyun		reg = <0x0 0x01003000 0x0 0x00000800   /* PADS registers */
18*4882a593Smuzhiyun		       0x0 0x01003800 0x0 0x00000800   /* AFI registers */
19*4882a593Smuzhiyun		       0x0 0x02000000 0x0 0x10000000>; /* configuration space */
20*4882a593Smuzhiyun		reg-names = "pads", "afi", "cs";
21*4882a593Smuzhiyun		interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>, /* controller interrupt */
22*4882a593Smuzhiyun			     <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; /* MSI interrupt */
23*4882a593Smuzhiyun		interrupt-names = "intr", "msi";
24*4882a593Smuzhiyun
25*4882a593Smuzhiyun		#interrupt-cells = <1>;
26*4882a593Smuzhiyun		interrupt-map-mask = <0 0 0 0>;
27*4882a593Smuzhiyun		interrupt-map = <0 0 0 0 &gic GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
28*4882a593Smuzhiyun
29*4882a593Smuzhiyun		bus-range = <0x00 0xff>;
30*4882a593Smuzhiyun		#address-cells = <3>;
31*4882a593Smuzhiyun		#size-cells = <2>;
32*4882a593Smuzhiyun
33*4882a593Smuzhiyun		ranges = <0x82000000 0 0x01000000 0x0 0x01000000 0 0x00001000   /* port 0 configuration space */
34*4882a593Smuzhiyun			  0x82000000 0 0x01001000 0x0 0x01001000 0 0x00001000   /* port 1 configuration space */
35*4882a593Smuzhiyun			  0x81000000 0 0x0        0x0 0x12000000 0 0x00010000   /* downstream I/O (64 KiB) */
36*4882a593Smuzhiyun			  0x82000000 0 0x13000000 0x0 0x13000000 0 0x0d000000   /* non-prefetchable memory (208 MiB) */
37*4882a593Smuzhiyun			  0xc2000000 0 0x20000000 0x0 0x20000000 0 0x20000000>; /* prefetchable memory (512 MiB) */
38*4882a593Smuzhiyun
39*4882a593Smuzhiyun		clocks = <&tegra_car TEGRA210_CLK_PCIE>,
40*4882a593Smuzhiyun			 <&tegra_car TEGRA210_CLK_AFI>,
41*4882a593Smuzhiyun			 <&tegra_car TEGRA210_CLK_PLL_E>,
42*4882a593Smuzhiyun			 <&tegra_car TEGRA210_CLK_CML0>;
43*4882a593Smuzhiyun		clock-names = "pex", "afi", "pll_e", "cml";
44*4882a593Smuzhiyun		resets = <&tegra_car 70>,
45*4882a593Smuzhiyun			 <&tegra_car 72>,
46*4882a593Smuzhiyun			 <&tegra_car 74>;
47*4882a593Smuzhiyun		reset-names = "pex", "afi", "pcie_x";
48*4882a593Smuzhiyun		status = "disabled";
49*4882a593Smuzhiyun
50*4882a593Smuzhiyun		phys = <&padctl TEGRA_XUSB_PADCTL_PCIE>;
51*4882a593Smuzhiyun		phy-names = "pcie";
52*4882a593Smuzhiyun
53*4882a593Smuzhiyun		pci@1,0 {
54*4882a593Smuzhiyun			device_type = "pci";
55*4882a593Smuzhiyun			assigned-addresses = <0x82000800 0 0x01000000 0 0x1000>;
56*4882a593Smuzhiyun			reg = <0x000800 0 0 0 0>;
57*4882a593Smuzhiyun			status = "disabled";
58*4882a593Smuzhiyun
59*4882a593Smuzhiyun			#address-cells = <3>;
60*4882a593Smuzhiyun			#size-cells = <2>;
61*4882a593Smuzhiyun			ranges;
62*4882a593Smuzhiyun
63*4882a593Smuzhiyun			nvidia,num-lanes = <4>;
64*4882a593Smuzhiyun		};
65*4882a593Smuzhiyun
66*4882a593Smuzhiyun		pci@2,0 {
67*4882a593Smuzhiyun			device_type = "pci";
68*4882a593Smuzhiyun			assigned-addresses = <0x82001000 0 0x01001000 0 0x1000>;
69*4882a593Smuzhiyun			reg = <0x001000 0 0 0 0>;
70*4882a593Smuzhiyun			status = "disabled";
71*4882a593Smuzhiyun
72*4882a593Smuzhiyun			#address-cells = <3>;
73*4882a593Smuzhiyun			#size-cells = <2>;
74*4882a593Smuzhiyun			ranges;
75*4882a593Smuzhiyun
76*4882a593Smuzhiyun			nvidia,num-lanes = <1>;
77*4882a593Smuzhiyun		};
78*4882a593Smuzhiyun	};
79*4882a593Smuzhiyun
80*4882a593Smuzhiyun	host1x@50000000 {
81*4882a593Smuzhiyun		compatible = "nvidia,tegra210-host1x", "simple-bus";
82*4882a593Smuzhiyun		reg = <0x0 0x50000000 0x0 0x00034000>;
83*4882a593Smuzhiyun		interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>, /* syncpt */
84*4882a593Smuzhiyun			     <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; /* general */
85*4882a593Smuzhiyun		clocks = <&tegra_car TEGRA210_CLK_HOST1X>;
86*4882a593Smuzhiyun		clock-names = "host1x";
87*4882a593Smuzhiyun		resets = <&tegra_car 28>;
88*4882a593Smuzhiyun		reset-names = "host1x";
89*4882a593Smuzhiyun
90*4882a593Smuzhiyun		#address-cells = <2>;
91*4882a593Smuzhiyun		#size-cells = <2>;
92*4882a593Smuzhiyun
93*4882a593Smuzhiyun		ranges = <0x0 0x54000000 0x0 0x54000000 0x0 0x01000000>;
94*4882a593Smuzhiyun
95*4882a593Smuzhiyun		dpaux1: dpaux@54040000 {
96*4882a593Smuzhiyun			compatible = "nvidia,tegra210-dpaux";
97*4882a593Smuzhiyun			reg = <0x0 0x54040000 0x0 0x00040000>;
98*4882a593Smuzhiyun			interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
99*4882a593Smuzhiyun			clocks = <&tegra_car TEGRA210_CLK_DPAUX1>,
100*4882a593Smuzhiyun				 <&tegra_car TEGRA210_CLK_PLL_DP>;
101*4882a593Smuzhiyun			clock-names = "dpaux", "parent";
102*4882a593Smuzhiyun			resets = <&tegra_car 207>;
103*4882a593Smuzhiyun			reset-names = "dpaux";
104*4882a593Smuzhiyun			status = "disabled";
105*4882a593Smuzhiyun		};
106*4882a593Smuzhiyun
107*4882a593Smuzhiyun		vi@54080000 {
108*4882a593Smuzhiyun			compatible = "nvidia,tegra210-vi";
109*4882a593Smuzhiyun			reg = <0x0 0x54080000 0x0 0x00040000>;
110*4882a593Smuzhiyun			interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
111*4882a593Smuzhiyun			status = "disabled";
112*4882a593Smuzhiyun		};
113*4882a593Smuzhiyun
114*4882a593Smuzhiyun		tsec@54100000 {
115*4882a593Smuzhiyun			compatible = "nvidia,tegra210-tsec";
116*4882a593Smuzhiyun			reg = <0x0 0x54100000 0x0 0x00040000>;
117*4882a593Smuzhiyun		};
118*4882a593Smuzhiyun
119*4882a593Smuzhiyun		dc@54200000 {
120*4882a593Smuzhiyun			compatible = "nvidia,tegra210-dc";
121*4882a593Smuzhiyun			reg = <0x0 0x54200000 0x0 0x00040000>;
122*4882a593Smuzhiyun			interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
123*4882a593Smuzhiyun			clocks = <&tegra_car TEGRA210_CLK_DISP1>,
124*4882a593Smuzhiyun				 <&tegra_car TEGRA210_CLK_PLL_P>;
125*4882a593Smuzhiyun			clock-names = "dc", "parent";
126*4882a593Smuzhiyun			resets = <&tegra_car 27>;
127*4882a593Smuzhiyun			reset-names = "dc";
128*4882a593Smuzhiyun
129*4882a593Smuzhiyun			iommus = <&mc TEGRA_SWGROUP_DC>;
130*4882a593Smuzhiyun
131*4882a593Smuzhiyun			nvidia,head = <0>;
132*4882a593Smuzhiyun		};
133*4882a593Smuzhiyun
134*4882a593Smuzhiyun		dc@54240000 {
135*4882a593Smuzhiyun			compatible = "nvidia,tegra210-dc";
136*4882a593Smuzhiyun			reg = <0x0 0x54240000 0x0 0x00040000>;
137*4882a593Smuzhiyun			interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
138*4882a593Smuzhiyun			clocks = <&tegra_car TEGRA210_CLK_DISP2>,
139*4882a593Smuzhiyun				 <&tegra_car TEGRA210_CLK_PLL_P>;
140*4882a593Smuzhiyun			clock-names = "dc", "parent";
141*4882a593Smuzhiyun			resets = <&tegra_car 26>;
142*4882a593Smuzhiyun			reset-names = "dc";
143*4882a593Smuzhiyun
144*4882a593Smuzhiyun			iommus = <&mc TEGRA_SWGROUP_DCB>;
145*4882a593Smuzhiyun
146*4882a593Smuzhiyun			nvidia,head = <1>;
147*4882a593Smuzhiyun		};
148*4882a593Smuzhiyun
149*4882a593Smuzhiyun		dsi@54300000 {
150*4882a593Smuzhiyun			compatible = "nvidia,tegra210-dsi";
151*4882a593Smuzhiyun			reg = <0x0 0x54300000 0x0 0x00040000>;
152*4882a593Smuzhiyun			clocks = <&tegra_car TEGRA210_CLK_DSIA>,
153*4882a593Smuzhiyun				 <&tegra_car TEGRA210_CLK_DSIALP>,
154*4882a593Smuzhiyun				 <&tegra_car TEGRA210_CLK_PLL_D_OUT0>;
155*4882a593Smuzhiyun			clock-names = "dsi", "lp", "parent";
156*4882a593Smuzhiyun			resets = <&tegra_car 48>;
157*4882a593Smuzhiyun			reset-names = "dsi";
158*4882a593Smuzhiyun			nvidia,mipi-calibrate = <&mipi 0x0c0>; /* DSIA & DSIB pads */
159*4882a593Smuzhiyun
160*4882a593Smuzhiyun			status = "disabled";
161*4882a593Smuzhiyun
162*4882a593Smuzhiyun			#address-cells = <1>;
163*4882a593Smuzhiyun			#size-cells = <0>;
164*4882a593Smuzhiyun		};
165*4882a593Smuzhiyun
166*4882a593Smuzhiyun		vic@54340000 {
167*4882a593Smuzhiyun			compatible = "nvidia,tegra210-vic";
168*4882a593Smuzhiyun			reg = <0x0 0x54340000 0x0 0x00040000>;
169*4882a593Smuzhiyun			status = "disabled";
170*4882a593Smuzhiyun		};
171*4882a593Smuzhiyun
172*4882a593Smuzhiyun		nvjpg@54380000 {
173*4882a593Smuzhiyun			compatible = "nvidia,tegra210-nvjpg";
174*4882a593Smuzhiyun			reg = <0x0 0x54380000 0x0 0x00040000>;
175*4882a593Smuzhiyun			status = "disabled";
176*4882a593Smuzhiyun		};
177*4882a593Smuzhiyun
178*4882a593Smuzhiyun		dsi@54400000 {
179*4882a593Smuzhiyun			compatible = "nvidia,tegra210-dsi";
180*4882a593Smuzhiyun			reg = <0x0 0x54400000 0x0 0x00040000>;
181*4882a593Smuzhiyun			clocks = <&tegra_car TEGRA210_CLK_DSIB>,
182*4882a593Smuzhiyun				 <&tegra_car TEGRA210_CLK_DSIBLP>,
183*4882a593Smuzhiyun				 <&tegra_car TEGRA210_CLK_PLL_D_OUT0>;
184*4882a593Smuzhiyun			clock-names = "dsi", "lp", "parent";
185*4882a593Smuzhiyun			resets = <&tegra_car 82>;
186*4882a593Smuzhiyun			reset-names = "dsi";
187*4882a593Smuzhiyun			nvidia,mipi-calibrate = <&mipi 0x300>; /* DSIC & DSID pads */
188*4882a593Smuzhiyun
189*4882a593Smuzhiyun			status = "disabled";
190*4882a593Smuzhiyun
191*4882a593Smuzhiyun			#address-cells = <1>;
192*4882a593Smuzhiyun			#size-cells = <0>;
193*4882a593Smuzhiyun		};
194*4882a593Smuzhiyun
195*4882a593Smuzhiyun		nvdec@54480000 {
196*4882a593Smuzhiyun			compatible = "nvidia,tegra210-nvdec";
197*4882a593Smuzhiyun			reg = <0x0 0x54480000 0x0 0x00040000>;
198*4882a593Smuzhiyun			status = "disabled";
199*4882a593Smuzhiyun		};
200*4882a593Smuzhiyun
201*4882a593Smuzhiyun		nvenc@544c0000 {
202*4882a593Smuzhiyun			compatible = "nvidia,tegra210-nvenc";
203*4882a593Smuzhiyun			reg = <0x0 0x544c0000 0x0 0x00040000>;
204*4882a593Smuzhiyun			status = "disabled";
205*4882a593Smuzhiyun		};
206*4882a593Smuzhiyun
207*4882a593Smuzhiyun		tsec@54500000 {
208*4882a593Smuzhiyun			compatible = "nvidia,tegra210-tsec";
209*4882a593Smuzhiyun			reg = <0x0 0x54500000 0x0 0x00040000>;
210*4882a593Smuzhiyun			status = "disabled";
211*4882a593Smuzhiyun		};
212*4882a593Smuzhiyun
213*4882a593Smuzhiyun		sor@54540000 {
214*4882a593Smuzhiyun			compatible = "nvidia,tegra210-sor";
215*4882a593Smuzhiyun			reg = <0x0 0x54540000 0x0 0x00040000>;
216*4882a593Smuzhiyun			interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
217*4882a593Smuzhiyun			clocks = <&tegra_car TEGRA210_CLK_SOR0>,
218*4882a593Smuzhiyun				 <&tegra_car TEGRA210_CLK_PLL_D_OUT0>,
219*4882a593Smuzhiyun				 <&tegra_car TEGRA210_CLK_PLL_DP>,
220*4882a593Smuzhiyun				 <&tegra_car TEGRA210_CLK_SOR_SAFE>;
221*4882a593Smuzhiyun			clock-names = "sor", "parent", "dp", "safe";
222*4882a593Smuzhiyun			resets = <&tegra_car 182>;
223*4882a593Smuzhiyun			reset-names = "sor";
224*4882a593Smuzhiyun			status = "disabled";
225*4882a593Smuzhiyun		};
226*4882a593Smuzhiyun
227*4882a593Smuzhiyun		sor@54580000 {
228*4882a593Smuzhiyun			compatible = "nvidia,tegra210-sor1";
229*4882a593Smuzhiyun			reg = <0x0 0x54580000 0x0 0x00040000>;
230*4882a593Smuzhiyun			interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
231*4882a593Smuzhiyun			clocks = <&tegra_car TEGRA210_CLK_SOR1>,
232*4882a593Smuzhiyun				 <&tegra_car TEGRA210_CLK_PLL_D2_OUT0>,
233*4882a593Smuzhiyun				 <&tegra_car TEGRA210_CLK_PLL_DP>,
234*4882a593Smuzhiyun				 <&tegra_car TEGRA210_CLK_SOR_SAFE>;
235*4882a593Smuzhiyun			clock-names = "sor", "parent", "dp", "safe";
236*4882a593Smuzhiyun			resets = <&tegra_car 183>;
237*4882a593Smuzhiyun			reset-names = "sor";
238*4882a593Smuzhiyun			status = "disabled";
239*4882a593Smuzhiyun		};
240*4882a593Smuzhiyun
241*4882a593Smuzhiyun		dpaux: dpaux@545c0000 {
242*4882a593Smuzhiyun			compatible = "nvidia,tegra124-dpaux";
243*4882a593Smuzhiyun			reg = <0x0 0x545c0000 0x0 0x00040000>;
244*4882a593Smuzhiyun			interrupts = <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>;
245*4882a593Smuzhiyun			clocks = <&tegra_car TEGRA210_CLK_DPAUX>,
246*4882a593Smuzhiyun				 <&tegra_car TEGRA210_CLK_PLL_DP>;
247*4882a593Smuzhiyun			clock-names = "dpaux", "parent";
248*4882a593Smuzhiyun			resets = <&tegra_car 181>;
249*4882a593Smuzhiyun			reset-names = "dpaux";
250*4882a593Smuzhiyun			status = "disabled";
251*4882a593Smuzhiyun		};
252*4882a593Smuzhiyun
253*4882a593Smuzhiyun		isp@54600000 {
254*4882a593Smuzhiyun			compatible = "nvidia,tegra210-isp";
255*4882a593Smuzhiyun			reg = <0x0 0x54600000 0x0 0x00040000>;
256*4882a593Smuzhiyun			interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
257*4882a593Smuzhiyun			status = "disabled";
258*4882a593Smuzhiyun		};
259*4882a593Smuzhiyun
260*4882a593Smuzhiyun		isp@54680000 {
261*4882a593Smuzhiyun			compatible = "nvidia,tegra210-isp";
262*4882a593Smuzhiyun			reg = <0x0 0x54680000 0x0 0x00040000>;
263*4882a593Smuzhiyun			interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
264*4882a593Smuzhiyun			status = "disabled";
265*4882a593Smuzhiyun		};
266*4882a593Smuzhiyun
267*4882a593Smuzhiyun		i2c@546c0000 {
268*4882a593Smuzhiyun			compatible = "nvidia,tegra210-i2c-vi";
269*4882a593Smuzhiyun			reg = <0x0 0x546c0000 0x0 0x00040000>;
270*4882a593Smuzhiyun			interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
271*4882a593Smuzhiyun			status = "disabled";
272*4882a593Smuzhiyun		};
273*4882a593Smuzhiyun	};
274*4882a593Smuzhiyun
275*4882a593Smuzhiyun	gic: interrupt-controller@50041000 {
276*4882a593Smuzhiyun		compatible = "arm,gic-400";
277*4882a593Smuzhiyun		#interrupt-cells = <3>;
278*4882a593Smuzhiyun		interrupt-controller;
279*4882a593Smuzhiyun		reg = <0x0 0x50041000 0x0 0x1000>,
280*4882a593Smuzhiyun		      <0x0 0x50042000 0x0 0x2000>,
281*4882a593Smuzhiyun		      <0x0 0x50044000 0x0 0x2000>,
282*4882a593Smuzhiyun		      <0x0 0x50046000 0x0 0x2000>;
283*4882a593Smuzhiyun		interrupts = <GIC_PPI 9
284*4882a593Smuzhiyun			(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
285*4882a593Smuzhiyun		interrupt-parent = <&gic>;
286*4882a593Smuzhiyun	};
287*4882a593Smuzhiyun
288*4882a593Smuzhiyun	gpu@57000000 {
289*4882a593Smuzhiyun		compatible = "nvidia,gm20b";
290*4882a593Smuzhiyun		reg = <0x0 0x57000000 0x0 0x01000000>,
291*4882a593Smuzhiyun		      <0x0 0x58000000 0x0 0x01000000>;
292*4882a593Smuzhiyun		interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>,
293*4882a593Smuzhiyun			     <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>;
294*4882a593Smuzhiyun		interrupt-names = "stall", "nonstall";
295*4882a593Smuzhiyun		clocks = <&tegra_car TEGRA210_CLK_GPU>,
296*4882a593Smuzhiyun			 <&tegra_car TEGRA210_CLK_PLL_P_OUT5>,
297*4882a593Smuzhiyun			 <&tegra_car TEGRA210_CLK_PLL_G_REF>;
298*4882a593Smuzhiyun		clock-names = "gpu", "pwr", "ref";
299*4882a593Smuzhiyun		resets = <&tegra_car 184>;
300*4882a593Smuzhiyun		reset-names = "gpu";
301*4882a593Smuzhiyun
302*4882a593Smuzhiyun		iommus = <&mc TEGRA_SWGROUP_GPU>;
303*4882a593Smuzhiyun
304*4882a593Smuzhiyun		status = "disabled";
305*4882a593Smuzhiyun	};
306*4882a593Smuzhiyun
307*4882a593Smuzhiyun	lic: interrupt-controller@60004000 {
308*4882a593Smuzhiyun		compatible = "nvidia,tegra210-ictlr";
309*4882a593Smuzhiyun		reg = <0x0 0x60004000 0x0 0x40>, /* primary controller */
310*4882a593Smuzhiyun		      <0x0 0x60004100 0x0 0x40>, /* secondary controller */
311*4882a593Smuzhiyun		      <0x0 0x60004200 0x0 0x40>, /* tertiary controller */
312*4882a593Smuzhiyun		      <0x0 0x60004300 0x0 0x40>, /* quaternary controller */
313*4882a593Smuzhiyun		      <0x0 0x60004400 0x0 0x40>, /* quinary controller */
314*4882a593Smuzhiyun		      <0x0 0x60004500 0x0 0x40>; /* senary controller */
315*4882a593Smuzhiyun		interrupt-controller;
316*4882a593Smuzhiyun		#interrupt-cells = <3>;
317*4882a593Smuzhiyun		interrupt-parent = <&gic>;
318*4882a593Smuzhiyun	};
319*4882a593Smuzhiyun
320*4882a593Smuzhiyun	timer@60005000 {
321*4882a593Smuzhiyun		compatible = "nvidia,tegra210-timer", "nvidia,tegra20-timer";
322*4882a593Smuzhiyun		reg = <0x0 0x60005000 0x0 0x400>;
323*4882a593Smuzhiyun		interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
324*4882a593Smuzhiyun			     <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
325*4882a593Smuzhiyun			     <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
326*4882a593Smuzhiyun			     <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>,
327*4882a593Smuzhiyun			     <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
328*4882a593Smuzhiyun			     <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>;
329*4882a593Smuzhiyun		clocks = <&tegra_car TEGRA210_CLK_TIMER>;
330*4882a593Smuzhiyun		clock-names = "timer";
331*4882a593Smuzhiyun	};
332*4882a593Smuzhiyun
333*4882a593Smuzhiyun	tegra_car: clock@60006000 {
334*4882a593Smuzhiyun		compatible = "nvidia,tegra210-car";
335*4882a593Smuzhiyun		reg = <0x0 0x60006000 0x0 0x1000>;
336*4882a593Smuzhiyun		#clock-cells = <1>;
337*4882a593Smuzhiyun		#reset-cells = <1>;
338*4882a593Smuzhiyun	};
339*4882a593Smuzhiyun
340*4882a593Smuzhiyun	flow-controller@60007000 {
341*4882a593Smuzhiyun		compatible = "nvidia,tegra210-flowctrl";
342*4882a593Smuzhiyun		reg = <0x0 0x60007000 0x0 0x1000>;
343*4882a593Smuzhiyun	};
344*4882a593Smuzhiyun
345*4882a593Smuzhiyun	gpio: gpio@6000d000 {
346*4882a593Smuzhiyun		compatible = "nvidia,tegra210-gpio", "nvidia,tegra30-gpio";
347*4882a593Smuzhiyun		reg = <0x0 0x6000d000 0x0 0x1000>;
348*4882a593Smuzhiyun		interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>,
349*4882a593Smuzhiyun			     <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>,
350*4882a593Smuzhiyun			     <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>,
351*4882a593Smuzhiyun			     <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>,
352*4882a593Smuzhiyun			     <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>,
353*4882a593Smuzhiyun			     <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>,
354*4882a593Smuzhiyun			     <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>,
355*4882a593Smuzhiyun			     <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>;
356*4882a593Smuzhiyun		#gpio-cells = <2>;
357*4882a593Smuzhiyun		gpio-controller;
358*4882a593Smuzhiyun		#interrupt-cells = <2>;
359*4882a593Smuzhiyun		interrupt-controller;
360*4882a593Smuzhiyun	};
361*4882a593Smuzhiyun
362*4882a593Smuzhiyun	apbdma: dma@60020000 {
363*4882a593Smuzhiyun		compatible = "nvidia,tegra210-apbdma", "nvidia,tegra148-apbdma";
364*4882a593Smuzhiyun		reg = <0x0 0x60020000 0x0 0x1400>;
365*4882a593Smuzhiyun		interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
366*4882a593Smuzhiyun			     <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
367*4882a593Smuzhiyun			     <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
368*4882a593Smuzhiyun			     <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
369*4882a593Smuzhiyun			     <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
370*4882a593Smuzhiyun			     <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
371*4882a593Smuzhiyun			     <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
372*4882a593Smuzhiyun			     <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>,
373*4882a593Smuzhiyun			     <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>,
374*4882a593Smuzhiyun			     <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
375*4882a593Smuzhiyun			     <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
376*4882a593Smuzhiyun			     <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
377*4882a593Smuzhiyun			     <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
378*4882a593Smuzhiyun			     <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
379*4882a593Smuzhiyun			     <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
380*4882a593Smuzhiyun			     <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>,
381*4882a593Smuzhiyun			     <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>,
382*4882a593Smuzhiyun			     <GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>,
383*4882a593Smuzhiyun			     <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>,
384*4882a593Smuzhiyun			     <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
385*4882a593Smuzhiyun			     <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>,
386*4882a593Smuzhiyun			     <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>,
387*4882a593Smuzhiyun			     <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>,
388*4882a593Smuzhiyun			     <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,
389*4882a593Smuzhiyun			     <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>,
390*4882a593Smuzhiyun			     <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>,
391*4882a593Smuzhiyun			     <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>,
392*4882a593Smuzhiyun			     <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>,
393*4882a593Smuzhiyun			     <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>,
394*4882a593Smuzhiyun			     <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>,
395*4882a593Smuzhiyun			     <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
396*4882a593Smuzhiyun			     <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
397*4882a593Smuzhiyun		clocks = <&tegra_car TEGRA210_CLK_APBDMA>;
398*4882a593Smuzhiyun		clock-names = "dma";
399*4882a593Smuzhiyun		resets = <&tegra_car 34>;
400*4882a593Smuzhiyun		reset-names = "dma";
401*4882a593Smuzhiyun		#dma-cells = <1>;
402*4882a593Smuzhiyun	};
403*4882a593Smuzhiyun
404*4882a593Smuzhiyun	apbmisc@70000800 {
405*4882a593Smuzhiyun		compatible = "nvidia,tegra210-apbmisc", "nvidia,tegra20-apbmisc";
406*4882a593Smuzhiyun		reg = <0x0 0x70000800 0x0 0x64>,   /* Chip revision */
407*4882a593Smuzhiyun		      <0x0 0x7000e864 0x0 0x04>;   /* Strapping options */
408*4882a593Smuzhiyun	};
409*4882a593Smuzhiyun
410*4882a593Smuzhiyun	pinmux: pinmux@700008d4 {
411*4882a593Smuzhiyun		compatible = "nvidia,tegra210-pinmux";
412*4882a593Smuzhiyun		reg = <0x0 0x700008d4 0x0 0x29c>, /* Pad control registers */
413*4882a593Smuzhiyun		      <0x0 0x70003000 0x0 0x294>; /* Mux registers */
414*4882a593Smuzhiyun	};
415*4882a593Smuzhiyun
416*4882a593Smuzhiyun	/*
417*4882a593Smuzhiyun	 * There are two serial driver i.e. 8250 based simple serial
418*4882a593Smuzhiyun	 * driver and APB DMA based serial driver for higher baudrate
419*4882a593Smuzhiyun	 * and performance. To enable the 8250 based driver, the compatible
420*4882a593Smuzhiyun	 * is "nvidia,tegra124-uart", "nvidia,tegra20-uart" and to enable
421*4882a593Smuzhiyun	 * the APB DMA based serial driver, the compatible is
422*4882a593Smuzhiyun	 * "nvidia,tegra124-hsuart", "nvidia,tegra30-hsuart".
423*4882a593Smuzhiyun	 */
424*4882a593Smuzhiyun	uarta: serial@70006000 {
425*4882a593Smuzhiyun		compatible = "nvidia,tegra210-uart", "nvidia,tegra20-uart";
426*4882a593Smuzhiyun		reg = <0x0 0x70006000 0x0 0x40>;
427*4882a593Smuzhiyun		reg-shift = <2>;
428*4882a593Smuzhiyun		interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
429*4882a593Smuzhiyun		clocks = <&tegra_car TEGRA210_CLK_UARTA>;
430*4882a593Smuzhiyun		clock-names = "serial";
431*4882a593Smuzhiyun		resets = <&tegra_car 6>;
432*4882a593Smuzhiyun		reset-names = "serial";
433*4882a593Smuzhiyun		dmas = <&apbdma 8>, <&apbdma 8>;
434*4882a593Smuzhiyun		dma-names = "rx", "tx";
435*4882a593Smuzhiyun		status = "disabled";
436*4882a593Smuzhiyun	};
437*4882a593Smuzhiyun
438*4882a593Smuzhiyun	uartb: serial@70006040 {
439*4882a593Smuzhiyun		compatible = "nvidia,tegra210-uart", "nvidia,tegra20-uart";
440*4882a593Smuzhiyun		reg = <0x0 0x70006040 0x0 0x40>;
441*4882a593Smuzhiyun		reg-shift = <2>;
442*4882a593Smuzhiyun		interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
443*4882a593Smuzhiyun		clocks = <&tegra_car TEGRA210_CLK_UARTB>;
444*4882a593Smuzhiyun		clock-names = "serial";
445*4882a593Smuzhiyun		resets = <&tegra_car 7>;
446*4882a593Smuzhiyun		reset-names = "serial";
447*4882a593Smuzhiyun		dmas = <&apbdma 9>, <&apbdma 9>;
448*4882a593Smuzhiyun		dma-names = "rx", "tx";
449*4882a593Smuzhiyun		status = "disabled";
450*4882a593Smuzhiyun	};
451*4882a593Smuzhiyun
452*4882a593Smuzhiyun	uartc: serial@70006200 {
453*4882a593Smuzhiyun		compatible = "nvidia,tegra210-uart", "nvidia,tegra20-uart";
454*4882a593Smuzhiyun		reg = <0x0 0x70006200 0x0 0x40>;
455*4882a593Smuzhiyun		reg-shift = <2>;
456*4882a593Smuzhiyun		interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
457*4882a593Smuzhiyun		clocks = <&tegra_car TEGRA210_CLK_UARTC>;
458*4882a593Smuzhiyun		clock-names = "serial";
459*4882a593Smuzhiyun		resets = <&tegra_car 55>;
460*4882a593Smuzhiyun		reset-names = "serial";
461*4882a593Smuzhiyun		dmas = <&apbdma 10>, <&apbdma 10>;
462*4882a593Smuzhiyun		dma-names = "rx", "tx";
463*4882a593Smuzhiyun		status = "disabled";
464*4882a593Smuzhiyun	};
465*4882a593Smuzhiyun
466*4882a593Smuzhiyun	uartd: serial@70006300 {
467*4882a593Smuzhiyun		compatible = "nvidia,tegra210-uart", "nvidia,tegra20-uart";
468*4882a593Smuzhiyun		reg = <0x0 0x70006300 0x0 0x40>;
469*4882a593Smuzhiyun		reg-shift = <2>;
470*4882a593Smuzhiyun		interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
471*4882a593Smuzhiyun		clocks = <&tegra_car TEGRA210_CLK_UARTD>;
472*4882a593Smuzhiyun		clock-names = "serial";
473*4882a593Smuzhiyun		resets = <&tegra_car 65>;
474*4882a593Smuzhiyun		reset-names = "serial";
475*4882a593Smuzhiyun		dmas = <&apbdma 19>, <&apbdma 19>;
476*4882a593Smuzhiyun		dma-names = "rx", "tx";
477*4882a593Smuzhiyun		status = "disabled";
478*4882a593Smuzhiyun	};
479*4882a593Smuzhiyun
480*4882a593Smuzhiyun	pwm: pwm@7000a000 {
481*4882a593Smuzhiyun		compatible = "nvidia,tegra210-pwm", "nvidia,tegra20-pwm";
482*4882a593Smuzhiyun		reg = <0x0 0x7000a000 0x0 0x100>;
483*4882a593Smuzhiyun		#pwm-cells = <2>;
484*4882a593Smuzhiyun		clocks = <&tegra_car TEGRA210_CLK_PWM>;
485*4882a593Smuzhiyun		clock-names = "pwm";
486*4882a593Smuzhiyun		resets = <&tegra_car 17>;
487*4882a593Smuzhiyun		reset-names = "pwm";
488*4882a593Smuzhiyun		status = "disabled";
489*4882a593Smuzhiyun	};
490*4882a593Smuzhiyun
491*4882a593Smuzhiyun	i2c@7000c000 {
492*4882a593Smuzhiyun		compatible = "nvidia,tegra210-i2c", "nvidia,tegra114-i2c";
493*4882a593Smuzhiyun		reg = <0x0 0x7000c000 0x0 0x100>;
494*4882a593Smuzhiyun		interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
495*4882a593Smuzhiyun		#address-cells = <1>;
496*4882a593Smuzhiyun		#size-cells = <0>;
497*4882a593Smuzhiyun		clocks = <&tegra_car TEGRA210_CLK_I2C1>;
498*4882a593Smuzhiyun		clock-names = "div-clk";
499*4882a593Smuzhiyun		resets = <&tegra_car 12>;
500*4882a593Smuzhiyun		reset-names = "i2c";
501*4882a593Smuzhiyun		dmas = <&apbdma 21>, <&apbdma 21>;
502*4882a593Smuzhiyun		dma-names = "rx", "tx";
503*4882a593Smuzhiyun		status = "disabled";
504*4882a593Smuzhiyun	};
505*4882a593Smuzhiyun
506*4882a593Smuzhiyun	i2c@7000c400 {
507*4882a593Smuzhiyun		compatible = "nvidia,tegra210-i2c", "nvidia,tegra114-i2c";
508*4882a593Smuzhiyun		reg = <0x0 0x7000c400 0x0 0x100>;
509*4882a593Smuzhiyun		interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
510*4882a593Smuzhiyun		#address-cells = <1>;
511*4882a593Smuzhiyun		#size-cells = <0>;
512*4882a593Smuzhiyun		clocks = <&tegra_car TEGRA210_CLK_I2C2>;
513*4882a593Smuzhiyun		clock-names = "div-clk";
514*4882a593Smuzhiyun		resets = <&tegra_car 54>;
515*4882a593Smuzhiyun		reset-names = "i2c";
516*4882a593Smuzhiyun		dmas = <&apbdma 22>, <&apbdma 22>;
517*4882a593Smuzhiyun		dma-names = "rx", "tx";
518*4882a593Smuzhiyun		status = "disabled";
519*4882a593Smuzhiyun	};
520*4882a593Smuzhiyun
521*4882a593Smuzhiyun	i2c@7000c500 {
522*4882a593Smuzhiyun		compatible = "nvidia,tegra210-i2c", "nvidia,tegra114-i2c";
523*4882a593Smuzhiyun		reg = <0x0 0x7000c500 0x0 0x100>;
524*4882a593Smuzhiyun		interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
525*4882a593Smuzhiyun		#address-cells = <1>;
526*4882a593Smuzhiyun		#size-cells = <0>;
527*4882a593Smuzhiyun		clocks = <&tegra_car TEGRA210_CLK_I2C3>;
528*4882a593Smuzhiyun		clock-names = "div-clk";
529*4882a593Smuzhiyun		resets = <&tegra_car 67>;
530*4882a593Smuzhiyun		reset-names = "i2c";
531*4882a593Smuzhiyun		dmas = <&apbdma 23>, <&apbdma 23>;
532*4882a593Smuzhiyun		dma-names = "rx", "tx";
533*4882a593Smuzhiyun		status = "disabled";
534*4882a593Smuzhiyun	};
535*4882a593Smuzhiyun
536*4882a593Smuzhiyun	i2c@7000c700 {
537*4882a593Smuzhiyun		compatible = "nvidia,tegra210-i2c", "nvidia,tegra114-i2c";
538*4882a593Smuzhiyun		reg = <0x0 0x7000c700 0x0 0x100>;
539*4882a593Smuzhiyun		interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
540*4882a593Smuzhiyun		#address-cells = <1>;
541*4882a593Smuzhiyun		#size-cells = <0>;
542*4882a593Smuzhiyun		clocks = <&tegra_car TEGRA210_CLK_I2C4>;
543*4882a593Smuzhiyun		clock-names = "div-clk";
544*4882a593Smuzhiyun		resets = <&tegra_car 103>;
545*4882a593Smuzhiyun		reset-names = "i2c";
546*4882a593Smuzhiyun		dmas = <&apbdma 26>, <&apbdma 26>;
547*4882a593Smuzhiyun		dma-names = "rx", "tx";
548*4882a593Smuzhiyun		status = "disabled";
549*4882a593Smuzhiyun	};
550*4882a593Smuzhiyun
551*4882a593Smuzhiyun	i2c@7000d000 {
552*4882a593Smuzhiyun		compatible = "nvidia,tegra210-i2c", "nvidia,tegra114-i2c";
553*4882a593Smuzhiyun		reg = <0x0 0x7000d000 0x0 0x100>;
554*4882a593Smuzhiyun		interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
555*4882a593Smuzhiyun		#address-cells = <1>;
556*4882a593Smuzhiyun		#size-cells = <0>;
557*4882a593Smuzhiyun		clocks = <&tegra_car TEGRA210_CLK_I2C5>;
558*4882a593Smuzhiyun		clock-names = "div-clk";
559*4882a593Smuzhiyun		resets = <&tegra_car 47>;
560*4882a593Smuzhiyun		reset-names = "i2c";
561*4882a593Smuzhiyun		dmas = <&apbdma 24>, <&apbdma 24>;
562*4882a593Smuzhiyun		dma-names = "rx", "tx";
563*4882a593Smuzhiyun		status = "disabled";
564*4882a593Smuzhiyun	};
565*4882a593Smuzhiyun
566*4882a593Smuzhiyun	i2c@7000d100 {
567*4882a593Smuzhiyun		compatible = "nvidia,tegra210-i2c", "nvidia,tegra114-i2c";
568*4882a593Smuzhiyun		reg = <0x0 0x7000d100 0x0 0x100>;
569*4882a593Smuzhiyun		interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
570*4882a593Smuzhiyun		#address-cells = <1>;
571*4882a593Smuzhiyun		#size-cells = <0>;
572*4882a593Smuzhiyun		clocks = <&tegra_car TEGRA210_CLK_I2C6>;
573*4882a593Smuzhiyun		clock-names = "div-clk";
574*4882a593Smuzhiyun		resets = <&tegra_car 166>;
575*4882a593Smuzhiyun		reset-names = "i2c";
576*4882a593Smuzhiyun		dmas = <&apbdma 30>, <&apbdma 30>;
577*4882a593Smuzhiyun		dma-names = "rx", "tx";
578*4882a593Smuzhiyun		status = "disabled";
579*4882a593Smuzhiyun	};
580*4882a593Smuzhiyun
581*4882a593Smuzhiyun	spi@7000d400 {
582*4882a593Smuzhiyun		compatible = "nvidia,tegra210-spi", "nvidia,tegra114-spi";
583*4882a593Smuzhiyun		reg = <0x0 0x7000d400 0x0 0x200>;
584*4882a593Smuzhiyun		interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
585*4882a593Smuzhiyun		#address-cells = <1>;
586*4882a593Smuzhiyun		#size-cells = <0>;
587*4882a593Smuzhiyun		clocks = <&tegra_car TEGRA210_CLK_SBC1>;
588*4882a593Smuzhiyun		clock-names = "spi";
589*4882a593Smuzhiyun		resets = <&tegra_car 41>;
590*4882a593Smuzhiyun		reset-names = "spi";
591*4882a593Smuzhiyun		dmas = <&apbdma 15>, <&apbdma 15>;
592*4882a593Smuzhiyun		dma-names = "rx", "tx";
593*4882a593Smuzhiyun		status = "disabled";
594*4882a593Smuzhiyun	};
595*4882a593Smuzhiyun
596*4882a593Smuzhiyun	spi@7000d600 {
597*4882a593Smuzhiyun		compatible = "nvidia,tegra210-spi", "nvidia,tegra114-spi";
598*4882a593Smuzhiyun		reg = <0x0 0x7000d600 0x0 0x200>;
599*4882a593Smuzhiyun		interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
600*4882a593Smuzhiyun		#address-cells = <1>;
601*4882a593Smuzhiyun		#size-cells = <0>;
602*4882a593Smuzhiyun		clocks = <&tegra_car TEGRA210_CLK_SBC2>;
603*4882a593Smuzhiyun		clock-names = "spi";
604*4882a593Smuzhiyun		resets = <&tegra_car 44>;
605*4882a593Smuzhiyun		reset-names = "spi";
606*4882a593Smuzhiyun		dmas = <&apbdma 16>, <&apbdma 16>;
607*4882a593Smuzhiyun		dma-names = "rx", "tx";
608*4882a593Smuzhiyun		status = "disabled";
609*4882a593Smuzhiyun	};
610*4882a593Smuzhiyun
611*4882a593Smuzhiyun	spi@7000d800 {
612*4882a593Smuzhiyun		compatible = "nvidia,tegra210-spi", "nvidia,tegra114-spi";
613*4882a593Smuzhiyun		reg = <0x0 0x7000d800 0x0 0x200>;
614*4882a593Smuzhiyun		interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
615*4882a593Smuzhiyun		#address-cells = <1>;
616*4882a593Smuzhiyun		#size-cells = <0>;
617*4882a593Smuzhiyun		clocks = <&tegra_car TEGRA210_CLK_SBC3>;
618*4882a593Smuzhiyun		clock-names = "spi";
619*4882a593Smuzhiyun		resets = <&tegra_car 46>;
620*4882a593Smuzhiyun		reset-names = "spi";
621*4882a593Smuzhiyun		dmas = <&apbdma 17>, <&apbdma 17>;
622*4882a593Smuzhiyun		dma-names = "rx", "tx";
623*4882a593Smuzhiyun		status = "disabled";
624*4882a593Smuzhiyun	};
625*4882a593Smuzhiyun
626*4882a593Smuzhiyun	spi@7000da00 {
627*4882a593Smuzhiyun		compatible = "nvidia,tegra210-spi", "nvidia,tegra114-spi";
628*4882a593Smuzhiyun		reg = <0x0 0x7000da00 0x0 0x200>;
629*4882a593Smuzhiyun		interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
630*4882a593Smuzhiyun		#address-cells = <1>;
631*4882a593Smuzhiyun		#size-cells = <0>;
632*4882a593Smuzhiyun		clocks = <&tegra_car TEGRA210_CLK_SBC4>;
633*4882a593Smuzhiyun		clock-names = "spi";
634*4882a593Smuzhiyun		resets = <&tegra_car 68>;
635*4882a593Smuzhiyun		reset-names = "spi";
636*4882a593Smuzhiyun		dmas = <&apbdma 18>, <&apbdma 18>;
637*4882a593Smuzhiyun		dma-names = "rx", "tx";
638*4882a593Smuzhiyun		status = "disabled";
639*4882a593Smuzhiyun	};
640*4882a593Smuzhiyun
641*4882a593Smuzhiyun	rtc@7000e000 {
642*4882a593Smuzhiyun		compatible = "nvidia,tegra210-rtc", "nvidia,tegra20-rtc";
643*4882a593Smuzhiyun		reg = <0x0 0x7000e000 0x0 0x100>;
644*4882a593Smuzhiyun		interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
645*4882a593Smuzhiyun		clocks = <&tegra_car TEGRA210_CLK_RTC>;
646*4882a593Smuzhiyun		clock-names = "rtc";
647*4882a593Smuzhiyun	};
648*4882a593Smuzhiyun
649*4882a593Smuzhiyun	pmc: pmc@7000e400 {
650*4882a593Smuzhiyun		compatible = "nvidia,tegra210-pmc";
651*4882a593Smuzhiyun		reg = <0x0 0x7000e400 0x0 0x400>;
652*4882a593Smuzhiyun		clocks = <&tegra_car TEGRA210_CLK_PCLK>, <&clk32k_in>;
653*4882a593Smuzhiyun		clock-names = "pclk", "clk32k_in";
654*4882a593Smuzhiyun	};
655*4882a593Smuzhiyun
656*4882a593Smuzhiyun	fuse@7000f800 {
657*4882a593Smuzhiyun		compatible = "nvidia,tegra210-efuse";
658*4882a593Smuzhiyun		reg = <0x0 0x7000f800 0x0 0x400>;
659*4882a593Smuzhiyun		clocks = <&tegra_car TEGRA210_CLK_FUSE>;
660*4882a593Smuzhiyun		clock-names = "fuse";
661*4882a593Smuzhiyun		resets = <&tegra_car 39>;
662*4882a593Smuzhiyun		reset-names = "fuse";
663*4882a593Smuzhiyun	};
664*4882a593Smuzhiyun
665*4882a593Smuzhiyun	mc: memory-controller@70019000 {
666*4882a593Smuzhiyun		compatible = "nvidia,tegra210-mc";
667*4882a593Smuzhiyun		reg = <0x0 0x70019000 0x0 0x1000>;
668*4882a593Smuzhiyun		clocks = <&tegra_car TEGRA210_CLK_MC>;
669*4882a593Smuzhiyun		clock-names = "mc";
670*4882a593Smuzhiyun
671*4882a593Smuzhiyun		interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
672*4882a593Smuzhiyun
673*4882a593Smuzhiyun		#iommu-cells = <1>;
674*4882a593Smuzhiyun	};
675*4882a593Smuzhiyun
676*4882a593Smuzhiyun	hda@70030000 {
677*4882a593Smuzhiyun		compatible = "nvidia,tegra210-hda", "nvidia,tegra30-hda";
678*4882a593Smuzhiyun		reg = <0x0 0x70030000 0x0 0x10000>;
679*4882a593Smuzhiyun		interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
680*4882a593Smuzhiyun		clocks = <&tegra_car TEGRA210_CLK_HDA>,
681*4882a593Smuzhiyun		         <&tegra_car TEGRA210_CLK_HDA2HDMI>,
682*4882a593Smuzhiyun			 <&tegra_car TEGRA210_CLK_HDA2CODEC_2X>;
683*4882a593Smuzhiyun		clock-names = "hda", "hda2hdmi", "hda2codec_2x";
684*4882a593Smuzhiyun		resets = <&tegra_car 125>, /* hda */
685*4882a593Smuzhiyun			 <&tegra_car 128>, /* hda2hdmi */
686*4882a593Smuzhiyun			 <&tegra_car 111>; /* hda2codec_2x */
687*4882a593Smuzhiyun		reset-names = "hda", "hda2hdmi", "hda2codec_2x";
688*4882a593Smuzhiyun		status = "disabled";
689*4882a593Smuzhiyun	};
690*4882a593Smuzhiyun
691*4882a593Smuzhiyun	padctl: padctl@7009f000 {
692*4882a593Smuzhiyun		compatible = "nvidia,tegra210-xusb-padctl";
693*4882a593Smuzhiyun		reg = <0x0 0x7009f000 0x0 0x1000>;
694*4882a593Smuzhiyun		resets = <&tegra_car 142>;
695*4882a593Smuzhiyun		reset-names = "padctl";
696*4882a593Smuzhiyun		#phy-cells = <1>;
697*4882a593Smuzhiyun	};
698*4882a593Smuzhiyun
699*4882a593Smuzhiyun	sdhci@700b0000 {
700*4882a593Smuzhiyun		compatible = "nvidia,tegra210-sdhci", "nvidia,tegra124-sdhci";
701*4882a593Smuzhiyun		reg = <0x0 0x700b0000 0x0 0x200>;
702*4882a593Smuzhiyun		interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
703*4882a593Smuzhiyun		clocks = <&tegra_car TEGRA210_CLK_SDMMC1>;
704*4882a593Smuzhiyun		clock-names = "sdhci";
705*4882a593Smuzhiyun		resets = <&tegra_car 14>;
706*4882a593Smuzhiyun		reset-names = "sdhci";
707*4882a593Smuzhiyun		status = "disabled";
708*4882a593Smuzhiyun	};
709*4882a593Smuzhiyun
710*4882a593Smuzhiyun	sdhci@700b0200 {
711*4882a593Smuzhiyun		compatible = "nvidia,tegra210-sdhci", "nvidia,tegra124-sdhci";
712*4882a593Smuzhiyun		reg = <0x0 0x700b0200 0x0 0x200>;
713*4882a593Smuzhiyun		interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
714*4882a593Smuzhiyun		clocks = <&tegra_car TEGRA210_CLK_SDMMC2>;
715*4882a593Smuzhiyun		clock-names = "sdhci";
716*4882a593Smuzhiyun		resets = <&tegra_car 9>;
717*4882a593Smuzhiyun		reset-names = "sdhci";
718*4882a593Smuzhiyun		status = "disabled";
719*4882a593Smuzhiyun	};
720*4882a593Smuzhiyun
721*4882a593Smuzhiyun	sdhci@700b0400 {
722*4882a593Smuzhiyun		compatible = "nvidia,tegra210-sdhci", "nvidia,tegra124-sdhci";
723*4882a593Smuzhiyun		reg = <0x0 0x700b0400 0x0 0x200>;
724*4882a593Smuzhiyun		interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
725*4882a593Smuzhiyun		clocks = <&tegra_car TEGRA210_CLK_SDMMC3>;
726*4882a593Smuzhiyun		clock-names = "sdhci";
727*4882a593Smuzhiyun		resets = <&tegra_car 69>;
728*4882a593Smuzhiyun		reset-names = "sdhci";
729*4882a593Smuzhiyun		status = "disabled";
730*4882a593Smuzhiyun	};
731*4882a593Smuzhiyun
732*4882a593Smuzhiyun	sdhci@700b0600 {
733*4882a593Smuzhiyun		compatible = "nvidia,tegra210-sdhci", "nvidia,tegra124-sdhci";
734*4882a593Smuzhiyun		reg = <0x0 0x700b0600 0x0 0x200>;
735*4882a593Smuzhiyun		interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
736*4882a593Smuzhiyun		clocks = <&tegra_car TEGRA210_CLK_SDMMC4>;
737*4882a593Smuzhiyun		clock-names = "sdhci";
738*4882a593Smuzhiyun		resets = <&tegra_car 15>;
739*4882a593Smuzhiyun		reset-names = "sdhci";
740*4882a593Smuzhiyun		status = "disabled";
741*4882a593Smuzhiyun	};
742*4882a593Smuzhiyun
743*4882a593Smuzhiyun	mipi: mipi@700e3000 {
744*4882a593Smuzhiyun		compatible = "nvidia,tegra210-mipi";
745*4882a593Smuzhiyun		reg = <0x0 0x700e3000 0x0 0x100>;
746*4882a593Smuzhiyun		clocks = <&tegra_car TEGRA210_CLK_MIPI_CAL>;
747*4882a593Smuzhiyun		clock-names = "mipi-cal";
748*4882a593Smuzhiyun		#nvidia,mipi-calibrate-cells = <1>;
749*4882a593Smuzhiyun	};
750*4882a593Smuzhiyun
751*4882a593Smuzhiyun	spi@70410000 {
752*4882a593Smuzhiyun		compatible = "nvidia,tegra210-qspi";
753*4882a593Smuzhiyun		reg = <0x0 0x70410000 0x0 0x1000>;
754*4882a593Smuzhiyun		interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
755*4882a593Smuzhiyun		#address-cells = <1>;
756*4882a593Smuzhiyun		#size-cells = <0>;
757*4882a593Smuzhiyun		clocks = <&tegra_car TEGRA210_CLK_QSPI>;
758*4882a593Smuzhiyun		clock-names = "qspi";
759*4882a593Smuzhiyun		resets = <&tegra_car 211>;
760*4882a593Smuzhiyun		reset-names = "qspi";
761*4882a593Smuzhiyun		dmas = <&apbdma 5>, <&apbdma 5>;
762*4882a593Smuzhiyun		dma-names = "rx", "tx";
763*4882a593Smuzhiyun		status = "disabled";
764*4882a593Smuzhiyun	};
765*4882a593Smuzhiyun
766*4882a593Smuzhiyun	usb@7d000000 {
767*4882a593Smuzhiyun		compatible = "nvidia,tegra210-ehci", "nvidia,tegra30-ehci", "usb-ehci";
768*4882a593Smuzhiyun		reg = <0x0 0x7d000000 0x0 0x4000>;
769*4882a593Smuzhiyun		interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
770*4882a593Smuzhiyun		phy_type = "utmi";
771*4882a593Smuzhiyun		clocks = <&tegra_car TEGRA210_CLK_USBD>;
772*4882a593Smuzhiyun		clock-names = "usb";
773*4882a593Smuzhiyun		resets = <&tegra_car 22>;
774*4882a593Smuzhiyun		reset-names = "usb";
775*4882a593Smuzhiyun		nvidia,phy = <&phy1>;
776*4882a593Smuzhiyun		status = "disabled";
777*4882a593Smuzhiyun	};
778*4882a593Smuzhiyun
779*4882a593Smuzhiyun	phy1: usb-phy@7d000000 {
780*4882a593Smuzhiyun		compatible = "nvidia,tegra210-usb-phy", "nvidia,tegra30-usb-phy";
781*4882a593Smuzhiyun		reg = <0x0 0x7d000000 0x0 0x4000>,
782*4882a593Smuzhiyun		      <0x0 0x7d000000 0x0 0x4000>;
783*4882a593Smuzhiyun		phy_type = "utmi";
784*4882a593Smuzhiyun		clocks = <&tegra_car TEGRA210_CLK_USBD>,
785*4882a593Smuzhiyun			 <&tegra_car TEGRA210_CLK_PLL_U>,
786*4882a593Smuzhiyun			 <&tegra_car TEGRA210_CLK_USBD>;
787*4882a593Smuzhiyun		clock-names = "reg", "pll_u", "utmi-pads";
788*4882a593Smuzhiyun		resets = <&tegra_car 22>, <&tegra_car 22>;
789*4882a593Smuzhiyun		reset-names = "usb", "utmi-pads";
790*4882a593Smuzhiyun		nvidia,hssync-start-delay = <0>;
791*4882a593Smuzhiyun		nvidia,idle-wait-delay = <17>;
792*4882a593Smuzhiyun		nvidia,elastic-limit = <16>;
793*4882a593Smuzhiyun		nvidia,term-range-adj = <6>;
794*4882a593Smuzhiyun		nvidia,xcvr-setup = <9>;
795*4882a593Smuzhiyun		nvidia,xcvr-lsfslew = <0>;
796*4882a593Smuzhiyun		nvidia,xcvr-lsrslew = <3>;
797*4882a593Smuzhiyun		nvidia,hssquelch-level = <2>;
798*4882a593Smuzhiyun		nvidia,hsdiscon-level = <5>;
799*4882a593Smuzhiyun		nvidia,xcvr-hsslew = <12>;
800*4882a593Smuzhiyun		nvidia,has-utmi-pad-registers;
801*4882a593Smuzhiyun		status = "disabled";
802*4882a593Smuzhiyun	};
803*4882a593Smuzhiyun
804*4882a593Smuzhiyun	usb@7d004000 {
805*4882a593Smuzhiyun		compatible = "nvidia,tegra210-ehci", "nvidia,tegra30-ehci", "usb-ehci";
806*4882a593Smuzhiyun		reg = <0x0 0x7d004000 0x0 0x4000>;
807*4882a593Smuzhiyun		interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
808*4882a593Smuzhiyun		phy_type = "utmi";
809*4882a593Smuzhiyun		clocks = <&tegra_car TEGRA210_CLK_USB2>;
810*4882a593Smuzhiyun		clock-names = "usb";
811*4882a593Smuzhiyun		resets = <&tegra_car 58>;
812*4882a593Smuzhiyun		reset-names = "usb";
813*4882a593Smuzhiyun		nvidia,phy = <&phy2>;
814*4882a593Smuzhiyun		status = "disabled";
815*4882a593Smuzhiyun	};
816*4882a593Smuzhiyun
817*4882a593Smuzhiyun	phy2: usb-phy@7d004000 {
818*4882a593Smuzhiyun		compatible = "nvidia,tegra210-usb-phy", "nvidia,tegra30-usb-phy";
819*4882a593Smuzhiyun		reg = <0x0 0x7d004000 0x0 0x4000>,
820*4882a593Smuzhiyun		      <0x0 0x7d000000 0x0 0x4000>;
821*4882a593Smuzhiyun		phy_type = "utmi";
822*4882a593Smuzhiyun		clocks = <&tegra_car TEGRA210_CLK_USB2>,
823*4882a593Smuzhiyun			 <&tegra_car TEGRA210_CLK_PLL_U>,
824*4882a593Smuzhiyun			 <&tegra_car TEGRA210_CLK_USBD>;
825*4882a593Smuzhiyun		clock-names = "reg", "pll_u", "utmi-pads";
826*4882a593Smuzhiyun		resets = <&tegra_car 58>, <&tegra_car 22>;
827*4882a593Smuzhiyun		reset-names = "usb", "utmi-pads";
828*4882a593Smuzhiyun		nvidia,hssync-start-delay = <0>;
829*4882a593Smuzhiyun		nvidia,idle-wait-delay = <17>;
830*4882a593Smuzhiyun		nvidia,elastic-limit = <16>;
831*4882a593Smuzhiyun		nvidia,term-range-adj = <6>;
832*4882a593Smuzhiyun		nvidia,xcvr-setup = <9>;
833*4882a593Smuzhiyun		nvidia,xcvr-lsfslew = <0>;
834*4882a593Smuzhiyun		nvidia,xcvr-lsrslew = <3>;
835*4882a593Smuzhiyun		nvidia,hssquelch-level = <2>;
836*4882a593Smuzhiyun		nvidia,hsdiscon-level = <5>;
837*4882a593Smuzhiyun		nvidia,xcvr-hsslew = <12>;
838*4882a593Smuzhiyun		status = "disabled";
839*4882a593Smuzhiyun	};
840*4882a593Smuzhiyun
841*4882a593Smuzhiyun	cpus {
842*4882a593Smuzhiyun		#address-cells = <1>;
843*4882a593Smuzhiyun		#size-cells = <0>;
844*4882a593Smuzhiyun
845*4882a593Smuzhiyun		cpu@0 {
846*4882a593Smuzhiyun			device_type = "cpu";
847*4882a593Smuzhiyun			compatible = "arm,cortex-a57";
848*4882a593Smuzhiyun			reg = <0>;
849*4882a593Smuzhiyun		};
850*4882a593Smuzhiyun
851*4882a593Smuzhiyun		cpu@1 {
852*4882a593Smuzhiyun			device_type = "cpu";
853*4882a593Smuzhiyun			compatible = "arm,cortex-a57";
854*4882a593Smuzhiyun			reg = <1>;
855*4882a593Smuzhiyun		};
856*4882a593Smuzhiyun
857*4882a593Smuzhiyun		cpu@2 {
858*4882a593Smuzhiyun			device_type = "cpu";
859*4882a593Smuzhiyun			compatible = "arm,cortex-a57";
860*4882a593Smuzhiyun			reg = <2>;
861*4882a593Smuzhiyun		};
862*4882a593Smuzhiyun
863*4882a593Smuzhiyun		cpu@3 {
864*4882a593Smuzhiyun			device_type = "cpu";
865*4882a593Smuzhiyun			compatible = "arm,cortex-a57";
866*4882a593Smuzhiyun			reg = <3>;
867*4882a593Smuzhiyun		};
868*4882a593Smuzhiyun	};
869*4882a593Smuzhiyun
870*4882a593Smuzhiyun	timer {
871*4882a593Smuzhiyun		compatible = "arm,armv8-timer";
872*4882a593Smuzhiyun		interrupts = <GIC_PPI 13
873*4882a593Smuzhiyun				(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
874*4882a593Smuzhiyun			     <GIC_PPI 14
875*4882a593Smuzhiyun				(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
876*4882a593Smuzhiyun			     <GIC_PPI 11
877*4882a593Smuzhiyun				(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
878*4882a593Smuzhiyun			     <GIC_PPI 10
879*4882a593Smuzhiyun				(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
880*4882a593Smuzhiyun		interrupt-parent = <&gic>;
881*4882a593Smuzhiyun	};
882*4882a593Smuzhiyun};
883