xref: /freebsd/sys/contrib/device-tree/src/arm/nvidia/tegra30.dtsi (revision aa1a8ff2d6dbc51ef058f46f3db5a8bb77967145)
1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0
2*f126890aSEmmanuel Vadot#include <dt-bindings/clock/tegra30-car.h>
3*f126890aSEmmanuel Vadot#include <dt-bindings/gpio/tegra-gpio.h>
4*f126890aSEmmanuel Vadot#include <dt-bindings/memory/tegra30-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#include <dt-bindings/thermal/thermal.h>
9*f126890aSEmmanuel Vadot
10*f126890aSEmmanuel Vadot#include "tegra30-peripherals-opp.dtsi"
11*f126890aSEmmanuel Vadot
12*f126890aSEmmanuel Vadot/ {
13*f126890aSEmmanuel Vadot	compatible = "nvidia,tegra30";
14*f126890aSEmmanuel Vadot	interrupt-parent = <&lic>;
15*f126890aSEmmanuel Vadot	#address-cells = <1>;
16*f126890aSEmmanuel Vadot	#size-cells = <1>;
17*f126890aSEmmanuel Vadot
18*f126890aSEmmanuel Vadot	memory@80000000 {
19*f126890aSEmmanuel Vadot		device_type = "memory";
20*f126890aSEmmanuel Vadot		reg = <0x80000000 0x0>;
21*f126890aSEmmanuel Vadot	};
22*f126890aSEmmanuel Vadot
23*f126890aSEmmanuel Vadot	pcie@3000 {
24*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra30-pcie";
25*f126890aSEmmanuel Vadot		device_type = "pci";
26*f126890aSEmmanuel Vadot		reg = <0x00003000 0x00000800>, /* PADS registers */
27*f126890aSEmmanuel Vadot		      <0x00003800 0x00000200>, /* AFI registers */
28*f126890aSEmmanuel Vadot		      <0x10000000 0x10000000>; /* configuration space */
29*f126890aSEmmanuel Vadot		reg-names = "pads", "afi", "cs";
30*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>, /* controller interrupt */
31*f126890aSEmmanuel Vadot			     <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; /* MSI interrupt */
32*f126890aSEmmanuel Vadot		interrupt-names = "intr", "msi";
33*f126890aSEmmanuel Vadot
34*f126890aSEmmanuel Vadot		#interrupt-cells = <1>;
35*f126890aSEmmanuel Vadot		interrupt-map-mask = <0 0 0 0>;
36*f126890aSEmmanuel Vadot		interrupt-map = <0 0 0 0 &intc GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
37*f126890aSEmmanuel Vadot
38*f126890aSEmmanuel Vadot		bus-range = <0x00 0xff>;
39*f126890aSEmmanuel Vadot		#address-cells = <3>;
40*f126890aSEmmanuel Vadot		#size-cells = <2>;
41*f126890aSEmmanuel Vadot
42*f126890aSEmmanuel Vadot		ranges = <0x02000000 0 0x00000000 0x00000000 0 0x00001000>, /* port 0 configuration space */
43*f126890aSEmmanuel Vadot			 <0x02000000 0 0x00001000 0x00001000 0 0x00001000>, /* port 1 configuration space */
44*f126890aSEmmanuel Vadot			 <0x02000000 0 0x00004000 0x00004000 0 0x00001000>, /* port 2 configuration space */
45*f126890aSEmmanuel Vadot			 <0x01000000 0 0          0x02000000 0 0x00010000>, /* downstream I/O */
46*f126890aSEmmanuel Vadot			 <0x02000000 0 0x20000000 0x20000000 0 0x08000000>, /* non-prefetchable memory */
47*f126890aSEmmanuel Vadot			 <0x42000000 0 0x28000000 0x28000000 0 0x18000000>; /* prefetchable memory */
48*f126890aSEmmanuel Vadot
49*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA30_CLK_PCIE>,
50*f126890aSEmmanuel Vadot			 <&tegra_car TEGRA30_CLK_AFI>,
51*f126890aSEmmanuel Vadot			 <&tegra_car TEGRA30_CLK_PLL_E>,
52*f126890aSEmmanuel Vadot			 <&tegra_car TEGRA30_CLK_CML0>;
53*f126890aSEmmanuel Vadot		clock-names = "pex", "afi", "pll_e", "cml";
54*f126890aSEmmanuel Vadot		resets = <&tegra_car 70>,
55*f126890aSEmmanuel Vadot			 <&tegra_car 72>,
56*f126890aSEmmanuel Vadot			 <&tegra_car 74>;
57*f126890aSEmmanuel Vadot		reset-names = "pex", "afi", "pcie_x";
58*f126890aSEmmanuel Vadot		power-domains = <&pd_core>;
59*f126890aSEmmanuel Vadot		operating-points-v2 = <&pcie_dvfs_opp_table>;
60*f126890aSEmmanuel Vadot		status = "disabled";
61*f126890aSEmmanuel Vadot
62*f126890aSEmmanuel Vadot		pci@1,0 {
63*f126890aSEmmanuel Vadot			device_type = "pci";
64*f126890aSEmmanuel Vadot			assigned-addresses = <0x82000800 0 0x00000000 0 0x1000>;
65*f126890aSEmmanuel Vadot			reg = <0x000800 0 0 0 0>;
66*f126890aSEmmanuel Vadot			bus-range = <0x00 0xff>;
67*f126890aSEmmanuel Vadot			status = "disabled";
68*f126890aSEmmanuel Vadot
69*f126890aSEmmanuel Vadot			#address-cells = <3>;
70*f126890aSEmmanuel Vadot			#size-cells = <2>;
71*f126890aSEmmanuel Vadot			ranges;
72*f126890aSEmmanuel Vadot
73*f126890aSEmmanuel Vadot			nvidia,num-lanes = <2>;
74*f126890aSEmmanuel Vadot		};
75*f126890aSEmmanuel Vadot
76*f126890aSEmmanuel Vadot		pci@2,0 {
77*f126890aSEmmanuel Vadot			device_type = "pci";
78*f126890aSEmmanuel Vadot			assigned-addresses = <0x82001000 0 0x00001000 0 0x1000>;
79*f126890aSEmmanuel Vadot			reg = <0x001000 0 0 0 0>;
80*f126890aSEmmanuel Vadot			bus-range = <0x00 0xff>;
81*f126890aSEmmanuel Vadot			status = "disabled";
82*f126890aSEmmanuel Vadot
83*f126890aSEmmanuel Vadot			#address-cells = <3>;
84*f126890aSEmmanuel Vadot			#size-cells = <2>;
85*f126890aSEmmanuel Vadot			ranges;
86*f126890aSEmmanuel Vadot
87*f126890aSEmmanuel Vadot			nvidia,num-lanes = <2>;
88*f126890aSEmmanuel Vadot		};
89*f126890aSEmmanuel Vadot
90*f126890aSEmmanuel Vadot		pci@3,0 {
91*f126890aSEmmanuel Vadot			device_type = "pci";
92*f126890aSEmmanuel Vadot			assigned-addresses = <0x82001800 0 0x00004000 0 0x1000>;
93*f126890aSEmmanuel Vadot			reg = <0x001800 0 0 0 0>;
94*f126890aSEmmanuel Vadot			bus-range = <0x00 0xff>;
95*f126890aSEmmanuel Vadot			status = "disabled";
96*f126890aSEmmanuel Vadot
97*f126890aSEmmanuel Vadot			#address-cells = <3>;
98*f126890aSEmmanuel Vadot			#size-cells = <2>;
99*f126890aSEmmanuel Vadot			ranges;
100*f126890aSEmmanuel Vadot
101*f126890aSEmmanuel Vadot			nvidia,num-lanes = <2>;
102*f126890aSEmmanuel Vadot		};
103*f126890aSEmmanuel Vadot	};
104*f126890aSEmmanuel Vadot
105*f126890aSEmmanuel Vadot	sram@40000000 {
106*f126890aSEmmanuel Vadot		compatible = "mmio-sram";
107*f126890aSEmmanuel Vadot		reg = <0x40000000 0x40000>;
108*f126890aSEmmanuel Vadot		#address-cells = <1>;
109*f126890aSEmmanuel Vadot		#size-cells = <1>;
110*f126890aSEmmanuel Vadot		ranges = <0 0x40000000 0x40000>;
111*f126890aSEmmanuel Vadot
112*f126890aSEmmanuel Vadot		vde_pool: sram@400 {
113*f126890aSEmmanuel Vadot			reg = <0x400 0x3fc00>;
114*f126890aSEmmanuel Vadot			pool;
115*f126890aSEmmanuel Vadot		};
116*f126890aSEmmanuel Vadot	};
117*f126890aSEmmanuel Vadot
118*f126890aSEmmanuel Vadot	host1x@50000000 {
119*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra30-host1x";
120*f126890aSEmmanuel Vadot		reg = <0x50000000 0x00024000>;
121*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>, /* syncpt */
122*f126890aSEmmanuel Vadot			     <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; /* general */
123*f126890aSEmmanuel Vadot		interrupt-names = "syncpt", "host1x";
124*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA30_CLK_HOST1X>;
125*f126890aSEmmanuel Vadot		clock-names = "host1x";
126*f126890aSEmmanuel Vadot		resets = <&tegra_car 28>, <&mc TEGRA30_MC_RESET_HC>;
127*f126890aSEmmanuel Vadot		reset-names = "host1x", "mc";
128*f126890aSEmmanuel Vadot		iommus = <&mc TEGRA_SWGROUP_HC>;
129*f126890aSEmmanuel Vadot		power-domains = <&pd_heg>;
130*f126890aSEmmanuel Vadot		operating-points-v2 = <&host1x_dvfs_opp_table>;
131*f126890aSEmmanuel Vadot
132*f126890aSEmmanuel Vadot		#address-cells = <1>;
133*f126890aSEmmanuel Vadot		#size-cells = <1>;
134*f126890aSEmmanuel Vadot
135*f126890aSEmmanuel Vadot		ranges = <0x54000000 0x54000000 0x04000000>;
136*f126890aSEmmanuel Vadot
137*f126890aSEmmanuel Vadot		mpe@54040000 {
138*f126890aSEmmanuel Vadot			compatible = "nvidia,tegra30-mpe";
139*f126890aSEmmanuel Vadot			reg = <0x54040000 0x00040000>;
140*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>;
141*f126890aSEmmanuel Vadot			clocks = <&tegra_car TEGRA30_CLK_MPE>;
142*f126890aSEmmanuel Vadot			resets = <&tegra_car 60>;
143*f126890aSEmmanuel Vadot			reset-names = "mpe";
144*f126890aSEmmanuel Vadot			power-domains = <&pd_mpe>;
145*f126890aSEmmanuel Vadot			operating-points-v2 = <&mpe_dvfs_opp_table>;
146*f126890aSEmmanuel Vadot
147*f126890aSEmmanuel Vadot			iommus = <&mc TEGRA_SWGROUP_MPE>;
148*f126890aSEmmanuel Vadot
149*f126890aSEmmanuel Vadot			status = "disabled";
150*f126890aSEmmanuel Vadot		};
151*f126890aSEmmanuel Vadot
152*f126890aSEmmanuel Vadot		vi@54080000 {
153*f126890aSEmmanuel Vadot			compatible = "nvidia,tegra30-vi";
154*f126890aSEmmanuel Vadot			reg = <0x54080000 0x00040000>;
155*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
156*f126890aSEmmanuel Vadot			clocks = <&tegra_car TEGRA30_CLK_VI>;
157*f126890aSEmmanuel Vadot			resets = <&tegra_car 20>;
158*f126890aSEmmanuel Vadot			reset-names = "vi";
159*f126890aSEmmanuel Vadot			power-domains = <&pd_venc>;
160*f126890aSEmmanuel Vadot			operating-points-v2 = <&vi_dvfs_opp_table>;
161*f126890aSEmmanuel Vadot
162*f126890aSEmmanuel Vadot			iommus = <&mc TEGRA_SWGROUP_VI>;
163*f126890aSEmmanuel Vadot
164*f126890aSEmmanuel Vadot			status = "disabled";
165*f126890aSEmmanuel Vadot		};
166*f126890aSEmmanuel Vadot
167*f126890aSEmmanuel Vadot		epp@540c0000 {
168*f126890aSEmmanuel Vadot			compatible = "nvidia,tegra30-epp";
169*f126890aSEmmanuel Vadot			reg = <0x540c0000 0x00040000>;
170*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
171*f126890aSEmmanuel Vadot			clocks = <&tegra_car TEGRA30_CLK_EPP>;
172*f126890aSEmmanuel Vadot			resets = <&tegra_car 19>;
173*f126890aSEmmanuel Vadot			reset-names = "epp";
174*f126890aSEmmanuel Vadot			power-domains = <&pd_heg>;
175*f126890aSEmmanuel Vadot			operating-points-v2 = <&epp_dvfs_opp_table>;
176*f126890aSEmmanuel Vadot
177*f126890aSEmmanuel Vadot			iommus = <&mc TEGRA_SWGROUP_EPP>;
178*f126890aSEmmanuel Vadot
179*f126890aSEmmanuel Vadot			status = "disabled";
180*f126890aSEmmanuel Vadot		};
181*f126890aSEmmanuel Vadot
182*f126890aSEmmanuel Vadot		isp@54100000 {
183*f126890aSEmmanuel Vadot			compatible = "nvidia,tegra30-isp";
184*f126890aSEmmanuel Vadot			reg = <0x54100000 0x00040000>;
185*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
186*f126890aSEmmanuel Vadot			clocks = <&tegra_car TEGRA30_CLK_ISP>;
187*f126890aSEmmanuel Vadot			resets = <&tegra_car 23>;
188*f126890aSEmmanuel Vadot			reset-names = "isp";
189*f126890aSEmmanuel Vadot			power-domains = <&pd_venc>;
190*f126890aSEmmanuel Vadot
191*f126890aSEmmanuel Vadot			iommus = <&mc TEGRA_SWGROUP_ISP>;
192*f126890aSEmmanuel Vadot
193*f126890aSEmmanuel Vadot			status = "disabled";
194*f126890aSEmmanuel Vadot		};
195*f126890aSEmmanuel Vadot
196*f126890aSEmmanuel Vadot		gr2d@54140000 {
197*f126890aSEmmanuel Vadot			compatible = "nvidia,tegra30-gr2d";
198*f126890aSEmmanuel Vadot			reg = <0x54140000 0x00040000>;
199*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
200*f126890aSEmmanuel Vadot			clocks = <&tegra_car TEGRA30_CLK_GR2D>;
201*f126890aSEmmanuel Vadot			resets = <&tegra_car 21>, <&mc TEGRA30_MC_RESET_2D>;
202*f126890aSEmmanuel Vadot			reset-names = "2d", "mc";
203*f126890aSEmmanuel Vadot			power-domains = <&pd_heg>;
204*f126890aSEmmanuel Vadot			operating-points-v2 = <&gr2d_dvfs_opp_table>;
205*f126890aSEmmanuel Vadot
206*f126890aSEmmanuel Vadot			iommus = <&mc TEGRA_SWGROUP_G2>;
207*f126890aSEmmanuel Vadot		};
208*f126890aSEmmanuel Vadot
209*f126890aSEmmanuel Vadot		gr3d@54180000 {
210*f126890aSEmmanuel Vadot			compatible = "nvidia,tegra30-gr3d";
211*f126890aSEmmanuel Vadot			reg = <0x54180000 0x00040000>;
212*f126890aSEmmanuel Vadot			clocks = <&tegra_car TEGRA30_CLK_GR3D>,
213*f126890aSEmmanuel Vadot				 <&tegra_car TEGRA30_CLK_GR3D2>;
214*f126890aSEmmanuel Vadot			clock-names = "3d", "3d2";
215*f126890aSEmmanuel Vadot			resets = <&tegra_car 24>,
216*f126890aSEmmanuel Vadot				 <&tegra_car 98>,
217*f126890aSEmmanuel Vadot				 <&mc TEGRA30_MC_RESET_3D>,
218*f126890aSEmmanuel Vadot				 <&mc TEGRA30_MC_RESET_3D2>;
219*f126890aSEmmanuel Vadot			reset-names = "3d", "3d2", "mc", "mc2";
220*f126890aSEmmanuel Vadot			power-domains = <&pd_3d0>, <&pd_3d1>;
221*f126890aSEmmanuel Vadot			power-domain-names = "3d0", "3d1";
222*f126890aSEmmanuel Vadot			operating-points-v2 = <&gr3d_dvfs_opp_table>;
223*f126890aSEmmanuel Vadot
224*f126890aSEmmanuel Vadot			iommus = <&mc TEGRA_SWGROUP_NV>,
225*f126890aSEmmanuel Vadot				 <&mc TEGRA_SWGROUP_NV2>;
226*f126890aSEmmanuel Vadot		};
227*f126890aSEmmanuel Vadot
228*f126890aSEmmanuel Vadot		dc@54200000 {
229*f126890aSEmmanuel Vadot			compatible = "nvidia,tegra30-dc";
230*f126890aSEmmanuel Vadot			reg = <0x54200000 0x00040000>;
231*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
232*f126890aSEmmanuel Vadot			clocks = <&tegra_car TEGRA30_CLK_DISP1>,
233*f126890aSEmmanuel Vadot				 <&tegra_car TEGRA30_CLK_PLL_P>;
234*f126890aSEmmanuel Vadot			clock-names = "dc", "parent";
235*f126890aSEmmanuel Vadot			resets = <&tegra_car 27>;
236*f126890aSEmmanuel Vadot			reset-names = "dc";
237*f126890aSEmmanuel Vadot			power-domains = <&pd_core>;
238*f126890aSEmmanuel Vadot			operating-points-v2 = <&disp1_dvfs_opp_table>;
239*f126890aSEmmanuel Vadot
240*f126890aSEmmanuel Vadot			iommus = <&mc TEGRA_SWGROUP_DC>;
241*f126890aSEmmanuel Vadot
242*f126890aSEmmanuel Vadot			nvidia,head = <0>;
243*f126890aSEmmanuel Vadot
244*f126890aSEmmanuel Vadot			interconnects = <&mc TEGRA30_MC_DISPLAY0A &emc>,
245*f126890aSEmmanuel Vadot					<&mc TEGRA30_MC_DISPLAY0B &emc>,
246*f126890aSEmmanuel Vadot					<&mc TEGRA30_MC_DISPLAY1B &emc>,
247*f126890aSEmmanuel Vadot					<&mc TEGRA30_MC_DISPLAY0C &emc>,
248*f126890aSEmmanuel Vadot					<&mc TEGRA30_MC_DISPLAYHC &emc>;
249*f126890aSEmmanuel Vadot			interconnect-names = "wina",
250*f126890aSEmmanuel Vadot					     "winb",
251*f126890aSEmmanuel Vadot					     "winb-vfilter",
252*f126890aSEmmanuel Vadot					     "winc",
253*f126890aSEmmanuel Vadot					     "cursor";
254*f126890aSEmmanuel Vadot
255*f126890aSEmmanuel Vadot			rgb {
256*f126890aSEmmanuel Vadot				status = "disabled";
257*f126890aSEmmanuel Vadot			};
258*f126890aSEmmanuel Vadot		};
259*f126890aSEmmanuel Vadot
260*f126890aSEmmanuel Vadot		dc@54240000 {
261*f126890aSEmmanuel Vadot			compatible = "nvidia,tegra30-dc";
262*f126890aSEmmanuel Vadot			reg = <0x54240000 0x00040000>;
263*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
264*f126890aSEmmanuel Vadot			clocks = <&tegra_car TEGRA30_CLK_DISP2>,
265*f126890aSEmmanuel Vadot				 <&tegra_car TEGRA30_CLK_PLL_P>;
266*f126890aSEmmanuel Vadot			clock-names = "dc", "parent";
267*f126890aSEmmanuel Vadot			resets = <&tegra_car 26>;
268*f126890aSEmmanuel Vadot			reset-names = "dc";
269*f126890aSEmmanuel Vadot			power-domains = <&pd_core>;
270*f126890aSEmmanuel Vadot			operating-points-v2 = <&disp2_dvfs_opp_table>;
271*f126890aSEmmanuel Vadot
272*f126890aSEmmanuel Vadot			iommus = <&mc TEGRA_SWGROUP_DCB>;
273*f126890aSEmmanuel Vadot
274*f126890aSEmmanuel Vadot			nvidia,head = <1>;
275*f126890aSEmmanuel Vadot
276*f126890aSEmmanuel Vadot			interconnects = <&mc TEGRA30_MC_DISPLAY0AB &emc>,
277*f126890aSEmmanuel Vadot					<&mc TEGRA30_MC_DISPLAY0BB &emc>,
278*f126890aSEmmanuel Vadot					<&mc TEGRA30_MC_DISPLAY1BB &emc>,
279*f126890aSEmmanuel Vadot					<&mc TEGRA30_MC_DISPLAY0CB &emc>,
280*f126890aSEmmanuel Vadot					<&mc TEGRA30_MC_DISPLAYHCB &emc>;
281*f126890aSEmmanuel Vadot			interconnect-names = "wina",
282*f126890aSEmmanuel Vadot					     "winb",
283*f126890aSEmmanuel Vadot					     "winb-vfilter",
284*f126890aSEmmanuel Vadot					     "winc",
285*f126890aSEmmanuel Vadot					     "cursor";
286*f126890aSEmmanuel Vadot
287*f126890aSEmmanuel Vadot			rgb {
288*f126890aSEmmanuel Vadot				status = "disabled";
289*f126890aSEmmanuel Vadot			};
290*f126890aSEmmanuel Vadot		};
291*f126890aSEmmanuel Vadot
292*f126890aSEmmanuel Vadot		hdmi@54280000 {
293*f126890aSEmmanuel Vadot			compatible = "nvidia,tegra30-hdmi";
294*f126890aSEmmanuel Vadot			reg = <0x54280000 0x00040000>;
295*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
296*f126890aSEmmanuel Vadot			clocks = <&tegra_car TEGRA30_CLK_HDMI>,
297*f126890aSEmmanuel Vadot				 <&tegra_car TEGRA30_CLK_PLL_D2_OUT0>;
298*f126890aSEmmanuel Vadot			clock-names = "hdmi", "parent";
299*f126890aSEmmanuel Vadot			resets = <&tegra_car 51>;
300*f126890aSEmmanuel Vadot			reset-names = "hdmi";
301*f126890aSEmmanuel Vadot			power-domains = <&pd_core>;
302*f126890aSEmmanuel Vadot			operating-points-v2 = <&hdmi_dvfs_opp_table>;
303*f126890aSEmmanuel Vadot			status = "disabled";
304*f126890aSEmmanuel Vadot		};
305*f126890aSEmmanuel Vadot
306*f126890aSEmmanuel Vadot		tvo@542c0000 {
307*f126890aSEmmanuel Vadot			compatible = "nvidia,tegra30-tvo";
308*f126890aSEmmanuel Vadot			reg = <0x542c0000 0x00040000>;
309*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
310*f126890aSEmmanuel Vadot			clocks = <&tegra_car TEGRA30_CLK_TVO>;
311*f126890aSEmmanuel Vadot			power-domains = <&pd_core>;
312*f126890aSEmmanuel Vadot			operating-points-v2 = <&tvo_dvfs_opp_table>;
313*f126890aSEmmanuel Vadot			status = "disabled";
314*f126890aSEmmanuel Vadot		};
315*f126890aSEmmanuel Vadot
316*f126890aSEmmanuel Vadot		dsi@54300000 {
317*f126890aSEmmanuel Vadot			compatible = "nvidia,tegra30-dsi";
318*f126890aSEmmanuel Vadot			reg = <0x54300000 0x00040000>;
319*f126890aSEmmanuel Vadot			clocks = <&tegra_car TEGRA30_CLK_DSIA>,
320*f126890aSEmmanuel Vadot				 <&tegra_car TEGRA30_CLK_PLL_D_OUT0>;
321*f126890aSEmmanuel Vadot			clock-names = "dsi", "parent";
322*f126890aSEmmanuel Vadot			resets = <&tegra_car 48>;
323*f126890aSEmmanuel Vadot			reset-names = "dsi";
324*f126890aSEmmanuel Vadot			power-domains = <&pd_core>;
325*f126890aSEmmanuel Vadot			operating-points-v2 = <&dsia_dvfs_opp_table>;
326*f126890aSEmmanuel Vadot			status = "disabled";
327*f126890aSEmmanuel Vadot		};
328*f126890aSEmmanuel Vadot
329*f126890aSEmmanuel Vadot		dsi@54400000 {
330*f126890aSEmmanuel Vadot			compatible = "nvidia,tegra30-dsi";
331*f126890aSEmmanuel Vadot			reg = <0x54400000 0x00040000>;
332*f126890aSEmmanuel Vadot			clocks = <&tegra_car TEGRA30_CLK_DSIB>,
333*f126890aSEmmanuel Vadot				 <&tegra_car TEGRA30_CLK_PLL_D_OUT0>;
334*f126890aSEmmanuel Vadot			clock-names = "dsi", "parent";
335*f126890aSEmmanuel Vadot			resets = <&tegra_car 84>;
336*f126890aSEmmanuel Vadot			reset-names = "dsi";
337*f126890aSEmmanuel Vadot			power-domains = <&pd_core>;
338*f126890aSEmmanuel Vadot			operating-points-v2 = <&dsib_dvfs_opp_table>;
339*f126890aSEmmanuel Vadot			status = "disabled";
340*f126890aSEmmanuel Vadot		};
341*f126890aSEmmanuel Vadot	};
342*f126890aSEmmanuel Vadot
343*f126890aSEmmanuel Vadot	timer@50040600 {
344*f126890aSEmmanuel Vadot		compatible = "arm,cortex-a9-twd-timer";
345*f126890aSEmmanuel Vadot		reg = <0x50040600 0x20>;
346*f126890aSEmmanuel Vadot		interrupt-parent = <&intc>;
347*f126890aSEmmanuel Vadot		interrupts = <GIC_PPI 13
348*f126890aSEmmanuel Vadot			(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_EDGE_RISING)>;
349*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA30_CLK_TWD>;
350*f126890aSEmmanuel Vadot	};
351*f126890aSEmmanuel Vadot
352*f126890aSEmmanuel Vadot	intc: interrupt-controller@50041000 {
353*f126890aSEmmanuel Vadot		compatible = "arm,cortex-a9-gic";
354*f126890aSEmmanuel Vadot		reg = <0x50041000 0x1000>,
355*f126890aSEmmanuel Vadot		      <0x50040100 0x0100>;
356*f126890aSEmmanuel Vadot		interrupt-controller;
357*f126890aSEmmanuel Vadot		#interrupt-cells = <3>;
358*f126890aSEmmanuel Vadot		interrupt-parent = <&intc>;
359*f126890aSEmmanuel Vadot	};
360*f126890aSEmmanuel Vadot
361*f126890aSEmmanuel Vadot	cache-controller@50043000 {
362*f126890aSEmmanuel Vadot		compatible = "arm,pl310-cache";
363*f126890aSEmmanuel Vadot		reg = <0x50043000 0x1000>;
364*f126890aSEmmanuel Vadot		arm,data-latency = <6 6 2>;
365*f126890aSEmmanuel Vadot		arm,tag-latency = <5 5 2>;
366*f126890aSEmmanuel Vadot		cache-unified;
367*f126890aSEmmanuel Vadot		cache-level = <2>;
368*f126890aSEmmanuel Vadot	};
369*f126890aSEmmanuel Vadot
370*f126890aSEmmanuel Vadot	lic: interrupt-controller@60004000 {
371*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra30-ictlr";
372*f126890aSEmmanuel Vadot		reg = <0x60004000 0x100>,
373*f126890aSEmmanuel Vadot		      <0x60004100 0x50>,
374*f126890aSEmmanuel Vadot		      <0x60004200 0x50>,
375*f126890aSEmmanuel Vadot		      <0x60004300 0x50>,
376*f126890aSEmmanuel Vadot		      <0x60004400 0x50>;
377*f126890aSEmmanuel Vadot		interrupt-controller;
378*f126890aSEmmanuel Vadot		#interrupt-cells = <3>;
379*f126890aSEmmanuel Vadot		interrupt-parent = <&intc>;
380*f126890aSEmmanuel Vadot	};
381*f126890aSEmmanuel Vadot
382*f126890aSEmmanuel Vadot	timer@60005000 {
383*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra30-timer", "nvidia,tegra20-timer";
384*f126890aSEmmanuel Vadot		reg = <0x60005000 0x400>;
385*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
386*f126890aSEmmanuel Vadot			     <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
387*f126890aSEmmanuel Vadot			     <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
388*f126890aSEmmanuel Vadot			     <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>,
389*f126890aSEmmanuel Vadot			     <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
390*f126890aSEmmanuel Vadot			     <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>;
391*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA30_CLK_TIMER>;
392*f126890aSEmmanuel Vadot	};
393*f126890aSEmmanuel Vadot
394*f126890aSEmmanuel Vadot	tegra_car: clock@60006000 {
395*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra30-car";
396*f126890aSEmmanuel Vadot		reg = <0x60006000 0x1000>;
397*f126890aSEmmanuel Vadot		#clock-cells = <1>;
398*f126890aSEmmanuel Vadot		#reset-cells = <1>;
399*f126890aSEmmanuel Vadot
400*f126890aSEmmanuel Vadot		pll-c {
401*f126890aSEmmanuel Vadot			compatible = "nvidia,tegra30-pllc";
402*f126890aSEmmanuel Vadot			clocks = <&tegra_car TEGRA30_CLK_PLL_C>;
403*f126890aSEmmanuel Vadot			power-domains = <&pd_core>;
404*f126890aSEmmanuel Vadot			operating-points-v2 = <&pll_c_dvfs_opp_table>;
405*f126890aSEmmanuel Vadot		};
406*f126890aSEmmanuel Vadot
407*f126890aSEmmanuel Vadot		pll-e {
408*f126890aSEmmanuel Vadot			compatible = "nvidia,tegra30-plle";
409*f126890aSEmmanuel Vadot			clocks = <&tegra_car TEGRA30_CLK_PLL_E>;
410*f126890aSEmmanuel Vadot			power-domains = <&pd_core>;
411*f126890aSEmmanuel Vadot			operating-points-v2 = <&pll_e_dvfs_opp_table>;
412*f126890aSEmmanuel Vadot		};
413*f126890aSEmmanuel Vadot
414*f126890aSEmmanuel Vadot		pll-m {
415*f126890aSEmmanuel Vadot			compatible = "nvidia,tegra30-pllm";
416*f126890aSEmmanuel Vadot			clocks = <&tegra_car TEGRA30_CLK_PLL_M>;
417*f126890aSEmmanuel Vadot			power-domains = <&pd_core>;
418*f126890aSEmmanuel Vadot			operating-points-v2 = <&pll_m_dvfs_opp_table>;
419*f126890aSEmmanuel Vadot		};
420*f126890aSEmmanuel Vadot
421*f126890aSEmmanuel Vadot		sclk {
422*f126890aSEmmanuel Vadot			compatible = "nvidia,tegra30-sclk";
423*f126890aSEmmanuel Vadot			clocks = <&tegra_car TEGRA30_CLK_SCLK>;
424*f126890aSEmmanuel Vadot			power-domains = <&pd_core>;
425*f126890aSEmmanuel Vadot			operating-points-v2 = <&sclk_dvfs_opp_table>;
426*f126890aSEmmanuel Vadot		};
427*f126890aSEmmanuel Vadot	};
428*f126890aSEmmanuel Vadot
429*f126890aSEmmanuel Vadot	flow-controller@60007000 {
430*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra30-flowctrl";
431*f126890aSEmmanuel Vadot		reg = <0x60007000 0x1000>;
432*f126890aSEmmanuel Vadot	};
433*f126890aSEmmanuel Vadot
434*f126890aSEmmanuel Vadot	apbdma: dma@6000a000 {
435*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra30-apbdma", "nvidia,tegra20-apbdma";
436*f126890aSEmmanuel Vadot		reg = <0x6000a000 0x1400>;
437*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
438*f126890aSEmmanuel Vadot			     <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
439*f126890aSEmmanuel Vadot			     <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
440*f126890aSEmmanuel Vadot			     <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
441*f126890aSEmmanuel Vadot			     <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
442*f126890aSEmmanuel Vadot			     <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
443*f126890aSEmmanuel Vadot			     <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
444*f126890aSEmmanuel Vadot			     <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>,
445*f126890aSEmmanuel Vadot			     <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>,
446*f126890aSEmmanuel Vadot			     <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
447*f126890aSEmmanuel Vadot			     <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
448*f126890aSEmmanuel Vadot			     <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
449*f126890aSEmmanuel Vadot			     <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
450*f126890aSEmmanuel Vadot			     <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
451*f126890aSEmmanuel Vadot			     <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
452*f126890aSEmmanuel Vadot			     <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>,
453*f126890aSEmmanuel Vadot			     <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>,
454*f126890aSEmmanuel Vadot			     <GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>,
455*f126890aSEmmanuel Vadot			     <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>,
456*f126890aSEmmanuel Vadot			     <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
457*f126890aSEmmanuel Vadot			     <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>,
458*f126890aSEmmanuel Vadot			     <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>,
459*f126890aSEmmanuel Vadot			     <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>,
460*f126890aSEmmanuel Vadot			     <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,
461*f126890aSEmmanuel Vadot			     <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>,
462*f126890aSEmmanuel Vadot			     <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>,
463*f126890aSEmmanuel Vadot			     <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>,
464*f126890aSEmmanuel Vadot			     <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>,
465*f126890aSEmmanuel Vadot			     <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>,
466*f126890aSEmmanuel Vadot			     <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>,
467*f126890aSEmmanuel Vadot			     <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
468*f126890aSEmmanuel Vadot			     <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
469*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA30_CLK_APBDMA>;
470*f126890aSEmmanuel Vadot		resets = <&tegra_car 34>;
471*f126890aSEmmanuel Vadot		reset-names = "dma";
472*f126890aSEmmanuel Vadot		#dma-cells = <1>;
473*f126890aSEmmanuel Vadot	};
474*f126890aSEmmanuel Vadot
475*f126890aSEmmanuel Vadot	ahb: ahb@6000c000 {
476*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra30-ahb";
477*f126890aSEmmanuel Vadot		reg = <0x6000c000 0x150>; /* AHB Arbitration + Gizmo Controller */
478*f126890aSEmmanuel Vadot	};
479*f126890aSEmmanuel Vadot
480*f126890aSEmmanuel Vadot	actmon: actmon@6000c800 {
481*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra30-actmon";
482*f126890aSEmmanuel Vadot		reg = <0x6000c800 0x400>;
483*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
484*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA30_CLK_ACTMON>,
485*f126890aSEmmanuel Vadot			 <&tegra_car TEGRA30_CLK_EMC>;
486*f126890aSEmmanuel Vadot		clock-names = "actmon", "emc";
487*f126890aSEmmanuel Vadot		resets = <&tegra_car TEGRA30_CLK_ACTMON>;
488*f126890aSEmmanuel Vadot		reset-names = "actmon";
489*f126890aSEmmanuel Vadot		operating-points-v2 = <&emc_bw_dfs_opp_table>;
490*f126890aSEmmanuel Vadot		interconnects = <&mc TEGRA30_MC_MPCORER &emc>;
491*f126890aSEmmanuel Vadot		interconnect-names = "cpu-read";
492*f126890aSEmmanuel Vadot		#cooling-cells = <2>;
493*f126890aSEmmanuel Vadot	};
494*f126890aSEmmanuel Vadot
495*f126890aSEmmanuel Vadot	gpio: gpio@6000d000 {
496*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra30-gpio";
497*f126890aSEmmanuel Vadot		reg = <0x6000d000 0x1000>;
498*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>,
499*f126890aSEmmanuel Vadot			     <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>,
500*f126890aSEmmanuel Vadot			     <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>,
501*f126890aSEmmanuel Vadot			     <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>,
502*f126890aSEmmanuel Vadot			     <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>,
503*f126890aSEmmanuel Vadot			     <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>,
504*f126890aSEmmanuel Vadot			     <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>,
505*f126890aSEmmanuel Vadot			     <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>;
506*f126890aSEmmanuel Vadot		#gpio-cells = <2>;
507*f126890aSEmmanuel Vadot		gpio-controller;
508*f126890aSEmmanuel Vadot		#interrupt-cells = <2>;
509*f126890aSEmmanuel Vadot		interrupt-controller;
510*f126890aSEmmanuel Vadot		gpio-ranges = <&pinmux 0 0 248>;
511*f126890aSEmmanuel Vadot	};
512*f126890aSEmmanuel Vadot
513*f126890aSEmmanuel Vadot	vde@6001a000 {
514*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra30-vde", "nvidia,tegra20-vde";
515*f126890aSEmmanuel Vadot		reg = <0x6001a000 0x1000>, /* Syntax Engine */
516*f126890aSEmmanuel Vadot		      <0x6001b000 0x1000>, /* Video Bitstream Engine */
517*f126890aSEmmanuel Vadot		      <0x6001c000  0x100>, /* Macroblock Engine */
518*f126890aSEmmanuel Vadot		      <0x6001c200  0x100>, /* Post-processing Engine */
519*f126890aSEmmanuel Vadot		      <0x6001c400  0x100>, /* Motion Compensation Engine */
520*f126890aSEmmanuel Vadot		      <0x6001c600  0x100>, /* Transform Engine */
521*f126890aSEmmanuel Vadot		      <0x6001c800  0x100>, /* Pixel prediction block */
522*f126890aSEmmanuel Vadot		      <0x6001ca00  0x100>, /* Video DMA */
523*f126890aSEmmanuel Vadot		      <0x6001d800  0x400>; /* Video frame controls */
524*f126890aSEmmanuel Vadot		reg-names = "sxe", "bsev", "mbe", "ppe", "mce",
525*f126890aSEmmanuel Vadot			    "tfe", "ppb", "vdma", "frameid";
526*f126890aSEmmanuel Vadot		iram = <&vde_pool>; /* IRAM region */
527*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI  9 IRQ_TYPE_LEVEL_HIGH>, /* Sync token interrupt */
528*f126890aSEmmanuel Vadot			     <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>, /* BSE-V interrupt */
529*f126890aSEmmanuel Vadot			     <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; /* SXE interrupt */
530*f126890aSEmmanuel Vadot		interrupt-names = "sync-token", "bsev", "sxe";
531*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA30_CLK_VDE>;
532*f126890aSEmmanuel Vadot		reset-names = "vde", "mc";
533*f126890aSEmmanuel Vadot		resets = <&tegra_car 61>, <&mc TEGRA30_MC_RESET_VDE>;
534*f126890aSEmmanuel Vadot		iommus = <&mc TEGRA_SWGROUP_VDE>;
535*f126890aSEmmanuel Vadot		power-domains = <&pd_vde>;
536*f126890aSEmmanuel Vadot		operating-points-v2 = <&vde_dvfs_opp_table>;
537*f126890aSEmmanuel Vadot	};
538*f126890aSEmmanuel Vadot
539*f126890aSEmmanuel Vadot	apbmisc@70000800 {
540*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra30-apbmisc", "nvidia,tegra20-apbmisc";
541*f126890aSEmmanuel Vadot		reg = <0x70000800 0x64>, /* Chip revision */
542*f126890aSEmmanuel Vadot		      <0x70000008 0x04>; /* Strapping options */
543*f126890aSEmmanuel Vadot	};
544*f126890aSEmmanuel Vadot
545*f126890aSEmmanuel Vadot	pinmux: pinmux@70000868 {
546*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra30-pinmux";
547*f126890aSEmmanuel Vadot		reg = <0x70000868 0x0d4>, /* Pad control registers */
548*f126890aSEmmanuel Vadot		      <0x70003000 0x3e4>; /* Mux registers */
549*f126890aSEmmanuel Vadot	};
550*f126890aSEmmanuel Vadot
551*f126890aSEmmanuel Vadot	/*
552*f126890aSEmmanuel Vadot	 * There are two serial driver i.e. 8250 based simple serial
553*f126890aSEmmanuel Vadot	 * driver and APB DMA based serial driver for higher baudrate
554*f126890aSEmmanuel Vadot	 * and performace. To enable the 8250 based driver, the compatible
555*f126890aSEmmanuel Vadot	 * is "nvidia,tegra30-uart", "nvidia,tegra20-uart" and to enable
556*f126890aSEmmanuel Vadot	 * the APB DMA based serial driver, the compatible is
557*f126890aSEmmanuel Vadot	 * "nvidia,tegra30-hsuart", "nvidia,tegra20-hsuart".
558*f126890aSEmmanuel Vadot	 */
559*f126890aSEmmanuel Vadot	uarta: serial@70006000 {
560*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra30-uart", "nvidia,tegra20-uart";
561*f126890aSEmmanuel Vadot		reg = <0x70006000 0x40>;
562*f126890aSEmmanuel Vadot		reg-shift = <2>;
563*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
564*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA30_CLK_UARTA>;
565*f126890aSEmmanuel Vadot		resets = <&tegra_car 6>;
566*f126890aSEmmanuel Vadot		dmas = <&apbdma 8>, <&apbdma 8>;
567*f126890aSEmmanuel Vadot		dma-names = "rx", "tx";
568*f126890aSEmmanuel Vadot		status = "disabled";
569*f126890aSEmmanuel Vadot	};
570*f126890aSEmmanuel Vadot
571*f126890aSEmmanuel Vadot	uartb: serial@70006040 {
572*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra30-uart", "nvidia,tegra20-uart";
573*f126890aSEmmanuel Vadot		reg = <0x70006040 0x40>;
574*f126890aSEmmanuel Vadot		reg-shift = <2>;
575*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
576*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA30_CLK_UARTB>;
577*f126890aSEmmanuel Vadot		resets = <&tegra_car 7>;
578*f126890aSEmmanuel Vadot		dmas = <&apbdma 9>, <&apbdma 9>;
579*f126890aSEmmanuel Vadot		dma-names = "rx", "tx";
580*f126890aSEmmanuel Vadot		status = "disabled";
581*f126890aSEmmanuel Vadot	};
582*f126890aSEmmanuel Vadot
583*f126890aSEmmanuel Vadot	uartc: serial@70006200 {
584*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra30-uart", "nvidia,tegra20-uart";
585*f126890aSEmmanuel Vadot		reg = <0x70006200 0x100>;
586*f126890aSEmmanuel Vadot		reg-shift = <2>;
587*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
588*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA30_CLK_UARTC>;
589*f126890aSEmmanuel Vadot		resets = <&tegra_car 55>;
590*f126890aSEmmanuel Vadot		dmas = <&apbdma 10>, <&apbdma 10>;
591*f126890aSEmmanuel Vadot		dma-names = "rx", "tx";
592*f126890aSEmmanuel Vadot		status = "disabled";
593*f126890aSEmmanuel Vadot	};
594*f126890aSEmmanuel Vadot
595*f126890aSEmmanuel Vadot	uartd: serial@70006300 {
596*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra30-uart", "nvidia,tegra20-uart";
597*f126890aSEmmanuel Vadot		reg = <0x70006300 0x100>;
598*f126890aSEmmanuel Vadot		reg-shift = <2>;
599*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
600*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA30_CLK_UARTD>;
601*f126890aSEmmanuel Vadot		resets = <&tegra_car 65>;
602*f126890aSEmmanuel Vadot		dmas = <&apbdma 19>, <&apbdma 19>;
603*f126890aSEmmanuel Vadot		dma-names = "rx", "tx";
604*f126890aSEmmanuel Vadot		status = "disabled";
605*f126890aSEmmanuel Vadot	};
606*f126890aSEmmanuel Vadot
607*f126890aSEmmanuel Vadot	uarte: serial@70006400 {
608*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra30-uart", "nvidia,tegra20-uart";
609*f126890aSEmmanuel Vadot		reg = <0x70006400 0x100>;
610*f126890aSEmmanuel Vadot		reg-shift = <2>;
611*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
612*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA30_CLK_UARTE>;
613*f126890aSEmmanuel Vadot		resets = <&tegra_car 66>;
614*f126890aSEmmanuel Vadot		dmas = <&apbdma 20>, <&apbdma 20>;
615*f126890aSEmmanuel Vadot		dma-names = "rx", "tx";
616*f126890aSEmmanuel Vadot		status = "disabled";
617*f126890aSEmmanuel Vadot	};
618*f126890aSEmmanuel Vadot
619*f126890aSEmmanuel Vadot	gmi@70009000 {
620*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra30-gmi";
621*f126890aSEmmanuel Vadot		reg = <0x70009000 0x1000>;
622*f126890aSEmmanuel Vadot		#address-cells = <2>;
623*f126890aSEmmanuel Vadot		#size-cells = <1>;
624*f126890aSEmmanuel Vadot		ranges = <0 0 0x48000000 0x7ffffff>;
625*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA30_CLK_NOR>;
626*f126890aSEmmanuel Vadot		clock-names = "gmi";
627*f126890aSEmmanuel Vadot		resets = <&tegra_car 42>;
628*f126890aSEmmanuel Vadot		reset-names = "gmi";
629*f126890aSEmmanuel Vadot		power-domains = <&pd_core>;
630*f126890aSEmmanuel Vadot		operating-points-v2 = <&nor_dvfs_opp_table>;
631*f126890aSEmmanuel Vadot		status = "disabled";
632*f126890aSEmmanuel Vadot	};
633*f126890aSEmmanuel Vadot
634*f126890aSEmmanuel Vadot	pwm: pwm@7000a000 {
635*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra30-pwm", "nvidia,tegra20-pwm";
636*f126890aSEmmanuel Vadot		reg = <0x7000a000 0x100>;
637*f126890aSEmmanuel Vadot		#pwm-cells = <2>;
638*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA30_CLK_PWM>;
639*f126890aSEmmanuel Vadot		resets = <&tegra_car 17>;
640*f126890aSEmmanuel Vadot		reset-names = "pwm";
641*f126890aSEmmanuel Vadot		power-domains = <&pd_core>;
642*f126890aSEmmanuel Vadot		operating-points-v2 = <&pwm_dvfs_opp_table>;
643*f126890aSEmmanuel Vadot		status = "disabled";
644*f126890aSEmmanuel Vadot	};
645*f126890aSEmmanuel Vadot
646*f126890aSEmmanuel Vadot	i2c@7000c000 {
647*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra30-i2c", "nvidia,tegra20-i2c";
648*f126890aSEmmanuel Vadot		reg = <0x7000c000 0x100>;
649*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
650*f126890aSEmmanuel Vadot		#address-cells = <1>;
651*f126890aSEmmanuel Vadot		#size-cells = <0>;
652*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA30_CLK_I2C1>,
653*f126890aSEmmanuel Vadot			 <&tegra_car TEGRA30_CLK_PLL_P_OUT3>;
654*f126890aSEmmanuel Vadot		clock-names = "div-clk", "fast-clk";
655*f126890aSEmmanuel Vadot		resets = <&tegra_car 12>;
656*f126890aSEmmanuel Vadot		reset-names = "i2c";
657*f126890aSEmmanuel Vadot		dmas = <&apbdma 21>, <&apbdma 21>;
658*f126890aSEmmanuel Vadot		dma-names = "rx", "tx";
659*f126890aSEmmanuel Vadot		status = "disabled";
660*f126890aSEmmanuel Vadot	};
661*f126890aSEmmanuel Vadot
662*f126890aSEmmanuel Vadot	i2c@7000c400 {
663*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra30-i2c", "nvidia,tegra20-i2c";
664*f126890aSEmmanuel Vadot		reg = <0x7000c400 0x100>;
665*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
666*f126890aSEmmanuel Vadot		#address-cells = <1>;
667*f126890aSEmmanuel Vadot		#size-cells = <0>;
668*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA30_CLK_I2C2>,
669*f126890aSEmmanuel Vadot			 <&tegra_car TEGRA30_CLK_PLL_P_OUT3>;
670*f126890aSEmmanuel Vadot		clock-names = "div-clk", "fast-clk";
671*f126890aSEmmanuel Vadot		resets = <&tegra_car 54>;
672*f126890aSEmmanuel Vadot		reset-names = "i2c";
673*f126890aSEmmanuel Vadot		dmas = <&apbdma 22>, <&apbdma 22>;
674*f126890aSEmmanuel Vadot		dma-names = "rx", "tx";
675*f126890aSEmmanuel Vadot		status = "disabled";
676*f126890aSEmmanuel Vadot	};
677*f126890aSEmmanuel Vadot
678*f126890aSEmmanuel Vadot	i2c@7000c500 {
679*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra30-i2c", "nvidia,tegra20-i2c";
680*f126890aSEmmanuel Vadot		reg = <0x7000c500 0x100>;
681*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
682*f126890aSEmmanuel Vadot		#address-cells = <1>;
683*f126890aSEmmanuel Vadot		#size-cells = <0>;
684*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA30_CLK_I2C3>,
685*f126890aSEmmanuel Vadot			 <&tegra_car TEGRA30_CLK_PLL_P_OUT3>;
686*f126890aSEmmanuel Vadot		clock-names = "div-clk", "fast-clk";
687*f126890aSEmmanuel Vadot		resets = <&tegra_car 67>;
688*f126890aSEmmanuel Vadot		reset-names = "i2c";
689*f126890aSEmmanuel Vadot		dmas = <&apbdma 23>, <&apbdma 23>;
690*f126890aSEmmanuel Vadot		dma-names = "rx", "tx";
691*f126890aSEmmanuel Vadot		status = "disabled";
692*f126890aSEmmanuel Vadot	};
693*f126890aSEmmanuel Vadot
694*f126890aSEmmanuel Vadot	i2c@7000c700 {
695*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra30-i2c", "nvidia,tegra20-i2c";
696*f126890aSEmmanuel Vadot		reg = <0x7000c700 0x100>;
697*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
698*f126890aSEmmanuel Vadot		#address-cells = <1>;
699*f126890aSEmmanuel Vadot		#size-cells = <0>;
700*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA30_CLK_I2C4>,
701*f126890aSEmmanuel Vadot			 <&tegra_car TEGRA30_CLK_PLL_P_OUT3>;
702*f126890aSEmmanuel Vadot		resets = <&tegra_car 103>;
703*f126890aSEmmanuel Vadot		reset-names = "i2c";
704*f126890aSEmmanuel Vadot		clock-names = "div-clk", "fast-clk";
705*f126890aSEmmanuel Vadot		dmas = <&apbdma 26>, <&apbdma 26>;
706*f126890aSEmmanuel Vadot		dma-names = "rx", "tx";
707*f126890aSEmmanuel Vadot		status = "disabled";
708*f126890aSEmmanuel Vadot	};
709*f126890aSEmmanuel Vadot
710*f126890aSEmmanuel Vadot	i2c@7000d000 {
711*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra30-i2c", "nvidia,tegra20-i2c";
712*f126890aSEmmanuel Vadot		reg = <0x7000d000 0x100>;
713*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
714*f126890aSEmmanuel Vadot		#address-cells = <1>;
715*f126890aSEmmanuel Vadot		#size-cells = <0>;
716*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA30_CLK_I2C5>,
717*f126890aSEmmanuel Vadot			 <&tegra_car TEGRA30_CLK_PLL_P_OUT3>;
718*f126890aSEmmanuel Vadot		clock-names = "div-clk", "fast-clk";
719*f126890aSEmmanuel Vadot		resets = <&tegra_car 47>;
720*f126890aSEmmanuel Vadot		reset-names = "i2c";
721*f126890aSEmmanuel Vadot		dmas = <&apbdma 24>, <&apbdma 24>;
722*f126890aSEmmanuel Vadot		dma-names = "rx", "tx";
723*f126890aSEmmanuel Vadot		status = "disabled";
724*f126890aSEmmanuel Vadot	};
725*f126890aSEmmanuel Vadot
726*f126890aSEmmanuel Vadot	spi@7000d400 {
727*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra30-slink";
728*f126890aSEmmanuel Vadot		reg = <0x7000d400 0x200>;
729*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
730*f126890aSEmmanuel Vadot		#address-cells = <1>;
731*f126890aSEmmanuel Vadot		#size-cells = <0>;
732*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA30_CLK_SBC1>;
733*f126890aSEmmanuel Vadot		resets = <&tegra_car 41>;
734*f126890aSEmmanuel Vadot		reset-names = "spi";
735*f126890aSEmmanuel Vadot		dmas = <&apbdma 15>, <&apbdma 15>;
736*f126890aSEmmanuel Vadot		dma-names = "rx", "tx";
737*f126890aSEmmanuel Vadot		power-domains = <&pd_core>;
738*f126890aSEmmanuel Vadot		operating-points-v2 = <&sbc1_dvfs_opp_table>;
739*f126890aSEmmanuel Vadot		status = "disabled";
740*f126890aSEmmanuel Vadot	};
741*f126890aSEmmanuel Vadot
742*f126890aSEmmanuel Vadot	spi@7000d600 {
743*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra30-slink";
744*f126890aSEmmanuel Vadot		reg = <0x7000d600 0x200>;
745*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
746*f126890aSEmmanuel Vadot		#address-cells = <1>;
747*f126890aSEmmanuel Vadot		#size-cells = <0>;
748*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA30_CLK_SBC2>;
749*f126890aSEmmanuel Vadot		resets = <&tegra_car 44>;
750*f126890aSEmmanuel Vadot		reset-names = "spi";
751*f126890aSEmmanuel Vadot		dmas = <&apbdma 16>, <&apbdma 16>;
752*f126890aSEmmanuel Vadot		dma-names = "rx", "tx";
753*f126890aSEmmanuel Vadot		power-domains = <&pd_core>;
754*f126890aSEmmanuel Vadot		operating-points-v2 = <&sbc2_dvfs_opp_table>;
755*f126890aSEmmanuel Vadot		status = "disabled";
756*f126890aSEmmanuel Vadot	};
757*f126890aSEmmanuel Vadot
758*f126890aSEmmanuel Vadot	spi@7000d800 {
759*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra30-slink";
760*f126890aSEmmanuel Vadot		reg = <0x7000d800 0x200>;
761*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
762*f126890aSEmmanuel Vadot		#address-cells = <1>;
763*f126890aSEmmanuel Vadot		#size-cells = <0>;
764*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA30_CLK_SBC3>;
765*f126890aSEmmanuel Vadot		resets = <&tegra_car 46>;
766*f126890aSEmmanuel Vadot		reset-names = "spi";
767*f126890aSEmmanuel Vadot		dmas = <&apbdma 17>, <&apbdma 17>;
768*f126890aSEmmanuel Vadot		dma-names = "rx", "tx";
769*f126890aSEmmanuel Vadot		power-domains = <&pd_core>;
770*f126890aSEmmanuel Vadot		operating-points-v2 = <&sbc3_dvfs_opp_table>;
771*f126890aSEmmanuel Vadot		status = "disabled";
772*f126890aSEmmanuel Vadot	};
773*f126890aSEmmanuel Vadot
774*f126890aSEmmanuel Vadot	spi@7000da00 {
775*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra30-slink";
776*f126890aSEmmanuel Vadot		reg = <0x7000da00 0x200>;
777*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
778*f126890aSEmmanuel Vadot		#address-cells = <1>;
779*f126890aSEmmanuel Vadot		#size-cells = <0>;
780*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA30_CLK_SBC4>;
781*f126890aSEmmanuel Vadot		resets = <&tegra_car 68>;
782*f126890aSEmmanuel Vadot		reset-names = "spi";
783*f126890aSEmmanuel Vadot		dmas = <&apbdma 18>, <&apbdma 18>;
784*f126890aSEmmanuel Vadot		dma-names = "rx", "tx";
785*f126890aSEmmanuel Vadot		power-domains = <&pd_core>;
786*f126890aSEmmanuel Vadot		operating-points-v2 = <&sbc4_dvfs_opp_table>;
787*f126890aSEmmanuel Vadot		status = "disabled";
788*f126890aSEmmanuel Vadot	};
789*f126890aSEmmanuel Vadot
790*f126890aSEmmanuel Vadot	spi@7000dc00 {
791*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra30-slink";
792*f126890aSEmmanuel Vadot		reg = <0x7000dc00 0x200>;
793*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
794*f126890aSEmmanuel Vadot		#address-cells = <1>;
795*f126890aSEmmanuel Vadot		#size-cells = <0>;
796*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA30_CLK_SBC5>;
797*f126890aSEmmanuel Vadot		resets = <&tegra_car 104>;
798*f126890aSEmmanuel Vadot		reset-names = "spi";
799*f126890aSEmmanuel Vadot		dmas = <&apbdma 27>, <&apbdma 27>;
800*f126890aSEmmanuel Vadot		dma-names = "rx", "tx";
801*f126890aSEmmanuel Vadot		power-domains = <&pd_core>;
802*f126890aSEmmanuel Vadot		operating-points-v2 = <&sbc5_dvfs_opp_table>;
803*f126890aSEmmanuel Vadot		status = "disabled";
804*f126890aSEmmanuel Vadot	};
805*f126890aSEmmanuel Vadot
806*f126890aSEmmanuel Vadot	spi@7000de00 {
807*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra30-slink";
808*f126890aSEmmanuel Vadot		reg = <0x7000de00 0x200>;
809*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
810*f126890aSEmmanuel Vadot		#address-cells = <1>;
811*f126890aSEmmanuel Vadot		#size-cells = <0>;
812*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA30_CLK_SBC6>;
813*f126890aSEmmanuel Vadot		resets = <&tegra_car 106>;
814*f126890aSEmmanuel Vadot		reset-names = "spi";
815*f126890aSEmmanuel Vadot		dmas = <&apbdma 28>, <&apbdma 28>;
816*f126890aSEmmanuel Vadot		dma-names = "rx", "tx";
817*f126890aSEmmanuel Vadot		power-domains = <&pd_core>;
818*f126890aSEmmanuel Vadot		operating-points-v2 = <&sbc6_dvfs_opp_table>;
819*f126890aSEmmanuel Vadot		status = "disabled";
820*f126890aSEmmanuel Vadot	};
821*f126890aSEmmanuel Vadot
822*f126890aSEmmanuel Vadot	rtc@7000e000 {
823*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra30-rtc", "nvidia,tegra20-rtc";
824*f126890aSEmmanuel Vadot		reg = <0x7000e000 0x100>;
825*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
826*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA30_CLK_RTC>;
827*f126890aSEmmanuel Vadot	};
828*f126890aSEmmanuel Vadot
829*f126890aSEmmanuel Vadot	kbc@7000e200 {
830*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra30-kbc", "nvidia,tegra20-kbc";
831*f126890aSEmmanuel Vadot		reg = <0x7000e200 0x100>;
832*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
833*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA30_CLK_KBC>;
834*f126890aSEmmanuel Vadot		resets = <&tegra_car 36>;
835*f126890aSEmmanuel Vadot		reset-names = "kbc";
836*f126890aSEmmanuel Vadot		status = "disabled";
837*f126890aSEmmanuel Vadot	};
838*f126890aSEmmanuel Vadot
839*f126890aSEmmanuel Vadot	tegra_pmc: pmc@7000e400 {
840*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra30-pmc";
841*f126890aSEmmanuel Vadot		reg = <0x7000e400 0x400>;
842*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA30_CLK_PCLK>, <&clk32k_in>;
843*f126890aSEmmanuel Vadot		clock-names = "pclk", "clk32k_in";
844*f126890aSEmmanuel Vadot		#clock-cells = <1>;
845*f126890aSEmmanuel Vadot
846*f126890aSEmmanuel Vadot		pd_core: core-domain {
847*f126890aSEmmanuel Vadot			#power-domain-cells = <0>;
848*f126890aSEmmanuel Vadot			operating-points-v2 = <&core_opp_table>;
849*f126890aSEmmanuel Vadot		};
850*f126890aSEmmanuel Vadot
851*f126890aSEmmanuel Vadot		powergates {
852*f126890aSEmmanuel Vadot			pd_heg: heg {
853*f126890aSEmmanuel Vadot				clocks = <&tegra_car TEGRA30_CLK_GR2D>,
854*f126890aSEmmanuel Vadot					 <&tegra_car TEGRA30_CLK_EPP>,
855*f126890aSEmmanuel Vadot					 <&tegra_car TEGRA30_CLK_HOST1X>;
856*f126890aSEmmanuel Vadot				resets = <&mc TEGRA30_MC_RESET_2D>,
857*f126890aSEmmanuel Vadot					 <&mc TEGRA30_MC_RESET_EPP>,
858*f126890aSEmmanuel Vadot					 <&mc TEGRA30_MC_RESET_HC>,
859*f126890aSEmmanuel Vadot					 <&tegra_car TEGRA30_CLK_GR2D>,
860*f126890aSEmmanuel Vadot					 <&tegra_car TEGRA30_CLK_EPP>,
861*f126890aSEmmanuel Vadot					 <&tegra_car TEGRA30_CLK_HOST1X>;
862*f126890aSEmmanuel Vadot				power-domains = <&pd_core>;
863*f126890aSEmmanuel Vadot				#power-domain-cells = <0>;
864*f126890aSEmmanuel Vadot			};
865*f126890aSEmmanuel Vadot
866*f126890aSEmmanuel Vadot			pd_mpe: mpe {
867*f126890aSEmmanuel Vadot				clocks = <&tegra_car TEGRA30_CLK_MPE>;
868*f126890aSEmmanuel Vadot				resets = <&mc TEGRA30_MC_RESET_MPE>,
869*f126890aSEmmanuel Vadot					 <&tegra_car TEGRA30_CLK_MPE>;
870*f126890aSEmmanuel Vadot				power-domains = <&pd_core>;
871*f126890aSEmmanuel Vadot				#power-domain-cells = <0>;
872*f126890aSEmmanuel Vadot			};
873*f126890aSEmmanuel Vadot
874*f126890aSEmmanuel Vadot			pd_3d0: td {
875*f126890aSEmmanuel Vadot				clocks = <&tegra_car TEGRA30_CLK_GR3D>;
876*f126890aSEmmanuel Vadot				resets = <&mc TEGRA30_MC_RESET_3D>,
877*f126890aSEmmanuel Vadot					 <&tegra_car TEGRA30_CLK_GR3D>;
878*f126890aSEmmanuel Vadot				power-domains = <&pd_core>;
879*f126890aSEmmanuel Vadot				#power-domain-cells = <0>;
880*f126890aSEmmanuel Vadot			};
881*f126890aSEmmanuel Vadot
882*f126890aSEmmanuel Vadot			pd_3d1: td2 {
883*f126890aSEmmanuel Vadot				clocks = <&tegra_car TEGRA30_CLK_GR3D2>;
884*f126890aSEmmanuel Vadot				resets = <&mc TEGRA30_MC_RESET_3D2>,
885*f126890aSEmmanuel Vadot					 <&tegra_car TEGRA30_CLK_GR3D2>;
886*f126890aSEmmanuel Vadot				power-domains = <&pd_core>;
887*f126890aSEmmanuel Vadot				#power-domain-cells = <0>;
888*f126890aSEmmanuel Vadot			};
889*f126890aSEmmanuel Vadot
890*f126890aSEmmanuel Vadot			pd_vde: vdec {
891*f126890aSEmmanuel Vadot				clocks = <&tegra_car TEGRA30_CLK_VDE>;
892*f126890aSEmmanuel Vadot				resets = <&mc TEGRA30_MC_RESET_VDE>,
893*f126890aSEmmanuel Vadot					 <&tegra_car TEGRA30_CLK_VDE>;
894*f126890aSEmmanuel Vadot				power-domains = <&pd_core>;
895*f126890aSEmmanuel Vadot				#power-domain-cells = <0>;
896*f126890aSEmmanuel Vadot			};
897*f126890aSEmmanuel Vadot
898*f126890aSEmmanuel Vadot			pd_venc: venc {
899*f126890aSEmmanuel Vadot				clocks = <&tegra_car TEGRA30_CLK_ISP>,
900*f126890aSEmmanuel Vadot					 <&tegra_car TEGRA30_CLK_VI>,
901*f126890aSEmmanuel Vadot					 <&tegra_car TEGRA30_CLK_CSI>;
902*f126890aSEmmanuel Vadot				resets = <&mc TEGRA30_MC_RESET_ISP>,
903*f126890aSEmmanuel Vadot					 <&mc TEGRA30_MC_RESET_VI>,
904*f126890aSEmmanuel Vadot					 <&tegra_car TEGRA30_CLK_ISP>,
905*f126890aSEmmanuel Vadot					 <&tegra_car 20 /* VI */>,
906*f126890aSEmmanuel Vadot					 <&tegra_car TEGRA30_CLK_CSI>;
907*f126890aSEmmanuel Vadot				power-domains = <&pd_core>;
908*f126890aSEmmanuel Vadot				#power-domain-cells = <0>;
909*f126890aSEmmanuel Vadot			};
910*f126890aSEmmanuel Vadot		};
911*f126890aSEmmanuel Vadot	};
912*f126890aSEmmanuel Vadot
913*f126890aSEmmanuel Vadot	mc: memory-controller@7000f000 {
914*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra30-mc";
915*f126890aSEmmanuel Vadot		reg = <0x7000f000 0x400>;
916*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA30_CLK_MC>;
917*f126890aSEmmanuel Vadot		clock-names = "mc";
918*f126890aSEmmanuel Vadot
919*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
920*f126890aSEmmanuel Vadot
921*f126890aSEmmanuel Vadot		#iommu-cells = <1>;
922*f126890aSEmmanuel Vadot		#reset-cells = <1>;
923*f126890aSEmmanuel Vadot		#interconnect-cells = <1>;
924*f126890aSEmmanuel Vadot	};
925*f126890aSEmmanuel Vadot
926*f126890aSEmmanuel Vadot	emc: memory-controller@7000f400 {
927*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra30-emc";
928*f126890aSEmmanuel Vadot		reg = <0x7000f400 0x400>;
929*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
930*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA30_CLK_EMC>;
931*f126890aSEmmanuel Vadot		power-domains = <&pd_core>;
932*f126890aSEmmanuel Vadot
933*f126890aSEmmanuel Vadot		nvidia,memory-controller = <&mc>;
934*f126890aSEmmanuel Vadot		operating-points-v2 = <&emc_icc_dvfs_opp_table>;
935*f126890aSEmmanuel Vadot
936*f126890aSEmmanuel Vadot		#interconnect-cells = <0>;
937*f126890aSEmmanuel Vadot	};
938*f126890aSEmmanuel Vadot
939*f126890aSEmmanuel Vadot	fuse@7000f800 {
940*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra30-efuse";
941*f126890aSEmmanuel Vadot		reg = <0x7000f800 0x400>;
942*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA30_CLK_FUSE>;
943*f126890aSEmmanuel Vadot		clock-names = "fuse";
944*f126890aSEmmanuel Vadot		resets = <&tegra_car 39>;
945*f126890aSEmmanuel Vadot		reset-names = "fuse";
946*f126890aSEmmanuel Vadot		power-domains = <&pd_core>;
947*f126890aSEmmanuel Vadot		operating-points-v2 = <&fuse_burn_dvfs_opp_table>;
948*f126890aSEmmanuel Vadot	};
949*f126890aSEmmanuel Vadot
950*f126890aSEmmanuel Vadot	tsensor: tsensor@70014000 {
951*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra30-tsensor";
952*f126890aSEmmanuel Vadot		reg = <0x70014000 0x500>;
953*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
954*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA30_CLK_TSENSOR>;
955*f126890aSEmmanuel Vadot		resets = <&tegra_car TEGRA30_CLK_TSENSOR>;
956*f126890aSEmmanuel Vadot
957*f126890aSEmmanuel Vadot		assigned-clocks = <&tegra_car TEGRA30_CLK_TSENSOR>;
958*f126890aSEmmanuel Vadot		assigned-clock-parents = <&tegra_car TEGRA30_CLK_CLK_M>;
959*f126890aSEmmanuel Vadot		assigned-clock-rates = <500000>;
960*f126890aSEmmanuel Vadot
961*f126890aSEmmanuel Vadot		#thermal-sensor-cells = <1>;
962*f126890aSEmmanuel Vadot	};
963*f126890aSEmmanuel Vadot
964*f126890aSEmmanuel Vadot	hda@70030000 {
965*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra30-hda";
966*f126890aSEmmanuel Vadot		reg = <0x70030000 0x10000>;
967*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
968*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA30_CLK_HDA>,
969*f126890aSEmmanuel Vadot			 <&tegra_car TEGRA30_CLK_HDA2HDMI>,
970*f126890aSEmmanuel Vadot			 <&tegra_car TEGRA30_CLK_HDA2CODEC_2X>;
971*f126890aSEmmanuel Vadot		clock-names = "hda", "hda2hdmi", "hda2codec_2x";
972*f126890aSEmmanuel Vadot		resets = <&tegra_car 125>, /* hda */
973*f126890aSEmmanuel Vadot			 <&tegra_car 128>, /* hda2hdmi */
974*f126890aSEmmanuel Vadot			 <&tegra_car 111>; /* hda2codec_2x */
975*f126890aSEmmanuel Vadot		reset-names = "hda", "hda2hdmi", "hda2codec_2x";
976*f126890aSEmmanuel Vadot		status = "disabled";
977*f126890aSEmmanuel Vadot	};
978*f126890aSEmmanuel Vadot
979*f126890aSEmmanuel Vadot	ahub@70080000 {
980*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra30-ahub";
981*f126890aSEmmanuel Vadot		reg = <0x70080000 0x200>,
982*f126890aSEmmanuel Vadot		      <0x70080200 0x100>;
983*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
984*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA30_CLK_D_AUDIO>,
985*f126890aSEmmanuel Vadot			 <&tegra_car TEGRA30_CLK_APBIF>;
986*f126890aSEmmanuel Vadot		clock-names = "d_audio", "apbif";
987*f126890aSEmmanuel Vadot		resets = <&tegra_car 106>, /* d_audio */
988*f126890aSEmmanuel Vadot			 <&tegra_car 107>, /* apbif */
989*f126890aSEmmanuel Vadot			 <&tegra_car 30>,  /* i2s0 */
990*f126890aSEmmanuel Vadot			 <&tegra_car 11>,  /* i2s1 */
991*f126890aSEmmanuel Vadot			 <&tegra_car 18>,  /* i2s2 */
992*f126890aSEmmanuel Vadot			 <&tegra_car 101>, /* i2s3 */
993*f126890aSEmmanuel Vadot			 <&tegra_car 102>, /* i2s4 */
994*f126890aSEmmanuel Vadot			 <&tegra_car 108>, /* dam0 */
995*f126890aSEmmanuel Vadot			 <&tegra_car 109>, /* dam1 */
996*f126890aSEmmanuel Vadot			 <&tegra_car 110>, /* dam2 */
997*f126890aSEmmanuel Vadot			 <&tegra_car 10>;  /* spdif */
998*f126890aSEmmanuel Vadot		reset-names = "d_audio", "apbif", "i2s0", "i2s1", "i2s2",
999*f126890aSEmmanuel Vadot			      "i2s3", "i2s4", "dam0", "dam1", "dam2",
1000*f126890aSEmmanuel Vadot			      "spdif";
1001*f126890aSEmmanuel Vadot		dmas = <&apbdma 1>, <&apbdma 1>,
1002*f126890aSEmmanuel Vadot		       <&apbdma 2>, <&apbdma 2>,
1003*f126890aSEmmanuel Vadot		       <&apbdma 3>, <&apbdma 3>,
1004*f126890aSEmmanuel Vadot		       <&apbdma 4>, <&apbdma 4>;
1005*f126890aSEmmanuel Vadot		dma-names = "rx0", "tx0", "rx1", "tx1", "rx2", "tx2",
1006*f126890aSEmmanuel Vadot			    "rx3", "tx3";
1007*f126890aSEmmanuel Vadot		ranges;
1008*f126890aSEmmanuel Vadot		#address-cells = <1>;
1009*f126890aSEmmanuel Vadot		#size-cells = <1>;
1010*f126890aSEmmanuel Vadot
1011*f126890aSEmmanuel Vadot		tegra_i2s0: i2s@70080300 {
1012*f126890aSEmmanuel Vadot			compatible = "nvidia,tegra30-i2s";
1013*f126890aSEmmanuel Vadot			reg = <0x70080300 0x100>;
1014*f126890aSEmmanuel Vadot			nvidia,ahub-cif-ids = <4 4>;
1015*f126890aSEmmanuel Vadot			clocks = <&tegra_car TEGRA30_CLK_I2S0>;
1016*f126890aSEmmanuel Vadot			resets = <&tegra_car 30>;
1017*f126890aSEmmanuel Vadot			reset-names = "i2s";
1018*f126890aSEmmanuel Vadot			status = "disabled";
1019*f126890aSEmmanuel Vadot		};
1020*f126890aSEmmanuel Vadot
1021*f126890aSEmmanuel Vadot		tegra_i2s1: i2s@70080400 {
1022*f126890aSEmmanuel Vadot			compatible = "nvidia,tegra30-i2s";
1023*f126890aSEmmanuel Vadot			reg = <0x70080400 0x100>;
1024*f126890aSEmmanuel Vadot			nvidia,ahub-cif-ids = <5 5>;
1025*f126890aSEmmanuel Vadot			clocks = <&tegra_car TEGRA30_CLK_I2S1>;
1026*f126890aSEmmanuel Vadot			resets = <&tegra_car 11>;
1027*f126890aSEmmanuel Vadot			reset-names = "i2s";
1028*f126890aSEmmanuel Vadot			status = "disabled";
1029*f126890aSEmmanuel Vadot		};
1030*f126890aSEmmanuel Vadot
1031*f126890aSEmmanuel Vadot		tegra_i2s2: i2s@70080500 {
1032*f126890aSEmmanuel Vadot			compatible = "nvidia,tegra30-i2s";
1033*f126890aSEmmanuel Vadot			reg = <0x70080500 0x100>;
1034*f126890aSEmmanuel Vadot			nvidia,ahub-cif-ids = <6 6>;
1035*f126890aSEmmanuel Vadot			clocks = <&tegra_car TEGRA30_CLK_I2S2>;
1036*f126890aSEmmanuel Vadot			resets = <&tegra_car 18>;
1037*f126890aSEmmanuel Vadot			reset-names = "i2s";
1038*f126890aSEmmanuel Vadot			status = "disabled";
1039*f126890aSEmmanuel Vadot		};
1040*f126890aSEmmanuel Vadot
1041*f126890aSEmmanuel Vadot		tegra_i2s3: i2s@70080600 {
1042*f126890aSEmmanuel Vadot			compatible = "nvidia,tegra30-i2s";
1043*f126890aSEmmanuel Vadot			reg = <0x70080600 0x100>;
1044*f126890aSEmmanuel Vadot			nvidia,ahub-cif-ids = <7 7>;
1045*f126890aSEmmanuel Vadot			clocks = <&tegra_car TEGRA30_CLK_I2S3>;
1046*f126890aSEmmanuel Vadot			resets = <&tegra_car 101>;
1047*f126890aSEmmanuel Vadot			reset-names = "i2s";
1048*f126890aSEmmanuel Vadot			status = "disabled";
1049*f126890aSEmmanuel Vadot		};
1050*f126890aSEmmanuel Vadot
1051*f126890aSEmmanuel Vadot		tegra_i2s4: i2s@70080700 {
1052*f126890aSEmmanuel Vadot			compatible = "nvidia,tegra30-i2s";
1053*f126890aSEmmanuel Vadot			reg = <0x70080700 0x100>;
1054*f126890aSEmmanuel Vadot			nvidia,ahub-cif-ids = <8 8>;
1055*f126890aSEmmanuel Vadot			clocks = <&tegra_car TEGRA30_CLK_I2S4>;
1056*f126890aSEmmanuel Vadot			resets = <&tegra_car 102>;
1057*f126890aSEmmanuel Vadot			reset-names = "i2s";
1058*f126890aSEmmanuel Vadot			status = "disabled";
1059*f126890aSEmmanuel Vadot		};
1060*f126890aSEmmanuel Vadot	};
1061*f126890aSEmmanuel Vadot
1062*f126890aSEmmanuel Vadot	mmc@78000000 {
1063*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra30-sdhci";
1064*f126890aSEmmanuel Vadot		reg = <0x78000000 0x200>;
1065*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
1066*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA30_CLK_SDMMC1>;
1067*f126890aSEmmanuel Vadot		clock-names = "sdhci";
1068*f126890aSEmmanuel Vadot		resets = <&tegra_car 14>;
1069*f126890aSEmmanuel Vadot		reset-names = "sdhci";
1070*f126890aSEmmanuel Vadot		power-domains = <&pd_core>;
1071*f126890aSEmmanuel Vadot		operating-points-v2 = <&sdmmc1_dvfs_opp_table>;
1072*f126890aSEmmanuel Vadot		status = "disabled";
1073*f126890aSEmmanuel Vadot	};
1074*f126890aSEmmanuel Vadot
1075*f126890aSEmmanuel Vadot	mmc@78000200 {
1076*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra30-sdhci";
1077*f126890aSEmmanuel Vadot		reg = <0x78000200 0x200>;
1078*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
1079*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA30_CLK_SDMMC2>;
1080*f126890aSEmmanuel Vadot		clock-names = "sdhci";
1081*f126890aSEmmanuel Vadot		resets = <&tegra_car 9>;
1082*f126890aSEmmanuel Vadot		reset-names = "sdhci";
1083*f126890aSEmmanuel Vadot		status = "disabled";
1084*f126890aSEmmanuel Vadot	};
1085*f126890aSEmmanuel Vadot
1086*f126890aSEmmanuel Vadot	mmc@78000400 {
1087*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra30-sdhci";
1088*f126890aSEmmanuel Vadot		reg = <0x78000400 0x200>;
1089*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
1090*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA30_CLK_SDMMC3>;
1091*f126890aSEmmanuel Vadot		clock-names = "sdhci";
1092*f126890aSEmmanuel Vadot		resets = <&tegra_car 69>;
1093*f126890aSEmmanuel Vadot		reset-names = "sdhci";
1094*f126890aSEmmanuel Vadot		power-domains = <&pd_core>;
1095*f126890aSEmmanuel Vadot		operating-points-v2 = <&sdmmc3_dvfs_opp_table>;
1096*f126890aSEmmanuel Vadot		status = "disabled";
1097*f126890aSEmmanuel Vadot	};
1098*f126890aSEmmanuel Vadot
1099*f126890aSEmmanuel Vadot	mmc@78000600 {
1100*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra30-sdhci";
1101*f126890aSEmmanuel Vadot		reg = <0x78000600 0x200>;
1102*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
1103*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA30_CLK_SDMMC4>;
1104*f126890aSEmmanuel Vadot		clock-names = "sdhci";
1105*f126890aSEmmanuel Vadot		resets = <&tegra_car 15>;
1106*f126890aSEmmanuel Vadot		reset-names = "sdhci";
1107*f126890aSEmmanuel Vadot		status = "disabled";
1108*f126890aSEmmanuel Vadot	};
1109*f126890aSEmmanuel Vadot
1110*f126890aSEmmanuel Vadot	usb@7d000000 {
1111*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra30-ehci";
1112*f126890aSEmmanuel Vadot		reg = <0x7d000000 0x4000>;
1113*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
1114*f126890aSEmmanuel Vadot		phy_type = "utmi";
1115*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA30_CLK_USBD>;
1116*f126890aSEmmanuel Vadot		resets = <&tegra_car 22>;
1117*f126890aSEmmanuel Vadot		reset-names = "usb";
1118*f126890aSEmmanuel Vadot		nvidia,needs-double-reset;
1119*f126890aSEmmanuel Vadot		nvidia,phy = <&phy1>;
1120*f126890aSEmmanuel Vadot		power-domains = <&pd_core>;
1121*f126890aSEmmanuel Vadot		operating-points-v2 = <&usbd_dvfs_opp_table>;
1122*f126890aSEmmanuel Vadot		status = "disabled";
1123*f126890aSEmmanuel Vadot	};
1124*f126890aSEmmanuel Vadot
1125*f126890aSEmmanuel Vadot	phy1: usb-phy@7d000000 {
1126*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra30-usb-phy";
1127*f126890aSEmmanuel Vadot		reg = <0x7d000000 0x4000>,
1128*f126890aSEmmanuel Vadot		      <0x7d000000 0x4000>;
1129*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
1130*f126890aSEmmanuel Vadot		phy_type = "utmi";
1131*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA30_CLK_USBD>,
1132*f126890aSEmmanuel Vadot			 <&tegra_car TEGRA30_CLK_PLL_U>,
1133*f126890aSEmmanuel Vadot			 <&tegra_car TEGRA30_CLK_USBD>;
1134*f126890aSEmmanuel Vadot		clock-names = "reg", "pll_u", "utmi-pads";
1135*f126890aSEmmanuel Vadot		resets = <&tegra_car 22>, <&tegra_car 22>;
1136*f126890aSEmmanuel Vadot		reset-names = "usb", "utmi-pads";
1137*f126890aSEmmanuel Vadot		#phy-cells = <0>;
1138*f126890aSEmmanuel Vadot		nvidia,hssync-start-delay = <9>;
1139*f126890aSEmmanuel Vadot		nvidia,idle-wait-delay = <17>;
1140*f126890aSEmmanuel Vadot		nvidia,elastic-limit = <16>;
1141*f126890aSEmmanuel Vadot		nvidia,term-range-adj = <6>;
1142*f126890aSEmmanuel Vadot		nvidia,xcvr-setup = <51>;
1143*f126890aSEmmanuel Vadot		nvidia,xcvr-setup-use-fuses;
1144*f126890aSEmmanuel Vadot		nvidia,xcvr-lsfslew = <1>;
1145*f126890aSEmmanuel Vadot		nvidia,xcvr-lsrslew = <1>;
1146*f126890aSEmmanuel Vadot		nvidia,xcvr-hsslew = <32>;
1147*f126890aSEmmanuel Vadot		nvidia,hssquelch-level = <2>;
1148*f126890aSEmmanuel Vadot		nvidia,hsdiscon-level = <5>;
1149*f126890aSEmmanuel Vadot		nvidia,has-utmi-pad-registers;
1150*f126890aSEmmanuel Vadot		nvidia,pmc = <&tegra_pmc 0>;
1151*f126890aSEmmanuel Vadot		status = "disabled";
1152*f126890aSEmmanuel Vadot	};
1153*f126890aSEmmanuel Vadot
1154*f126890aSEmmanuel Vadot	usb@7d004000 {
1155*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra30-ehci";
1156*f126890aSEmmanuel Vadot		reg = <0x7d004000 0x4000>;
1157*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
1158*f126890aSEmmanuel Vadot		phy_type = "utmi";
1159*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA30_CLK_USB2>;
1160*f126890aSEmmanuel Vadot		resets = <&tegra_car 58>;
1161*f126890aSEmmanuel Vadot		reset-names = "usb";
1162*f126890aSEmmanuel Vadot		nvidia,phy = <&phy2>;
1163*f126890aSEmmanuel Vadot		power-domains = <&pd_core>;
1164*f126890aSEmmanuel Vadot		operating-points-v2 = <&usb2_dvfs_opp_table>;
1165*f126890aSEmmanuel Vadot		status = "disabled";
1166*f126890aSEmmanuel Vadot	};
1167*f126890aSEmmanuel Vadot
1168*f126890aSEmmanuel Vadot	phy2: usb-phy@7d004000 {
1169*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra30-usb-phy";
1170*f126890aSEmmanuel Vadot		reg = <0x7d004000 0x4000>,
1171*f126890aSEmmanuel Vadot		      <0x7d000000 0x4000>;
1172*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
1173*f126890aSEmmanuel Vadot		phy_type = "utmi";
1174*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA30_CLK_USB2>,
1175*f126890aSEmmanuel Vadot			 <&tegra_car TEGRA30_CLK_PLL_U>,
1176*f126890aSEmmanuel Vadot			 <&tegra_car TEGRA30_CLK_USBD>;
1177*f126890aSEmmanuel Vadot		clock-names = "reg", "pll_u", "utmi-pads";
1178*f126890aSEmmanuel Vadot		resets = <&tegra_car 58>, <&tegra_car 22>;
1179*f126890aSEmmanuel Vadot		reset-names = "usb", "utmi-pads";
1180*f126890aSEmmanuel Vadot		#phy-cells = <0>;
1181*f126890aSEmmanuel Vadot		nvidia,hssync-start-delay = <9>;
1182*f126890aSEmmanuel Vadot		nvidia,idle-wait-delay = <17>;
1183*f126890aSEmmanuel Vadot		nvidia,elastic-limit = <16>;
1184*f126890aSEmmanuel Vadot		nvidia,term-range-adj = <6>;
1185*f126890aSEmmanuel Vadot		nvidia,xcvr-setup = <51>;
1186*f126890aSEmmanuel Vadot		nvidia,xcvr-setup-use-fuses;
1187*f126890aSEmmanuel Vadot		nvidia,xcvr-lsfslew = <2>;
1188*f126890aSEmmanuel Vadot		nvidia,xcvr-lsrslew = <2>;
1189*f126890aSEmmanuel Vadot		nvidia,xcvr-hsslew = <32>;
1190*f126890aSEmmanuel Vadot		nvidia,hssquelch-level = <2>;
1191*f126890aSEmmanuel Vadot		nvidia,hsdiscon-level = <5>;
1192*f126890aSEmmanuel Vadot		nvidia,pmc = <&tegra_pmc 2>;
1193*f126890aSEmmanuel Vadot		status = "disabled";
1194*f126890aSEmmanuel Vadot	};
1195*f126890aSEmmanuel Vadot
1196*f126890aSEmmanuel Vadot	usb@7d008000 {
1197*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra30-ehci";
1198*f126890aSEmmanuel Vadot		reg = <0x7d008000 0x4000>;
1199*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
1200*f126890aSEmmanuel Vadot		phy_type = "utmi";
1201*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA30_CLK_USB3>;
1202*f126890aSEmmanuel Vadot		resets = <&tegra_car 59>;
1203*f126890aSEmmanuel Vadot		reset-names = "usb";
1204*f126890aSEmmanuel Vadot		nvidia,phy = <&phy3>;
1205*f126890aSEmmanuel Vadot		power-domains = <&pd_core>;
1206*f126890aSEmmanuel Vadot		operating-points-v2 = <&usb3_dvfs_opp_table>;
1207*f126890aSEmmanuel Vadot		status = "disabled";
1208*f126890aSEmmanuel Vadot	};
1209*f126890aSEmmanuel Vadot
1210*f126890aSEmmanuel Vadot	phy3: usb-phy@7d008000 {
1211*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra30-usb-phy";
1212*f126890aSEmmanuel Vadot		reg = <0x7d008000 0x4000>,
1213*f126890aSEmmanuel Vadot		      <0x7d000000 0x4000>;
1214*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
1215*f126890aSEmmanuel Vadot		phy_type = "utmi";
1216*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA30_CLK_USB3>,
1217*f126890aSEmmanuel Vadot			 <&tegra_car TEGRA30_CLK_PLL_U>,
1218*f126890aSEmmanuel Vadot			 <&tegra_car TEGRA30_CLK_USBD>;
1219*f126890aSEmmanuel Vadot		clock-names = "reg", "pll_u", "utmi-pads";
1220*f126890aSEmmanuel Vadot		resets = <&tegra_car 59>, <&tegra_car 22>;
1221*f126890aSEmmanuel Vadot		reset-names = "usb", "utmi-pads";
1222*f126890aSEmmanuel Vadot		#phy-cells = <0>;
1223*f126890aSEmmanuel Vadot		nvidia,hssync-start-delay = <0>;
1224*f126890aSEmmanuel Vadot		nvidia,idle-wait-delay = <17>;
1225*f126890aSEmmanuel Vadot		nvidia,elastic-limit = <16>;
1226*f126890aSEmmanuel Vadot		nvidia,term-range-adj = <6>;
1227*f126890aSEmmanuel Vadot		nvidia,xcvr-setup = <51>;
1228*f126890aSEmmanuel Vadot		nvidia,xcvr-setup-use-fuses;
1229*f126890aSEmmanuel Vadot		nvidia,xcvr-lsfslew = <2>;
1230*f126890aSEmmanuel Vadot		nvidia,xcvr-lsrslew = <2>;
1231*f126890aSEmmanuel Vadot		nvidia,xcvr-hsslew = <32>;
1232*f126890aSEmmanuel Vadot		nvidia,hssquelch-level = <2>;
1233*f126890aSEmmanuel Vadot		nvidia,hsdiscon-level = <5>;
1234*f126890aSEmmanuel Vadot		nvidia,pmc = <&tegra_pmc 1>;
1235*f126890aSEmmanuel Vadot		status = "disabled";
1236*f126890aSEmmanuel Vadot	};
1237*f126890aSEmmanuel Vadot
1238*f126890aSEmmanuel Vadot	cpus {
1239*f126890aSEmmanuel Vadot		#address-cells = <1>;
1240*f126890aSEmmanuel Vadot		#size-cells = <0>;
1241*f126890aSEmmanuel Vadot
1242*f126890aSEmmanuel Vadot		cpu0: cpu@0 {
1243*f126890aSEmmanuel Vadot			device_type = "cpu";
1244*f126890aSEmmanuel Vadot			compatible = "arm,cortex-a9";
1245*f126890aSEmmanuel Vadot			reg = <0>;
1246*f126890aSEmmanuel Vadot			clocks = <&tegra_car TEGRA30_CLK_CCLK_G>;
1247*f126890aSEmmanuel Vadot			#cooling-cells = <2>;
1248*f126890aSEmmanuel Vadot		};
1249*f126890aSEmmanuel Vadot
1250*f126890aSEmmanuel Vadot		cpu1: cpu@1 {
1251*f126890aSEmmanuel Vadot			device_type = "cpu";
1252*f126890aSEmmanuel Vadot			compatible = "arm,cortex-a9";
1253*f126890aSEmmanuel Vadot			reg = <1>;
1254*f126890aSEmmanuel Vadot			clocks = <&tegra_car TEGRA30_CLK_CCLK_G>;
1255*f126890aSEmmanuel Vadot			#cooling-cells = <2>;
1256*f126890aSEmmanuel Vadot		};
1257*f126890aSEmmanuel Vadot
1258*f126890aSEmmanuel Vadot		cpu2: cpu@2 {
1259*f126890aSEmmanuel Vadot			device_type = "cpu";
1260*f126890aSEmmanuel Vadot			compatible = "arm,cortex-a9";
1261*f126890aSEmmanuel Vadot			reg = <2>;
1262*f126890aSEmmanuel Vadot			clocks = <&tegra_car TEGRA30_CLK_CCLK_G>;
1263*f126890aSEmmanuel Vadot			#cooling-cells = <2>;
1264*f126890aSEmmanuel Vadot		};
1265*f126890aSEmmanuel Vadot
1266*f126890aSEmmanuel Vadot		cpu3: cpu@3 {
1267*f126890aSEmmanuel Vadot			device_type = "cpu";
1268*f126890aSEmmanuel Vadot			compatible = "arm,cortex-a9";
1269*f126890aSEmmanuel Vadot			reg = <3>;
1270*f126890aSEmmanuel Vadot			clocks = <&tegra_car TEGRA30_CLK_CCLK_G>;
1271*f126890aSEmmanuel Vadot			#cooling-cells = <2>;
1272*f126890aSEmmanuel Vadot		};
1273*f126890aSEmmanuel Vadot	};
1274*f126890aSEmmanuel Vadot
1275*f126890aSEmmanuel Vadot	pmu {
1276*f126890aSEmmanuel Vadot		compatible = "arm,cortex-a9-pmu";
1277*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>,
1278*f126890aSEmmanuel Vadot			     <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>,
1279*f126890aSEmmanuel Vadot			     <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>,
1280*f126890aSEmmanuel Vadot			     <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>;
1281*f126890aSEmmanuel Vadot		interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
1282*f126890aSEmmanuel Vadot	};
1283*f126890aSEmmanuel Vadot
1284*f126890aSEmmanuel Vadot	thermal-zones {
1285*f126890aSEmmanuel Vadot		tsensor0-thermal {
1286*f126890aSEmmanuel Vadot			polling-delay-passive = <1000>; /* milliseconds */
1287*f126890aSEmmanuel Vadot			polling-delay = <5000>; /* milliseconds */
1288*f126890aSEmmanuel Vadot
1289*f126890aSEmmanuel Vadot			thermal-sensors = <&tsensor 0>;
1290*f126890aSEmmanuel Vadot
1291*f126890aSEmmanuel Vadot			trips {
1292*f126890aSEmmanuel Vadot				level1_trip: dvfs-alert {
1293*f126890aSEmmanuel Vadot					/* throttle at 80C until temperature drops to 79.8C */
1294*f126890aSEmmanuel Vadot					temperature = <80000>;
1295*f126890aSEmmanuel Vadot					hysteresis = <200>;
1296*f126890aSEmmanuel Vadot					type = "passive";
1297*f126890aSEmmanuel Vadot				};
1298*f126890aSEmmanuel Vadot
1299*f126890aSEmmanuel Vadot				level2_trip: cpu-div2-throttle {
1300*f126890aSEmmanuel Vadot					/* hardware CPU x2 freq throttle at 85C */
1301*f126890aSEmmanuel Vadot					temperature = <85000>;
1302*f126890aSEmmanuel Vadot					hysteresis = <200>;
1303*f126890aSEmmanuel Vadot					type = "hot";
1304*f126890aSEmmanuel Vadot				};
1305*f126890aSEmmanuel Vadot
1306*f126890aSEmmanuel Vadot				level3_trip: soc-critical {
1307*f126890aSEmmanuel Vadot					/* hardware shut down at 90C */
1308*f126890aSEmmanuel Vadot					temperature = <90000>;
1309*f126890aSEmmanuel Vadot					hysteresis = <2000>;
1310*f126890aSEmmanuel Vadot					type = "critical";
1311*f126890aSEmmanuel Vadot				};
1312*f126890aSEmmanuel Vadot			};
1313*f126890aSEmmanuel Vadot
1314*f126890aSEmmanuel Vadot			cooling-maps {
1315*f126890aSEmmanuel Vadot				map0 {
1316*f126890aSEmmanuel Vadot					trip = <&level1_trip>;
1317*f126890aSEmmanuel Vadot					cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1318*f126890aSEmmanuel Vadot							 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1319*f126890aSEmmanuel Vadot							 <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1320*f126890aSEmmanuel Vadot							 <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1321*f126890aSEmmanuel Vadot							 <&actmon THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
1322*f126890aSEmmanuel Vadot				};
1323*f126890aSEmmanuel Vadot			};
1324*f126890aSEmmanuel Vadot		};
1325*f126890aSEmmanuel Vadot
1326*f126890aSEmmanuel Vadot		tsensor1-thermal {
1327*f126890aSEmmanuel Vadot			status = "disabled";
1328*f126890aSEmmanuel Vadot
1329*f126890aSEmmanuel Vadot			polling-delay-passive = <1000>; /* milliseconds */
1330*f126890aSEmmanuel Vadot			polling-delay = <0>; /* milliseconds */
1331*f126890aSEmmanuel Vadot
1332*f126890aSEmmanuel Vadot			thermal-sensors = <&tsensor 1>;
1333*f126890aSEmmanuel Vadot
1334*f126890aSEmmanuel Vadot			trips {
1335*f126890aSEmmanuel Vadot				dvfs-alert {
1336*f126890aSEmmanuel Vadot					temperature = <80000>;
1337*f126890aSEmmanuel Vadot					hysteresis = <200>;
1338*f126890aSEmmanuel Vadot					type = "passive";
1339*f126890aSEmmanuel Vadot				};
1340*f126890aSEmmanuel Vadot			};
1341*f126890aSEmmanuel Vadot		};
1342*f126890aSEmmanuel Vadot	};
1343*f126890aSEmmanuel Vadot};
1344