xref: /freebsd-src/sys/contrib/device-tree/src/arm/nvidia/tegra124.dtsi (revision aa1a8ff2d6dbc51ef058f46f3db5a8bb77967145)
1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0
2*f126890aSEmmanuel Vadot#include <dt-bindings/clock/tegra124-car.h>
3*f126890aSEmmanuel Vadot#include <dt-bindings/gpio/tegra-gpio.h>
4*f126890aSEmmanuel Vadot#include <dt-bindings/memory/tegra124-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/reset/tegra124-car.h>
8*f126890aSEmmanuel Vadot#include <dt-bindings/thermal/tegra124-soctherm.h>
9*f126890aSEmmanuel Vadot#include <dt-bindings/soc/tegra-pmc.h>
10*f126890aSEmmanuel Vadot
11*f126890aSEmmanuel Vadot#include "tegra124-peripherals-opp.dtsi"
12*f126890aSEmmanuel Vadot
13*f126890aSEmmanuel Vadot/ {
14*f126890aSEmmanuel Vadot	compatible = "nvidia,tegra124";
15*f126890aSEmmanuel Vadot	interrupt-parent = <&lic>;
16*f126890aSEmmanuel Vadot	#address-cells = <2>;
17*f126890aSEmmanuel Vadot	#size-cells = <2>;
18*f126890aSEmmanuel Vadot
19*f126890aSEmmanuel Vadot	memory@80000000 {
20*f126890aSEmmanuel Vadot		device_type = "memory";
21*f126890aSEmmanuel Vadot		reg = <0x0 0x80000000 0x0 0x0>;
22*f126890aSEmmanuel Vadot	};
23*f126890aSEmmanuel Vadot
24*f126890aSEmmanuel Vadot	pcie@1003000 {
25*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra124-pcie";
26*f126890aSEmmanuel Vadot		device_type = "pci";
27*f126890aSEmmanuel Vadot		reg = <0x0 0x01003000 0x0 0x00000800>, /* PADS registers */
28*f126890aSEmmanuel Vadot		      <0x0 0x01003800 0x0 0x00000800>, /* AFI registers */
29*f126890aSEmmanuel Vadot		      <0x0 0x02000000 0x0 0x10000000>; /* configuration space */
30*f126890aSEmmanuel Vadot		reg-names = "pads", "afi", "cs";
31*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>, /* controller interrupt */
32*f126890aSEmmanuel Vadot			     <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; /* MSI interrupt */
33*f126890aSEmmanuel Vadot		interrupt-names = "intr", "msi";
34*f126890aSEmmanuel Vadot
35*f126890aSEmmanuel Vadot		#interrupt-cells = <1>;
36*f126890aSEmmanuel Vadot		interrupt-map-mask = <0 0 0 0>;
37*f126890aSEmmanuel Vadot		interrupt-map = <0 0 0 0 &gic GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
38*f126890aSEmmanuel Vadot
39*f126890aSEmmanuel Vadot		bus-range = <0x00 0xff>;
40*f126890aSEmmanuel Vadot		#address-cells = <3>;
41*f126890aSEmmanuel Vadot		#size-cells = <2>;
42*f126890aSEmmanuel Vadot
43*f126890aSEmmanuel Vadot		ranges = <0x02000000 0 0x01000000 0x0 0x01000000 0 0x00001000>, /* port 0 configuration space */
44*f126890aSEmmanuel Vadot			 <0x02000000 0 0x01001000 0x0 0x01001000 0 0x00001000>, /* port 1 configuration space */
45*f126890aSEmmanuel Vadot			 <0x01000000 0 0x0        0x0 0x12000000 0 0x00010000>, /* downstream I/O (64 KiB) */
46*f126890aSEmmanuel Vadot			 <0x02000000 0 0x13000000 0x0 0x13000000 0 0x0d000000>, /* non-prefetchable memory (208 MiB) */
47*f126890aSEmmanuel Vadot			 <0x42000000 0 0x20000000 0x0 0x20000000 0 0x20000000>; /* prefetchable memory (512 MiB) */
48*f126890aSEmmanuel Vadot
49*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA124_CLK_PCIE>,
50*f126890aSEmmanuel Vadot			 <&tegra_car TEGRA124_CLK_AFI>,
51*f126890aSEmmanuel Vadot			 <&tegra_car TEGRA124_CLK_PLL_E>,
52*f126890aSEmmanuel Vadot			 <&tegra_car TEGRA124_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		status = "disabled";
59*f126890aSEmmanuel Vadot
60*f126890aSEmmanuel Vadot		pci@1,0 {
61*f126890aSEmmanuel Vadot			device_type = "pci";
62*f126890aSEmmanuel Vadot			assigned-addresses = <0x82000800 0 0x01000000 0 0x1000>;
63*f126890aSEmmanuel Vadot			reg = <0x000800 0 0 0 0>;
64*f126890aSEmmanuel Vadot			bus-range = <0x00 0xff>;
65*f126890aSEmmanuel Vadot			status = "disabled";
66*f126890aSEmmanuel Vadot
67*f126890aSEmmanuel Vadot			#address-cells = <3>;
68*f126890aSEmmanuel Vadot			#size-cells = <2>;
69*f126890aSEmmanuel Vadot			ranges;
70*f126890aSEmmanuel Vadot
71*f126890aSEmmanuel Vadot			nvidia,num-lanes = <2>;
72*f126890aSEmmanuel Vadot		};
73*f126890aSEmmanuel Vadot
74*f126890aSEmmanuel Vadot		pci@2,0 {
75*f126890aSEmmanuel Vadot			device_type = "pci";
76*f126890aSEmmanuel Vadot			assigned-addresses = <0x82001000 0 0x01001000 0 0x1000>;
77*f126890aSEmmanuel Vadot			reg = <0x001000 0 0 0 0>;
78*f126890aSEmmanuel Vadot			bus-range = <0x00 0xff>;
79*f126890aSEmmanuel Vadot			status = "disabled";
80*f126890aSEmmanuel Vadot
81*f126890aSEmmanuel Vadot			#address-cells = <3>;
82*f126890aSEmmanuel Vadot			#size-cells = <2>;
83*f126890aSEmmanuel Vadot			ranges;
84*f126890aSEmmanuel Vadot
85*f126890aSEmmanuel Vadot			nvidia,num-lanes = <1>;
86*f126890aSEmmanuel Vadot		};
87*f126890aSEmmanuel Vadot	};
88*f126890aSEmmanuel Vadot
89*f126890aSEmmanuel Vadot	host1x@50000000 {
90*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra124-host1x";
91*f126890aSEmmanuel Vadot		reg = <0x0 0x50000000 0x0 0x00034000>;
92*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>, /* syncpt */
93*f126890aSEmmanuel Vadot			     <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; /* general */
94*f126890aSEmmanuel Vadot		interrupt-names = "syncpt", "host1x";
95*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA124_CLK_HOST1X>;
96*f126890aSEmmanuel Vadot		clock-names = "host1x";
97*f126890aSEmmanuel Vadot		resets = <&tegra_car 28>, <&mc TEGRA124_MC_RESET_HC>;
98*f126890aSEmmanuel Vadot		reset-names = "host1x", "mc";
99*f126890aSEmmanuel Vadot		iommus = <&mc TEGRA_SWGROUP_HC>;
100*f126890aSEmmanuel Vadot
101*f126890aSEmmanuel Vadot		#address-cells = <2>;
102*f126890aSEmmanuel Vadot		#size-cells = <2>;
103*f126890aSEmmanuel Vadot
104*f126890aSEmmanuel Vadot		ranges = <0 0x54000000 0 0x54000000 0 0x01000000>;
105*f126890aSEmmanuel Vadot
106*f126890aSEmmanuel Vadot		dc@54200000 {
107*f126890aSEmmanuel Vadot			compatible = "nvidia,tegra124-dc";
108*f126890aSEmmanuel Vadot			reg = <0x0 0x54200000 0x0 0x00040000>;
109*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
110*f126890aSEmmanuel Vadot			clocks = <&tegra_car TEGRA124_CLK_DISP1>;
111*f126890aSEmmanuel Vadot			clock-names = "dc";
112*f126890aSEmmanuel Vadot			resets = <&tegra_car 27>;
113*f126890aSEmmanuel Vadot			reset-names = "dc";
114*f126890aSEmmanuel Vadot
115*f126890aSEmmanuel Vadot			iommus = <&mc TEGRA_SWGROUP_DC>;
116*f126890aSEmmanuel Vadot
117*f126890aSEmmanuel Vadot			nvidia,head = <0>;
118*f126890aSEmmanuel Vadot
119*f126890aSEmmanuel Vadot			interconnects = <&mc TEGRA124_MC_DISPLAY0A &emc>,
120*f126890aSEmmanuel Vadot					<&mc TEGRA124_MC_DISPLAY0B &emc>,
121*f126890aSEmmanuel Vadot					<&mc TEGRA124_MC_DISPLAY0C &emc>,
122*f126890aSEmmanuel Vadot					<&mc TEGRA124_MC_DISPLAYHC &emc>,
123*f126890aSEmmanuel Vadot					<&mc TEGRA124_MC_DISPLAYD &emc>,
124*f126890aSEmmanuel Vadot					<&mc TEGRA124_MC_DISPLAYT &emc>;
125*f126890aSEmmanuel Vadot			interconnect-names = "wina",
126*f126890aSEmmanuel Vadot					     "winb",
127*f126890aSEmmanuel Vadot					     "winc",
128*f126890aSEmmanuel Vadot					     "cursor",
129*f126890aSEmmanuel Vadot					     "wind",
130*f126890aSEmmanuel Vadot					     "wint";
131*f126890aSEmmanuel Vadot		};
132*f126890aSEmmanuel Vadot
133*f126890aSEmmanuel Vadot		dc@54240000 {
134*f126890aSEmmanuel Vadot			compatible = "nvidia,tegra124-dc";
135*f126890aSEmmanuel Vadot			reg = <0x0 0x54240000 0x0 0x00040000>;
136*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
137*f126890aSEmmanuel Vadot			clocks = <&tegra_car TEGRA124_CLK_DISP2>;
138*f126890aSEmmanuel Vadot			clock-names = "dc";
139*f126890aSEmmanuel Vadot			resets = <&tegra_car 26>;
140*f126890aSEmmanuel Vadot			reset-names = "dc";
141*f126890aSEmmanuel Vadot
142*f126890aSEmmanuel Vadot			iommus = <&mc TEGRA_SWGROUP_DCB>;
143*f126890aSEmmanuel Vadot
144*f126890aSEmmanuel Vadot			nvidia,head = <1>;
145*f126890aSEmmanuel Vadot
146*f126890aSEmmanuel Vadot			interconnects = <&mc TEGRA124_MC_DISPLAY0AB &emc>,
147*f126890aSEmmanuel Vadot					<&mc TEGRA124_MC_DISPLAY0BB &emc>,
148*f126890aSEmmanuel Vadot					<&mc TEGRA124_MC_DISPLAY0CB &emc>,
149*f126890aSEmmanuel Vadot					<&mc TEGRA124_MC_DISPLAYHCB &emc>;
150*f126890aSEmmanuel Vadot			interconnect-names = "wina",
151*f126890aSEmmanuel Vadot					     "winb",
152*f126890aSEmmanuel Vadot					     "winc",
153*f126890aSEmmanuel Vadot					     "cursor";
154*f126890aSEmmanuel Vadot		};
155*f126890aSEmmanuel Vadot
156*f126890aSEmmanuel Vadot		hdmi: hdmi@54280000 {
157*f126890aSEmmanuel Vadot			compatible = "nvidia,tegra124-hdmi";
158*f126890aSEmmanuel Vadot			reg = <0x0 0x54280000 0x0 0x00040000>;
159*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
160*f126890aSEmmanuel Vadot			clocks = <&tegra_car TEGRA124_CLK_HDMI>,
161*f126890aSEmmanuel Vadot				 <&tegra_car TEGRA124_CLK_PLL_D2_OUT0>;
162*f126890aSEmmanuel Vadot			clock-names = "hdmi", "parent";
163*f126890aSEmmanuel Vadot			resets = <&tegra_car 51>;
164*f126890aSEmmanuel Vadot			reset-names = "hdmi";
165*f126890aSEmmanuel Vadot			status = "disabled";
166*f126890aSEmmanuel Vadot		};
167*f126890aSEmmanuel Vadot
168*f126890aSEmmanuel Vadot		vic@54340000 {
169*f126890aSEmmanuel Vadot			compatible = "nvidia,tegra124-vic";
170*f126890aSEmmanuel Vadot			reg = <0x0 0x54340000 0x0 0x00040000>;
171*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
172*f126890aSEmmanuel Vadot			clocks = <&tegra_car TEGRA124_CLK_VIC03>;
173*f126890aSEmmanuel Vadot			clock-names = "vic";
174*f126890aSEmmanuel Vadot			resets = <&tegra_car 178>;
175*f126890aSEmmanuel Vadot			reset-names = "vic";
176*f126890aSEmmanuel Vadot
177*f126890aSEmmanuel Vadot			iommus = <&mc TEGRA_SWGROUP_VIC>;
178*f126890aSEmmanuel Vadot		};
179*f126890aSEmmanuel Vadot
180*f126890aSEmmanuel Vadot		sor@54540000 {
181*f126890aSEmmanuel Vadot			compatible = "nvidia,tegra124-sor";
182*f126890aSEmmanuel Vadot			reg = <0x0 0x54540000 0x0 0x00040000>;
183*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
184*f126890aSEmmanuel Vadot			clocks = <&tegra_car TEGRA124_CLK_SOR0>,
185*f126890aSEmmanuel Vadot				 <&tegra_car TEGRA124_CLK_SOR0_OUT>,
186*f126890aSEmmanuel Vadot				 <&tegra_car TEGRA124_CLK_PLL_D_OUT0>,
187*f126890aSEmmanuel Vadot				 <&tegra_car TEGRA124_CLK_PLL_DP>,
188*f126890aSEmmanuel Vadot				 <&tegra_car TEGRA124_CLK_CLK_M>;
189*f126890aSEmmanuel Vadot			clock-names = "sor", "out", "parent", "dp", "safe";
190*f126890aSEmmanuel Vadot			resets = <&tegra_car 182>;
191*f126890aSEmmanuel Vadot			reset-names = "sor";
192*f126890aSEmmanuel Vadot			status = "disabled";
193*f126890aSEmmanuel Vadot		};
194*f126890aSEmmanuel Vadot
195*f126890aSEmmanuel Vadot		dpaux: dpaux@545c0000 {
196*f126890aSEmmanuel Vadot			compatible = "nvidia,tegra124-dpaux";
197*f126890aSEmmanuel Vadot			reg = <0x0 0x545c0000 0x0 0x00040000>;
198*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>;
199*f126890aSEmmanuel Vadot			clocks = <&tegra_car TEGRA124_CLK_DPAUX>,
200*f126890aSEmmanuel Vadot				 <&tegra_car TEGRA124_CLK_PLL_DP>;
201*f126890aSEmmanuel Vadot			clock-names = "dpaux", "parent";
202*f126890aSEmmanuel Vadot			resets = <&tegra_car 181>;
203*f126890aSEmmanuel Vadot			reset-names = "dpaux";
204*f126890aSEmmanuel Vadot			status = "disabled";
205*f126890aSEmmanuel Vadot
206*f126890aSEmmanuel Vadot			i2c-bus {
207*f126890aSEmmanuel Vadot				#address-cells = <1>;
208*f126890aSEmmanuel Vadot				#size-cells = <0>;
209*f126890aSEmmanuel Vadot			};
210*f126890aSEmmanuel Vadot		};
211*f126890aSEmmanuel Vadot	};
212*f126890aSEmmanuel Vadot
213*f126890aSEmmanuel Vadot	gic: interrupt-controller@50041000 {
214*f126890aSEmmanuel Vadot		compatible = "arm,cortex-a15-gic";
215*f126890aSEmmanuel Vadot		#interrupt-cells = <3>;
216*f126890aSEmmanuel Vadot		interrupt-controller;
217*f126890aSEmmanuel Vadot		reg = <0x0 0x50041000 0x0 0x1000>,
218*f126890aSEmmanuel Vadot		      <0x0 0x50042000 0x0 0x1000>,
219*f126890aSEmmanuel Vadot		      <0x0 0x50044000 0x0 0x2000>,
220*f126890aSEmmanuel Vadot		      <0x0 0x50046000 0x0 0x2000>;
221*f126890aSEmmanuel Vadot		interrupts = <GIC_PPI 9
222*f126890aSEmmanuel Vadot			(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
223*f126890aSEmmanuel Vadot		interrupt-parent = <&gic>;
224*f126890aSEmmanuel Vadot	};
225*f126890aSEmmanuel Vadot
226*f126890aSEmmanuel Vadot	gpu@57000000 {
227*f126890aSEmmanuel Vadot		compatible = "nvidia,gk20a";
228*f126890aSEmmanuel Vadot		reg = <0x0 0x57000000 0x0 0x01000000>,
229*f126890aSEmmanuel Vadot		      <0x0 0x58000000 0x0 0x01000000>;
230*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>,
231*f126890aSEmmanuel Vadot			     <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>;
232*f126890aSEmmanuel Vadot		interrupt-names = "stall", "nonstall";
233*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA124_CLK_GPU>,
234*f126890aSEmmanuel Vadot			 <&tegra_car TEGRA124_CLK_PLL_P_OUT5>;
235*f126890aSEmmanuel Vadot		clock-names = "gpu", "pwr";
236*f126890aSEmmanuel Vadot		resets = <&tegra_car 184>;
237*f126890aSEmmanuel Vadot		reset-names = "gpu";
238*f126890aSEmmanuel Vadot
239*f126890aSEmmanuel Vadot		iommus = <&mc TEGRA_SWGROUP_GPU>;
240*f126890aSEmmanuel Vadot
241*f126890aSEmmanuel Vadot		status = "disabled";
242*f126890aSEmmanuel Vadot	};
243*f126890aSEmmanuel Vadot
244*f126890aSEmmanuel Vadot	lic: interrupt-controller@60004000 {
245*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra124-ictlr", "nvidia,tegra30-ictlr";
246*f126890aSEmmanuel Vadot		reg = <0x0 0x60004000 0x0 0x100>,
247*f126890aSEmmanuel Vadot		      <0x0 0x60004100 0x0 0x100>,
248*f126890aSEmmanuel Vadot		      <0x0 0x60004200 0x0 0x100>,
249*f126890aSEmmanuel Vadot		      <0x0 0x60004300 0x0 0x100>,
250*f126890aSEmmanuel Vadot		      <0x0 0x60004400 0x0 0x100>;
251*f126890aSEmmanuel Vadot		interrupt-controller;
252*f126890aSEmmanuel Vadot		#interrupt-cells = <3>;
253*f126890aSEmmanuel Vadot		interrupt-parent = <&gic>;
254*f126890aSEmmanuel Vadot	};
255*f126890aSEmmanuel Vadot
256*f126890aSEmmanuel Vadot	timer@60005000 {
257*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra124-timer", "nvidia,tegra30-timer";
258*f126890aSEmmanuel Vadot		reg = <0x0 0x60005000 0x0 0x400>;
259*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
260*f126890aSEmmanuel Vadot			     <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
261*f126890aSEmmanuel Vadot			     <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
262*f126890aSEmmanuel Vadot			     <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>,
263*f126890aSEmmanuel Vadot			     <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
264*f126890aSEmmanuel Vadot			     <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>;
265*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA124_CLK_TIMER>;
266*f126890aSEmmanuel Vadot	};
267*f126890aSEmmanuel Vadot
268*f126890aSEmmanuel Vadot	tegra_car: clock@60006000 {
269*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra124-car";
270*f126890aSEmmanuel Vadot		reg = <0x0 0x60006000 0x0 0x1000>;
271*f126890aSEmmanuel Vadot		#clock-cells = <1>;
272*f126890aSEmmanuel Vadot		#reset-cells = <1>;
273*f126890aSEmmanuel Vadot		nvidia,external-memory-controller = <&emc>;
274*f126890aSEmmanuel Vadot	};
275*f126890aSEmmanuel Vadot
276*f126890aSEmmanuel Vadot	flow-controller@60007000 {
277*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra124-flowctrl";
278*f126890aSEmmanuel Vadot		reg = <0x0 0x60007000 0x0 0x1000>;
279*f126890aSEmmanuel Vadot	};
280*f126890aSEmmanuel Vadot
281*f126890aSEmmanuel Vadot	actmon: actmon@6000c800 {
282*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra124-actmon";
283*f126890aSEmmanuel Vadot		reg = <0x0 0x6000c800 0x0 0x400>;
284*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
285*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA124_CLK_ACTMON>,
286*f126890aSEmmanuel Vadot			 <&tegra_car TEGRA124_CLK_EMC>;
287*f126890aSEmmanuel Vadot		clock-names = "actmon", "emc";
288*f126890aSEmmanuel Vadot		resets = <&tegra_car 119>;
289*f126890aSEmmanuel Vadot		reset-names = "actmon";
290*f126890aSEmmanuel Vadot		operating-points-v2 = <&emc_bw_dfs_opp_table>;
291*f126890aSEmmanuel Vadot		interconnects = <&mc TEGRA124_MC_MPCORER &emc>;
292*f126890aSEmmanuel Vadot		interconnect-names = "cpu-read";
293*f126890aSEmmanuel Vadot		#cooling-cells = <2>;
294*f126890aSEmmanuel Vadot	};
295*f126890aSEmmanuel Vadot
296*f126890aSEmmanuel Vadot	gpio: gpio@6000d000 {
297*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra124-gpio", "nvidia,tegra30-gpio";
298*f126890aSEmmanuel Vadot		reg = <0x0 0x6000d000 0x0 0x1000>;
299*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>,
300*f126890aSEmmanuel Vadot			     <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>,
301*f126890aSEmmanuel Vadot			     <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>,
302*f126890aSEmmanuel Vadot			     <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>,
303*f126890aSEmmanuel Vadot			     <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>,
304*f126890aSEmmanuel Vadot			     <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>,
305*f126890aSEmmanuel Vadot			     <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>,
306*f126890aSEmmanuel Vadot			     <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>;
307*f126890aSEmmanuel Vadot		#gpio-cells = <2>;
308*f126890aSEmmanuel Vadot		gpio-controller;
309*f126890aSEmmanuel Vadot		#interrupt-cells = <2>;
310*f126890aSEmmanuel Vadot		interrupt-controller;
311*f126890aSEmmanuel Vadot		gpio-ranges = <&pinmux 0 0 251>;
312*f126890aSEmmanuel Vadot	};
313*f126890aSEmmanuel Vadot
314*f126890aSEmmanuel Vadot	apbdma: dma@60020000 {
315*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra124-apbdma", "nvidia,tegra148-apbdma";
316*f126890aSEmmanuel Vadot		reg = <0x0 0x60020000 0x0 0x1400>;
317*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
318*f126890aSEmmanuel Vadot			     <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
319*f126890aSEmmanuel Vadot			     <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
320*f126890aSEmmanuel Vadot			     <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
321*f126890aSEmmanuel Vadot			     <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
322*f126890aSEmmanuel Vadot			     <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
323*f126890aSEmmanuel Vadot			     <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
324*f126890aSEmmanuel Vadot			     <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>,
325*f126890aSEmmanuel Vadot			     <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>,
326*f126890aSEmmanuel Vadot			     <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
327*f126890aSEmmanuel Vadot			     <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
328*f126890aSEmmanuel Vadot			     <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
329*f126890aSEmmanuel Vadot			     <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
330*f126890aSEmmanuel Vadot			     <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
331*f126890aSEmmanuel Vadot			     <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
332*f126890aSEmmanuel Vadot			     <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>,
333*f126890aSEmmanuel Vadot			     <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>,
334*f126890aSEmmanuel Vadot			     <GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>,
335*f126890aSEmmanuel Vadot			     <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>,
336*f126890aSEmmanuel Vadot			     <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
337*f126890aSEmmanuel Vadot			     <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>,
338*f126890aSEmmanuel Vadot			     <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>,
339*f126890aSEmmanuel Vadot			     <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>,
340*f126890aSEmmanuel Vadot			     <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,
341*f126890aSEmmanuel Vadot			     <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>,
342*f126890aSEmmanuel Vadot			     <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>,
343*f126890aSEmmanuel Vadot			     <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>,
344*f126890aSEmmanuel Vadot			     <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>,
345*f126890aSEmmanuel Vadot			     <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>,
346*f126890aSEmmanuel Vadot			     <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>,
347*f126890aSEmmanuel Vadot			     <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
348*f126890aSEmmanuel Vadot			     <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
349*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA124_CLK_APBDMA>;
350*f126890aSEmmanuel Vadot		resets = <&tegra_car 34>;
351*f126890aSEmmanuel Vadot		reset-names = "dma";
352*f126890aSEmmanuel Vadot		#dma-cells = <1>;
353*f126890aSEmmanuel Vadot	};
354*f126890aSEmmanuel Vadot
355*f126890aSEmmanuel Vadot	apbmisc@70000800 {
356*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra124-apbmisc", "nvidia,tegra20-apbmisc";
357*f126890aSEmmanuel Vadot		reg = <0x0 0x70000800 0x0 0x64>,   /* Chip revision */
358*f126890aSEmmanuel Vadot		      <0x0 0x7000e864 0x0 0x04>;   /* Strapping options */
359*f126890aSEmmanuel Vadot	};
360*f126890aSEmmanuel Vadot
361*f126890aSEmmanuel Vadot	pinmux: pinmux@70000868 {
362*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra124-pinmux";
363*f126890aSEmmanuel Vadot		reg = <0x0 0x70000868 0x0 0x164>, /* Pad control registers */
364*f126890aSEmmanuel Vadot		      <0x0 0x70003000 0x0 0x434>, /* Mux registers */
365*f126890aSEmmanuel Vadot		      <0x0 0x70000820 0x0 0x008>; /* MIPI pad control */
366*f126890aSEmmanuel Vadot	};
367*f126890aSEmmanuel Vadot
368*f126890aSEmmanuel Vadot	/*
369*f126890aSEmmanuel Vadot	 * There are two serial driver i.e. 8250 based simple serial
370*f126890aSEmmanuel Vadot	 * driver and APB DMA based serial driver for higher baudrate
371*f126890aSEmmanuel Vadot	 * and performace. To enable the 8250 based driver, the compatible
372*f126890aSEmmanuel Vadot	 * is "nvidia,tegra124-uart", "nvidia,tegra20-uart" and to enable
373*f126890aSEmmanuel Vadot	 * the APB DMA based serial driver, the compatible is
374*f126890aSEmmanuel Vadot	 * "nvidia,tegra124-hsuart", "nvidia,tegra30-hsuart".
375*f126890aSEmmanuel Vadot	 */
376*f126890aSEmmanuel Vadot	uarta: serial@70006000 {
377*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra124-uart", "nvidia,tegra20-uart";
378*f126890aSEmmanuel Vadot		reg = <0x0 0x70006000 0x0 0x40>;
379*f126890aSEmmanuel Vadot		reg-shift = <2>;
380*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
381*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA124_CLK_UARTA>;
382*f126890aSEmmanuel Vadot		resets = <&tegra_car 6>;
383*f126890aSEmmanuel Vadot		dmas = <&apbdma 8>, <&apbdma 8>;
384*f126890aSEmmanuel Vadot		dma-names = "rx", "tx";
385*f126890aSEmmanuel Vadot		status = "disabled";
386*f126890aSEmmanuel Vadot	};
387*f126890aSEmmanuel Vadot
388*f126890aSEmmanuel Vadot	uartb: serial@70006040 {
389*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra124-uart", "nvidia,tegra20-uart";
390*f126890aSEmmanuel Vadot		reg = <0x0 0x70006040 0x0 0x40>;
391*f126890aSEmmanuel Vadot		reg-shift = <2>;
392*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
393*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA124_CLK_UARTB>;
394*f126890aSEmmanuel Vadot		resets = <&tegra_car 7>;
395*f126890aSEmmanuel Vadot		dmas = <&apbdma 9>, <&apbdma 9>;
396*f126890aSEmmanuel Vadot		dma-names = "rx", "tx";
397*f126890aSEmmanuel Vadot		status = "disabled";
398*f126890aSEmmanuel Vadot	};
399*f126890aSEmmanuel Vadot
400*f126890aSEmmanuel Vadot	uartc: serial@70006200 {
401*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra124-uart", "nvidia,tegra20-uart";
402*f126890aSEmmanuel Vadot		reg = <0x0 0x70006200 0x0 0x40>;
403*f126890aSEmmanuel Vadot		reg-shift = <2>;
404*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
405*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA124_CLK_UARTC>;
406*f126890aSEmmanuel Vadot		resets = <&tegra_car 55>;
407*f126890aSEmmanuel Vadot		dmas = <&apbdma 10>, <&apbdma 10>;
408*f126890aSEmmanuel Vadot		dma-names = "rx", "tx";
409*f126890aSEmmanuel Vadot		status = "disabled";
410*f126890aSEmmanuel Vadot	};
411*f126890aSEmmanuel Vadot
412*f126890aSEmmanuel Vadot	uartd: serial@70006300 {
413*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra124-uart", "nvidia,tegra20-uart";
414*f126890aSEmmanuel Vadot		reg = <0x0 0x70006300 0x0 0x40>;
415*f126890aSEmmanuel Vadot		reg-shift = <2>;
416*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
417*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA124_CLK_UARTD>;
418*f126890aSEmmanuel Vadot		resets = <&tegra_car 65>;
419*f126890aSEmmanuel Vadot		dmas = <&apbdma 19>, <&apbdma 19>;
420*f126890aSEmmanuel Vadot		dma-names = "rx", "tx";
421*f126890aSEmmanuel Vadot		status = "disabled";
422*f126890aSEmmanuel Vadot	};
423*f126890aSEmmanuel Vadot
424*f126890aSEmmanuel Vadot	pwm: pwm@7000a000 {
425*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra124-pwm", "nvidia,tegra20-pwm";
426*f126890aSEmmanuel Vadot		reg = <0x0 0x7000a000 0x0 0x100>;
427*f126890aSEmmanuel Vadot		#pwm-cells = <2>;
428*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA124_CLK_PWM>;
429*f126890aSEmmanuel Vadot		resets = <&tegra_car 17>;
430*f126890aSEmmanuel Vadot		reset-names = "pwm";
431*f126890aSEmmanuel Vadot		status = "disabled";
432*f126890aSEmmanuel Vadot	};
433*f126890aSEmmanuel Vadot
434*f126890aSEmmanuel Vadot	i2c@7000c000 {
435*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra124-i2c";
436*f126890aSEmmanuel Vadot		reg = <0x0 0x7000c000 0x0 0x100>;
437*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
438*f126890aSEmmanuel Vadot		#address-cells = <1>;
439*f126890aSEmmanuel Vadot		#size-cells = <0>;
440*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA124_CLK_I2C1>;
441*f126890aSEmmanuel Vadot		clock-names = "div-clk";
442*f126890aSEmmanuel Vadot		resets = <&tegra_car 12>;
443*f126890aSEmmanuel Vadot		reset-names = "i2c";
444*f126890aSEmmanuel Vadot		dmas = <&apbdma 21>, <&apbdma 21>;
445*f126890aSEmmanuel Vadot		dma-names = "rx", "tx";
446*f126890aSEmmanuel Vadot		status = "disabled";
447*f126890aSEmmanuel Vadot	};
448*f126890aSEmmanuel Vadot
449*f126890aSEmmanuel Vadot	i2c@7000c400 {
450*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra124-i2c";
451*f126890aSEmmanuel Vadot		reg = <0x0 0x7000c400 0x0 0x100>;
452*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
453*f126890aSEmmanuel Vadot		#address-cells = <1>;
454*f126890aSEmmanuel Vadot		#size-cells = <0>;
455*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA124_CLK_I2C2>;
456*f126890aSEmmanuel Vadot		clock-names = "div-clk";
457*f126890aSEmmanuel Vadot		resets = <&tegra_car 54>;
458*f126890aSEmmanuel Vadot		reset-names = "i2c";
459*f126890aSEmmanuel Vadot		dmas = <&apbdma 22>, <&apbdma 22>;
460*f126890aSEmmanuel Vadot		dma-names = "rx", "tx";
461*f126890aSEmmanuel Vadot		status = "disabled";
462*f126890aSEmmanuel Vadot	};
463*f126890aSEmmanuel Vadot
464*f126890aSEmmanuel Vadot	i2c@7000c500 {
465*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra124-i2c";
466*f126890aSEmmanuel Vadot		reg = <0x0 0x7000c500 0x0 0x100>;
467*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
468*f126890aSEmmanuel Vadot		#address-cells = <1>;
469*f126890aSEmmanuel Vadot		#size-cells = <0>;
470*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA124_CLK_I2C3>;
471*f126890aSEmmanuel Vadot		clock-names = "div-clk";
472*f126890aSEmmanuel Vadot		resets = <&tegra_car 67>;
473*f126890aSEmmanuel Vadot		reset-names = "i2c";
474*f126890aSEmmanuel Vadot		dmas = <&apbdma 23>, <&apbdma 23>;
475*f126890aSEmmanuel Vadot		dma-names = "rx", "tx";
476*f126890aSEmmanuel Vadot		status = "disabled";
477*f126890aSEmmanuel Vadot	};
478*f126890aSEmmanuel Vadot
479*f126890aSEmmanuel Vadot	i2c@7000c700 {
480*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra124-i2c";
481*f126890aSEmmanuel Vadot		reg = <0x0 0x7000c700 0x0 0x100>;
482*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
483*f126890aSEmmanuel Vadot		#address-cells = <1>;
484*f126890aSEmmanuel Vadot		#size-cells = <0>;
485*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA124_CLK_I2C4>;
486*f126890aSEmmanuel Vadot		clock-names = "div-clk";
487*f126890aSEmmanuel Vadot		resets = <&tegra_car 103>;
488*f126890aSEmmanuel Vadot		reset-names = "i2c";
489*f126890aSEmmanuel Vadot		dmas = <&apbdma 26>, <&apbdma 26>;
490*f126890aSEmmanuel Vadot		dma-names = "rx", "tx";
491*f126890aSEmmanuel Vadot		status = "disabled";
492*f126890aSEmmanuel Vadot	};
493*f126890aSEmmanuel Vadot
494*f126890aSEmmanuel Vadot	i2c@7000d000 {
495*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra124-i2c";
496*f126890aSEmmanuel Vadot		reg = <0x0 0x7000d000 0x0 0x100>;
497*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
498*f126890aSEmmanuel Vadot		#address-cells = <1>;
499*f126890aSEmmanuel Vadot		#size-cells = <0>;
500*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA124_CLK_I2C5>;
501*f126890aSEmmanuel Vadot		clock-names = "div-clk";
502*f126890aSEmmanuel Vadot		resets = <&tegra_car 47>;
503*f126890aSEmmanuel Vadot		reset-names = "i2c";
504*f126890aSEmmanuel Vadot		dmas = <&apbdma 24>, <&apbdma 24>;
505*f126890aSEmmanuel Vadot		dma-names = "rx", "tx";
506*f126890aSEmmanuel Vadot		status = "disabled";
507*f126890aSEmmanuel Vadot	};
508*f126890aSEmmanuel Vadot
509*f126890aSEmmanuel Vadot	i2c@7000d100 {
510*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra124-i2c";
511*f126890aSEmmanuel Vadot		reg = <0x0 0x7000d100 0x0 0x100>;
512*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
513*f126890aSEmmanuel Vadot		#address-cells = <1>;
514*f126890aSEmmanuel Vadot		#size-cells = <0>;
515*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA124_CLK_I2C6>;
516*f126890aSEmmanuel Vadot		clock-names = "div-clk";
517*f126890aSEmmanuel Vadot		resets = <&tegra_car 166>;
518*f126890aSEmmanuel Vadot		reset-names = "i2c";
519*f126890aSEmmanuel Vadot		dmas = <&apbdma 30>, <&apbdma 30>;
520*f126890aSEmmanuel Vadot		dma-names = "rx", "tx";
521*f126890aSEmmanuel Vadot		status = "disabled";
522*f126890aSEmmanuel Vadot	};
523*f126890aSEmmanuel Vadot
524*f126890aSEmmanuel Vadot	spi@7000d400 {
525*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra124-spi", "nvidia,tegra114-spi";
526*f126890aSEmmanuel Vadot		reg = <0x0 0x7000d400 0x0 0x200>;
527*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
528*f126890aSEmmanuel Vadot		#address-cells = <1>;
529*f126890aSEmmanuel Vadot		#size-cells = <0>;
530*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA124_CLK_SBC1>;
531*f126890aSEmmanuel Vadot		clock-names = "spi";
532*f126890aSEmmanuel Vadot		resets = <&tegra_car 41>;
533*f126890aSEmmanuel Vadot		reset-names = "spi";
534*f126890aSEmmanuel Vadot		dmas = <&apbdma 15>, <&apbdma 15>;
535*f126890aSEmmanuel Vadot		dma-names = "rx", "tx";
536*f126890aSEmmanuel Vadot		status = "disabled";
537*f126890aSEmmanuel Vadot	};
538*f126890aSEmmanuel Vadot
539*f126890aSEmmanuel Vadot	spi@7000d600 {
540*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra124-spi", "nvidia,tegra114-spi";
541*f126890aSEmmanuel Vadot		reg = <0x0 0x7000d600 0x0 0x200>;
542*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
543*f126890aSEmmanuel Vadot		#address-cells = <1>;
544*f126890aSEmmanuel Vadot		#size-cells = <0>;
545*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA124_CLK_SBC2>;
546*f126890aSEmmanuel Vadot		clock-names = "spi";
547*f126890aSEmmanuel Vadot		resets = <&tegra_car 44>;
548*f126890aSEmmanuel Vadot		reset-names = "spi";
549*f126890aSEmmanuel Vadot		dmas = <&apbdma 16>, <&apbdma 16>;
550*f126890aSEmmanuel Vadot		dma-names = "rx", "tx";
551*f126890aSEmmanuel Vadot		status = "disabled";
552*f126890aSEmmanuel Vadot	};
553*f126890aSEmmanuel Vadot
554*f126890aSEmmanuel Vadot	spi@7000d800 {
555*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra124-spi", "nvidia,tegra114-spi";
556*f126890aSEmmanuel Vadot		reg = <0x0 0x7000d800 0x0 0x200>;
557*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
558*f126890aSEmmanuel Vadot		#address-cells = <1>;
559*f126890aSEmmanuel Vadot		#size-cells = <0>;
560*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA124_CLK_SBC3>;
561*f126890aSEmmanuel Vadot		clock-names = "spi";
562*f126890aSEmmanuel Vadot		resets = <&tegra_car 46>;
563*f126890aSEmmanuel Vadot		reset-names = "spi";
564*f126890aSEmmanuel Vadot		dmas = <&apbdma 17>, <&apbdma 17>;
565*f126890aSEmmanuel Vadot		dma-names = "rx", "tx";
566*f126890aSEmmanuel Vadot		status = "disabled";
567*f126890aSEmmanuel Vadot	};
568*f126890aSEmmanuel Vadot
569*f126890aSEmmanuel Vadot	spi@7000da00 {
570*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra124-spi", "nvidia,tegra114-spi";
571*f126890aSEmmanuel Vadot		reg = <0x0 0x7000da00 0x0 0x200>;
572*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
573*f126890aSEmmanuel Vadot		#address-cells = <1>;
574*f126890aSEmmanuel Vadot		#size-cells = <0>;
575*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA124_CLK_SBC4>;
576*f126890aSEmmanuel Vadot		clock-names = "spi";
577*f126890aSEmmanuel Vadot		resets = <&tegra_car 68>;
578*f126890aSEmmanuel Vadot		reset-names = "spi";
579*f126890aSEmmanuel Vadot		dmas = <&apbdma 18>, <&apbdma 18>;
580*f126890aSEmmanuel Vadot		dma-names = "rx", "tx";
581*f126890aSEmmanuel Vadot		status = "disabled";
582*f126890aSEmmanuel Vadot	};
583*f126890aSEmmanuel Vadot
584*f126890aSEmmanuel Vadot	spi@7000dc00 {
585*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra124-spi", "nvidia,tegra114-spi";
586*f126890aSEmmanuel Vadot		reg = <0x0 0x7000dc00 0x0 0x200>;
587*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
588*f126890aSEmmanuel Vadot		#address-cells = <1>;
589*f126890aSEmmanuel Vadot		#size-cells = <0>;
590*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA124_CLK_SBC5>;
591*f126890aSEmmanuel Vadot		clock-names = "spi";
592*f126890aSEmmanuel Vadot		resets = <&tegra_car 104>;
593*f126890aSEmmanuel Vadot		reset-names = "spi";
594*f126890aSEmmanuel Vadot		dmas = <&apbdma 27>, <&apbdma 27>;
595*f126890aSEmmanuel Vadot		dma-names = "rx", "tx";
596*f126890aSEmmanuel Vadot		status = "disabled";
597*f126890aSEmmanuel Vadot	};
598*f126890aSEmmanuel Vadot
599*f126890aSEmmanuel Vadot	spi@7000de00 {
600*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra124-spi", "nvidia,tegra114-spi";
601*f126890aSEmmanuel Vadot		reg = <0x0 0x7000de00 0x0 0x200>;
602*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
603*f126890aSEmmanuel Vadot		#address-cells = <1>;
604*f126890aSEmmanuel Vadot		#size-cells = <0>;
605*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA124_CLK_SBC6>;
606*f126890aSEmmanuel Vadot		clock-names = "spi";
607*f126890aSEmmanuel Vadot		resets = <&tegra_car 105>;
608*f126890aSEmmanuel Vadot		reset-names = "spi";
609*f126890aSEmmanuel Vadot		dmas = <&apbdma 28>, <&apbdma 28>;
610*f126890aSEmmanuel Vadot		dma-names = "rx", "tx";
611*f126890aSEmmanuel Vadot		status = "disabled";
612*f126890aSEmmanuel Vadot	};
613*f126890aSEmmanuel Vadot
614*f126890aSEmmanuel Vadot	rtc@7000e000 {
615*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra124-rtc", "nvidia,tegra20-rtc";
616*f126890aSEmmanuel Vadot		reg = <0x0 0x7000e000 0x0 0x100>;
617*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
618*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA124_CLK_RTC>;
619*f126890aSEmmanuel Vadot	};
620*f126890aSEmmanuel Vadot
621*f126890aSEmmanuel Vadot	tegra_pmc: pmc@7000e400 {
622*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra124-pmc";
623*f126890aSEmmanuel Vadot		reg = <0x0 0x7000e400 0x0 0x400>;
624*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA124_CLK_PCLK>, <&clk32k_in>;
625*f126890aSEmmanuel Vadot		clock-names = "pclk", "clk32k_in";
626*f126890aSEmmanuel Vadot		#clock-cells = <1>;
627*f126890aSEmmanuel Vadot	};
628*f126890aSEmmanuel Vadot
629*f126890aSEmmanuel Vadot	fuse@7000f800 {
630*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra124-efuse";
631*f126890aSEmmanuel Vadot		reg = <0x0 0x7000f800 0x0 0x400>;
632*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA124_CLK_FUSE>;
633*f126890aSEmmanuel Vadot		clock-names = "fuse";
634*f126890aSEmmanuel Vadot		resets = <&tegra_car 39>;
635*f126890aSEmmanuel Vadot		reset-names = "fuse";
636*f126890aSEmmanuel Vadot	};
637*f126890aSEmmanuel Vadot
638*f126890aSEmmanuel Vadot	cec@70015000 {
639*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra124-cec";
640*f126890aSEmmanuel Vadot		reg = <0x0 0x70015000 0x0 0x00001000>;
641*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
642*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA124_CLK_CEC>;
643*f126890aSEmmanuel Vadot		clock-names = "cec";
644*f126890aSEmmanuel Vadot		status = "disabled";
645*f126890aSEmmanuel Vadot		hdmi-phandle = <&hdmi>;
646*f126890aSEmmanuel Vadot	};
647*f126890aSEmmanuel Vadot
648*f126890aSEmmanuel Vadot	mc: memory-controller@70019000 {
649*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra124-mc";
650*f126890aSEmmanuel Vadot		reg = <0x0 0x70019000 0x0 0x1000>;
651*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA124_CLK_MC>;
652*f126890aSEmmanuel Vadot		clock-names = "mc";
653*f126890aSEmmanuel Vadot
654*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
655*f126890aSEmmanuel Vadot
656*f126890aSEmmanuel Vadot		#iommu-cells = <1>;
657*f126890aSEmmanuel Vadot		#reset-cells = <1>;
658*f126890aSEmmanuel Vadot		#interconnect-cells = <1>;
659*f126890aSEmmanuel Vadot	};
660*f126890aSEmmanuel Vadot
661*f126890aSEmmanuel Vadot	emc: external-memory-controller@7001b000 {
662*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra124-emc";
663*f126890aSEmmanuel Vadot		reg = <0x0 0x7001b000 0x0 0x1000>;
664*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA124_CLK_EMC>;
665*f126890aSEmmanuel Vadot		clock-names = "emc";
666*f126890aSEmmanuel Vadot
667*f126890aSEmmanuel Vadot		nvidia,memory-controller = <&mc>;
668*f126890aSEmmanuel Vadot		operating-points-v2 = <&emc_icc_dvfs_opp_table>;
669*f126890aSEmmanuel Vadot
670*f126890aSEmmanuel Vadot		#interconnect-cells = <0>;
671*f126890aSEmmanuel Vadot	};
672*f126890aSEmmanuel Vadot
673*f126890aSEmmanuel Vadot	sata@70020000 {
674*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra124-ahci";
675*f126890aSEmmanuel Vadot		reg = <0x0 0x70027000 0x0 0x2000>, /* AHCI */
676*f126890aSEmmanuel Vadot		      <0x0 0x70020000 0x0 0x7000>; /* SATA */
677*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
678*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA124_CLK_SATA>,
679*f126890aSEmmanuel Vadot			 <&tegra_car TEGRA124_CLK_SATA_OOB>;
680*f126890aSEmmanuel Vadot		clock-names = "sata", "sata-oob";
681*f126890aSEmmanuel Vadot		resets = <&tegra_car 124>,
682*f126890aSEmmanuel Vadot			 <&tegra_car 129>,
683*f126890aSEmmanuel Vadot			 <&tegra_car 123>;
684*f126890aSEmmanuel Vadot		reset-names = "sata", "sata-cold", "sata-oob";
685*f126890aSEmmanuel Vadot		status = "disabled";
686*f126890aSEmmanuel Vadot	};
687*f126890aSEmmanuel Vadot
688*f126890aSEmmanuel Vadot	hda@70030000 {
689*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra124-hda", "nvidia,tegra30-hda";
690*f126890aSEmmanuel Vadot		reg = <0x0 0x70030000 0x0 0x10000>;
691*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
692*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA124_CLK_HDA>,
693*f126890aSEmmanuel Vadot			 <&tegra_car TEGRA124_CLK_HDA2HDMI>,
694*f126890aSEmmanuel Vadot			 <&tegra_car TEGRA124_CLK_HDA2CODEC_2X>;
695*f126890aSEmmanuel Vadot		clock-names = "hda", "hda2hdmi", "hda2codec_2x";
696*f126890aSEmmanuel Vadot		resets = <&tegra_car 125>, /* hda */
697*f126890aSEmmanuel Vadot			 <&tegra_car 128>, /* hda2hdmi */
698*f126890aSEmmanuel Vadot			 <&tegra_car 111>; /* hda2codec_2x */
699*f126890aSEmmanuel Vadot		reset-names = "hda", "hda2hdmi", "hda2codec_2x";
700*f126890aSEmmanuel Vadot		status = "disabled";
701*f126890aSEmmanuel Vadot	};
702*f126890aSEmmanuel Vadot
703*f126890aSEmmanuel Vadot	usb@70090000 {
704*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra124-xusb";
705*f126890aSEmmanuel Vadot		reg = <0x0 0x70090000 0x0 0x8000>,
706*f126890aSEmmanuel Vadot		      <0x0 0x70098000 0x0 0x1000>,
707*f126890aSEmmanuel Vadot		      <0x0 0x70099000 0x0 0x1000>;
708*f126890aSEmmanuel Vadot		reg-names = "hcd", "fpci", "ipfs";
709*f126890aSEmmanuel Vadot
710*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>,
711*f126890aSEmmanuel Vadot			     <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
712*f126890aSEmmanuel Vadot
713*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA124_CLK_XUSB_HOST>,
714*f126890aSEmmanuel Vadot			 <&tegra_car TEGRA124_CLK_XUSB_HOST_SRC>,
715*f126890aSEmmanuel Vadot			 <&tegra_car TEGRA124_CLK_XUSB_FALCON_SRC>,
716*f126890aSEmmanuel Vadot			 <&tegra_car TEGRA124_CLK_XUSB_SS>,
717*f126890aSEmmanuel Vadot			 <&tegra_car TEGRA124_CLK_XUSB_SS_DIV2>,
718*f126890aSEmmanuel Vadot			 <&tegra_car TEGRA124_CLK_XUSB_SS_SRC>,
719*f126890aSEmmanuel Vadot			 <&tegra_car TEGRA124_CLK_XUSB_HS_SRC>,
720*f126890aSEmmanuel Vadot			 <&tegra_car TEGRA124_CLK_XUSB_FS_SRC>,
721*f126890aSEmmanuel Vadot			 <&tegra_car TEGRA124_CLK_PLL_U_480M>,
722*f126890aSEmmanuel Vadot			 <&tegra_car TEGRA124_CLK_CLK_M>,
723*f126890aSEmmanuel Vadot			 <&tegra_car TEGRA124_CLK_PLL_E>;
724*f126890aSEmmanuel Vadot		clock-names = "xusb_host", "xusb_host_src",
725*f126890aSEmmanuel Vadot			      "xusb_falcon_src", "xusb_ss",
726*f126890aSEmmanuel Vadot			      "xusb_ss_div2", "xusb_ss_src",
727*f126890aSEmmanuel Vadot			      "xusb_hs_src", "xusb_fs_src",
728*f126890aSEmmanuel Vadot			      "pll_u_480m", "clk_m", "pll_e";
729*f126890aSEmmanuel Vadot		resets = <&tegra_car 89>, <&tegra_car 156>,
730*f126890aSEmmanuel Vadot			 <&tegra_car 143>;
731*f126890aSEmmanuel Vadot		reset-names = "xusb_host", "xusb_ss", "xusb_src";
732*f126890aSEmmanuel Vadot
733*f126890aSEmmanuel Vadot		nvidia,xusb-padctl = <&padctl>;
734*f126890aSEmmanuel Vadot
735*f126890aSEmmanuel Vadot		status = "disabled";
736*f126890aSEmmanuel Vadot	};
737*f126890aSEmmanuel Vadot
738*f126890aSEmmanuel Vadot	padctl: padctl@7009f000 {
739*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra124-xusb-padctl";
740*f126890aSEmmanuel Vadot		reg = <0x0 0x7009f000 0x0 0x1000>;
741*f126890aSEmmanuel Vadot		resets = <&tegra_car 142>;
742*f126890aSEmmanuel Vadot		reset-names = "padctl";
743*f126890aSEmmanuel Vadot
744*f126890aSEmmanuel Vadot		pads {
745*f126890aSEmmanuel Vadot			usb2 {
746*f126890aSEmmanuel Vadot				status = "disabled";
747*f126890aSEmmanuel Vadot
748*f126890aSEmmanuel Vadot				lanes {
749*f126890aSEmmanuel Vadot					usb2-0 {
750*f126890aSEmmanuel Vadot						status = "disabled";
751*f126890aSEmmanuel Vadot						#phy-cells = <0>;
752*f126890aSEmmanuel Vadot					};
753*f126890aSEmmanuel Vadot
754*f126890aSEmmanuel Vadot					usb2-1 {
755*f126890aSEmmanuel Vadot						status = "disabled";
756*f126890aSEmmanuel Vadot						#phy-cells = <0>;
757*f126890aSEmmanuel Vadot					};
758*f126890aSEmmanuel Vadot
759*f126890aSEmmanuel Vadot					usb2-2 {
760*f126890aSEmmanuel Vadot						status = "disabled";
761*f126890aSEmmanuel Vadot						#phy-cells = <0>;
762*f126890aSEmmanuel Vadot					};
763*f126890aSEmmanuel Vadot				};
764*f126890aSEmmanuel Vadot			};
765*f126890aSEmmanuel Vadot
766*f126890aSEmmanuel Vadot			ulpi {
767*f126890aSEmmanuel Vadot				status = "disabled";
768*f126890aSEmmanuel Vadot
769*f126890aSEmmanuel Vadot				lanes {
770*f126890aSEmmanuel Vadot					ulpi-0 {
771*f126890aSEmmanuel Vadot						status = "disabled";
772*f126890aSEmmanuel Vadot						#phy-cells = <0>;
773*f126890aSEmmanuel Vadot					};
774*f126890aSEmmanuel Vadot				};
775*f126890aSEmmanuel Vadot			};
776*f126890aSEmmanuel Vadot
777*f126890aSEmmanuel Vadot			hsic {
778*f126890aSEmmanuel Vadot				status = "disabled";
779*f126890aSEmmanuel Vadot
780*f126890aSEmmanuel Vadot				lanes {
781*f126890aSEmmanuel Vadot					hsic-0 {
782*f126890aSEmmanuel Vadot						status = "disabled";
783*f126890aSEmmanuel Vadot						#phy-cells = <0>;
784*f126890aSEmmanuel Vadot					};
785*f126890aSEmmanuel Vadot
786*f126890aSEmmanuel Vadot					hsic-1 {
787*f126890aSEmmanuel Vadot						status = "disabled";
788*f126890aSEmmanuel Vadot						#phy-cells = <0>;
789*f126890aSEmmanuel Vadot					};
790*f126890aSEmmanuel Vadot				};
791*f126890aSEmmanuel Vadot			};
792*f126890aSEmmanuel Vadot
793*f126890aSEmmanuel Vadot			pcie {
794*f126890aSEmmanuel Vadot				status = "disabled";
795*f126890aSEmmanuel Vadot
796*f126890aSEmmanuel Vadot				lanes {
797*f126890aSEmmanuel Vadot					pcie-0 {
798*f126890aSEmmanuel Vadot						status = "disabled";
799*f126890aSEmmanuel Vadot						#phy-cells = <0>;
800*f126890aSEmmanuel Vadot					};
801*f126890aSEmmanuel Vadot
802*f126890aSEmmanuel Vadot					pcie-1 {
803*f126890aSEmmanuel Vadot						status = "disabled";
804*f126890aSEmmanuel Vadot						#phy-cells = <0>;
805*f126890aSEmmanuel Vadot					};
806*f126890aSEmmanuel Vadot
807*f126890aSEmmanuel Vadot					pcie-2 {
808*f126890aSEmmanuel Vadot						status = "disabled";
809*f126890aSEmmanuel Vadot						#phy-cells = <0>;
810*f126890aSEmmanuel Vadot					};
811*f126890aSEmmanuel Vadot
812*f126890aSEmmanuel Vadot					pcie-3 {
813*f126890aSEmmanuel Vadot						status = "disabled";
814*f126890aSEmmanuel Vadot						#phy-cells = <0>;
815*f126890aSEmmanuel Vadot					};
816*f126890aSEmmanuel Vadot
817*f126890aSEmmanuel Vadot					pcie-4 {
818*f126890aSEmmanuel Vadot						status = "disabled";
819*f126890aSEmmanuel Vadot						#phy-cells = <0>;
820*f126890aSEmmanuel Vadot					};
821*f126890aSEmmanuel Vadot				};
822*f126890aSEmmanuel Vadot			};
823*f126890aSEmmanuel Vadot
824*f126890aSEmmanuel Vadot			sata {
825*f126890aSEmmanuel Vadot				status = "disabled";
826*f126890aSEmmanuel Vadot
827*f126890aSEmmanuel Vadot				lanes {
828*f126890aSEmmanuel Vadot					sata-0 {
829*f126890aSEmmanuel Vadot						status = "disabled";
830*f126890aSEmmanuel Vadot						#phy-cells = <0>;
831*f126890aSEmmanuel Vadot					};
832*f126890aSEmmanuel Vadot				};
833*f126890aSEmmanuel Vadot			};
834*f126890aSEmmanuel Vadot		};
835*f126890aSEmmanuel Vadot
836*f126890aSEmmanuel Vadot		ports {
837*f126890aSEmmanuel Vadot			usb2-0 {
838*f126890aSEmmanuel Vadot				status = "disabled";
839*f126890aSEmmanuel Vadot			};
840*f126890aSEmmanuel Vadot
841*f126890aSEmmanuel Vadot			usb2-1 {
842*f126890aSEmmanuel Vadot				status = "disabled";
843*f126890aSEmmanuel Vadot			};
844*f126890aSEmmanuel Vadot
845*f126890aSEmmanuel Vadot			usb2-2 {
846*f126890aSEmmanuel Vadot				status = "disabled";
847*f126890aSEmmanuel Vadot			};
848*f126890aSEmmanuel Vadot
849*f126890aSEmmanuel Vadot			ulpi-0 {
850*f126890aSEmmanuel Vadot				status = "disabled";
851*f126890aSEmmanuel Vadot			};
852*f126890aSEmmanuel Vadot
853*f126890aSEmmanuel Vadot			hsic-0 {
854*f126890aSEmmanuel Vadot				status = "disabled";
855*f126890aSEmmanuel Vadot			};
856*f126890aSEmmanuel Vadot
857*f126890aSEmmanuel Vadot			hsic-1 {
858*f126890aSEmmanuel Vadot				status = "disabled";
859*f126890aSEmmanuel Vadot			};
860*f126890aSEmmanuel Vadot
861*f126890aSEmmanuel Vadot			usb3-0 {
862*f126890aSEmmanuel Vadot				status = "disabled";
863*f126890aSEmmanuel Vadot			};
864*f126890aSEmmanuel Vadot
865*f126890aSEmmanuel Vadot			usb3-1 {
866*f126890aSEmmanuel Vadot				status = "disabled";
867*f126890aSEmmanuel Vadot			};
868*f126890aSEmmanuel Vadot		};
869*f126890aSEmmanuel Vadot	};
870*f126890aSEmmanuel Vadot
871*f126890aSEmmanuel Vadot	mmc@700b0000 {
872*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra124-sdhci";
873*f126890aSEmmanuel Vadot		reg = <0x0 0x700b0000 0x0 0x200>;
874*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
875*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA124_CLK_SDMMC1>;
876*f126890aSEmmanuel Vadot		clock-names = "sdhci";
877*f126890aSEmmanuel Vadot		resets = <&tegra_car 14>;
878*f126890aSEmmanuel Vadot		reset-names = "sdhci";
879*f126890aSEmmanuel Vadot		status = "disabled";
880*f126890aSEmmanuel Vadot	};
881*f126890aSEmmanuel Vadot
882*f126890aSEmmanuel Vadot	mmc@700b0200 {
883*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra124-sdhci";
884*f126890aSEmmanuel Vadot		reg = <0x0 0x700b0200 0x0 0x200>;
885*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
886*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA124_CLK_SDMMC2>;
887*f126890aSEmmanuel Vadot		clock-names = "sdhci";
888*f126890aSEmmanuel Vadot		resets = <&tegra_car 9>;
889*f126890aSEmmanuel Vadot		reset-names = "sdhci";
890*f126890aSEmmanuel Vadot		status = "disabled";
891*f126890aSEmmanuel Vadot	};
892*f126890aSEmmanuel Vadot
893*f126890aSEmmanuel Vadot	mmc@700b0400 {
894*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra124-sdhci";
895*f126890aSEmmanuel Vadot		reg = <0x0 0x700b0400 0x0 0x200>;
896*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
897*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA124_CLK_SDMMC3>;
898*f126890aSEmmanuel Vadot		clock-names = "sdhci";
899*f126890aSEmmanuel Vadot		resets = <&tegra_car 69>;
900*f126890aSEmmanuel Vadot		reset-names = "sdhci";
901*f126890aSEmmanuel Vadot		status = "disabled";
902*f126890aSEmmanuel Vadot	};
903*f126890aSEmmanuel Vadot
904*f126890aSEmmanuel Vadot	mmc@700b0600 {
905*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra124-sdhci";
906*f126890aSEmmanuel Vadot		reg = <0x0 0x700b0600 0x0 0x200>;
907*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
908*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA124_CLK_SDMMC4>;
909*f126890aSEmmanuel Vadot		clock-names = "sdhci";
910*f126890aSEmmanuel Vadot		resets = <&tegra_car 15>;
911*f126890aSEmmanuel Vadot		reset-names = "sdhci";
912*f126890aSEmmanuel Vadot		status = "disabled";
913*f126890aSEmmanuel Vadot	};
914*f126890aSEmmanuel Vadot
915*f126890aSEmmanuel Vadot	soctherm: thermal-sensor@700e2000 {
916*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra124-soctherm";
917*f126890aSEmmanuel Vadot		reg = <0x0 0x700e2000 0x0 0x600>, /* SOC_THERM reg_base */
918*f126890aSEmmanuel Vadot		      <0x0 0x60006000 0x0 0x400>; /* CAR reg_base */
919*f126890aSEmmanuel Vadot		reg-names = "soctherm-reg", "car-reg";
920*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>,
921*f126890aSEmmanuel Vadot			     <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
922*f126890aSEmmanuel Vadot		interrupt-names = "thermal", "edp";
923*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA124_CLK_TSENSOR>,
924*f126890aSEmmanuel Vadot			 <&tegra_car TEGRA124_CLK_SOC_THERM>;
925*f126890aSEmmanuel Vadot		clock-names = "tsensor", "soctherm";
926*f126890aSEmmanuel Vadot		resets = <&tegra_car 78>;
927*f126890aSEmmanuel Vadot		reset-names = "soctherm";
928*f126890aSEmmanuel Vadot		#thermal-sensor-cells = <1>;
929*f126890aSEmmanuel Vadot
930*f126890aSEmmanuel Vadot		throttle-cfgs {
931*f126890aSEmmanuel Vadot			throttle_heavy: heavy {
932*f126890aSEmmanuel Vadot				nvidia,priority = <100>;
933*f126890aSEmmanuel Vadot				nvidia,cpu-throt-percent = <85>;
934*f126890aSEmmanuel Vadot				nvidia,gpu-throt-level = <TEGRA_SOCTHERM_THROT_LEVEL_HIGH>;
935*f126890aSEmmanuel Vadot
936*f126890aSEmmanuel Vadot				#cooling-cells = <2>;
937*f126890aSEmmanuel Vadot			};
938*f126890aSEmmanuel Vadot		};
939*f126890aSEmmanuel Vadot	};
940*f126890aSEmmanuel Vadot
941*f126890aSEmmanuel Vadot	dfll: clock@70110000 {
942*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra124-dfll";
943*f126890aSEmmanuel Vadot		reg = <0 0x70110000 0 0x100>, /* DFLL control */
944*f126890aSEmmanuel Vadot		      <0 0x70110000 0 0x100>, /* I2C output control */
945*f126890aSEmmanuel Vadot		      <0 0x70110100 0 0x100>, /* Integrated I2C controller */
946*f126890aSEmmanuel Vadot		      <0 0x70110200 0 0x100>; /* Look-up table RAM */
947*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
948*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA124_CLK_DFLL_SOC>,
949*f126890aSEmmanuel Vadot			 <&tegra_car TEGRA124_CLK_DFLL_REF>,
950*f126890aSEmmanuel Vadot			 <&tegra_car TEGRA124_CLK_I2C5>;
951*f126890aSEmmanuel Vadot		clock-names = "soc", "ref", "i2c";
952*f126890aSEmmanuel Vadot		resets = <&tegra_car TEGRA124_RST_DFLL_DVCO>;
953*f126890aSEmmanuel Vadot		reset-names = "dvco";
954*f126890aSEmmanuel Vadot		#clock-cells = <0>;
955*f126890aSEmmanuel Vadot		clock-output-names = "dfllCPU_out";
956*f126890aSEmmanuel Vadot		nvidia,sample-rate = <12500>;
957*f126890aSEmmanuel Vadot		nvidia,droop-ctrl = <0x00000f00>;
958*f126890aSEmmanuel Vadot		nvidia,force-mode = <1>;
959*f126890aSEmmanuel Vadot		nvidia,cf = <10>;
960*f126890aSEmmanuel Vadot		nvidia,ci = <0>;
961*f126890aSEmmanuel Vadot		nvidia,cg = <2>;
962*f126890aSEmmanuel Vadot		status = "disabled";
963*f126890aSEmmanuel Vadot	};
964*f126890aSEmmanuel Vadot
965*f126890aSEmmanuel Vadot	ahub@70300000 {
966*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra124-ahub";
967*f126890aSEmmanuel Vadot		reg = <0x0 0x70300000 0x0 0x200>,
968*f126890aSEmmanuel Vadot		      <0x0 0x70300800 0x0 0x800>,
969*f126890aSEmmanuel Vadot		      <0x0 0x70300200 0x0 0x600>;
970*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
971*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA124_CLK_D_AUDIO>,
972*f126890aSEmmanuel Vadot			 <&tegra_car TEGRA124_CLK_APBIF>;
973*f126890aSEmmanuel Vadot		clock-names = "d_audio", "apbif";
974*f126890aSEmmanuel Vadot		resets = <&tegra_car 106>, /* d_audio */
975*f126890aSEmmanuel Vadot			 <&tegra_car 107>, /* apbif */
976*f126890aSEmmanuel Vadot			 <&tegra_car 30>,  /* i2s0 */
977*f126890aSEmmanuel Vadot			 <&tegra_car 11>,  /* i2s1 */
978*f126890aSEmmanuel Vadot			 <&tegra_car 18>,  /* i2s2 */
979*f126890aSEmmanuel Vadot			 <&tegra_car 101>, /* i2s3 */
980*f126890aSEmmanuel Vadot			 <&tegra_car 102>, /* i2s4 */
981*f126890aSEmmanuel Vadot			 <&tegra_car 108>, /* dam0 */
982*f126890aSEmmanuel Vadot			 <&tegra_car 109>, /* dam1 */
983*f126890aSEmmanuel Vadot			 <&tegra_car 110>, /* dam2 */
984*f126890aSEmmanuel Vadot			 <&tegra_car 10>,  /* spdif */
985*f126890aSEmmanuel Vadot			 <&tegra_car 153>, /* amx */
986*f126890aSEmmanuel Vadot			 <&tegra_car 185>, /* amx1 */
987*f126890aSEmmanuel Vadot			 <&tegra_car 154>, /* adx */
988*f126890aSEmmanuel Vadot			 <&tegra_car 180>, /* adx1 */
989*f126890aSEmmanuel Vadot			 <&tegra_car 186>, /* afc0 */
990*f126890aSEmmanuel Vadot			 <&tegra_car 187>, /* afc1 */
991*f126890aSEmmanuel Vadot			 <&tegra_car 188>, /* afc2 */
992*f126890aSEmmanuel Vadot			 <&tegra_car 189>, /* afc3 */
993*f126890aSEmmanuel Vadot			 <&tegra_car 190>, /* afc4 */
994*f126890aSEmmanuel Vadot			 <&tegra_car 191>; /* afc5 */
995*f126890aSEmmanuel Vadot		reset-names = "d_audio", "apbif", "i2s0", "i2s1", "i2s2",
996*f126890aSEmmanuel Vadot			      "i2s3", "i2s4", "dam0", "dam1", "dam2",
997*f126890aSEmmanuel Vadot			      "spdif", "amx", "amx1", "adx", "adx1",
998*f126890aSEmmanuel Vadot			      "afc0", "afc1", "afc2", "afc3", "afc4", "afc5";
999*f126890aSEmmanuel Vadot		dmas = <&apbdma 1>, <&apbdma 1>,
1000*f126890aSEmmanuel Vadot		       <&apbdma 2>, <&apbdma 2>,
1001*f126890aSEmmanuel Vadot		       <&apbdma 3>, <&apbdma 3>,
1002*f126890aSEmmanuel Vadot		       <&apbdma 4>, <&apbdma 4>,
1003*f126890aSEmmanuel Vadot		       <&apbdma 6>, <&apbdma 6>,
1004*f126890aSEmmanuel Vadot		       <&apbdma 7>, <&apbdma 7>,
1005*f126890aSEmmanuel Vadot		       <&apbdma 12>, <&apbdma 12>,
1006*f126890aSEmmanuel Vadot		       <&apbdma 13>, <&apbdma 13>,
1007*f126890aSEmmanuel Vadot		       <&apbdma 14>, <&apbdma 14>,
1008*f126890aSEmmanuel Vadot		       <&apbdma 29>, <&apbdma 29>;
1009*f126890aSEmmanuel Vadot		dma-names = "rx0", "tx0", "rx1", "tx1", "rx2", "tx2",
1010*f126890aSEmmanuel Vadot			    "rx3", "tx3", "rx4", "tx4", "rx5", "tx5",
1011*f126890aSEmmanuel Vadot			    "rx6", "tx6", "rx7", "tx7", "rx8", "tx8",
1012*f126890aSEmmanuel Vadot			    "rx9", "tx9";
1013*f126890aSEmmanuel Vadot		ranges;
1014*f126890aSEmmanuel Vadot		#address-cells = <2>;
1015*f126890aSEmmanuel Vadot		#size-cells = <2>;
1016*f126890aSEmmanuel Vadot
1017*f126890aSEmmanuel Vadot		tegra_i2s0: i2s@70301000 {
1018*f126890aSEmmanuel Vadot			compatible = "nvidia,tegra124-i2s";
1019*f126890aSEmmanuel Vadot			reg = <0x0 0x70301000 0x0 0x100>;
1020*f126890aSEmmanuel Vadot			nvidia,ahub-cif-ids = <4 4>;
1021*f126890aSEmmanuel Vadot			clocks = <&tegra_car TEGRA124_CLK_I2S0>;
1022*f126890aSEmmanuel Vadot			resets = <&tegra_car 30>;
1023*f126890aSEmmanuel Vadot			reset-names = "i2s";
1024*f126890aSEmmanuel Vadot			status = "disabled";
1025*f126890aSEmmanuel Vadot		};
1026*f126890aSEmmanuel Vadot
1027*f126890aSEmmanuel Vadot		tegra_i2s1: i2s@70301100 {
1028*f126890aSEmmanuel Vadot			compatible = "nvidia,tegra124-i2s";
1029*f126890aSEmmanuel Vadot			reg = <0x0 0x70301100 0x0 0x100>;
1030*f126890aSEmmanuel Vadot			nvidia,ahub-cif-ids = <5 5>;
1031*f126890aSEmmanuel Vadot			clocks = <&tegra_car TEGRA124_CLK_I2S1>;
1032*f126890aSEmmanuel Vadot			resets = <&tegra_car 11>;
1033*f126890aSEmmanuel Vadot			reset-names = "i2s";
1034*f126890aSEmmanuel Vadot			status = "disabled";
1035*f126890aSEmmanuel Vadot		};
1036*f126890aSEmmanuel Vadot
1037*f126890aSEmmanuel Vadot		tegra_i2s2: i2s@70301200 {
1038*f126890aSEmmanuel Vadot			compatible = "nvidia,tegra124-i2s";
1039*f126890aSEmmanuel Vadot			reg = <0x0 0x70301200 0x0 0x100>;
1040*f126890aSEmmanuel Vadot			nvidia,ahub-cif-ids = <6 6>;
1041*f126890aSEmmanuel Vadot			clocks = <&tegra_car TEGRA124_CLK_I2S2>;
1042*f126890aSEmmanuel Vadot			resets = <&tegra_car 18>;
1043*f126890aSEmmanuel Vadot			reset-names = "i2s";
1044*f126890aSEmmanuel Vadot			status = "disabled";
1045*f126890aSEmmanuel Vadot		};
1046*f126890aSEmmanuel Vadot
1047*f126890aSEmmanuel Vadot		tegra_i2s3: i2s@70301300 {
1048*f126890aSEmmanuel Vadot			compatible = "nvidia,tegra124-i2s";
1049*f126890aSEmmanuel Vadot			reg = <0x0 0x70301300 0x0 0x100>;
1050*f126890aSEmmanuel Vadot			nvidia,ahub-cif-ids = <7 7>;
1051*f126890aSEmmanuel Vadot			clocks = <&tegra_car TEGRA124_CLK_I2S3>;
1052*f126890aSEmmanuel Vadot			resets = <&tegra_car 101>;
1053*f126890aSEmmanuel Vadot			reset-names = "i2s";
1054*f126890aSEmmanuel Vadot			status = "disabled";
1055*f126890aSEmmanuel Vadot		};
1056*f126890aSEmmanuel Vadot
1057*f126890aSEmmanuel Vadot		tegra_i2s4: i2s@70301400 {
1058*f126890aSEmmanuel Vadot			compatible = "nvidia,tegra124-i2s";
1059*f126890aSEmmanuel Vadot			reg = <0x0 0x70301400 0x0 0x100>;
1060*f126890aSEmmanuel Vadot			nvidia,ahub-cif-ids = <8 8>;
1061*f126890aSEmmanuel Vadot			clocks = <&tegra_car TEGRA124_CLK_I2S4>;
1062*f126890aSEmmanuel Vadot			resets = <&tegra_car 102>;
1063*f126890aSEmmanuel Vadot			reset-names = "i2s";
1064*f126890aSEmmanuel Vadot			status = "disabled";
1065*f126890aSEmmanuel Vadot		};
1066*f126890aSEmmanuel Vadot	};
1067*f126890aSEmmanuel Vadot
1068*f126890aSEmmanuel Vadot	usb@7d000000 {
1069*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra124-ehci", "nvidia,tegra30-ehci";
1070*f126890aSEmmanuel Vadot		reg = <0x0 0x7d000000 0x0 0x4000>;
1071*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
1072*f126890aSEmmanuel Vadot		phy_type = "utmi";
1073*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA124_CLK_USBD>;
1074*f126890aSEmmanuel Vadot		resets = <&tegra_car 22>;
1075*f126890aSEmmanuel Vadot		reset-names = "usb";
1076*f126890aSEmmanuel Vadot		nvidia,phy = <&phy1>;
1077*f126890aSEmmanuel Vadot		status = "disabled";
1078*f126890aSEmmanuel Vadot	};
1079*f126890aSEmmanuel Vadot
1080*f126890aSEmmanuel Vadot	phy1: usb-phy@7d000000 {
1081*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra124-usb-phy", "nvidia,tegra30-usb-phy";
1082*f126890aSEmmanuel Vadot		reg = <0x0 0x7d000000 0x0 0x4000>,
1083*f126890aSEmmanuel Vadot		      <0x0 0x7d000000 0x0 0x4000>;
1084*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
1085*f126890aSEmmanuel Vadot		phy_type = "utmi";
1086*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA124_CLK_USBD>,
1087*f126890aSEmmanuel Vadot			 <&tegra_car TEGRA124_CLK_PLL_U>,
1088*f126890aSEmmanuel Vadot			 <&tegra_car TEGRA124_CLK_USBD>;
1089*f126890aSEmmanuel Vadot		clock-names = "reg", "pll_u", "utmi-pads";
1090*f126890aSEmmanuel Vadot		resets = <&tegra_car 22>, <&tegra_car 22>;
1091*f126890aSEmmanuel Vadot		reset-names = "usb", "utmi-pads";
1092*f126890aSEmmanuel Vadot		#phy-cells = <0>;
1093*f126890aSEmmanuel Vadot		nvidia,hssync-start-delay = <0>;
1094*f126890aSEmmanuel Vadot		nvidia,idle-wait-delay = <17>;
1095*f126890aSEmmanuel Vadot		nvidia,elastic-limit = <16>;
1096*f126890aSEmmanuel Vadot		nvidia,term-range-adj = <6>;
1097*f126890aSEmmanuel Vadot		nvidia,xcvr-setup = <9>;
1098*f126890aSEmmanuel Vadot		nvidia,xcvr-lsfslew = <0>;
1099*f126890aSEmmanuel Vadot		nvidia,xcvr-lsrslew = <3>;
1100*f126890aSEmmanuel Vadot		nvidia,hssquelch-level = <2>;
1101*f126890aSEmmanuel Vadot		nvidia,hsdiscon-level = <5>;
1102*f126890aSEmmanuel Vadot		nvidia,xcvr-hsslew = <12>;
1103*f126890aSEmmanuel Vadot		nvidia,has-utmi-pad-registers;
1104*f126890aSEmmanuel Vadot		nvidia,pmc = <&tegra_pmc 0>;
1105*f126890aSEmmanuel Vadot		status = "disabled";
1106*f126890aSEmmanuel Vadot	};
1107*f126890aSEmmanuel Vadot
1108*f126890aSEmmanuel Vadot	usb@7d004000 {
1109*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra124-ehci", "nvidia,tegra30-ehci";
1110*f126890aSEmmanuel Vadot		reg = <0x0 0x7d004000 0x0 0x4000>;
1111*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
1112*f126890aSEmmanuel Vadot		phy_type = "utmi";
1113*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA124_CLK_USB2>;
1114*f126890aSEmmanuel Vadot		resets = <&tegra_car 58>;
1115*f126890aSEmmanuel Vadot		reset-names = "usb";
1116*f126890aSEmmanuel Vadot		nvidia,phy = <&phy2>;
1117*f126890aSEmmanuel Vadot		status = "disabled";
1118*f126890aSEmmanuel Vadot	};
1119*f126890aSEmmanuel Vadot
1120*f126890aSEmmanuel Vadot	phy2: usb-phy@7d004000 {
1121*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra124-usb-phy", "nvidia,tegra30-usb-phy";
1122*f126890aSEmmanuel Vadot		reg = <0x0 0x7d004000 0x0 0x4000>,
1123*f126890aSEmmanuel Vadot		      <0x0 0x7d000000 0x0 0x4000>;
1124*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
1125*f126890aSEmmanuel Vadot		phy_type = "utmi";
1126*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA124_CLK_USB2>,
1127*f126890aSEmmanuel Vadot			 <&tegra_car TEGRA124_CLK_PLL_U>,
1128*f126890aSEmmanuel Vadot			 <&tegra_car TEGRA124_CLK_USBD>;
1129*f126890aSEmmanuel Vadot		clock-names = "reg", "pll_u", "utmi-pads";
1130*f126890aSEmmanuel Vadot		resets = <&tegra_car 58>, <&tegra_car 22>;
1131*f126890aSEmmanuel Vadot		reset-names = "usb", "utmi-pads";
1132*f126890aSEmmanuel Vadot		#phy-cells = <0>;
1133*f126890aSEmmanuel Vadot		nvidia,hssync-start-delay = <0>;
1134*f126890aSEmmanuel Vadot		nvidia,idle-wait-delay = <17>;
1135*f126890aSEmmanuel Vadot		nvidia,elastic-limit = <16>;
1136*f126890aSEmmanuel Vadot		nvidia,term-range-adj = <6>;
1137*f126890aSEmmanuel Vadot		nvidia,xcvr-setup = <9>;
1138*f126890aSEmmanuel Vadot		nvidia,xcvr-lsfslew = <0>;
1139*f126890aSEmmanuel Vadot		nvidia,xcvr-lsrslew = <3>;
1140*f126890aSEmmanuel Vadot		nvidia,hssquelch-level = <2>;
1141*f126890aSEmmanuel Vadot		nvidia,hsdiscon-level = <5>;
1142*f126890aSEmmanuel Vadot		nvidia,xcvr-hsslew = <12>;
1143*f126890aSEmmanuel Vadot		nvidia,pmc = <&tegra_pmc 1>;
1144*f126890aSEmmanuel Vadot		status = "disabled";
1145*f126890aSEmmanuel Vadot	};
1146*f126890aSEmmanuel Vadot
1147*f126890aSEmmanuel Vadot	usb@7d008000 {
1148*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra124-ehci", "nvidia,tegra30-ehci";
1149*f126890aSEmmanuel Vadot		reg = <0x0 0x7d008000 0x0 0x4000>;
1150*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
1151*f126890aSEmmanuel Vadot		phy_type = "utmi";
1152*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA124_CLK_USB3>;
1153*f126890aSEmmanuel Vadot		resets = <&tegra_car 59>;
1154*f126890aSEmmanuel Vadot		reset-names = "usb";
1155*f126890aSEmmanuel Vadot		nvidia,phy = <&phy3>;
1156*f126890aSEmmanuel Vadot		status = "disabled";
1157*f126890aSEmmanuel Vadot	};
1158*f126890aSEmmanuel Vadot
1159*f126890aSEmmanuel Vadot	phy3: usb-phy@7d008000 {
1160*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra124-usb-phy", "nvidia,tegra30-usb-phy";
1161*f126890aSEmmanuel Vadot		reg = <0x0 0x7d008000 0x0 0x4000>,
1162*f126890aSEmmanuel Vadot		      <0x0 0x7d000000 0x0 0x4000>;
1163*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
1164*f126890aSEmmanuel Vadot		phy_type = "utmi";
1165*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA124_CLK_USB3>,
1166*f126890aSEmmanuel Vadot			 <&tegra_car TEGRA124_CLK_PLL_U>,
1167*f126890aSEmmanuel Vadot			 <&tegra_car TEGRA124_CLK_USBD>;
1168*f126890aSEmmanuel Vadot		clock-names = "reg", "pll_u", "utmi-pads";
1169*f126890aSEmmanuel Vadot		resets = <&tegra_car 59>, <&tegra_car 22>;
1170*f126890aSEmmanuel Vadot		reset-names = "usb", "utmi-pads";
1171*f126890aSEmmanuel Vadot		#phy-cells = <0>;
1172*f126890aSEmmanuel Vadot		nvidia,hssync-start-delay = <0>;
1173*f126890aSEmmanuel Vadot		nvidia,idle-wait-delay = <17>;
1174*f126890aSEmmanuel Vadot		nvidia,elastic-limit = <16>;
1175*f126890aSEmmanuel Vadot		nvidia,term-range-adj = <6>;
1176*f126890aSEmmanuel Vadot		nvidia,xcvr-setup = <9>;
1177*f126890aSEmmanuel Vadot		nvidia,xcvr-lsfslew = <0>;
1178*f126890aSEmmanuel Vadot		nvidia,xcvr-lsrslew = <3>;
1179*f126890aSEmmanuel Vadot		nvidia,hssquelch-level = <2>;
1180*f126890aSEmmanuel Vadot		nvidia,hsdiscon-level = <5>;
1181*f126890aSEmmanuel Vadot		nvidia,xcvr-hsslew = <12>;
1182*f126890aSEmmanuel Vadot		nvidia,pmc = <&tegra_pmc 2>;
1183*f126890aSEmmanuel Vadot		status = "disabled";
1184*f126890aSEmmanuel Vadot	};
1185*f126890aSEmmanuel Vadot
1186*f126890aSEmmanuel Vadot	cpus {
1187*f126890aSEmmanuel Vadot		#address-cells = <1>;
1188*f126890aSEmmanuel Vadot		#size-cells = <0>;
1189*f126890aSEmmanuel Vadot
1190*f126890aSEmmanuel Vadot		cpu@0 {
1191*f126890aSEmmanuel Vadot			device_type = "cpu";
1192*f126890aSEmmanuel Vadot			compatible = "arm,cortex-a15";
1193*f126890aSEmmanuel Vadot			reg = <0>;
1194*f126890aSEmmanuel Vadot
1195*f126890aSEmmanuel Vadot			clocks = <&tegra_car TEGRA124_CLK_CCLK_G>,
1196*f126890aSEmmanuel Vadot				 <&tegra_car TEGRA124_CLK_CCLK_LP>,
1197*f126890aSEmmanuel Vadot				 <&tegra_car TEGRA124_CLK_PLL_X>,
1198*f126890aSEmmanuel Vadot				 <&tegra_car TEGRA124_CLK_PLL_P>,
1199*f126890aSEmmanuel Vadot				 <&dfll>;
1200*f126890aSEmmanuel Vadot			clock-names = "cpu_g", "cpu_lp", "pll_x", "pll_p", "dfll";
1201*f126890aSEmmanuel Vadot			/* FIXME: what's the actual transition time? */
1202*f126890aSEmmanuel Vadot			clock-latency = <300000>;
1203*f126890aSEmmanuel Vadot		};
1204*f126890aSEmmanuel Vadot
1205*f126890aSEmmanuel Vadot		cpu@1 {
1206*f126890aSEmmanuel Vadot			device_type = "cpu";
1207*f126890aSEmmanuel Vadot			compatible = "arm,cortex-a15";
1208*f126890aSEmmanuel Vadot			reg = <1>;
1209*f126890aSEmmanuel Vadot		};
1210*f126890aSEmmanuel Vadot
1211*f126890aSEmmanuel Vadot		cpu@2 {
1212*f126890aSEmmanuel Vadot			device_type = "cpu";
1213*f126890aSEmmanuel Vadot			compatible = "arm,cortex-a15";
1214*f126890aSEmmanuel Vadot			reg = <2>;
1215*f126890aSEmmanuel Vadot		};
1216*f126890aSEmmanuel Vadot
1217*f126890aSEmmanuel Vadot		cpu@3 {
1218*f126890aSEmmanuel Vadot			device_type = "cpu";
1219*f126890aSEmmanuel Vadot			compatible = "arm,cortex-a15";
1220*f126890aSEmmanuel Vadot			reg = <3>;
1221*f126890aSEmmanuel Vadot		};
1222*f126890aSEmmanuel Vadot	};
1223*f126890aSEmmanuel Vadot
1224*f126890aSEmmanuel Vadot	pmu {
1225*f126890aSEmmanuel Vadot		compatible = "arm,cortex-a15-pmu";
1226*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>,
1227*f126890aSEmmanuel Vadot			     <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>,
1228*f126890aSEmmanuel Vadot			     <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>,
1229*f126890aSEmmanuel Vadot			     <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>;
1230*f126890aSEmmanuel Vadot		interrupt-affinity = <&{/cpus/cpu@0}>,
1231*f126890aSEmmanuel Vadot				     <&{/cpus/cpu@1}>,
1232*f126890aSEmmanuel Vadot				     <&{/cpus/cpu@2}>,
1233*f126890aSEmmanuel Vadot				     <&{/cpus/cpu@3}>;
1234*f126890aSEmmanuel Vadot	};
1235*f126890aSEmmanuel Vadot
1236*f126890aSEmmanuel Vadot	thermal-zones {
1237*f126890aSEmmanuel Vadot		cpu-thermal {
1238*f126890aSEmmanuel Vadot			polling-delay-passive = <1000>;
1239*f126890aSEmmanuel Vadot			polling-delay = <1000>;
1240*f126890aSEmmanuel Vadot
1241*f126890aSEmmanuel Vadot			thermal-sensors =
1242*f126890aSEmmanuel Vadot				<&soctherm TEGRA124_SOCTHERM_SENSOR_CPU>;
1243*f126890aSEmmanuel Vadot
1244*f126890aSEmmanuel Vadot			trips {
1245*f126890aSEmmanuel Vadot				cpu-shutdown-trip {
1246*f126890aSEmmanuel Vadot					temperature = <103000>;
1247*f126890aSEmmanuel Vadot					hysteresis = <0>;
1248*f126890aSEmmanuel Vadot					type = "critical";
1249*f126890aSEmmanuel Vadot				};
1250*f126890aSEmmanuel Vadot				cpu_throttle_trip: throttle-trip {
1251*f126890aSEmmanuel Vadot					temperature = <100000>;
1252*f126890aSEmmanuel Vadot					hysteresis = <1000>;
1253*f126890aSEmmanuel Vadot					type = "hot";
1254*f126890aSEmmanuel Vadot				};
1255*f126890aSEmmanuel Vadot			};
1256*f126890aSEmmanuel Vadot
1257*f126890aSEmmanuel Vadot			cooling-maps {
1258*f126890aSEmmanuel Vadot				map0 {
1259*f126890aSEmmanuel Vadot					trip = <&cpu_throttle_trip>;
1260*f126890aSEmmanuel Vadot					cooling-device = <&throttle_heavy 1 1>;
1261*f126890aSEmmanuel Vadot				};
1262*f126890aSEmmanuel Vadot			};
1263*f126890aSEmmanuel Vadot		};
1264*f126890aSEmmanuel Vadot
1265*f126890aSEmmanuel Vadot		mem-thermal {
1266*f126890aSEmmanuel Vadot			polling-delay-passive = <1000>;
1267*f126890aSEmmanuel Vadot			polling-delay = <1000>;
1268*f126890aSEmmanuel Vadot
1269*f126890aSEmmanuel Vadot			thermal-sensors =
1270*f126890aSEmmanuel Vadot				<&soctherm TEGRA124_SOCTHERM_SENSOR_MEM>;
1271*f126890aSEmmanuel Vadot
1272*f126890aSEmmanuel Vadot			trips {
1273*f126890aSEmmanuel Vadot				mem-shutdown-trip {
1274*f126890aSEmmanuel Vadot					temperature = <103000>;
1275*f126890aSEmmanuel Vadot					hysteresis = <0>;
1276*f126890aSEmmanuel Vadot					type = "critical";
1277*f126890aSEmmanuel Vadot				};
1278*f126890aSEmmanuel Vadot				mem-throttle-trip {
1279*f126890aSEmmanuel Vadot					temperature = <99000>;
1280*f126890aSEmmanuel Vadot					hysteresis = <1000>;
1281*f126890aSEmmanuel Vadot					type = "hot";
1282*f126890aSEmmanuel Vadot				};
1283*f126890aSEmmanuel Vadot			};
1284*f126890aSEmmanuel Vadot
1285*f126890aSEmmanuel Vadot			cooling-maps {
1286*f126890aSEmmanuel Vadot				/*
1287*f126890aSEmmanuel Vadot				 * There are currently no cooling maps,
1288*f126890aSEmmanuel Vadot				 * because there are no cooling devices.
1289*f126890aSEmmanuel Vadot				 */
1290*f126890aSEmmanuel Vadot			};
1291*f126890aSEmmanuel Vadot		};
1292*f126890aSEmmanuel Vadot
1293*f126890aSEmmanuel Vadot		gpu-thermal {
1294*f126890aSEmmanuel Vadot			polling-delay-passive = <1000>;
1295*f126890aSEmmanuel Vadot			polling-delay = <1000>;
1296*f126890aSEmmanuel Vadot
1297*f126890aSEmmanuel Vadot			thermal-sensors =
1298*f126890aSEmmanuel Vadot				<&soctherm TEGRA124_SOCTHERM_SENSOR_GPU>;
1299*f126890aSEmmanuel Vadot
1300*f126890aSEmmanuel Vadot			trips {
1301*f126890aSEmmanuel Vadot				gpu-shutdown-trip {
1302*f126890aSEmmanuel Vadot					temperature = <101000>;
1303*f126890aSEmmanuel Vadot					hysteresis = <0>;
1304*f126890aSEmmanuel Vadot					type = "critical";
1305*f126890aSEmmanuel Vadot				};
1306*f126890aSEmmanuel Vadot				gpu_throttle_trip: throttle-trip {
1307*f126890aSEmmanuel Vadot					temperature = <99000>;
1308*f126890aSEmmanuel Vadot					hysteresis = <1000>;
1309*f126890aSEmmanuel Vadot					type = "hot";
1310*f126890aSEmmanuel Vadot				};
1311*f126890aSEmmanuel Vadot			};
1312*f126890aSEmmanuel Vadot
1313*f126890aSEmmanuel Vadot			cooling-maps {
1314*f126890aSEmmanuel Vadot				map0 {
1315*f126890aSEmmanuel Vadot					trip = <&gpu_throttle_trip>;
1316*f126890aSEmmanuel Vadot					cooling-device = <&throttle_heavy 1 1>;
1317*f126890aSEmmanuel Vadot				};
1318*f126890aSEmmanuel Vadot			};
1319*f126890aSEmmanuel Vadot		};
1320*f126890aSEmmanuel Vadot
1321*f126890aSEmmanuel Vadot		pllx-thermal {
1322*f126890aSEmmanuel Vadot			polling-delay-passive = <1000>;
1323*f126890aSEmmanuel Vadot			polling-delay = <1000>;
1324*f126890aSEmmanuel Vadot
1325*f126890aSEmmanuel Vadot			thermal-sensors =
1326*f126890aSEmmanuel Vadot				<&soctherm TEGRA124_SOCTHERM_SENSOR_PLLX>;
1327*f126890aSEmmanuel Vadot
1328*f126890aSEmmanuel Vadot			trips {
1329*f126890aSEmmanuel Vadot				pllx-shutdown-trip {
1330*f126890aSEmmanuel Vadot					temperature = <103000>;
1331*f126890aSEmmanuel Vadot					hysteresis = <0>;
1332*f126890aSEmmanuel Vadot					type = "critical";
1333*f126890aSEmmanuel Vadot				};
1334*f126890aSEmmanuel Vadot				pllx-throttle-trip {
1335*f126890aSEmmanuel Vadot					temperature = <99000>;
1336*f126890aSEmmanuel Vadot					hysteresis = <1000>;
1337*f126890aSEmmanuel Vadot					type = "hot";
1338*f126890aSEmmanuel Vadot				};
1339*f126890aSEmmanuel Vadot			};
1340*f126890aSEmmanuel Vadot
1341*f126890aSEmmanuel Vadot			cooling-maps {
1342*f126890aSEmmanuel Vadot				/*
1343*f126890aSEmmanuel Vadot				 * There are currently no cooling maps,
1344*f126890aSEmmanuel Vadot				 * because there are no cooling devices.
1345*f126890aSEmmanuel Vadot				 */
1346*f126890aSEmmanuel Vadot			};
1347*f126890aSEmmanuel Vadot		};
1348*f126890aSEmmanuel Vadot	};
1349*f126890aSEmmanuel Vadot
1350*f126890aSEmmanuel Vadot	timer {
1351*f126890aSEmmanuel Vadot		compatible = "arm,armv7-timer";
1352*f126890aSEmmanuel Vadot		interrupts = <GIC_PPI 13
1353*f126890aSEmmanuel Vadot				(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
1354*f126890aSEmmanuel Vadot			     <GIC_PPI 14
1355*f126890aSEmmanuel Vadot				(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
1356*f126890aSEmmanuel Vadot			     <GIC_PPI 11
1357*f126890aSEmmanuel Vadot				(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
1358*f126890aSEmmanuel Vadot			     <GIC_PPI 10
1359*f126890aSEmmanuel Vadot				(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
1360*f126890aSEmmanuel Vadot		interrupt-parent = <&gic>;
1361*f126890aSEmmanuel Vadot	};
1362*f126890aSEmmanuel Vadot};
1363