xref: /freebsd-src/sys/contrib/device-tree/src/arm/nvidia/tegra114.dtsi (revision f126890ac5386406dadf7c4cfa9566cbb56537c5)
1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0
2*f126890aSEmmanuel Vadot#include <dt-bindings/clock/tegra114-car.h>
3*f126890aSEmmanuel Vadot#include <dt-bindings/gpio/tegra-gpio.h>
4*f126890aSEmmanuel Vadot#include <dt-bindings/memory/tegra114-mc.h>
5*f126890aSEmmanuel Vadot#include <dt-bindings/pinctrl/pinctrl-tegra.h>
6*f126890aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h>
7*f126890aSEmmanuel Vadot#include <dt-bindings/soc/tegra-pmc.h>
8*f126890aSEmmanuel Vadot
9*f126890aSEmmanuel Vadot/ {
10*f126890aSEmmanuel Vadot	compatible = "nvidia,tegra114";
11*f126890aSEmmanuel Vadot	interrupt-parent = <&lic>;
12*f126890aSEmmanuel Vadot	#address-cells = <1>;
13*f126890aSEmmanuel Vadot	#size-cells = <1>;
14*f126890aSEmmanuel Vadot
15*f126890aSEmmanuel Vadot	memory@80000000 {
16*f126890aSEmmanuel Vadot		device_type = "memory";
17*f126890aSEmmanuel Vadot		reg = <0x80000000 0x0>;
18*f126890aSEmmanuel Vadot	};
19*f126890aSEmmanuel Vadot
20*f126890aSEmmanuel Vadot	sram@40000000 {
21*f126890aSEmmanuel Vadot		compatible = "mmio-sram";
22*f126890aSEmmanuel Vadot		reg = <0x40000000 0x40000>;
23*f126890aSEmmanuel Vadot		#address-cells = <1>;
24*f126890aSEmmanuel Vadot		#size-cells = <1>;
25*f126890aSEmmanuel Vadot		ranges = <0 0x40000000 0x40000>;
26*f126890aSEmmanuel Vadot
27*f126890aSEmmanuel Vadot		vde_pool: sram@400 {
28*f126890aSEmmanuel Vadot			reg = <0x400 0x3fc00>;
29*f126890aSEmmanuel Vadot			pool;
30*f126890aSEmmanuel Vadot		};
31*f126890aSEmmanuel Vadot	};
32*f126890aSEmmanuel Vadot
33*f126890aSEmmanuel Vadot	host1x@50000000 {
34*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra114-host1x";
35*f126890aSEmmanuel Vadot		reg = <0x50000000 0x00028000>;
36*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>, /* syncpt */
37*f126890aSEmmanuel Vadot			     <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; /* general */
38*f126890aSEmmanuel Vadot		interrupt-names = "syncpt", "host1x";
39*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA114_CLK_HOST1X>;
40*f126890aSEmmanuel Vadot		clock-names = "host1x";
41*f126890aSEmmanuel Vadot		resets = <&tegra_car 28>, <&mc TEGRA114_MC_RESET_HC>;
42*f126890aSEmmanuel Vadot		reset-names = "host1x", "mc";
43*f126890aSEmmanuel Vadot		iommus = <&mc TEGRA_SWGROUP_HC>;
44*f126890aSEmmanuel Vadot
45*f126890aSEmmanuel Vadot		#address-cells = <1>;
46*f126890aSEmmanuel Vadot		#size-cells = <1>;
47*f126890aSEmmanuel Vadot
48*f126890aSEmmanuel Vadot		ranges = <0x54000000 0x54000000 0x01000000>;
49*f126890aSEmmanuel Vadot
50*f126890aSEmmanuel Vadot		gr2d@54140000 {
51*f126890aSEmmanuel Vadot			compatible = "nvidia,tegra114-gr2d";
52*f126890aSEmmanuel Vadot			reg = <0x54140000 0x00040000>;
53*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
54*f126890aSEmmanuel Vadot			clocks = <&tegra_car TEGRA114_CLK_GR2D>;
55*f126890aSEmmanuel Vadot			resets = <&tegra_car 21>, <&mc TEGRA114_MC_RESET_2D>;
56*f126890aSEmmanuel Vadot			reset-names = "2d", "mc";
57*f126890aSEmmanuel Vadot
58*f126890aSEmmanuel Vadot			iommus = <&mc TEGRA_SWGROUP_G2>;
59*f126890aSEmmanuel Vadot		};
60*f126890aSEmmanuel Vadot
61*f126890aSEmmanuel Vadot		gr3d@54180000 {
62*f126890aSEmmanuel Vadot			compatible = "nvidia,tegra114-gr3d";
63*f126890aSEmmanuel Vadot			reg = <0x54180000 0x00040000>;
64*f126890aSEmmanuel Vadot			clocks = <&tegra_car TEGRA114_CLK_GR3D>;
65*f126890aSEmmanuel Vadot			resets = <&tegra_car 24>, <&mc TEGRA114_MC_RESET_3D>;
66*f126890aSEmmanuel Vadot			reset-names = "3d", "mc";
67*f126890aSEmmanuel Vadot
68*f126890aSEmmanuel Vadot			iommus = <&mc TEGRA_SWGROUP_NV>;
69*f126890aSEmmanuel Vadot		};
70*f126890aSEmmanuel Vadot
71*f126890aSEmmanuel Vadot		dc@54200000 {
72*f126890aSEmmanuel Vadot			compatible = "nvidia,tegra114-dc";
73*f126890aSEmmanuel Vadot			reg = <0x54200000 0x00040000>;
74*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
75*f126890aSEmmanuel Vadot			clocks = <&tegra_car TEGRA114_CLK_DISP1>,
76*f126890aSEmmanuel Vadot				 <&tegra_car TEGRA114_CLK_PLL_P>;
77*f126890aSEmmanuel Vadot			clock-names = "dc", "parent";
78*f126890aSEmmanuel Vadot			resets = <&tegra_car 27>;
79*f126890aSEmmanuel Vadot			reset-names = "dc";
80*f126890aSEmmanuel Vadot
81*f126890aSEmmanuel Vadot			iommus = <&mc TEGRA_SWGROUP_DC>;
82*f126890aSEmmanuel Vadot
83*f126890aSEmmanuel Vadot			nvidia,head = <0>;
84*f126890aSEmmanuel Vadot
85*f126890aSEmmanuel Vadot			rgb {
86*f126890aSEmmanuel Vadot				status = "disabled";
87*f126890aSEmmanuel Vadot			};
88*f126890aSEmmanuel Vadot		};
89*f126890aSEmmanuel Vadot
90*f126890aSEmmanuel Vadot		dc@54240000 {
91*f126890aSEmmanuel Vadot			compatible = "nvidia,tegra114-dc";
92*f126890aSEmmanuel Vadot			reg = <0x54240000 0x00040000>;
93*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
94*f126890aSEmmanuel Vadot			clocks = <&tegra_car TEGRA114_CLK_DISP2>,
95*f126890aSEmmanuel Vadot				 <&tegra_car TEGRA114_CLK_PLL_P>;
96*f126890aSEmmanuel Vadot			clock-names = "dc", "parent";
97*f126890aSEmmanuel Vadot			resets = <&tegra_car 26>;
98*f126890aSEmmanuel Vadot			reset-names = "dc";
99*f126890aSEmmanuel Vadot
100*f126890aSEmmanuel Vadot			iommus = <&mc TEGRA_SWGROUP_DCB>;
101*f126890aSEmmanuel Vadot
102*f126890aSEmmanuel Vadot			nvidia,head = <1>;
103*f126890aSEmmanuel Vadot
104*f126890aSEmmanuel Vadot			rgb {
105*f126890aSEmmanuel Vadot				status = "disabled";
106*f126890aSEmmanuel Vadot			};
107*f126890aSEmmanuel Vadot		};
108*f126890aSEmmanuel Vadot
109*f126890aSEmmanuel Vadot		hdmi@54280000 {
110*f126890aSEmmanuel Vadot			compatible = "nvidia,tegra114-hdmi";
111*f126890aSEmmanuel Vadot			reg = <0x54280000 0x00040000>;
112*f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
113*f126890aSEmmanuel Vadot			clocks = <&tegra_car TEGRA114_CLK_HDMI>,
114*f126890aSEmmanuel Vadot				 <&tegra_car TEGRA114_CLK_PLL_D2_OUT0>;
115*f126890aSEmmanuel Vadot			clock-names = "hdmi", "parent";
116*f126890aSEmmanuel Vadot			resets = <&tegra_car 51>;
117*f126890aSEmmanuel Vadot			reset-names = "hdmi";
118*f126890aSEmmanuel Vadot			status = "disabled";
119*f126890aSEmmanuel Vadot		};
120*f126890aSEmmanuel Vadot
121*f126890aSEmmanuel Vadot		dsia: dsi@54300000 {
122*f126890aSEmmanuel Vadot			compatible = "nvidia,tegra114-dsi";
123*f126890aSEmmanuel Vadot			reg = <0x54300000 0x00040000>;
124*f126890aSEmmanuel Vadot			clocks = <&tegra_car TEGRA114_CLK_DSIA>,
125*f126890aSEmmanuel Vadot				 <&tegra_car TEGRA114_CLK_DSIALP>,
126*f126890aSEmmanuel Vadot				 <&tegra_car TEGRA114_CLK_PLL_D_OUT0>;
127*f126890aSEmmanuel Vadot			clock-names = "dsi", "lp", "parent";
128*f126890aSEmmanuel Vadot			resets = <&tegra_car 48>;
129*f126890aSEmmanuel Vadot			reset-names = "dsi";
130*f126890aSEmmanuel Vadot			nvidia,mipi-calibrate = <&mipi 0x060>; /* DSIA & DSIB pads */
131*f126890aSEmmanuel Vadot			status = "disabled";
132*f126890aSEmmanuel Vadot
133*f126890aSEmmanuel Vadot			#address-cells = <1>;
134*f126890aSEmmanuel Vadot			#size-cells = <0>;
135*f126890aSEmmanuel Vadot		};
136*f126890aSEmmanuel Vadot
137*f126890aSEmmanuel Vadot		dsib: dsi@54400000 {
138*f126890aSEmmanuel Vadot			compatible = "nvidia,tegra114-dsi";
139*f126890aSEmmanuel Vadot			reg = <0x54400000 0x00040000>;
140*f126890aSEmmanuel Vadot			clocks = <&tegra_car TEGRA114_CLK_DSIB>,
141*f126890aSEmmanuel Vadot				 <&tegra_car TEGRA114_CLK_DSIBLP>,
142*f126890aSEmmanuel Vadot				 <&tegra_car TEGRA114_CLK_PLL_D2_OUT0>;
143*f126890aSEmmanuel Vadot			clock-names = "dsi", "lp", "parent";
144*f126890aSEmmanuel Vadot			resets = <&tegra_car 82>;
145*f126890aSEmmanuel Vadot			reset-names = "dsi";
146*f126890aSEmmanuel Vadot			nvidia,mipi-calibrate = <&mipi 0x180>; /* DSIC & DSID pads */
147*f126890aSEmmanuel Vadot			status = "disabled";
148*f126890aSEmmanuel Vadot
149*f126890aSEmmanuel Vadot			#address-cells = <1>;
150*f126890aSEmmanuel Vadot			#size-cells = <0>;
151*f126890aSEmmanuel Vadot		};
152*f126890aSEmmanuel Vadot	};
153*f126890aSEmmanuel Vadot
154*f126890aSEmmanuel Vadot	gic: interrupt-controller@50041000 {
155*f126890aSEmmanuel Vadot		compatible = "arm,cortex-a15-gic";
156*f126890aSEmmanuel Vadot		#interrupt-cells = <3>;
157*f126890aSEmmanuel Vadot		interrupt-controller;
158*f126890aSEmmanuel Vadot		reg = <0x50041000 0x1000>,
159*f126890aSEmmanuel Vadot		      <0x50042000 0x1000>,
160*f126890aSEmmanuel Vadot		      <0x50044000 0x2000>,
161*f126890aSEmmanuel Vadot		      <0x50046000 0x2000>;
162*f126890aSEmmanuel Vadot		interrupts = <GIC_PPI 9
163*f126890aSEmmanuel Vadot			(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
164*f126890aSEmmanuel Vadot		interrupt-parent = <&gic>;
165*f126890aSEmmanuel Vadot	};
166*f126890aSEmmanuel Vadot
167*f126890aSEmmanuel Vadot	lic: interrupt-controller@60004000 {
168*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra114-ictlr", "nvidia,tegra30-ictlr";
169*f126890aSEmmanuel Vadot		reg = <0x60004000 0x100>,
170*f126890aSEmmanuel Vadot		      <0x60004100 0x50>,
171*f126890aSEmmanuel Vadot		      <0x60004200 0x50>,
172*f126890aSEmmanuel Vadot		      <0x60004300 0x50>,
173*f126890aSEmmanuel Vadot		      <0x60004400 0x50>;
174*f126890aSEmmanuel Vadot		interrupt-controller;
175*f126890aSEmmanuel Vadot		#interrupt-cells = <3>;
176*f126890aSEmmanuel Vadot		interrupt-parent = <&gic>;
177*f126890aSEmmanuel Vadot	};
178*f126890aSEmmanuel Vadot
179*f126890aSEmmanuel Vadot	timer@60005000 {
180*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra114-timer", "nvidia,tegra30-timer";
181*f126890aSEmmanuel Vadot		reg = <0x60005000 0x400>;
182*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
183*f126890aSEmmanuel Vadot			     <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
184*f126890aSEmmanuel Vadot			     <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
185*f126890aSEmmanuel Vadot			     <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>,
186*f126890aSEmmanuel Vadot			     <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
187*f126890aSEmmanuel Vadot			     <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>;
188*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA114_CLK_TIMER>;
189*f126890aSEmmanuel Vadot	};
190*f126890aSEmmanuel Vadot
191*f126890aSEmmanuel Vadot	tegra_car: clock@60006000 {
192*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra114-car";
193*f126890aSEmmanuel Vadot		reg = <0x60006000 0x1000>;
194*f126890aSEmmanuel Vadot		#clock-cells = <1>;
195*f126890aSEmmanuel Vadot		#reset-cells = <1>;
196*f126890aSEmmanuel Vadot	};
197*f126890aSEmmanuel Vadot
198*f126890aSEmmanuel Vadot	flow-controller@60007000 {
199*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra114-flowctrl";
200*f126890aSEmmanuel Vadot		reg = <0x60007000 0x1000>;
201*f126890aSEmmanuel Vadot	};
202*f126890aSEmmanuel Vadot
203*f126890aSEmmanuel Vadot	apbdma: dma@6000a000 {
204*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra114-apbdma";
205*f126890aSEmmanuel Vadot		reg = <0x6000a000 0x1400>;
206*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
207*f126890aSEmmanuel Vadot			     <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
208*f126890aSEmmanuel Vadot			     <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
209*f126890aSEmmanuel Vadot			     <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
210*f126890aSEmmanuel Vadot			     <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
211*f126890aSEmmanuel Vadot			     <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
212*f126890aSEmmanuel Vadot			     <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
213*f126890aSEmmanuel Vadot			     <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>,
214*f126890aSEmmanuel Vadot			     <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>,
215*f126890aSEmmanuel Vadot			     <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
216*f126890aSEmmanuel Vadot			     <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
217*f126890aSEmmanuel Vadot			     <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
218*f126890aSEmmanuel Vadot			     <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
219*f126890aSEmmanuel Vadot			     <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
220*f126890aSEmmanuel Vadot			     <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
221*f126890aSEmmanuel Vadot			     <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>,
222*f126890aSEmmanuel Vadot			     <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>,
223*f126890aSEmmanuel Vadot			     <GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>,
224*f126890aSEmmanuel Vadot			     <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>,
225*f126890aSEmmanuel Vadot			     <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
226*f126890aSEmmanuel Vadot			     <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>,
227*f126890aSEmmanuel Vadot			     <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>,
228*f126890aSEmmanuel Vadot			     <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>,
229*f126890aSEmmanuel Vadot			     <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,
230*f126890aSEmmanuel Vadot			     <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>,
231*f126890aSEmmanuel Vadot			     <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>,
232*f126890aSEmmanuel Vadot			     <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>,
233*f126890aSEmmanuel Vadot			     <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>,
234*f126890aSEmmanuel Vadot			     <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>,
235*f126890aSEmmanuel Vadot			     <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>,
236*f126890aSEmmanuel Vadot			     <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
237*f126890aSEmmanuel Vadot			     <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
238*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA114_CLK_APBDMA>;
239*f126890aSEmmanuel Vadot		resets = <&tegra_car 34>;
240*f126890aSEmmanuel Vadot		reset-names = "dma";
241*f126890aSEmmanuel Vadot		#dma-cells = <1>;
242*f126890aSEmmanuel Vadot	};
243*f126890aSEmmanuel Vadot
244*f126890aSEmmanuel Vadot	ahb: ahb@6000c000 {
245*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra114-ahb", "nvidia,tegra30-ahb";
246*f126890aSEmmanuel Vadot		reg = <0x6000c000 0x150>;
247*f126890aSEmmanuel Vadot	};
248*f126890aSEmmanuel Vadot
249*f126890aSEmmanuel Vadot	gpio: gpio@6000d000 {
250*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra114-gpio", "nvidia,tegra30-gpio";
251*f126890aSEmmanuel Vadot		reg = <0x6000d000 0x1000>;
252*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>,
253*f126890aSEmmanuel Vadot			     <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>,
254*f126890aSEmmanuel Vadot			     <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>,
255*f126890aSEmmanuel Vadot			     <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>,
256*f126890aSEmmanuel Vadot			     <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>,
257*f126890aSEmmanuel Vadot			     <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>,
258*f126890aSEmmanuel Vadot			     <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>,
259*f126890aSEmmanuel Vadot			     <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>;
260*f126890aSEmmanuel Vadot		#gpio-cells = <2>;
261*f126890aSEmmanuel Vadot		gpio-controller;
262*f126890aSEmmanuel Vadot		#interrupt-cells = <2>;
263*f126890aSEmmanuel Vadot		interrupt-controller;
264*f126890aSEmmanuel Vadot		gpio-ranges = <&pinmux 0 0 246>;
265*f126890aSEmmanuel Vadot	};
266*f126890aSEmmanuel Vadot
267*f126890aSEmmanuel Vadot	vde@6001a000 {
268*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra114-vde";
269*f126890aSEmmanuel Vadot		reg = <0x6001a000 0x1000>, /* Syntax Engine */
270*f126890aSEmmanuel Vadot		      <0x6001b000 0x1000>, /* Video Bitstream Engine */
271*f126890aSEmmanuel Vadot		      <0x6001c000  0x100>, /* Macroblock Engine */
272*f126890aSEmmanuel Vadot		      <0x6001c200  0x100>, /* Post-processing Engine */
273*f126890aSEmmanuel Vadot		      <0x6001c400  0x100>, /* Motion Compensation Engine */
274*f126890aSEmmanuel Vadot		      <0x6001c600  0x100>, /* Transform Engine */
275*f126890aSEmmanuel Vadot		      <0x6001c800  0x100>, /* Pixel prediction block */
276*f126890aSEmmanuel Vadot		      <0x6001ca00  0x100>, /* Video DMA */
277*f126890aSEmmanuel Vadot		      <0x6001d800  0x400>; /* Video frame controls */
278*f126890aSEmmanuel Vadot		reg-names = "sxe", "bsev", "mbe", "ppe", "mce",
279*f126890aSEmmanuel Vadot			    "tfe", "ppb", "vdma", "frameid";
280*f126890aSEmmanuel Vadot		iram = <&vde_pool>; /* IRAM region */
281*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI  9 IRQ_TYPE_LEVEL_HIGH>, /* Sync token interrupt */
282*f126890aSEmmanuel Vadot			     <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>, /* BSE-V interrupt */
283*f126890aSEmmanuel Vadot			     <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; /* SXE interrupt */
284*f126890aSEmmanuel Vadot		interrupt-names = "sync-token", "bsev", "sxe";
285*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA114_CLK_VDE>;
286*f126890aSEmmanuel Vadot		reset-names = "vde", "mc";
287*f126890aSEmmanuel Vadot		resets = <&tegra_car 61>, <&mc TEGRA114_MC_RESET_VDE>;
288*f126890aSEmmanuel Vadot		iommus = <&mc TEGRA_SWGROUP_VDE>;
289*f126890aSEmmanuel Vadot	};
290*f126890aSEmmanuel Vadot
291*f126890aSEmmanuel Vadot	apbmisc@70000800 {
292*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra114-apbmisc", "nvidia,tegra20-apbmisc";
293*f126890aSEmmanuel Vadot		reg = <0x70000800 0x64>, /* Chip revision */
294*f126890aSEmmanuel Vadot		      <0x70000008 0x04>; /* Strapping options */
295*f126890aSEmmanuel Vadot	};
296*f126890aSEmmanuel Vadot
297*f126890aSEmmanuel Vadot	pinmux: pinmux@70000868 {
298*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra114-pinmux";
299*f126890aSEmmanuel Vadot		reg = <0x70000868 0x148>, /* Pad control registers */
300*f126890aSEmmanuel Vadot		      <0x70003000 0x40c>; /* Mux registers */
301*f126890aSEmmanuel Vadot	};
302*f126890aSEmmanuel Vadot
303*f126890aSEmmanuel Vadot	/*
304*f126890aSEmmanuel Vadot	 * There are two serial driver i.e. 8250 based simple serial
305*f126890aSEmmanuel Vadot	 * driver and APB DMA based serial driver for higher baudrate
306*f126890aSEmmanuel Vadot	 * and performace. To enable the 8250 based driver, the compatible
307*f126890aSEmmanuel Vadot	 * is "nvidia,tegra114-uart", "nvidia,tegra20-uart" and to enable
308*f126890aSEmmanuel Vadot	 * the APB DMA based serial driver, the compatible is
309*f126890aSEmmanuel Vadot	 * "nvidia,tegra114-hsuart", "nvidia,tegra30-hsuart".
310*f126890aSEmmanuel Vadot	 */
311*f126890aSEmmanuel Vadot	uarta: serial@70006000 {
312*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra114-uart", "nvidia,tegra20-uart";
313*f126890aSEmmanuel Vadot		reg = <0x70006000 0x40>;
314*f126890aSEmmanuel Vadot		reg-shift = <2>;
315*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
316*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA114_CLK_UARTA>;
317*f126890aSEmmanuel Vadot		resets = <&tegra_car 6>;
318*f126890aSEmmanuel Vadot		reset-names = "serial";
319*f126890aSEmmanuel Vadot		dmas = <&apbdma 8>, <&apbdma 8>;
320*f126890aSEmmanuel Vadot		dma-names = "rx", "tx";
321*f126890aSEmmanuel Vadot		status = "disabled";
322*f126890aSEmmanuel Vadot	};
323*f126890aSEmmanuel Vadot
324*f126890aSEmmanuel Vadot	uartb: serial@70006040 {
325*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra114-uart", "nvidia,tegra20-uart";
326*f126890aSEmmanuel Vadot		reg = <0x70006040 0x40>;
327*f126890aSEmmanuel Vadot		reg-shift = <2>;
328*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
329*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA114_CLK_UARTB>;
330*f126890aSEmmanuel Vadot		resets = <&tegra_car 7>;
331*f126890aSEmmanuel Vadot		reset-names = "serial";
332*f126890aSEmmanuel Vadot		dmas = <&apbdma 9>, <&apbdma 9>;
333*f126890aSEmmanuel Vadot		dma-names = "rx", "tx";
334*f126890aSEmmanuel Vadot		status = "disabled";
335*f126890aSEmmanuel Vadot	};
336*f126890aSEmmanuel Vadot
337*f126890aSEmmanuel Vadot	uartc: serial@70006200 {
338*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra114-uart", "nvidia,tegra20-uart";
339*f126890aSEmmanuel Vadot		reg = <0x70006200 0x100>;
340*f126890aSEmmanuel Vadot		reg-shift = <2>;
341*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
342*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA114_CLK_UARTC>;
343*f126890aSEmmanuel Vadot		resets = <&tegra_car 55>;
344*f126890aSEmmanuel Vadot		reset-names = "serial";
345*f126890aSEmmanuel Vadot		dmas = <&apbdma 10>, <&apbdma 10>;
346*f126890aSEmmanuel Vadot		dma-names = "rx", "tx";
347*f126890aSEmmanuel Vadot		status = "disabled";
348*f126890aSEmmanuel Vadot	};
349*f126890aSEmmanuel Vadot
350*f126890aSEmmanuel Vadot	uartd: serial@70006300 {
351*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra114-uart", "nvidia,tegra20-uart";
352*f126890aSEmmanuel Vadot		reg = <0x70006300 0x100>;
353*f126890aSEmmanuel Vadot		reg-shift = <2>;
354*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
355*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA114_CLK_UARTD>;
356*f126890aSEmmanuel Vadot		resets = <&tegra_car 65>;
357*f126890aSEmmanuel Vadot		reset-names = "serial";
358*f126890aSEmmanuel Vadot		dmas = <&apbdma 19>, <&apbdma 19>;
359*f126890aSEmmanuel Vadot		dma-names = "rx", "tx";
360*f126890aSEmmanuel Vadot		status = "disabled";
361*f126890aSEmmanuel Vadot	};
362*f126890aSEmmanuel Vadot
363*f126890aSEmmanuel Vadot	pwm: pwm@7000a000 {
364*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra114-pwm", "nvidia,tegra20-pwm";
365*f126890aSEmmanuel Vadot		reg = <0x7000a000 0x100>;
366*f126890aSEmmanuel Vadot		#pwm-cells = <2>;
367*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA114_CLK_PWM>;
368*f126890aSEmmanuel Vadot		resets = <&tegra_car 17>;
369*f126890aSEmmanuel Vadot		reset-names = "pwm";
370*f126890aSEmmanuel Vadot		status = "disabled";
371*f126890aSEmmanuel Vadot	};
372*f126890aSEmmanuel Vadot
373*f126890aSEmmanuel Vadot	i2c@7000c000 {
374*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra114-i2c";
375*f126890aSEmmanuel Vadot		reg = <0x7000c000 0x100>;
376*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
377*f126890aSEmmanuel Vadot		#address-cells = <1>;
378*f126890aSEmmanuel Vadot		#size-cells = <0>;
379*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA114_CLK_I2C1>;
380*f126890aSEmmanuel Vadot		clock-names = "div-clk";
381*f126890aSEmmanuel Vadot		resets = <&tegra_car 12>;
382*f126890aSEmmanuel Vadot		reset-names = "i2c";
383*f126890aSEmmanuel Vadot		dmas = <&apbdma 21>, <&apbdma 21>;
384*f126890aSEmmanuel Vadot		dma-names = "rx", "tx";
385*f126890aSEmmanuel Vadot		status = "disabled";
386*f126890aSEmmanuel Vadot	};
387*f126890aSEmmanuel Vadot
388*f126890aSEmmanuel Vadot	i2c@7000c400 {
389*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra114-i2c";
390*f126890aSEmmanuel Vadot		reg = <0x7000c400 0x100>;
391*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
392*f126890aSEmmanuel Vadot		#address-cells = <1>;
393*f126890aSEmmanuel Vadot		#size-cells = <0>;
394*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA114_CLK_I2C2>;
395*f126890aSEmmanuel Vadot		clock-names = "div-clk";
396*f126890aSEmmanuel Vadot		resets = <&tegra_car 54>;
397*f126890aSEmmanuel Vadot		reset-names = "i2c";
398*f126890aSEmmanuel Vadot		dmas = <&apbdma 22>, <&apbdma 22>;
399*f126890aSEmmanuel Vadot		dma-names = "rx", "tx";
400*f126890aSEmmanuel Vadot		status = "disabled";
401*f126890aSEmmanuel Vadot	};
402*f126890aSEmmanuel Vadot
403*f126890aSEmmanuel Vadot	i2c@7000c500 {
404*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra114-i2c";
405*f126890aSEmmanuel Vadot		reg = <0x7000c500 0x100>;
406*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
407*f126890aSEmmanuel Vadot		#address-cells = <1>;
408*f126890aSEmmanuel Vadot		#size-cells = <0>;
409*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA114_CLK_I2C3>;
410*f126890aSEmmanuel Vadot		clock-names = "div-clk";
411*f126890aSEmmanuel Vadot		resets = <&tegra_car 67>;
412*f126890aSEmmanuel Vadot		reset-names = "i2c";
413*f126890aSEmmanuel Vadot		dmas = <&apbdma 23>, <&apbdma 23>;
414*f126890aSEmmanuel Vadot		dma-names = "rx", "tx";
415*f126890aSEmmanuel Vadot		status = "disabled";
416*f126890aSEmmanuel Vadot	};
417*f126890aSEmmanuel Vadot
418*f126890aSEmmanuel Vadot	i2c@7000c700 {
419*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra114-i2c";
420*f126890aSEmmanuel Vadot		reg = <0x7000c700 0x100>;
421*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
422*f126890aSEmmanuel Vadot		#address-cells = <1>;
423*f126890aSEmmanuel Vadot		#size-cells = <0>;
424*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA114_CLK_I2C4>;
425*f126890aSEmmanuel Vadot		clock-names = "div-clk";
426*f126890aSEmmanuel Vadot		resets = <&tegra_car 103>;
427*f126890aSEmmanuel Vadot		reset-names = "i2c";
428*f126890aSEmmanuel Vadot		dmas = <&apbdma 26>, <&apbdma 26>;
429*f126890aSEmmanuel Vadot		dma-names = "rx", "tx";
430*f126890aSEmmanuel Vadot		status = "disabled";
431*f126890aSEmmanuel Vadot	};
432*f126890aSEmmanuel Vadot
433*f126890aSEmmanuel Vadot	i2c@7000d000 {
434*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra114-i2c";
435*f126890aSEmmanuel Vadot		reg = <0x7000d000 0x100>;
436*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
437*f126890aSEmmanuel Vadot		#address-cells = <1>;
438*f126890aSEmmanuel Vadot		#size-cells = <0>;
439*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA114_CLK_I2C5>;
440*f126890aSEmmanuel Vadot		clock-names = "div-clk";
441*f126890aSEmmanuel Vadot		resets = <&tegra_car 47>;
442*f126890aSEmmanuel Vadot		reset-names = "i2c";
443*f126890aSEmmanuel Vadot		dmas = <&apbdma 24>, <&apbdma 24>;
444*f126890aSEmmanuel Vadot		dma-names = "rx", "tx";
445*f126890aSEmmanuel Vadot		status = "disabled";
446*f126890aSEmmanuel Vadot	};
447*f126890aSEmmanuel Vadot
448*f126890aSEmmanuel Vadot	spi@7000d400 {
449*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra114-spi";
450*f126890aSEmmanuel Vadot		reg = <0x7000d400 0x200>;
451*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
452*f126890aSEmmanuel Vadot		#address-cells = <1>;
453*f126890aSEmmanuel Vadot		#size-cells = <0>;
454*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA114_CLK_SBC1>;
455*f126890aSEmmanuel Vadot		clock-names = "spi";
456*f126890aSEmmanuel Vadot		resets = <&tegra_car 41>;
457*f126890aSEmmanuel Vadot		reset-names = "spi";
458*f126890aSEmmanuel Vadot		dmas = <&apbdma 15>, <&apbdma 15>;
459*f126890aSEmmanuel Vadot		dma-names = "rx", "tx";
460*f126890aSEmmanuel Vadot		status = "disabled";
461*f126890aSEmmanuel Vadot	};
462*f126890aSEmmanuel Vadot
463*f126890aSEmmanuel Vadot	spi@7000d600 {
464*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra114-spi";
465*f126890aSEmmanuel Vadot		reg = <0x7000d600 0x200>;
466*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
467*f126890aSEmmanuel Vadot		#address-cells = <1>;
468*f126890aSEmmanuel Vadot		#size-cells = <0>;
469*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA114_CLK_SBC2>;
470*f126890aSEmmanuel Vadot		clock-names = "spi";
471*f126890aSEmmanuel Vadot		resets = <&tegra_car 44>;
472*f126890aSEmmanuel Vadot		reset-names = "spi";
473*f126890aSEmmanuel Vadot		dmas = <&apbdma 16>, <&apbdma 16>;
474*f126890aSEmmanuel Vadot		dma-names = "rx", "tx";
475*f126890aSEmmanuel Vadot		status = "disabled";
476*f126890aSEmmanuel Vadot	};
477*f126890aSEmmanuel Vadot
478*f126890aSEmmanuel Vadot	spi@7000d800 {
479*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra114-spi";
480*f126890aSEmmanuel Vadot		reg = <0x7000d800 0x200>;
481*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
482*f126890aSEmmanuel Vadot		#address-cells = <1>;
483*f126890aSEmmanuel Vadot		#size-cells = <0>;
484*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA114_CLK_SBC3>;
485*f126890aSEmmanuel Vadot		clock-names = "spi";
486*f126890aSEmmanuel Vadot		resets = <&tegra_car 46>;
487*f126890aSEmmanuel Vadot		reset-names = "spi";
488*f126890aSEmmanuel Vadot		dmas = <&apbdma 17>, <&apbdma 17>;
489*f126890aSEmmanuel Vadot		dma-names = "rx", "tx";
490*f126890aSEmmanuel Vadot		status = "disabled";
491*f126890aSEmmanuel Vadot	};
492*f126890aSEmmanuel Vadot
493*f126890aSEmmanuel Vadot	spi@7000da00 {
494*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra114-spi";
495*f126890aSEmmanuel Vadot		reg = <0x7000da00 0x200>;
496*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
497*f126890aSEmmanuel Vadot		#address-cells = <1>;
498*f126890aSEmmanuel Vadot		#size-cells = <0>;
499*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA114_CLK_SBC4>;
500*f126890aSEmmanuel Vadot		clock-names = "spi";
501*f126890aSEmmanuel Vadot		resets = <&tegra_car 68>;
502*f126890aSEmmanuel Vadot		reset-names = "spi";
503*f126890aSEmmanuel Vadot		dmas = <&apbdma 18>, <&apbdma 18>;
504*f126890aSEmmanuel Vadot		dma-names = "rx", "tx";
505*f126890aSEmmanuel Vadot		status = "disabled";
506*f126890aSEmmanuel Vadot	};
507*f126890aSEmmanuel Vadot
508*f126890aSEmmanuel Vadot	spi@7000dc00 {
509*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra114-spi";
510*f126890aSEmmanuel Vadot		reg = <0x7000dc00 0x200>;
511*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
512*f126890aSEmmanuel Vadot		#address-cells = <1>;
513*f126890aSEmmanuel Vadot		#size-cells = <0>;
514*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA114_CLK_SBC5>;
515*f126890aSEmmanuel Vadot		clock-names = "spi";
516*f126890aSEmmanuel Vadot		resets = <&tegra_car 104>;
517*f126890aSEmmanuel Vadot		reset-names = "spi";
518*f126890aSEmmanuel Vadot		dmas = <&apbdma 27>, <&apbdma 27>;
519*f126890aSEmmanuel Vadot		dma-names = "rx", "tx";
520*f126890aSEmmanuel Vadot		status = "disabled";
521*f126890aSEmmanuel Vadot	};
522*f126890aSEmmanuel Vadot
523*f126890aSEmmanuel Vadot	spi@7000de00 {
524*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra114-spi";
525*f126890aSEmmanuel Vadot		reg = <0x7000de00 0x200>;
526*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
527*f126890aSEmmanuel Vadot		#address-cells = <1>;
528*f126890aSEmmanuel Vadot		#size-cells = <0>;
529*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA114_CLK_SBC6>;
530*f126890aSEmmanuel Vadot		clock-names = "spi";
531*f126890aSEmmanuel Vadot		resets = <&tegra_car 105>;
532*f126890aSEmmanuel Vadot		reset-names = "spi";
533*f126890aSEmmanuel Vadot		dmas = <&apbdma 28>, <&apbdma 28>;
534*f126890aSEmmanuel Vadot		dma-names = "rx", "tx";
535*f126890aSEmmanuel Vadot		status = "disabled";
536*f126890aSEmmanuel Vadot	};
537*f126890aSEmmanuel Vadot
538*f126890aSEmmanuel Vadot	rtc@7000e000 {
539*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra114-rtc", "nvidia,tegra20-rtc";
540*f126890aSEmmanuel Vadot		reg = <0x7000e000 0x100>;
541*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
542*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA114_CLK_RTC>;
543*f126890aSEmmanuel Vadot	};
544*f126890aSEmmanuel Vadot
545*f126890aSEmmanuel Vadot	kbc@7000e200 {
546*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra114-kbc";
547*f126890aSEmmanuel Vadot		reg = <0x7000e200 0x100>;
548*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
549*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA114_CLK_KBC>;
550*f126890aSEmmanuel Vadot		resets = <&tegra_car 36>;
551*f126890aSEmmanuel Vadot		reset-names = "kbc";
552*f126890aSEmmanuel Vadot		status = "disabled";
553*f126890aSEmmanuel Vadot	};
554*f126890aSEmmanuel Vadot
555*f126890aSEmmanuel Vadot	tegra_pmc: pmc@7000e400 {
556*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra114-pmc";
557*f126890aSEmmanuel Vadot		reg = <0x7000e400 0x400>;
558*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA114_CLK_PCLK>, <&clk32k_in>;
559*f126890aSEmmanuel Vadot		clock-names = "pclk", "clk32k_in";
560*f126890aSEmmanuel Vadot		#clock-cells = <1>;
561*f126890aSEmmanuel Vadot	};
562*f126890aSEmmanuel Vadot
563*f126890aSEmmanuel Vadot	fuse@7000f800 {
564*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra114-efuse";
565*f126890aSEmmanuel Vadot		reg = <0x7000f800 0x400>;
566*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA114_CLK_FUSE>;
567*f126890aSEmmanuel Vadot		clock-names = "fuse";
568*f126890aSEmmanuel Vadot		resets = <&tegra_car 39>;
569*f126890aSEmmanuel Vadot		reset-names = "fuse";
570*f126890aSEmmanuel Vadot	};
571*f126890aSEmmanuel Vadot
572*f126890aSEmmanuel Vadot	mc: memory-controller@70019000 {
573*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra114-mc";
574*f126890aSEmmanuel Vadot		reg = <0x70019000 0x1000>;
575*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA114_CLK_MC>;
576*f126890aSEmmanuel Vadot		clock-names = "mc";
577*f126890aSEmmanuel Vadot
578*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
579*f126890aSEmmanuel Vadot
580*f126890aSEmmanuel Vadot		#reset-cells = <1>;
581*f126890aSEmmanuel Vadot		#iommu-cells = <1>;
582*f126890aSEmmanuel Vadot	};
583*f126890aSEmmanuel Vadot
584*f126890aSEmmanuel Vadot	ahub@70080000 {
585*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra114-ahub";
586*f126890aSEmmanuel Vadot		reg = <0x70080000 0x200>,
587*f126890aSEmmanuel Vadot		      <0x70080200 0x100>,
588*f126890aSEmmanuel Vadot		      <0x70081000 0x200>;
589*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
590*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA114_CLK_D_AUDIO>,
591*f126890aSEmmanuel Vadot			 <&tegra_car TEGRA114_CLK_APBIF>;
592*f126890aSEmmanuel Vadot		clock-names = "d_audio", "apbif";
593*f126890aSEmmanuel Vadot		resets = <&tegra_car 106>, /* d_audio */
594*f126890aSEmmanuel Vadot			 <&tegra_car 107>, /* apbif */
595*f126890aSEmmanuel Vadot			 <&tegra_car 30>,  /* i2s0 */
596*f126890aSEmmanuel Vadot			 <&tegra_car 11>,  /* i2s1 */
597*f126890aSEmmanuel Vadot			 <&tegra_car 18>,  /* i2s2 */
598*f126890aSEmmanuel Vadot			 <&tegra_car 101>, /* i2s3 */
599*f126890aSEmmanuel Vadot			 <&tegra_car 102>, /* i2s4 */
600*f126890aSEmmanuel Vadot			 <&tegra_car 108>, /* dam0 */
601*f126890aSEmmanuel Vadot			 <&tegra_car 109>, /* dam1 */
602*f126890aSEmmanuel Vadot			 <&tegra_car 110>, /* dam2 */
603*f126890aSEmmanuel Vadot			 <&tegra_car 10>,  /* spdif */
604*f126890aSEmmanuel Vadot			 <&tegra_car 153>, /* amx */
605*f126890aSEmmanuel Vadot			 <&tegra_car 154>; /* adx */
606*f126890aSEmmanuel Vadot		reset-names = "d_audio", "apbif", "i2s0", "i2s1", "i2s2",
607*f126890aSEmmanuel Vadot			      "i2s3", "i2s4", "dam0", "dam1", "dam2",
608*f126890aSEmmanuel Vadot			      "spdif", "amx", "adx";
609*f126890aSEmmanuel Vadot		dmas = <&apbdma 1>, <&apbdma 1>,
610*f126890aSEmmanuel Vadot		       <&apbdma 2>, <&apbdma 2>,
611*f126890aSEmmanuel Vadot		       <&apbdma 3>, <&apbdma 3>,
612*f126890aSEmmanuel Vadot		       <&apbdma 4>, <&apbdma 4>,
613*f126890aSEmmanuel Vadot		       <&apbdma 6>, <&apbdma 6>,
614*f126890aSEmmanuel Vadot		       <&apbdma 7>, <&apbdma 7>,
615*f126890aSEmmanuel Vadot		       <&apbdma 12>, <&apbdma 12>,
616*f126890aSEmmanuel Vadot		       <&apbdma 13>, <&apbdma 13>,
617*f126890aSEmmanuel Vadot		       <&apbdma 14>, <&apbdma 14>,
618*f126890aSEmmanuel Vadot		       <&apbdma 29>, <&apbdma 29>;
619*f126890aSEmmanuel Vadot		dma-names = "rx0", "tx0", "rx1", "tx1", "rx2", "tx2",
620*f126890aSEmmanuel Vadot			    "rx3", "tx3", "rx4", "tx4", "rx5", "tx5",
621*f126890aSEmmanuel Vadot			    "rx6", "tx6", "rx7", "tx7", "rx8", "tx8",
622*f126890aSEmmanuel Vadot			    "rx9", "tx9";
623*f126890aSEmmanuel Vadot		ranges;
624*f126890aSEmmanuel Vadot		#address-cells = <1>;
625*f126890aSEmmanuel Vadot		#size-cells = <1>;
626*f126890aSEmmanuel Vadot
627*f126890aSEmmanuel Vadot		tegra_i2s0: i2s@70080300 {
628*f126890aSEmmanuel Vadot			compatible = "nvidia,tegra114-i2s", "nvidia,tegra30-i2s";
629*f126890aSEmmanuel Vadot			reg = <0x70080300 0x100>;
630*f126890aSEmmanuel Vadot			nvidia,ahub-cif-ids = <4 4>;
631*f126890aSEmmanuel Vadot			clocks = <&tegra_car TEGRA114_CLK_I2S0>;
632*f126890aSEmmanuel Vadot			resets = <&tegra_car 30>;
633*f126890aSEmmanuel Vadot			reset-names = "i2s";
634*f126890aSEmmanuel Vadot			status = "disabled";
635*f126890aSEmmanuel Vadot		};
636*f126890aSEmmanuel Vadot
637*f126890aSEmmanuel Vadot		tegra_i2s1: i2s@70080400 {
638*f126890aSEmmanuel Vadot			compatible = "nvidia,tegra114-i2s", "nvidia,tegra30-i2s";
639*f126890aSEmmanuel Vadot			reg = <0x70080400 0x100>;
640*f126890aSEmmanuel Vadot			nvidia,ahub-cif-ids = <5 5>;
641*f126890aSEmmanuel Vadot			clocks = <&tegra_car TEGRA114_CLK_I2S1>;
642*f126890aSEmmanuel Vadot			resets = <&tegra_car 11>;
643*f126890aSEmmanuel Vadot			reset-names = "i2s";
644*f126890aSEmmanuel Vadot			status = "disabled";
645*f126890aSEmmanuel Vadot		};
646*f126890aSEmmanuel Vadot
647*f126890aSEmmanuel Vadot		tegra_i2s2: i2s@70080500 {
648*f126890aSEmmanuel Vadot			compatible = "nvidia,tegra114-i2s", "nvidia,tegra30-i2s";
649*f126890aSEmmanuel Vadot			reg = <0x70080500 0x100>;
650*f126890aSEmmanuel Vadot			nvidia,ahub-cif-ids = <6 6>;
651*f126890aSEmmanuel Vadot			clocks = <&tegra_car TEGRA114_CLK_I2S2>;
652*f126890aSEmmanuel Vadot			resets = <&tegra_car 18>;
653*f126890aSEmmanuel Vadot			reset-names = "i2s";
654*f126890aSEmmanuel Vadot			status = "disabled";
655*f126890aSEmmanuel Vadot		};
656*f126890aSEmmanuel Vadot
657*f126890aSEmmanuel Vadot		tegra_i2s3: i2s@70080600 {
658*f126890aSEmmanuel Vadot			compatible = "nvidia,tegra114-i2s", "nvidia,tegra30-i2s";
659*f126890aSEmmanuel Vadot			reg = <0x70080600 0x100>;
660*f126890aSEmmanuel Vadot			nvidia,ahub-cif-ids = <7 7>;
661*f126890aSEmmanuel Vadot			clocks = <&tegra_car TEGRA114_CLK_I2S3>;
662*f126890aSEmmanuel Vadot			resets = <&tegra_car 101>;
663*f126890aSEmmanuel Vadot			reset-names = "i2s";
664*f126890aSEmmanuel Vadot			status = "disabled";
665*f126890aSEmmanuel Vadot		};
666*f126890aSEmmanuel Vadot
667*f126890aSEmmanuel Vadot		tegra_i2s4: i2s@70080700 {
668*f126890aSEmmanuel Vadot			compatible = "nvidia,tegra114-i2s", "nvidia,tegra30-i2s";
669*f126890aSEmmanuel Vadot			reg = <0x70080700 0x100>;
670*f126890aSEmmanuel Vadot			nvidia,ahub-cif-ids = <8 8>;
671*f126890aSEmmanuel Vadot			clocks = <&tegra_car TEGRA114_CLK_I2S4>;
672*f126890aSEmmanuel Vadot			resets = <&tegra_car 102>;
673*f126890aSEmmanuel Vadot			reset-names = "i2s";
674*f126890aSEmmanuel Vadot			status = "disabled";
675*f126890aSEmmanuel Vadot		};
676*f126890aSEmmanuel Vadot	};
677*f126890aSEmmanuel Vadot
678*f126890aSEmmanuel Vadot	mipi: mipi@700e3000 {
679*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra114-mipi";
680*f126890aSEmmanuel Vadot		reg = <0x700e3000 0x100>;
681*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA114_CLK_MIPI_CAL>;
682*f126890aSEmmanuel Vadot		#nvidia,mipi-calibrate-cells = <1>;
683*f126890aSEmmanuel Vadot	};
684*f126890aSEmmanuel Vadot
685*f126890aSEmmanuel Vadot	mmc@78000000 {
686*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra114-sdhci";
687*f126890aSEmmanuel Vadot		reg = <0x78000000 0x200>;
688*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
689*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA114_CLK_SDMMC1>;
690*f126890aSEmmanuel Vadot		clock-names = "sdhci";
691*f126890aSEmmanuel Vadot		resets = <&tegra_car 14>;
692*f126890aSEmmanuel Vadot		reset-names = "sdhci";
693*f126890aSEmmanuel Vadot		status = "disabled";
694*f126890aSEmmanuel Vadot	};
695*f126890aSEmmanuel Vadot
696*f126890aSEmmanuel Vadot	mmc@78000200 {
697*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra114-sdhci";
698*f126890aSEmmanuel Vadot		reg = <0x78000200 0x200>;
699*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
700*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA114_CLK_SDMMC2>;
701*f126890aSEmmanuel Vadot		clock-names = "sdhci";
702*f126890aSEmmanuel Vadot		resets = <&tegra_car 9>;
703*f126890aSEmmanuel Vadot		reset-names = "sdhci";
704*f126890aSEmmanuel Vadot		status = "disabled";
705*f126890aSEmmanuel Vadot	};
706*f126890aSEmmanuel Vadot
707*f126890aSEmmanuel Vadot	mmc@78000400 {
708*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra114-sdhci";
709*f126890aSEmmanuel Vadot		reg = <0x78000400 0x200>;
710*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
711*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA114_CLK_SDMMC3>;
712*f126890aSEmmanuel Vadot		clock-names = "sdhci";
713*f126890aSEmmanuel Vadot		resets = <&tegra_car 69>;
714*f126890aSEmmanuel Vadot		reset-names = "sdhci";
715*f126890aSEmmanuel Vadot		status = "disabled";
716*f126890aSEmmanuel Vadot	};
717*f126890aSEmmanuel Vadot
718*f126890aSEmmanuel Vadot	mmc@78000600 {
719*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra114-sdhci";
720*f126890aSEmmanuel Vadot		reg = <0x78000600 0x200>;
721*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
722*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA114_CLK_SDMMC4>;
723*f126890aSEmmanuel Vadot		clock-names = "sdhci";
724*f126890aSEmmanuel Vadot		resets = <&tegra_car 15>;
725*f126890aSEmmanuel Vadot		reset-names = "sdhci";
726*f126890aSEmmanuel Vadot		status = "disabled";
727*f126890aSEmmanuel Vadot	};
728*f126890aSEmmanuel Vadot
729*f126890aSEmmanuel Vadot	usb@7d000000 {
730*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra114-ehci", "nvidia,tegra30-ehci";
731*f126890aSEmmanuel Vadot		reg = <0x7d000000 0x4000>;
732*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
733*f126890aSEmmanuel Vadot		phy_type = "utmi";
734*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA114_CLK_USBD>;
735*f126890aSEmmanuel Vadot		resets = <&tegra_car 22>;
736*f126890aSEmmanuel Vadot		reset-names = "usb";
737*f126890aSEmmanuel Vadot		nvidia,phy = <&phy1>;
738*f126890aSEmmanuel Vadot		status = "disabled";
739*f126890aSEmmanuel Vadot	};
740*f126890aSEmmanuel Vadot
741*f126890aSEmmanuel Vadot	phy1: usb-phy@7d000000 {
742*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra114-usb-phy", "nvidia,tegra30-usb-phy";
743*f126890aSEmmanuel Vadot		reg = <0x7d000000 0x4000>,
744*f126890aSEmmanuel Vadot		      <0x7d000000 0x4000>;
745*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
746*f126890aSEmmanuel Vadot		phy_type = "utmi";
747*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA114_CLK_USBD>,
748*f126890aSEmmanuel Vadot			 <&tegra_car TEGRA114_CLK_PLL_U>,
749*f126890aSEmmanuel Vadot			 <&tegra_car TEGRA114_CLK_USBD>;
750*f126890aSEmmanuel Vadot		clock-names = "reg", "pll_u", "utmi-pads";
751*f126890aSEmmanuel Vadot		resets = <&tegra_car 22>, <&tegra_car 22>;
752*f126890aSEmmanuel Vadot		reset-names = "usb", "utmi-pads";
753*f126890aSEmmanuel Vadot		#phy-cells = <0>;
754*f126890aSEmmanuel Vadot		nvidia,hssync-start-delay = <0>;
755*f126890aSEmmanuel Vadot		nvidia,idle-wait-delay = <17>;
756*f126890aSEmmanuel Vadot		nvidia,elastic-limit = <16>;
757*f126890aSEmmanuel Vadot		nvidia,term-range-adj = <6>;
758*f126890aSEmmanuel Vadot		nvidia,xcvr-setup = <9>;
759*f126890aSEmmanuel Vadot		nvidia,xcvr-lsfslew = <0>;
760*f126890aSEmmanuel Vadot		nvidia,xcvr-lsrslew = <3>;
761*f126890aSEmmanuel Vadot		nvidia,hssquelch-level = <2>;
762*f126890aSEmmanuel Vadot		nvidia,hsdiscon-level = <5>;
763*f126890aSEmmanuel Vadot		nvidia,xcvr-hsslew = <12>;
764*f126890aSEmmanuel Vadot		nvidia,has-utmi-pad-registers;
765*f126890aSEmmanuel Vadot		nvidia,pmc = <&tegra_pmc 0>;
766*f126890aSEmmanuel Vadot		status = "disabled";
767*f126890aSEmmanuel Vadot	};
768*f126890aSEmmanuel Vadot
769*f126890aSEmmanuel Vadot	usb@7d008000 {
770*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra114-ehci", "nvidia,tegra30-ehci";
771*f126890aSEmmanuel Vadot		reg = <0x7d008000 0x4000>;
772*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
773*f126890aSEmmanuel Vadot		phy_type = "utmi";
774*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA114_CLK_USB3>;
775*f126890aSEmmanuel Vadot		resets = <&tegra_car 59>;
776*f126890aSEmmanuel Vadot		reset-names = "usb";
777*f126890aSEmmanuel Vadot		nvidia,phy = <&phy3>;
778*f126890aSEmmanuel Vadot		status = "disabled";
779*f126890aSEmmanuel Vadot	};
780*f126890aSEmmanuel Vadot
781*f126890aSEmmanuel Vadot	phy3: usb-phy@7d008000 {
782*f126890aSEmmanuel Vadot		compatible = "nvidia,tegra114-usb-phy", "nvidia,tegra30-usb-phy";
783*f126890aSEmmanuel Vadot		reg = <0x7d008000 0x4000>,
784*f126890aSEmmanuel Vadot		      <0x7d000000 0x4000>;
785*f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
786*f126890aSEmmanuel Vadot		phy_type = "utmi";
787*f126890aSEmmanuel Vadot		clocks = <&tegra_car TEGRA114_CLK_USB3>,
788*f126890aSEmmanuel Vadot			 <&tegra_car TEGRA114_CLK_PLL_U>,
789*f126890aSEmmanuel Vadot			 <&tegra_car TEGRA114_CLK_USBD>;
790*f126890aSEmmanuel Vadot		clock-names = "reg", "pll_u", "utmi-pads";
791*f126890aSEmmanuel Vadot		resets = <&tegra_car 59>, <&tegra_car 22>;
792*f126890aSEmmanuel Vadot		reset-names = "usb", "utmi-pads";
793*f126890aSEmmanuel Vadot		#phy-cells = <0>;
794*f126890aSEmmanuel Vadot		nvidia,hssync-start-delay = <0>;
795*f126890aSEmmanuel Vadot		nvidia,idle-wait-delay = <17>;
796*f126890aSEmmanuel Vadot		nvidia,elastic-limit = <16>;
797*f126890aSEmmanuel Vadot		nvidia,term-range-adj = <6>;
798*f126890aSEmmanuel Vadot		nvidia,xcvr-setup = <9>;
799*f126890aSEmmanuel Vadot		nvidia,xcvr-lsfslew = <0>;
800*f126890aSEmmanuel Vadot		nvidia,xcvr-lsrslew = <3>;
801*f126890aSEmmanuel Vadot		nvidia,hssquelch-level = <2>;
802*f126890aSEmmanuel Vadot		nvidia,hsdiscon-level = <5>;
803*f126890aSEmmanuel Vadot		nvidia,xcvr-hsslew = <12>;
804*f126890aSEmmanuel Vadot		nvidia,pmc = <&tegra_pmc 2>;
805*f126890aSEmmanuel Vadot		status = "disabled";
806*f126890aSEmmanuel Vadot	};
807*f126890aSEmmanuel Vadot
808*f126890aSEmmanuel Vadot	cpus {
809*f126890aSEmmanuel Vadot		#address-cells = <1>;
810*f126890aSEmmanuel Vadot		#size-cells = <0>;
811*f126890aSEmmanuel Vadot
812*f126890aSEmmanuel Vadot		cpu@0 {
813*f126890aSEmmanuel Vadot			device_type = "cpu";
814*f126890aSEmmanuel Vadot			compatible = "arm,cortex-a15";
815*f126890aSEmmanuel Vadot			reg = <0>;
816*f126890aSEmmanuel Vadot		};
817*f126890aSEmmanuel Vadot
818*f126890aSEmmanuel Vadot		cpu@1 {
819*f126890aSEmmanuel Vadot			device_type = "cpu";
820*f126890aSEmmanuel Vadot			compatible = "arm,cortex-a15";
821*f126890aSEmmanuel Vadot			reg = <1>;
822*f126890aSEmmanuel Vadot		};
823*f126890aSEmmanuel Vadot
824*f126890aSEmmanuel Vadot		cpu@2 {
825*f126890aSEmmanuel Vadot			device_type = "cpu";
826*f126890aSEmmanuel Vadot			compatible = "arm,cortex-a15";
827*f126890aSEmmanuel Vadot			reg = <2>;
828*f126890aSEmmanuel Vadot		};
829*f126890aSEmmanuel Vadot
830*f126890aSEmmanuel Vadot		cpu@3 {
831*f126890aSEmmanuel Vadot			device_type = "cpu";
832*f126890aSEmmanuel Vadot			compatible = "arm,cortex-a15";
833*f126890aSEmmanuel Vadot			reg = <3>;
834*f126890aSEmmanuel Vadot		};
835*f126890aSEmmanuel Vadot	};
836*f126890aSEmmanuel Vadot
837*f126890aSEmmanuel Vadot	timer {
838*f126890aSEmmanuel Vadot		compatible = "arm,armv7-timer";
839*f126890aSEmmanuel Vadot		interrupts =
840*f126890aSEmmanuel Vadot			<GIC_PPI 13
841*f126890aSEmmanuel Vadot				(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
842*f126890aSEmmanuel Vadot			<GIC_PPI 14
843*f126890aSEmmanuel Vadot				(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
844*f126890aSEmmanuel Vadot			<GIC_PPI 11
845*f126890aSEmmanuel Vadot				(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
846*f126890aSEmmanuel Vadot			<GIC_PPI 10
847*f126890aSEmmanuel Vadot				(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
848*f126890aSEmmanuel Vadot		interrupt-parent = <&gic>;
849*f126890aSEmmanuel Vadot	};
850*f126890aSEmmanuel Vadot};
851