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