xref: /OK3568_Linux_fs/kernel/arch/arm64/boot/dts/nvidia/tegra186.dtsi (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun// SPDX-License-Identifier: GPL-2.0
2*4882a593Smuzhiyun#include <dt-bindings/clock/tegra186-clock.h>
3*4882a593Smuzhiyun#include <dt-bindings/gpio/tegra186-gpio.h>
4*4882a593Smuzhiyun#include <dt-bindings/interrupt-controller/arm-gic.h>
5*4882a593Smuzhiyun#include <dt-bindings/mailbox/tegra186-hsp.h>
6*4882a593Smuzhiyun#include <dt-bindings/memory/tegra186-mc.h>
7*4882a593Smuzhiyun#include <dt-bindings/pinctrl/pinctrl-tegra-io-pad.h>
8*4882a593Smuzhiyun#include <dt-bindings/power/tegra186-powergate.h>
9*4882a593Smuzhiyun#include <dt-bindings/reset/tegra186-reset.h>
10*4882a593Smuzhiyun#include <dt-bindings/thermal/tegra186-bpmp-thermal.h>
11*4882a593Smuzhiyun
12*4882a593Smuzhiyun/ {
13*4882a593Smuzhiyun	compatible = "nvidia,tegra186";
14*4882a593Smuzhiyun	interrupt-parent = <&gic>;
15*4882a593Smuzhiyun	#address-cells = <2>;
16*4882a593Smuzhiyun	#size-cells = <2>;
17*4882a593Smuzhiyun
18*4882a593Smuzhiyun	misc@100000 {
19*4882a593Smuzhiyun		compatible = "nvidia,tegra186-misc";
20*4882a593Smuzhiyun		reg = <0x0 0x00100000 0x0 0xf000>,
21*4882a593Smuzhiyun		      <0x0 0x0010f000 0x0 0x1000>;
22*4882a593Smuzhiyun	};
23*4882a593Smuzhiyun
24*4882a593Smuzhiyun	gpio: gpio@2200000 {
25*4882a593Smuzhiyun		compatible = "nvidia,tegra186-gpio";
26*4882a593Smuzhiyun		reg-names = "security", "gpio";
27*4882a593Smuzhiyun		reg = <0x0 0x2200000 0x0 0x10000>,
28*4882a593Smuzhiyun		      <0x0 0x2210000 0x0 0x10000>;
29*4882a593Smuzhiyun		interrupts = <GIC_SPI  47 IRQ_TYPE_LEVEL_HIGH>,
30*4882a593Smuzhiyun			     <GIC_SPI  50 IRQ_TYPE_LEVEL_HIGH>,
31*4882a593Smuzhiyun			     <GIC_SPI  53 IRQ_TYPE_LEVEL_HIGH>,
32*4882a593Smuzhiyun			     <GIC_SPI  56 IRQ_TYPE_LEVEL_HIGH>,
33*4882a593Smuzhiyun			     <GIC_SPI  59 IRQ_TYPE_LEVEL_HIGH>,
34*4882a593Smuzhiyun			     <GIC_SPI 180 IRQ_TYPE_LEVEL_HIGH>;
35*4882a593Smuzhiyun		#interrupt-cells = <2>;
36*4882a593Smuzhiyun		interrupt-controller;
37*4882a593Smuzhiyun		#gpio-cells = <2>;
38*4882a593Smuzhiyun		gpio-controller;
39*4882a593Smuzhiyun	};
40*4882a593Smuzhiyun
41*4882a593Smuzhiyun	ethernet@2490000 {
42*4882a593Smuzhiyun		compatible = "nvidia,tegra186-eqos",
43*4882a593Smuzhiyun			     "snps,dwc-qos-ethernet-4.10";
44*4882a593Smuzhiyun		reg = <0x0 0x02490000 0x0 0x10000>;
45*4882a593Smuzhiyun		interrupts = <GIC_SPI 194 IRQ_TYPE_LEVEL_HIGH>, /* common */
46*4882a593Smuzhiyun			     <GIC_SPI 195 IRQ_TYPE_LEVEL_HIGH>, /* power */
47*4882a593Smuzhiyun			     <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>, /* rx0 */
48*4882a593Smuzhiyun			     <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>, /* tx0 */
49*4882a593Smuzhiyun			     <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>, /* rx1 */
50*4882a593Smuzhiyun			     <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>, /* tx1 */
51*4882a593Smuzhiyun			     <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>, /* rx2 */
52*4882a593Smuzhiyun			     <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>, /* tx2 */
53*4882a593Smuzhiyun			     <GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH>, /* rx3 */
54*4882a593Smuzhiyun			     <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>; /* tx3 */
55*4882a593Smuzhiyun		clocks = <&bpmp TEGRA186_CLK_AXI_CBB>,
56*4882a593Smuzhiyun			 <&bpmp TEGRA186_CLK_EQOS_AXI>,
57*4882a593Smuzhiyun			 <&bpmp TEGRA186_CLK_EQOS_RX>,
58*4882a593Smuzhiyun			 <&bpmp TEGRA186_CLK_EQOS_TX>,
59*4882a593Smuzhiyun			 <&bpmp TEGRA186_CLK_EQOS_PTP_REF>;
60*4882a593Smuzhiyun		clock-names = "master_bus", "slave_bus", "rx", "tx", "ptp_ref";
61*4882a593Smuzhiyun		resets = <&bpmp TEGRA186_RESET_EQOS>;
62*4882a593Smuzhiyun		reset-names = "eqos";
63*4882a593Smuzhiyun		interconnects = <&mc TEGRA186_MEMORY_CLIENT_EQOSR &emc>,
64*4882a593Smuzhiyun				<&mc TEGRA186_MEMORY_CLIENT_EQOSW &emc>;
65*4882a593Smuzhiyun		interconnect-names = "dma-mem", "write";
66*4882a593Smuzhiyun		iommus = <&smmu TEGRA186_SID_EQOS>;
67*4882a593Smuzhiyun		status = "disabled";
68*4882a593Smuzhiyun
69*4882a593Smuzhiyun		snps,write-requests = <1>;
70*4882a593Smuzhiyun		snps,read-requests = <3>;
71*4882a593Smuzhiyun		snps,burst-map = <0x7>;
72*4882a593Smuzhiyun		snps,txpbl = <32>;
73*4882a593Smuzhiyun		snps,rxpbl = <8>;
74*4882a593Smuzhiyun	};
75*4882a593Smuzhiyun
76*4882a593Smuzhiyun	aconnect {
77*4882a593Smuzhiyun		compatible = "nvidia,tegra186-aconnect",
78*4882a593Smuzhiyun			     "nvidia,tegra210-aconnect";
79*4882a593Smuzhiyun		clocks = <&bpmp TEGRA186_CLK_APE>,
80*4882a593Smuzhiyun			 <&bpmp TEGRA186_CLK_APB2APE>;
81*4882a593Smuzhiyun		clock-names = "ape", "apb2ape";
82*4882a593Smuzhiyun		power-domains = <&bpmp TEGRA186_POWER_DOMAIN_AUD>;
83*4882a593Smuzhiyun		#address-cells = <1>;
84*4882a593Smuzhiyun		#size-cells = <1>;
85*4882a593Smuzhiyun		ranges = <0x02900000 0x0 0x02900000 0x200000>;
86*4882a593Smuzhiyun		status = "disabled";
87*4882a593Smuzhiyun
88*4882a593Smuzhiyun		adma: dma-controller@2930000 {
89*4882a593Smuzhiyun			compatible = "nvidia,tegra186-adma";
90*4882a593Smuzhiyun			reg = <0x02930000 0x20000>;
91*4882a593Smuzhiyun			interrupt-parent = <&agic>;
92*4882a593Smuzhiyun			interrupts =  <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
93*4882a593Smuzhiyun				      <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
94*4882a593Smuzhiyun				      <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
95*4882a593Smuzhiyun				      <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
96*4882a593Smuzhiyun				      <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
97*4882a593Smuzhiyun				      <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
98*4882a593Smuzhiyun				      <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
99*4882a593Smuzhiyun				      <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
100*4882a593Smuzhiyun				      <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
101*4882a593Smuzhiyun				      <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
102*4882a593Smuzhiyun				      <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>,
103*4882a593Smuzhiyun				      <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
104*4882a593Smuzhiyun				      <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
105*4882a593Smuzhiyun				      <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
106*4882a593Smuzhiyun				      <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>,
107*4882a593Smuzhiyun				      <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>,
108*4882a593Smuzhiyun				      <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
109*4882a593Smuzhiyun				      <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>,
110*4882a593Smuzhiyun				      <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>,
111*4882a593Smuzhiyun				      <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>,
112*4882a593Smuzhiyun				      <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>,
113*4882a593Smuzhiyun				      <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>,
114*4882a593Smuzhiyun				      <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>,
115*4882a593Smuzhiyun				      <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>,
116*4882a593Smuzhiyun				      <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>,
117*4882a593Smuzhiyun				      <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>,
118*4882a593Smuzhiyun				      <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>,
119*4882a593Smuzhiyun				      <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>,
120*4882a593Smuzhiyun				      <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>,
121*4882a593Smuzhiyun				      <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>,
122*4882a593Smuzhiyun				      <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>,
123*4882a593Smuzhiyun				      <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
124*4882a593Smuzhiyun			#dma-cells = <1>;
125*4882a593Smuzhiyun			clocks = <&bpmp TEGRA186_CLK_AHUB>;
126*4882a593Smuzhiyun			clock-names = "d_audio";
127*4882a593Smuzhiyun			status = "disabled";
128*4882a593Smuzhiyun		};
129*4882a593Smuzhiyun
130*4882a593Smuzhiyun		agic: interrupt-controller@2a40000 {
131*4882a593Smuzhiyun			compatible = "nvidia,tegra186-agic",
132*4882a593Smuzhiyun				     "nvidia,tegra210-agic";
133*4882a593Smuzhiyun			#interrupt-cells = <3>;
134*4882a593Smuzhiyun			interrupt-controller;
135*4882a593Smuzhiyun			reg = <0x02a41000 0x1000>,
136*4882a593Smuzhiyun			      <0x02a42000 0x2000>;
137*4882a593Smuzhiyun			interrupts = <GIC_SPI 145
138*4882a593Smuzhiyun				(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
139*4882a593Smuzhiyun			clocks = <&bpmp TEGRA186_CLK_APE>;
140*4882a593Smuzhiyun			clock-names = "clk";
141*4882a593Smuzhiyun			status = "disabled";
142*4882a593Smuzhiyun		};
143*4882a593Smuzhiyun
144*4882a593Smuzhiyun		tegra_ahub: ahub@2900800 {
145*4882a593Smuzhiyun			compatible = "nvidia,tegra186-ahub";
146*4882a593Smuzhiyun			reg = <0x02900800 0x800>;
147*4882a593Smuzhiyun			clocks = <&bpmp TEGRA186_CLK_AHUB>;
148*4882a593Smuzhiyun			clock-names = "ahub";
149*4882a593Smuzhiyun			assigned-clocks = <&bpmp TEGRA186_CLK_AHUB>;
150*4882a593Smuzhiyun			assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>;
151*4882a593Smuzhiyun			#address-cells = <1>;
152*4882a593Smuzhiyun			#size-cells = <1>;
153*4882a593Smuzhiyun			ranges = <0x02900800 0x02900800 0x11800>;
154*4882a593Smuzhiyun			status = "disabled";
155*4882a593Smuzhiyun
156*4882a593Smuzhiyun			tegra_admaif: admaif@290f000 {
157*4882a593Smuzhiyun				compatible = "nvidia,tegra186-admaif";
158*4882a593Smuzhiyun				reg = <0x0290f000 0x1000>;
159*4882a593Smuzhiyun				dmas = <&adma 1>, <&adma 1>,
160*4882a593Smuzhiyun				       <&adma 2>, <&adma 2>,
161*4882a593Smuzhiyun				       <&adma 3>, <&adma 3>,
162*4882a593Smuzhiyun				       <&adma 4>, <&adma 4>,
163*4882a593Smuzhiyun				       <&adma 5>, <&adma 5>,
164*4882a593Smuzhiyun				       <&adma 6>, <&adma 6>,
165*4882a593Smuzhiyun				       <&adma 7>, <&adma 7>,
166*4882a593Smuzhiyun				       <&adma 8>, <&adma 8>,
167*4882a593Smuzhiyun				       <&adma 9>, <&adma 9>,
168*4882a593Smuzhiyun				       <&adma 10>, <&adma 10>,
169*4882a593Smuzhiyun				       <&adma 11>, <&adma 11>,
170*4882a593Smuzhiyun				       <&adma 12>, <&adma 12>,
171*4882a593Smuzhiyun				       <&adma 13>, <&adma 13>,
172*4882a593Smuzhiyun				       <&adma 14>, <&adma 14>,
173*4882a593Smuzhiyun				       <&adma 15>, <&adma 15>,
174*4882a593Smuzhiyun				       <&adma 16>, <&adma 16>,
175*4882a593Smuzhiyun				       <&adma 17>, <&adma 17>,
176*4882a593Smuzhiyun				       <&adma 18>, <&adma 18>,
177*4882a593Smuzhiyun				       <&adma 19>, <&adma 19>,
178*4882a593Smuzhiyun				       <&adma 20>, <&adma 20>;
179*4882a593Smuzhiyun				dma-names = "rx1", "tx1",
180*4882a593Smuzhiyun					    "rx2", "tx2",
181*4882a593Smuzhiyun					    "rx3", "tx3",
182*4882a593Smuzhiyun					    "rx4", "tx4",
183*4882a593Smuzhiyun					    "rx5", "tx5",
184*4882a593Smuzhiyun					    "rx6", "tx6",
185*4882a593Smuzhiyun					    "rx7", "tx7",
186*4882a593Smuzhiyun					    "rx8", "tx8",
187*4882a593Smuzhiyun					    "rx9", "tx9",
188*4882a593Smuzhiyun					    "rx10", "tx10",
189*4882a593Smuzhiyun					    "rx11", "tx11",
190*4882a593Smuzhiyun					    "rx12", "tx12",
191*4882a593Smuzhiyun					    "rx13", "tx13",
192*4882a593Smuzhiyun					    "rx14", "tx14",
193*4882a593Smuzhiyun					    "rx15", "tx15",
194*4882a593Smuzhiyun					    "rx16", "tx16",
195*4882a593Smuzhiyun					    "rx17", "tx17",
196*4882a593Smuzhiyun					    "rx18", "tx18",
197*4882a593Smuzhiyun					    "rx19", "tx19",
198*4882a593Smuzhiyun					    "rx20", "tx20";
199*4882a593Smuzhiyun				status = "disabled";
200*4882a593Smuzhiyun			};
201*4882a593Smuzhiyun
202*4882a593Smuzhiyun			tegra_i2s1: i2s@2901000 {
203*4882a593Smuzhiyun				compatible = "nvidia,tegra186-i2s",
204*4882a593Smuzhiyun					     "nvidia,tegra210-i2s";
205*4882a593Smuzhiyun				reg = <0x2901000 0x100>;
206*4882a593Smuzhiyun				clocks = <&bpmp TEGRA186_CLK_I2S1>,
207*4882a593Smuzhiyun					 <&bpmp TEGRA186_CLK_I2S1_SYNC_INPUT>;
208*4882a593Smuzhiyun				clock-names = "i2s", "sync_input";
209*4882a593Smuzhiyun				assigned-clocks = <&bpmp TEGRA186_CLK_I2S1>;
210*4882a593Smuzhiyun				assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>;
211*4882a593Smuzhiyun				assigned-clock-rates = <1536000>;
212*4882a593Smuzhiyun				sound-name-prefix = "I2S1";
213*4882a593Smuzhiyun				status = "disabled";
214*4882a593Smuzhiyun			};
215*4882a593Smuzhiyun
216*4882a593Smuzhiyun			tegra_i2s2: i2s@2901100 {
217*4882a593Smuzhiyun				compatible = "nvidia,tegra186-i2s",
218*4882a593Smuzhiyun					     "nvidia,tegra210-i2s";
219*4882a593Smuzhiyun				reg = <0x2901100 0x100>;
220*4882a593Smuzhiyun				clocks = <&bpmp TEGRA186_CLK_I2S2>,
221*4882a593Smuzhiyun					 <&bpmp TEGRA186_CLK_I2S2_SYNC_INPUT>;
222*4882a593Smuzhiyun				clock-names = "i2s", "sync_input";
223*4882a593Smuzhiyun				assigned-clocks = <&bpmp TEGRA186_CLK_I2S2>;
224*4882a593Smuzhiyun				assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>;
225*4882a593Smuzhiyun				assigned-clock-rates = <1536000>;
226*4882a593Smuzhiyun				sound-name-prefix = "I2S2";
227*4882a593Smuzhiyun				status = "disabled";
228*4882a593Smuzhiyun			};
229*4882a593Smuzhiyun
230*4882a593Smuzhiyun			tegra_i2s3: i2s@2901200 {
231*4882a593Smuzhiyun				compatible = "nvidia,tegra186-i2s",
232*4882a593Smuzhiyun					     "nvidia,tegra210-i2s";
233*4882a593Smuzhiyun				reg = <0x2901200 0x100>;
234*4882a593Smuzhiyun				clocks = <&bpmp TEGRA186_CLK_I2S3>,
235*4882a593Smuzhiyun					 <&bpmp TEGRA186_CLK_I2S3_SYNC_INPUT>;
236*4882a593Smuzhiyun				clock-names = "i2s", "sync_input";
237*4882a593Smuzhiyun				assigned-clocks = <&bpmp TEGRA186_CLK_I2S3>;
238*4882a593Smuzhiyun				assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>;
239*4882a593Smuzhiyun				assigned-clock-rates = <1536000>;
240*4882a593Smuzhiyun				sound-name-prefix = "I2S3";
241*4882a593Smuzhiyun				status = "disabled";
242*4882a593Smuzhiyun			};
243*4882a593Smuzhiyun
244*4882a593Smuzhiyun			tegra_i2s4: i2s@2901300 {
245*4882a593Smuzhiyun				compatible = "nvidia,tegra186-i2s",
246*4882a593Smuzhiyun					     "nvidia,tegra210-i2s";
247*4882a593Smuzhiyun				reg = <0x2901300 0x100>;
248*4882a593Smuzhiyun				clocks = <&bpmp TEGRA186_CLK_I2S4>,
249*4882a593Smuzhiyun					 <&bpmp TEGRA186_CLK_I2S4_SYNC_INPUT>;
250*4882a593Smuzhiyun				clock-names = "i2s", "sync_input";
251*4882a593Smuzhiyun				assigned-clocks = <&bpmp TEGRA186_CLK_I2S4>;
252*4882a593Smuzhiyun				assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>;
253*4882a593Smuzhiyun				assigned-clock-rates = <1536000>;
254*4882a593Smuzhiyun				sound-name-prefix = "I2S4";
255*4882a593Smuzhiyun				status = "disabled";
256*4882a593Smuzhiyun			};
257*4882a593Smuzhiyun
258*4882a593Smuzhiyun			tegra_i2s5: i2s@2901400 {
259*4882a593Smuzhiyun				compatible = "nvidia,tegra186-i2s",
260*4882a593Smuzhiyun					     "nvidia,tegra210-i2s";
261*4882a593Smuzhiyun				reg = <0x2901400 0x100>;
262*4882a593Smuzhiyun				clocks = <&bpmp TEGRA186_CLK_I2S5>,
263*4882a593Smuzhiyun					 <&bpmp TEGRA186_CLK_I2S5_SYNC_INPUT>;
264*4882a593Smuzhiyun				clock-names = "i2s", "sync_input";
265*4882a593Smuzhiyun				assigned-clocks = <&bpmp TEGRA186_CLK_I2S5>;
266*4882a593Smuzhiyun				assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>;
267*4882a593Smuzhiyun				assigned-clock-rates = <1536000>;
268*4882a593Smuzhiyun				sound-name-prefix = "I2S5";
269*4882a593Smuzhiyun				status = "disabled";
270*4882a593Smuzhiyun			};
271*4882a593Smuzhiyun
272*4882a593Smuzhiyun			tegra_i2s6: i2s@2901500 {
273*4882a593Smuzhiyun				compatible = "nvidia,tegra186-i2s",
274*4882a593Smuzhiyun					     "nvidia,tegra210-i2s";
275*4882a593Smuzhiyun				reg = <0x2901500 0x100>;
276*4882a593Smuzhiyun				clocks = <&bpmp TEGRA186_CLK_I2S6>,
277*4882a593Smuzhiyun					 <&bpmp TEGRA186_CLK_I2S6_SYNC_INPUT>;
278*4882a593Smuzhiyun				clock-names = "i2s", "sync_input";
279*4882a593Smuzhiyun				assigned-clocks = <&bpmp TEGRA186_CLK_I2S6>;
280*4882a593Smuzhiyun				assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>;
281*4882a593Smuzhiyun				assigned-clock-rates = <1536000>;
282*4882a593Smuzhiyun				sound-name-prefix = "I2S6";
283*4882a593Smuzhiyun				status = "disabled";
284*4882a593Smuzhiyun			};
285*4882a593Smuzhiyun
286*4882a593Smuzhiyun			tegra_dmic1: dmic@2904000 {
287*4882a593Smuzhiyun				compatible = "nvidia,tegra210-dmic";
288*4882a593Smuzhiyun				reg = <0x2904000 0x100>;
289*4882a593Smuzhiyun				clocks = <&bpmp TEGRA186_CLK_DMIC1>;
290*4882a593Smuzhiyun				clock-names = "dmic";
291*4882a593Smuzhiyun				assigned-clocks = <&bpmp TEGRA186_CLK_DMIC1>;
292*4882a593Smuzhiyun				assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>;
293*4882a593Smuzhiyun				assigned-clock-rates = <3072000>;
294*4882a593Smuzhiyun				sound-name-prefix = "DMIC1";
295*4882a593Smuzhiyun				status = "disabled";
296*4882a593Smuzhiyun			};
297*4882a593Smuzhiyun
298*4882a593Smuzhiyun			tegra_dmic2: dmic@2904100 {
299*4882a593Smuzhiyun				compatible = "nvidia,tegra210-dmic";
300*4882a593Smuzhiyun				reg = <0x2904100 0x100>;
301*4882a593Smuzhiyun				clocks = <&bpmp TEGRA186_CLK_DMIC2>;
302*4882a593Smuzhiyun				clock-names = "dmic";
303*4882a593Smuzhiyun				assigned-clocks = <&bpmp TEGRA186_CLK_DMIC2>;
304*4882a593Smuzhiyun				assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>;
305*4882a593Smuzhiyun				assigned-clock-rates = <3072000>;
306*4882a593Smuzhiyun				sound-name-prefix = "DMIC2";
307*4882a593Smuzhiyun				status = "disabled";
308*4882a593Smuzhiyun			};
309*4882a593Smuzhiyun
310*4882a593Smuzhiyun			tegra_dmic3: dmic@2904200 {
311*4882a593Smuzhiyun				compatible = "nvidia,tegra210-dmic";
312*4882a593Smuzhiyun				reg = <0x2904200 0x100>;
313*4882a593Smuzhiyun				clocks = <&bpmp TEGRA186_CLK_DMIC3>;
314*4882a593Smuzhiyun				clock-names = "dmic";
315*4882a593Smuzhiyun				assigned-clocks = <&bpmp TEGRA186_CLK_DMIC3>;
316*4882a593Smuzhiyun				assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>;
317*4882a593Smuzhiyun				assigned-clock-rates = <3072000>;
318*4882a593Smuzhiyun				sound-name-prefix = "DMIC3";
319*4882a593Smuzhiyun				status = "disabled";
320*4882a593Smuzhiyun			};
321*4882a593Smuzhiyun
322*4882a593Smuzhiyun			tegra_dmic4: dmic@2904300 {
323*4882a593Smuzhiyun				compatible = "nvidia,tegra210-dmic";
324*4882a593Smuzhiyun				reg = <0x2904300 0x100>;
325*4882a593Smuzhiyun				clocks = <&bpmp TEGRA186_CLK_DMIC4>;
326*4882a593Smuzhiyun				clock-names = "dmic";
327*4882a593Smuzhiyun				assigned-clocks = <&bpmp TEGRA186_CLK_DMIC4>;
328*4882a593Smuzhiyun				assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>;
329*4882a593Smuzhiyun				assigned-clock-rates = <3072000>;
330*4882a593Smuzhiyun				sound-name-prefix = "DMIC4";
331*4882a593Smuzhiyun				status = "disabled";
332*4882a593Smuzhiyun			};
333*4882a593Smuzhiyun
334*4882a593Smuzhiyun			tegra_dspk1: dspk@2905000 {
335*4882a593Smuzhiyun				compatible = "nvidia,tegra186-dspk";
336*4882a593Smuzhiyun				reg = <0x2905000 0x100>;
337*4882a593Smuzhiyun				clocks = <&bpmp TEGRA186_CLK_DSPK1>;
338*4882a593Smuzhiyun				clock-names = "dspk";
339*4882a593Smuzhiyun				assigned-clocks = <&bpmp TEGRA186_CLK_DSPK1>;
340*4882a593Smuzhiyun				assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>;
341*4882a593Smuzhiyun				assigned-clock-rates = <12288000>;
342*4882a593Smuzhiyun				sound-name-prefix = "DSPK1";
343*4882a593Smuzhiyun				status = "disabled";
344*4882a593Smuzhiyun			};
345*4882a593Smuzhiyun
346*4882a593Smuzhiyun			tegra_dspk2: dspk@2905100 {
347*4882a593Smuzhiyun				compatible = "nvidia,tegra186-dspk";
348*4882a593Smuzhiyun				reg = <0x2905100 0x100>;
349*4882a593Smuzhiyun				clocks = <&bpmp TEGRA186_CLK_DSPK2>;
350*4882a593Smuzhiyun				clock-names = "dspk";
351*4882a593Smuzhiyun				assigned-clocks = <&bpmp TEGRA186_CLK_DSPK2>;
352*4882a593Smuzhiyun				assigned-clock-parents = <&bpmp TEGRA186_CLK_PLL_A_OUT0>;
353*4882a593Smuzhiyun				assigned-clock-rates = <12288000>;
354*4882a593Smuzhiyun				sound-name-prefix = "DSPK2";
355*4882a593Smuzhiyun				status = "disabled";
356*4882a593Smuzhiyun			};
357*4882a593Smuzhiyun		};
358*4882a593Smuzhiyun	};
359*4882a593Smuzhiyun
360*4882a593Smuzhiyun	mc: memory-controller@2c00000 {
361*4882a593Smuzhiyun		compatible = "nvidia,tegra186-mc";
362*4882a593Smuzhiyun		reg = <0x0 0x02c00000 0x0 0xb0000>;
363*4882a593Smuzhiyun		interrupts = <GIC_SPI 223 IRQ_TYPE_LEVEL_HIGH>;
364*4882a593Smuzhiyun		status = "disabled";
365*4882a593Smuzhiyun
366*4882a593Smuzhiyun		#interconnect-cells = <1>;
367*4882a593Smuzhiyun		#address-cells = <2>;
368*4882a593Smuzhiyun		#size-cells = <2>;
369*4882a593Smuzhiyun
370*4882a593Smuzhiyun		ranges = <0x0 0x02c00000 0x0 0x02c00000 0x0 0xb0000>;
371*4882a593Smuzhiyun
372*4882a593Smuzhiyun		/*
373*4882a593Smuzhiyun		 * Memory clients have access to all 40 bits that the memory
374*4882a593Smuzhiyun		 * controller can address.
375*4882a593Smuzhiyun		 */
376*4882a593Smuzhiyun		dma-ranges = <0x0 0x0 0x0 0x0 0x100 0x0>;
377*4882a593Smuzhiyun
378*4882a593Smuzhiyun		emc: external-memory-controller@2c60000 {
379*4882a593Smuzhiyun			compatible = "nvidia,tegra186-emc";
380*4882a593Smuzhiyun			reg = <0x0 0x02c60000 0x0 0x50000>;
381*4882a593Smuzhiyun			interrupts = <GIC_SPI 224 IRQ_TYPE_LEVEL_HIGH>;
382*4882a593Smuzhiyun			clocks = <&bpmp TEGRA186_CLK_EMC>;
383*4882a593Smuzhiyun			clock-names = "emc";
384*4882a593Smuzhiyun
385*4882a593Smuzhiyun			#interconnect-cells = <0>;
386*4882a593Smuzhiyun
387*4882a593Smuzhiyun			nvidia,bpmp = <&bpmp>;
388*4882a593Smuzhiyun		};
389*4882a593Smuzhiyun	};
390*4882a593Smuzhiyun
391*4882a593Smuzhiyun	uarta: serial@3100000 {
392*4882a593Smuzhiyun		compatible = "nvidia,tegra186-uart", "nvidia,tegra20-uart";
393*4882a593Smuzhiyun		reg = <0x0 0x03100000 0x0 0x40>;
394*4882a593Smuzhiyun		reg-shift = <2>;
395*4882a593Smuzhiyun		interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
396*4882a593Smuzhiyun		clocks = <&bpmp TEGRA186_CLK_UARTA>;
397*4882a593Smuzhiyun		clock-names = "serial";
398*4882a593Smuzhiyun		resets = <&bpmp TEGRA186_RESET_UARTA>;
399*4882a593Smuzhiyun		reset-names = "serial";
400*4882a593Smuzhiyun		status = "disabled";
401*4882a593Smuzhiyun	};
402*4882a593Smuzhiyun
403*4882a593Smuzhiyun	uartb: serial@3110000 {
404*4882a593Smuzhiyun		compatible = "nvidia,tegra186-uart", "nvidia,tegra20-uart";
405*4882a593Smuzhiyun		reg = <0x0 0x03110000 0x0 0x40>;
406*4882a593Smuzhiyun		reg-shift = <2>;
407*4882a593Smuzhiyun		interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
408*4882a593Smuzhiyun		clocks = <&bpmp TEGRA186_CLK_UARTB>;
409*4882a593Smuzhiyun		clock-names = "serial";
410*4882a593Smuzhiyun		resets = <&bpmp TEGRA186_RESET_UARTB>;
411*4882a593Smuzhiyun		reset-names = "serial";
412*4882a593Smuzhiyun		status = "disabled";
413*4882a593Smuzhiyun	};
414*4882a593Smuzhiyun
415*4882a593Smuzhiyun	uartd: serial@3130000 {
416*4882a593Smuzhiyun		compatible = "nvidia,tegra186-uart", "nvidia,tegra20-uart";
417*4882a593Smuzhiyun		reg = <0x0 0x03130000 0x0 0x40>;
418*4882a593Smuzhiyun		reg-shift = <2>;
419*4882a593Smuzhiyun		interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
420*4882a593Smuzhiyun		clocks = <&bpmp TEGRA186_CLK_UARTD>;
421*4882a593Smuzhiyun		clock-names = "serial";
422*4882a593Smuzhiyun		resets = <&bpmp TEGRA186_RESET_UARTD>;
423*4882a593Smuzhiyun		reset-names = "serial";
424*4882a593Smuzhiyun		status = "disabled";
425*4882a593Smuzhiyun	};
426*4882a593Smuzhiyun
427*4882a593Smuzhiyun	uarte: serial@3140000 {
428*4882a593Smuzhiyun		compatible = "nvidia,tegra186-uart", "nvidia,tegra20-uart";
429*4882a593Smuzhiyun		reg = <0x0 0x03140000 0x0 0x40>;
430*4882a593Smuzhiyun		reg-shift = <2>;
431*4882a593Smuzhiyun		interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
432*4882a593Smuzhiyun		clocks = <&bpmp TEGRA186_CLK_UARTE>;
433*4882a593Smuzhiyun		clock-names = "serial";
434*4882a593Smuzhiyun		resets = <&bpmp TEGRA186_RESET_UARTE>;
435*4882a593Smuzhiyun		reset-names = "serial";
436*4882a593Smuzhiyun		status = "disabled";
437*4882a593Smuzhiyun	};
438*4882a593Smuzhiyun
439*4882a593Smuzhiyun	uartf: serial@3150000 {
440*4882a593Smuzhiyun		compatible = "nvidia,tegra186-uart", "nvidia,tegra20-uart";
441*4882a593Smuzhiyun		reg = <0x0 0x03150000 0x0 0x40>;
442*4882a593Smuzhiyun		reg-shift = <2>;
443*4882a593Smuzhiyun		interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
444*4882a593Smuzhiyun		clocks = <&bpmp TEGRA186_CLK_UARTF>;
445*4882a593Smuzhiyun		clock-names = "serial";
446*4882a593Smuzhiyun		resets = <&bpmp TEGRA186_RESET_UARTF>;
447*4882a593Smuzhiyun		reset-names = "serial";
448*4882a593Smuzhiyun		status = "disabled";
449*4882a593Smuzhiyun	};
450*4882a593Smuzhiyun
451*4882a593Smuzhiyun	gen1_i2c: i2c@3160000 {
452*4882a593Smuzhiyun		compatible = "nvidia,tegra186-i2c", "nvidia,tegra210-i2c";
453*4882a593Smuzhiyun		reg = <0x0 0x03160000 0x0 0x10000>;
454*4882a593Smuzhiyun		interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
455*4882a593Smuzhiyun		#address-cells = <1>;
456*4882a593Smuzhiyun		#size-cells = <0>;
457*4882a593Smuzhiyun		clocks = <&bpmp TEGRA186_CLK_I2C1>;
458*4882a593Smuzhiyun		clock-names = "div-clk";
459*4882a593Smuzhiyun		resets = <&bpmp TEGRA186_RESET_I2C1>;
460*4882a593Smuzhiyun		reset-names = "i2c";
461*4882a593Smuzhiyun		status = "disabled";
462*4882a593Smuzhiyun	};
463*4882a593Smuzhiyun
464*4882a593Smuzhiyun	cam_i2c: i2c@3180000 {
465*4882a593Smuzhiyun		compatible = "nvidia,tegra186-i2c", "nvidia,tegra210-i2c";
466*4882a593Smuzhiyun		reg = <0x0 0x03180000 0x0 0x10000>;
467*4882a593Smuzhiyun		interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
468*4882a593Smuzhiyun		#address-cells = <1>;
469*4882a593Smuzhiyun		#size-cells = <0>;
470*4882a593Smuzhiyun		clocks = <&bpmp TEGRA186_CLK_I2C3>;
471*4882a593Smuzhiyun		clock-names = "div-clk";
472*4882a593Smuzhiyun		resets = <&bpmp TEGRA186_RESET_I2C3>;
473*4882a593Smuzhiyun		reset-names = "i2c";
474*4882a593Smuzhiyun		status = "disabled";
475*4882a593Smuzhiyun	};
476*4882a593Smuzhiyun
477*4882a593Smuzhiyun	/* shares pads with dpaux1 */
478*4882a593Smuzhiyun	dp_aux_ch1_i2c: i2c@3190000 {
479*4882a593Smuzhiyun		compatible = "nvidia,tegra186-i2c", "nvidia,tegra210-i2c";
480*4882a593Smuzhiyun		reg = <0x0 0x03190000 0x0 0x10000>;
481*4882a593Smuzhiyun		interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
482*4882a593Smuzhiyun		#address-cells = <1>;
483*4882a593Smuzhiyun		#size-cells = <0>;
484*4882a593Smuzhiyun		clocks = <&bpmp TEGRA186_CLK_I2C4>;
485*4882a593Smuzhiyun		clock-names = "div-clk";
486*4882a593Smuzhiyun		resets = <&bpmp TEGRA186_RESET_I2C4>;
487*4882a593Smuzhiyun		reset-names = "i2c";
488*4882a593Smuzhiyun		pinctrl-names = "default", "idle";
489*4882a593Smuzhiyun		pinctrl-0 = <&state_dpaux1_i2c>;
490*4882a593Smuzhiyun		pinctrl-1 = <&state_dpaux1_off>;
491*4882a593Smuzhiyun		status = "disabled";
492*4882a593Smuzhiyun	};
493*4882a593Smuzhiyun
494*4882a593Smuzhiyun	/* controlled by BPMP, should not be enabled */
495*4882a593Smuzhiyun	pwr_i2c: i2c@31a0000 {
496*4882a593Smuzhiyun		compatible = "nvidia,tegra186-i2c", "nvidia,tegra210-i2c";
497*4882a593Smuzhiyun		reg = <0x0 0x031a0000 0x0 0x10000>;
498*4882a593Smuzhiyun		interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
499*4882a593Smuzhiyun		#address-cells = <1>;
500*4882a593Smuzhiyun		#size-cells = <0>;
501*4882a593Smuzhiyun		clocks = <&bpmp TEGRA186_CLK_I2C5>;
502*4882a593Smuzhiyun		clock-names = "div-clk";
503*4882a593Smuzhiyun		resets = <&bpmp TEGRA186_RESET_I2C5>;
504*4882a593Smuzhiyun		reset-names = "i2c";
505*4882a593Smuzhiyun		status = "disabled";
506*4882a593Smuzhiyun	};
507*4882a593Smuzhiyun
508*4882a593Smuzhiyun	/* shares pads with dpaux0 */
509*4882a593Smuzhiyun	dp_aux_ch0_i2c: i2c@31b0000 {
510*4882a593Smuzhiyun		compatible = "nvidia,tegra186-i2c", "nvidia,tegra210-i2c";
511*4882a593Smuzhiyun		reg = <0x0 0x031b0000 0x0 0x10000>;
512*4882a593Smuzhiyun		interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
513*4882a593Smuzhiyun		#address-cells = <1>;
514*4882a593Smuzhiyun		#size-cells = <0>;
515*4882a593Smuzhiyun		clocks = <&bpmp TEGRA186_CLK_I2C6>;
516*4882a593Smuzhiyun		clock-names = "div-clk";
517*4882a593Smuzhiyun		resets = <&bpmp TEGRA186_RESET_I2C6>;
518*4882a593Smuzhiyun		reset-names = "i2c";
519*4882a593Smuzhiyun		pinctrl-names = "default", "idle";
520*4882a593Smuzhiyun		pinctrl-0 = <&state_dpaux_i2c>;
521*4882a593Smuzhiyun		pinctrl-1 = <&state_dpaux_off>;
522*4882a593Smuzhiyun		status = "disabled";
523*4882a593Smuzhiyun	};
524*4882a593Smuzhiyun
525*4882a593Smuzhiyun	gen7_i2c: i2c@31c0000 {
526*4882a593Smuzhiyun		compatible = "nvidia,tegra186-i2c", "nvidia,tegra210-i2c";
527*4882a593Smuzhiyun		reg = <0x0 0x031c0000 0x0 0x10000>;
528*4882a593Smuzhiyun		interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
529*4882a593Smuzhiyun		#address-cells = <1>;
530*4882a593Smuzhiyun		#size-cells = <0>;
531*4882a593Smuzhiyun		clocks = <&bpmp TEGRA186_CLK_I2C7>;
532*4882a593Smuzhiyun		clock-names = "div-clk";
533*4882a593Smuzhiyun		resets = <&bpmp TEGRA186_RESET_I2C7>;
534*4882a593Smuzhiyun		reset-names = "i2c";
535*4882a593Smuzhiyun		status = "disabled";
536*4882a593Smuzhiyun	};
537*4882a593Smuzhiyun
538*4882a593Smuzhiyun	gen9_i2c: i2c@31e0000 {
539*4882a593Smuzhiyun		compatible = "nvidia,tegra186-i2c", "nvidia,tegra210-i2c";
540*4882a593Smuzhiyun		reg = <0x0 0x031e0000 0x0 0x10000>;
541*4882a593Smuzhiyun		interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
542*4882a593Smuzhiyun		#address-cells = <1>;
543*4882a593Smuzhiyun		#size-cells = <0>;
544*4882a593Smuzhiyun		clocks = <&bpmp TEGRA186_CLK_I2C9>;
545*4882a593Smuzhiyun		clock-names = "div-clk";
546*4882a593Smuzhiyun		resets = <&bpmp TEGRA186_RESET_I2C9>;
547*4882a593Smuzhiyun		reset-names = "i2c";
548*4882a593Smuzhiyun		status = "disabled";
549*4882a593Smuzhiyun	};
550*4882a593Smuzhiyun
551*4882a593Smuzhiyun	sdmmc1: mmc@3400000 {
552*4882a593Smuzhiyun		compatible = "nvidia,tegra186-sdhci";
553*4882a593Smuzhiyun		reg = <0x0 0x03400000 0x0 0x10000>;
554*4882a593Smuzhiyun		interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
555*4882a593Smuzhiyun		clocks = <&bpmp TEGRA186_CLK_SDMMC1>,
556*4882a593Smuzhiyun			 <&bpmp TEGRA186_CLK_SDMMC_LEGACY_TM>;
557*4882a593Smuzhiyun		clock-names = "sdhci", "tmclk";
558*4882a593Smuzhiyun		resets = <&bpmp TEGRA186_RESET_SDMMC1>;
559*4882a593Smuzhiyun		reset-names = "sdhci";
560*4882a593Smuzhiyun		interconnects = <&mc TEGRA186_MEMORY_CLIENT_SDMMCRA &emc>,
561*4882a593Smuzhiyun				<&mc TEGRA186_MEMORY_CLIENT_SDMMCWA &emc>;
562*4882a593Smuzhiyun		interconnect-names = "dma-mem", "write";
563*4882a593Smuzhiyun		iommus = <&smmu TEGRA186_SID_SDMMC1>;
564*4882a593Smuzhiyun		pinctrl-names = "sdmmc-3v3", "sdmmc-1v8";
565*4882a593Smuzhiyun		pinctrl-0 = <&sdmmc1_3v3>;
566*4882a593Smuzhiyun		pinctrl-1 = <&sdmmc1_1v8>;
567*4882a593Smuzhiyun		nvidia,pad-autocal-pull-up-offset-3v3-timeout = <0x07>;
568*4882a593Smuzhiyun		nvidia,pad-autocal-pull-down-offset-3v3-timeout = <0x06>;
569*4882a593Smuzhiyun		nvidia,pad-autocal-pull-up-offset-1v8-timeout = <0x07>;
570*4882a593Smuzhiyun		nvidia,pad-autocal-pull-down-offset-1v8-timeout = <0x07>;
571*4882a593Smuzhiyun		nvidia,pad-autocal-pull-up-offset-sdr104 = <0x03>;
572*4882a593Smuzhiyun		nvidia,pad-autocal-pull-down-offset-sdr104 = <0x05>;
573*4882a593Smuzhiyun		nvidia,default-tap = <0x5>;
574*4882a593Smuzhiyun		nvidia,default-trim = <0xb>;
575*4882a593Smuzhiyun		assigned-clocks = <&bpmp TEGRA186_CLK_SDMMC1>,
576*4882a593Smuzhiyun				  <&bpmp TEGRA186_CLK_PLLP_OUT0>;
577*4882a593Smuzhiyun		assigned-clock-parents = <&bpmp TEGRA186_CLK_PLLP_OUT0>;
578*4882a593Smuzhiyun		status = "disabled";
579*4882a593Smuzhiyun	};
580*4882a593Smuzhiyun
581*4882a593Smuzhiyun	sdmmc2: mmc@3420000 {
582*4882a593Smuzhiyun		compatible = "nvidia,tegra186-sdhci";
583*4882a593Smuzhiyun		reg = <0x0 0x03420000 0x0 0x10000>;
584*4882a593Smuzhiyun		interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
585*4882a593Smuzhiyun		clocks = <&bpmp TEGRA186_CLK_SDMMC2>,
586*4882a593Smuzhiyun			 <&bpmp TEGRA186_CLK_SDMMC_LEGACY_TM>;
587*4882a593Smuzhiyun		clock-names = "sdhci", "tmclk";
588*4882a593Smuzhiyun		resets = <&bpmp TEGRA186_RESET_SDMMC2>;
589*4882a593Smuzhiyun		reset-names = "sdhci";
590*4882a593Smuzhiyun		interconnects = <&mc TEGRA186_MEMORY_CLIENT_SDMMCRAA &emc>,
591*4882a593Smuzhiyun				<&mc TEGRA186_MEMORY_CLIENT_SDMMCWAA &emc>;
592*4882a593Smuzhiyun		interconnect-names = "dma-mem", "write";
593*4882a593Smuzhiyun		iommus = <&smmu TEGRA186_SID_SDMMC2>;
594*4882a593Smuzhiyun		pinctrl-names = "sdmmc-3v3", "sdmmc-1v8";
595*4882a593Smuzhiyun		pinctrl-0 = <&sdmmc2_3v3>;
596*4882a593Smuzhiyun		pinctrl-1 = <&sdmmc2_1v8>;
597*4882a593Smuzhiyun		nvidia,pad-autocal-pull-up-offset-3v3-timeout = <0x07>;
598*4882a593Smuzhiyun		nvidia,pad-autocal-pull-down-offset-3v3-timeout = <0x06>;
599*4882a593Smuzhiyun		nvidia,pad-autocal-pull-up-offset-1v8-timeout = <0x07>;
600*4882a593Smuzhiyun		nvidia,pad-autocal-pull-down-offset-1v8-timeout = <0x07>;
601*4882a593Smuzhiyun		nvidia,default-tap = <0x5>;
602*4882a593Smuzhiyun		nvidia,default-trim = <0xb>;
603*4882a593Smuzhiyun		status = "disabled";
604*4882a593Smuzhiyun	};
605*4882a593Smuzhiyun
606*4882a593Smuzhiyun	sdmmc3: mmc@3440000 {
607*4882a593Smuzhiyun		compatible = "nvidia,tegra186-sdhci";
608*4882a593Smuzhiyun		reg = <0x0 0x03440000 0x0 0x10000>;
609*4882a593Smuzhiyun		interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
610*4882a593Smuzhiyun		clocks = <&bpmp TEGRA186_CLK_SDMMC3>,
611*4882a593Smuzhiyun			 <&bpmp TEGRA186_CLK_SDMMC_LEGACY_TM>;
612*4882a593Smuzhiyun		clock-names = "sdhci", "tmclk";
613*4882a593Smuzhiyun		resets = <&bpmp TEGRA186_RESET_SDMMC3>;
614*4882a593Smuzhiyun		reset-names = "sdhci";
615*4882a593Smuzhiyun		interconnects = <&mc TEGRA186_MEMORY_CLIENT_SDMMCR &emc>,
616*4882a593Smuzhiyun				<&mc TEGRA186_MEMORY_CLIENT_SDMMCW &emc>;
617*4882a593Smuzhiyun		interconnect-names = "dma-mem", "write";
618*4882a593Smuzhiyun		iommus = <&smmu TEGRA186_SID_SDMMC3>;
619*4882a593Smuzhiyun		pinctrl-names = "sdmmc-3v3", "sdmmc-1v8";
620*4882a593Smuzhiyun		pinctrl-0 = <&sdmmc3_3v3>;
621*4882a593Smuzhiyun		pinctrl-1 = <&sdmmc3_1v8>;
622*4882a593Smuzhiyun		nvidia,pad-autocal-pull-up-offset-1v8 = <0x00>;
623*4882a593Smuzhiyun		nvidia,pad-autocal-pull-down-offset-1v8 = <0x7a>;
624*4882a593Smuzhiyun		nvidia,pad-autocal-pull-up-offset-3v3-timeout = <0x07>;
625*4882a593Smuzhiyun		nvidia,pad-autocal-pull-down-offset-3v3-timeout = <0x06>;
626*4882a593Smuzhiyun		nvidia,pad-autocal-pull-up-offset-1v8-timeout = <0x07>;
627*4882a593Smuzhiyun		nvidia,pad-autocal-pull-down-offset-1v8-timeout = <0x07>;
628*4882a593Smuzhiyun		nvidia,default-tap = <0x5>;
629*4882a593Smuzhiyun		nvidia,default-trim = <0xb>;
630*4882a593Smuzhiyun		status = "disabled";
631*4882a593Smuzhiyun	};
632*4882a593Smuzhiyun
633*4882a593Smuzhiyun	sdmmc4: mmc@3460000 {
634*4882a593Smuzhiyun		compatible = "nvidia,tegra186-sdhci";
635*4882a593Smuzhiyun		reg = <0x0 0x03460000 0x0 0x10000>;
636*4882a593Smuzhiyun		interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
637*4882a593Smuzhiyun		clocks = <&bpmp TEGRA186_CLK_SDMMC4>,
638*4882a593Smuzhiyun			 <&bpmp TEGRA186_CLK_SDMMC_LEGACY_TM>;
639*4882a593Smuzhiyun		clock-names = "sdhci", "tmclk";
640*4882a593Smuzhiyun		assigned-clocks = <&bpmp TEGRA186_CLK_SDMMC4>,
641*4882a593Smuzhiyun				  <&bpmp TEGRA186_CLK_PLLC4_VCO>;
642*4882a593Smuzhiyun		assigned-clock-parents = <&bpmp TEGRA186_CLK_PLLC4_VCO>;
643*4882a593Smuzhiyun		resets = <&bpmp TEGRA186_RESET_SDMMC4>;
644*4882a593Smuzhiyun		reset-names = "sdhci";
645*4882a593Smuzhiyun		interconnects = <&mc TEGRA186_MEMORY_CLIENT_SDMMCRAB &emc>,
646*4882a593Smuzhiyun				<&mc TEGRA186_MEMORY_CLIENT_SDMMCWAB &emc>;
647*4882a593Smuzhiyun		interconnect-names = "dma-mem", "write";
648*4882a593Smuzhiyun		iommus = <&smmu TEGRA186_SID_SDMMC4>;
649*4882a593Smuzhiyun		nvidia,pad-autocal-pull-up-offset-hs400 = <0x05>;
650*4882a593Smuzhiyun		nvidia,pad-autocal-pull-down-offset-hs400 = <0x05>;
651*4882a593Smuzhiyun		nvidia,pad-autocal-pull-up-offset-1v8-timeout = <0x0a>;
652*4882a593Smuzhiyun		nvidia,pad-autocal-pull-down-offset-1v8-timeout = <0x0a>;
653*4882a593Smuzhiyun		nvidia,pad-autocal-pull-up-offset-3v3-timeout = <0x0a>;
654*4882a593Smuzhiyun		nvidia,pad-autocal-pull-down-offset-3v3-timeout = <0x0a>;
655*4882a593Smuzhiyun		nvidia,default-tap = <0x9>;
656*4882a593Smuzhiyun		nvidia,default-trim = <0x5>;
657*4882a593Smuzhiyun		nvidia,dqs-trim = <63>;
658*4882a593Smuzhiyun		mmc-hs400-1_8v;
659*4882a593Smuzhiyun		supports-cqe;
660*4882a593Smuzhiyun		status = "disabled";
661*4882a593Smuzhiyun	};
662*4882a593Smuzhiyun
663*4882a593Smuzhiyun	hda@3510000 {
664*4882a593Smuzhiyun		compatible = "nvidia,tegra186-hda", "nvidia,tegra30-hda";
665*4882a593Smuzhiyun		reg = <0x0 0x03510000 0x0 0x10000>;
666*4882a593Smuzhiyun		interrupts = <GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>;
667*4882a593Smuzhiyun		clocks = <&bpmp TEGRA186_CLK_HDA>,
668*4882a593Smuzhiyun			 <&bpmp TEGRA186_CLK_HDA2HDMICODEC>,
669*4882a593Smuzhiyun			 <&bpmp TEGRA186_CLK_HDA2CODEC_2X>;
670*4882a593Smuzhiyun		clock-names = "hda", "hda2hdmi", "hda2codec_2x";
671*4882a593Smuzhiyun		resets = <&bpmp TEGRA186_RESET_HDA>,
672*4882a593Smuzhiyun			 <&bpmp TEGRA186_RESET_HDA2HDMICODEC>,
673*4882a593Smuzhiyun			 <&bpmp TEGRA186_RESET_HDA2CODEC_2X>;
674*4882a593Smuzhiyun		reset-names = "hda", "hda2hdmi", "hda2codec_2x";
675*4882a593Smuzhiyun		power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>;
676*4882a593Smuzhiyun		interconnects = <&mc TEGRA186_MEMORY_CLIENT_HDAR &emc>,
677*4882a593Smuzhiyun				<&mc TEGRA186_MEMORY_CLIENT_HDAW &emc>;
678*4882a593Smuzhiyun		interconnect-names = "dma-mem", "write";
679*4882a593Smuzhiyun		iommus = <&smmu TEGRA186_SID_HDA>;
680*4882a593Smuzhiyun		status = "disabled";
681*4882a593Smuzhiyun	};
682*4882a593Smuzhiyun
683*4882a593Smuzhiyun	padctl: padctl@3520000 {
684*4882a593Smuzhiyun		compatible = "nvidia,tegra186-xusb-padctl";
685*4882a593Smuzhiyun		reg = <0x0 0x03520000 0x0 0x1000>,
686*4882a593Smuzhiyun		      <0x0 0x03540000 0x0 0x1000>;
687*4882a593Smuzhiyun		reg-names = "padctl", "ao";
688*4882a593Smuzhiyun
689*4882a593Smuzhiyun		resets = <&bpmp TEGRA186_RESET_XUSB_PADCTL>;
690*4882a593Smuzhiyun		reset-names = "padctl";
691*4882a593Smuzhiyun
692*4882a593Smuzhiyun		status = "disabled";
693*4882a593Smuzhiyun
694*4882a593Smuzhiyun		pads {
695*4882a593Smuzhiyun			usb2 {
696*4882a593Smuzhiyun				clocks = <&bpmp TEGRA186_CLK_USB2_TRK>;
697*4882a593Smuzhiyun				clock-names = "trk";
698*4882a593Smuzhiyun				status = "disabled";
699*4882a593Smuzhiyun
700*4882a593Smuzhiyun				lanes {
701*4882a593Smuzhiyun					usb2-0 {
702*4882a593Smuzhiyun						status = "disabled";
703*4882a593Smuzhiyun						#phy-cells = <0>;
704*4882a593Smuzhiyun					};
705*4882a593Smuzhiyun
706*4882a593Smuzhiyun					usb2-1 {
707*4882a593Smuzhiyun						status = "disabled";
708*4882a593Smuzhiyun						#phy-cells = <0>;
709*4882a593Smuzhiyun					};
710*4882a593Smuzhiyun
711*4882a593Smuzhiyun					usb2-2 {
712*4882a593Smuzhiyun						status = "disabled";
713*4882a593Smuzhiyun						#phy-cells = <0>;
714*4882a593Smuzhiyun					};
715*4882a593Smuzhiyun				};
716*4882a593Smuzhiyun			};
717*4882a593Smuzhiyun
718*4882a593Smuzhiyun			hsic {
719*4882a593Smuzhiyun				clocks = <&bpmp TEGRA186_CLK_HSIC_TRK>;
720*4882a593Smuzhiyun				clock-names = "trk";
721*4882a593Smuzhiyun				status = "disabled";
722*4882a593Smuzhiyun
723*4882a593Smuzhiyun				lanes {
724*4882a593Smuzhiyun					hsic-0 {
725*4882a593Smuzhiyun						status = "disabled";
726*4882a593Smuzhiyun						#phy-cells = <0>;
727*4882a593Smuzhiyun					};
728*4882a593Smuzhiyun				};
729*4882a593Smuzhiyun			};
730*4882a593Smuzhiyun
731*4882a593Smuzhiyun			usb3 {
732*4882a593Smuzhiyun				status = "disabled";
733*4882a593Smuzhiyun
734*4882a593Smuzhiyun				lanes {
735*4882a593Smuzhiyun					usb3-0 {
736*4882a593Smuzhiyun						status = "disabled";
737*4882a593Smuzhiyun						#phy-cells = <0>;
738*4882a593Smuzhiyun					};
739*4882a593Smuzhiyun
740*4882a593Smuzhiyun					usb3-1 {
741*4882a593Smuzhiyun						status = "disabled";
742*4882a593Smuzhiyun						#phy-cells = <0>;
743*4882a593Smuzhiyun					};
744*4882a593Smuzhiyun
745*4882a593Smuzhiyun					usb3-2 {
746*4882a593Smuzhiyun						status = "disabled";
747*4882a593Smuzhiyun						#phy-cells = <0>;
748*4882a593Smuzhiyun					};
749*4882a593Smuzhiyun				};
750*4882a593Smuzhiyun			};
751*4882a593Smuzhiyun		};
752*4882a593Smuzhiyun
753*4882a593Smuzhiyun		ports {
754*4882a593Smuzhiyun			usb2-0 {
755*4882a593Smuzhiyun				status = "disabled";
756*4882a593Smuzhiyun			};
757*4882a593Smuzhiyun
758*4882a593Smuzhiyun			usb2-1 {
759*4882a593Smuzhiyun				status = "disabled";
760*4882a593Smuzhiyun			};
761*4882a593Smuzhiyun
762*4882a593Smuzhiyun			usb2-2 {
763*4882a593Smuzhiyun				status = "disabled";
764*4882a593Smuzhiyun			};
765*4882a593Smuzhiyun
766*4882a593Smuzhiyun			hsic-0 {
767*4882a593Smuzhiyun				status = "disabled";
768*4882a593Smuzhiyun			};
769*4882a593Smuzhiyun
770*4882a593Smuzhiyun			usb3-0 {
771*4882a593Smuzhiyun				status = "disabled";
772*4882a593Smuzhiyun			};
773*4882a593Smuzhiyun
774*4882a593Smuzhiyun			usb3-1 {
775*4882a593Smuzhiyun				status = "disabled";
776*4882a593Smuzhiyun			};
777*4882a593Smuzhiyun
778*4882a593Smuzhiyun			usb3-2 {
779*4882a593Smuzhiyun				status = "disabled";
780*4882a593Smuzhiyun			};
781*4882a593Smuzhiyun		};
782*4882a593Smuzhiyun	};
783*4882a593Smuzhiyun
784*4882a593Smuzhiyun	usb@3530000 {
785*4882a593Smuzhiyun		compatible = "nvidia,tegra186-xusb";
786*4882a593Smuzhiyun		reg = <0x0 0x03530000 0x0 0x8000>,
787*4882a593Smuzhiyun		      <0x0 0x03538000 0x0 0x1000>;
788*4882a593Smuzhiyun		reg-names = "hcd", "fpci";
789*4882a593Smuzhiyun		interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>,
790*4882a593Smuzhiyun			     <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>;
791*4882a593Smuzhiyun		clocks = <&bpmp TEGRA186_CLK_XUSB_HOST>,
792*4882a593Smuzhiyun			 <&bpmp TEGRA186_CLK_XUSB_FALCON>,
793*4882a593Smuzhiyun			 <&bpmp TEGRA186_CLK_XUSB_SS>,
794*4882a593Smuzhiyun			 <&bpmp TEGRA186_CLK_XUSB_CORE_SS>,
795*4882a593Smuzhiyun			 <&bpmp TEGRA186_CLK_CLK_M>,
796*4882a593Smuzhiyun			 <&bpmp TEGRA186_CLK_XUSB_FS>,
797*4882a593Smuzhiyun			 <&bpmp TEGRA186_CLK_PLLU>,
798*4882a593Smuzhiyun			 <&bpmp TEGRA186_CLK_CLK_M>,
799*4882a593Smuzhiyun			 <&bpmp TEGRA186_CLK_PLLE>;
800*4882a593Smuzhiyun		clock-names = "xusb_host", "xusb_falcon_src", "xusb_ss",
801*4882a593Smuzhiyun			      "xusb_ss_src", "xusb_hs_src", "xusb_fs_src",
802*4882a593Smuzhiyun			      "pll_u_480m", "clk_m", "pll_e";
803*4882a593Smuzhiyun		power-domains = <&bpmp TEGRA186_POWER_DOMAIN_XUSBC>,
804*4882a593Smuzhiyun				<&bpmp TEGRA186_POWER_DOMAIN_XUSBA>;
805*4882a593Smuzhiyun		power-domain-names = "xusb_host", "xusb_ss";
806*4882a593Smuzhiyun		interconnects = <&mc TEGRA186_MEMORY_CLIENT_XUSB_HOSTR &emc>,
807*4882a593Smuzhiyun				<&mc TEGRA186_MEMORY_CLIENT_XUSB_HOSTW &emc>;
808*4882a593Smuzhiyun		interconnect-names = "dma-mem", "write";
809*4882a593Smuzhiyun		iommus = <&smmu TEGRA186_SID_XUSB_HOST>;
810*4882a593Smuzhiyun		#address-cells = <1>;
811*4882a593Smuzhiyun		#size-cells = <0>;
812*4882a593Smuzhiyun		status = "disabled";
813*4882a593Smuzhiyun
814*4882a593Smuzhiyun		nvidia,xusb-padctl = <&padctl>;
815*4882a593Smuzhiyun	};
816*4882a593Smuzhiyun
817*4882a593Smuzhiyun	usb@3550000 {
818*4882a593Smuzhiyun		compatible = "nvidia,tegra186-xudc";
819*4882a593Smuzhiyun		reg = <0x0 0x03550000 0x0 0x8000>,
820*4882a593Smuzhiyun		      <0x0 0x03558000 0x0 0x1000>;
821*4882a593Smuzhiyun		reg-names = "base", "fpci";
822*4882a593Smuzhiyun		interrupts = <GIC_SPI 166 IRQ_TYPE_LEVEL_HIGH>;
823*4882a593Smuzhiyun		clocks = <&bpmp TEGRA186_CLK_XUSB_CORE_DEV>,
824*4882a593Smuzhiyun			 <&bpmp TEGRA186_CLK_XUSB_SS>,
825*4882a593Smuzhiyun			 <&bpmp TEGRA186_CLK_XUSB_CORE_SS>,
826*4882a593Smuzhiyun			 <&bpmp TEGRA186_CLK_XUSB_FS>;
827*4882a593Smuzhiyun		clock-names = "dev", "ss", "ss_src", "fs_src";
828*4882a593Smuzhiyun		iommus = <&smmu TEGRA186_SID_XUSB_DEV>;
829*4882a593Smuzhiyun		power-domains = <&bpmp TEGRA186_POWER_DOMAIN_XUSBB>,
830*4882a593Smuzhiyun				<&bpmp TEGRA186_POWER_DOMAIN_XUSBA>;
831*4882a593Smuzhiyun		power-domain-names = "dev", "ss";
832*4882a593Smuzhiyun		nvidia,xusb-padctl = <&padctl>;
833*4882a593Smuzhiyun		status = "disabled";
834*4882a593Smuzhiyun	};
835*4882a593Smuzhiyun
836*4882a593Smuzhiyun	fuse@3820000 {
837*4882a593Smuzhiyun		compatible = "nvidia,tegra186-efuse";
838*4882a593Smuzhiyun		reg = <0x0 0x03820000 0x0 0x10000>;
839*4882a593Smuzhiyun		clocks = <&bpmp TEGRA186_CLK_FUSE>;
840*4882a593Smuzhiyun		clock-names = "fuse";
841*4882a593Smuzhiyun	};
842*4882a593Smuzhiyun
843*4882a593Smuzhiyun	gic: interrupt-controller@3881000 {
844*4882a593Smuzhiyun		compatible = "arm,gic-400";
845*4882a593Smuzhiyun		#interrupt-cells = <3>;
846*4882a593Smuzhiyun		interrupt-controller;
847*4882a593Smuzhiyun		reg = <0x0 0x03881000 0x0 0x1000>,
848*4882a593Smuzhiyun		      <0x0 0x03882000 0x0 0x2000>;
849*4882a593Smuzhiyun		interrupts = <GIC_PPI 9
850*4882a593Smuzhiyun			(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
851*4882a593Smuzhiyun		interrupt-parent = <&gic>;
852*4882a593Smuzhiyun	};
853*4882a593Smuzhiyun
854*4882a593Smuzhiyun	cec@3960000 {
855*4882a593Smuzhiyun		compatible = "nvidia,tegra186-cec";
856*4882a593Smuzhiyun		reg = <0x0 0x03960000 0x0 0x10000>;
857*4882a593Smuzhiyun		interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>;
858*4882a593Smuzhiyun		clocks = <&bpmp TEGRA186_CLK_CEC>;
859*4882a593Smuzhiyun		clock-names = "cec";
860*4882a593Smuzhiyun		status = "disabled";
861*4882a593Smuzhiyun	};
862*4882a593Smuzhiyun
863*4882a593Smuzhiyun	hsp_top0: hsp@3c00000 {
864*4882a593Smuzhiyun		compatible = "nvidia,tegra186-hsp";
865*4882a593Smuzhiyun		reg = <0x0 0x03c00000 0x0 0xa0000>;
866*4882a593Smuzhiyun		interrupts = <GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH>;
867*4882a593Smuzhiyun		interrupt-names = "doorbell";
868*4882a593Smuzhiyun		#mbox-cells = <2>;
869*4882a593Smuzhiyun		status = "disabled";
870*4882a593Smuzhiyun	};
871*4882a593Smuzhiyun
872*4882a593Smuzhiyun	gen2_i2c: i2c@c240000 {
873*4882a593Smuzhiyun		compatible = "nvidia,tegra186-i2c", "nvidia,tegra210-i2c";
874*4882a593Smuzhiyun		reg = <0x0 0x0c240000 0x0 0x10000>;
875*4882a593Smuzhiyun		interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
876*4882a593Smuzhiyun		#address-cells = <1>;
877*4882a593Smuzhiyun		#size-cells = <0>;
878*4882a593Smuzhiyun		clocks = <&bpmp TEGRA186_CLK_I2C2>;
879*4882a593Smuzhiyun		clock-names = "div-clk";
880*4882a593Smuzhiyun		resets = <&bpmp TEGRA186_RESET_I2C2>;
881*4882a593Smuzhiyun		reset-names = "i2c";
882*4882a593Smuzhiyun		status = "disabled";
883*4882a593Smuzhiyun	};
884*4882a593Smuzhiyun
885*4882a593Smuzhiyun	gen8_i2c: i2c@c250000 {
886*4882a593Smuzhiyun		compatible = "nvidia,tegra186-i2c", "nvidia,tegra210-i2c";
887*4882a593Smuzhiyun		reg = <0x0 0x0c250000 0x0 0x10000>;
888*4882a593Smuzhiyun		interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
889*4882a593Smuzhiyun		#address-cells = <1>;
890*4882a593Smuzhiyun		#size-cells = <0>;
891*4882a593Smuzhiyun		clocks = <&bpmp TEGRA186_CLK_I2C8>;
892*4882a593Smuzhiyun		clock-names = "div-clk";
893*4882a593Smuzhiyun		resets = <&bpmp TEGRA186_RESET_I2C8>;
894*4882a593Smuzhiyun		reset-names = "i2c";
895*4882a593Smuzhiyun		status = "disabled";
896*4882a593Smuzhiyun	};
897*4882a593Smuzhiyun
898*4882a593Smuzhiyun	uartc: serial@c280000 {
899*4882a593Smuzhiyun		compatible = "nvidia,tegra186-uart", "nvidia,tegra20-uart";
900*4882a593Smuzhiyun		reg = <0x0 0x0c280000 0x0 0x40>;
901*4882a593Smuzhiyun		reg-shift = <2>;
902*4882a593Smuzhiyun		interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
903*4882a593Smuzhiyun		clocks = <&bpmp TEGRA186_CLK_UARTC>;
904*4882a593Smuzhiyun		clock-names = "serial";
905*4882a593Smuzhiyun		resets = <&bpmp TEGRA186_RESET_UARTC>;
906*4882a593Smuzhiyun		reset-names = "serial";
907*4882a593Smuzhiyun		status = "disabled";
908*4882a593Smuzhiyun	};
909*4882a593Smuzhiyun
910*4882a593Smuzhiyun	uartg: serial@c290000 {
911*4882a593Smuzhiyun		compatible = "nvidia,tegra186-uart", "nvidia,tegra20-uart";
912*4882a593Smuzhiyun		reg = <0x0 0x0c290000 0x0 0x40>;
913*4882a593Smuzhiyun		reg-shift = <2>;
914*4882a593Smuzhiyun		interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
915*4882a593Smuzhiyun		clocks = <&bpmp TEGRA186_CLK_UARTG>;
916*4882a593Smuzhiyun		clock-names = "serial";
917*4882a593Smuzhiyun		resets = <&bpmp TEGRA186_RESET_UARTG>;
918*4882a593Smuzhiyun		reset-names = "serial";
919*4882a593Smuzhiyun		status = "disabled";
920*4882a593Smuzhiyun	};
921*4882a593Smuzhiyun
922*4882a593Smuzhiyun	rtc: rtc@c2a0000 {
923*4882a593Smuzhiyun		compatible = "nvidia,tegra186-rtc", "nvidia,tegra20-rtc";
924*4882a593Smuzhiyun		reg = <0 0x0c2a0000 0 0x10000>;
925*4882a593Smuzhiyun		interrupt-parent = <&pmc>;
926*4882a593Smuzhiyun		interrupts = <73 IRQ_TYPE_LEVEL_HIGH>;
927*4882a593Smuzhiyun		clocks = <&bpmp TEGRA186_CLK_CLK_32K>;
928*4882a593Smuzhiyun		clock-names = "rtc";
929*4882a593Smuzhiyun		status = "disabled";
930*4882a593Smuzhiyun	};
931*4882a593Smuzhiyun
932*4882a593Smuzhiyun	gpio_aon: gpio@c2f0000 {
933*4882a593Smuzhiyun		compatible = "nvidia,tegra186-gpio-aon";
934*4882a593Smuzhiyun		reg-names = "security", "gpio";
935*4882a593Smuzhiyun		reg = <0x0 0xc2f0000 0x0 0x1000>,
936*4882a593Smuzhiyun		      <0x0 0xc2f1000 0x0 0x1000>;
937*4882a593Smuzhiyun		interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
938*4882a593Smuzhiyun		gpio-controller;
939*4882a593Smuzhiyun		#gpio-cells = <2>;
940*4882a593Smuzhiyun		interrupt-controller;
941*4882a593Smuzhiyun		#interrupt-cells = <2>;
942*4882a593Smuzhiyun	};
943*4882a593Smuzhiyun
944*4882a593Smuzhiyun	pmc: pmc@c360000 {
945*4882a593Smuzhiyun		compatible = "nvidia,tegra186-pmc";
946*4882a593Smuzhiyun		reg = <0 0x0c360000 0 0x10000>,
947*4882a593Smuzhiyun		      <0 0x0c370000 0 0x10000>,
948*4882a593Smuzhiyun		      <0 0x0c380000 0 0x10000>,
949*4882a593Smuzhiyun		      <0 0x0c390000 0 0x10000>;
950*4882a593Smuzhiyun		reg-names = "pmc", "wake", "aotag", "scratch";
951*4882a593Smuzhiyun
952*4882a593Smuzhiyun		#interrupt-cells = <2>;
953*4882a593Smuzhiyun		interrupt-controller;
954*4882a593Smuzhiyun
955*4882a593Smuzhiyun		sdmmc1_3v3: sdmmc1-3v3 {
956*4882a593Smuzhiyun			pins = "sdmmc1-hv";
957*4882a593Smuzhiyun			power-source = <TEGRA_IO_PAD_VOLTAGE_3V3>;
958*4882a593Smuzhiyun		};
959*4882a593Smuzhiyun
960*4882a593Smuzhiyun		sdmmc1_1v8: sdmmc1-1v8 {
961*4882a593Smuzhiyun			pins = "sdmmc1-hv";
962*4882a593Smuzhiyun			power-source = <TEGRA_IO_PAD_VOLTAGE_1V8>;
963*4882a593Smuzhiyun		};
964*4882a593Smuzhiyun
965*4882a593Smuzhiyun		sdmmc2_3v3: sdmmc2-3v3 {
966*4882a593Smuzhiyun			pins = "sdmmc2-hv";
967*4882a593Smuzhiyun			power-source = <TEGRA_IO_PAD_VOLTAGE_3V3>;
968*4882a593Smuzhiyun		};
969*4882a593Smuzhiyun
970*4882a593Smuzhiyun		sdmmc2_1v8: sdmmc2-1v8 {
971*4882a593Smuzhiyun			pins = "sdmmc2-hv";
972*4882a593Smuzhiyun			power-source = <TEGRA_IO_PAD_VOLTAGE_1V8>;
973*4882a593Smuzhiyun		};
974*4882a593Smuzhiyun
975*4882a593Smuzhiyun		sdmmc3_3v3: sdmmc3-3v3 {
976*4882a593Smuzhiyun			pins = "sdmmc3-hv";
977*4882a593Smuzhiyun			power-source = <TEGRA_IO_PAD_VOLTAGE_3V3>;
978*4882a593Smuzhiyun		};
979*4882a593Smuzhiyun
980*4882a593Smuzhiyun		sdmmc3_1v8: sdmmc3-1v8 {
981*4882a593Smuzhiyun			pins = "sdmmc3-hv";
982*4882a593Smuzhiyun			power-source = <TEGRA_IO_PAD_VOLTAGE_1V8>;
983*4882a593Smuzhiyun		};
984*4882a593Smuzhiyun	};
985*4882a593Smuzhiyun
986*4882a593Smuzhiyun	ccplex@e000000 {
987*4882a593Smuzhiyun		compatible = "nvidia,tegra186-ccplex-cluster";
988*4882a593Smuzhiyun		reg = <0x0 0x0e000000 0x0 0x400000>;
989*4882a593Smuzhiyun
990*4882a593Smuzhiyun		nvidia,bpmp = <&bpmp>;
991*4882a593Smuzhiyun	};
992*4882a593Smuzhiyun
993*4882a593Smuzhiyun	pcie@10003000 {
994*4882a593Smuzhiyun		compatible = "nvidia,tegra186-pcie";
995*4882a593Smuzhiyun		power-domains = <&bpmp TEGRA186_POWER_DOMAIN_PCX>;
996*4882a593Smuzhiyun		device_type = "pci";
997*4882a593Smuzhiyun		reg = <0x0 0x10003000 0x0 0x00000800>, /* PADS registers */
998*4882a593Smuzhiyun		      <0x0 0x10003800 0x0 0x00000800>, /* AFI registers */
999*4882a593Smuzhiyun		      <0x0 0x40000000 0x0 0x10000000>; /* configuration space */
1000*4882a593Smuzhiyun		reg-names = "pads", "afi", "cs";
1001*4882a593Smuzhiyun
1002*4882a593Smuzhiyun		interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>, /* controller interrupt */
1003*4882a593Smuzhiyun			     <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>; /* MSI interrupt */
1004*4882a593Smuzhiyun		interrupt-names = "intr", "msi";
1005*4882a593Smuzhiyun
1006*4882a593Smuzhiyun		#interrupt-cells = <1>;
1007*4882a593Smuzhiyun		interrupt-map-mask = <0 0 0 0>;
1008*4882a593Smuzhiyun		interrupt-map = <0 0 0 0 &gic GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
1009*4882a593Smuzhiyun
1010*4882a593Smuzhiyun		bus-range = <0x00 0xff>;
1011*4882a593Smuzhiyun		#address-cells = <3>;
1012*4882a593Smuzhiyun		#size-cells = <2>;
1013*4882a593Smuzhiyun
1014*4882a593Smuzhiyun		ranges = <0x02000000 0 0x10000000 0x0 0x10000000 0 0x00001000>, /* port 0 configuration space */
1015*4882a593Smuzhiyun			 <0x02000000 0 0x10001000 0x0 0x10001000 0 0x00001000>,/* port 1 configuration space */
1016*4882a593Smuzhiyun			 <0x02000000 0 0x10004000 0x0 0x10004000 0 0x00001000>, /* port 2 configuration space */
1017*4882a593Smuzhiyun			 <0x01000000 0 0x0        0x0 0x50000000 0 0x00010000>, /* downstream I/O (64 KiB) */
1018*4882a593Smuzhiyun			 <0x02000000 0 0x50100000 0x0 0x50100000 0 0x07f00000>, /* non-prefetchable memory (127 MiB) */
1019*4882a593Smuzhiyun			 <0x42000000 0 0x58000000 0x0 0x58000000 0 0x28000000>; /* prefetchable memory (640 MiB) */
1020*4882a593Smuzhiyun
1021*4882a593Smuzhiyun		clocks = <&bpmp TEGRA186_CLK_PCIE>,
1022*4882a593Smuzhiyun			 <&bpmp TEGRA186_CLK_AFI>,
1023*4882a593Smuzhiyun			 <&bpmp TEGRA186_CLK_PLLE>;
1024*4882a593Smuzhiyun		clock-names = "pex", "afi", "pll_e";
1025*4882a593Smuzhiyun
1026*4882a593Smuzhiyun		resets = <&bpmp TEGRA186_RESET_PCIE>,
1027*4882a593Smuzhiyun			 <&bpmp TEGRA186_RESET_AFI>,
1028*4882a593Smuzhiyun			 <&bpmp TEGRA186_RESET_PCIEXCLK>;
1029*4882a593Smuzhiyun		reset-names = "pex", "afi", "pcie_x";
1030*4882a593Smuzhiyun
1031*4882a593Smuzhiyun		interconnects = <&mc TEGRA186_MEMORY_CLIENT_AFIR &emc>,
1032*4882a593Smuzhiyun				<&mc TEGRA186_MEMORY_CLIENT_AFIW &emc>;
1033*4882a593Smuzhiyun		interconnect-names = "dma-mem", "write";
1034*4882a593Smuzhiyun
1035*4882a593Smuzhiyun		iommus = <&smmu TEGRA186_SID_AFI>;
1036*4882a593Smuzhiyun		iommu-map = <0x0 &smmu TEGRA186_SID_AFI 0x1000>;
1037*4882a593Smuzhiyun		iommu-map-mask = <0x0>;
1038*4882a593Smuzhiyun
1039*4882a593Smuzhiyun		status = "disabled";
1040*4882a593Smuzhiyun
1041*4882a593Smuzhiyun		pci@1,0 {
1042*4882a593Smuzhiyun			device_type = "pci";
1043*4882a593Smuzhiyun			assigned-addresses = <0x82000800 0 0x10000000 0 0x1000>;
1044*4882a593Smuzhiyun			reg = <0x000800 0 0 0 0>;
1045*4882a593Smuzhiyun			status = "disabled";
1046*4882a593Smuzhiyun
1047*4882a593Smuzhiyun			#address-cells = <3>;
1048*4882a593Smuzhiyun			#size-cells = <2>;
1049*4882a593Smuzhiyun			ranges;
1050*4882a593Smuzhiyun
1051*4882a593Smuzhiyun			nvidia,num-lanes = <2>;
1052*4882a593Smuzhiyun		};
1053*4882a593Smuzhiyun
1054*4882a593Smuzhiyun		pci@2,0 {
1055*4882a593Smuzhiyun			device_type = "pci";
1056*4882a593Smuzhiyun			assigned-addresses = <0x82001000 0 0x10001000 0 0x1000>;
1057*4882a593Smuzhiyun			reg = <0x001000 0 0 0 0>;
1058*4882a593Smuzhiyun			status = "disabled";
1059*4882a593Smuzhiyun
1060*4882a593Smuzhiyun			#address-cells = <3>;
1061*4882a593Smuzhiyun			#size-cells = <2>;
1062*4882a593Smuzhiyun			ranges;
1063*4882a593Smuzhiyun
1064*4882a593Smuzhiyun			nvidia,num-lanes = <1>;
1065*4882a593Smuzhiyun		};
1066*4882a593Smuzhiyun
1067*4882a593Smuzhiyun		pci@3,0 {
1068*4882a593Smuzhiyun			device_type = "pci";
1069*4882a593Smuzhiyun			assigned-addresses = <0x82001800 0 0x10004000 0 0x1000>;
1070*4882a593Smuzhiyun			reg = <0x001800 0 0 0 0>;
1071*4882a593Smuzhiyun			status = "disabled";
1072*4882a593Smuzhiyun
1073*4882a593Smuzhiyun			#address-cells = <3>;
1074*4882a593Smuzhiyun			#size-cells = <2>;
1075*4882a593Smuzhiyun			ranges;
1076*4882a593Smuzhiyun
1077*4882a593Smuzhiyun			nvidia,num-lanes = <1>;
1078*4882a593Smuzhiyun		};
1079*4882a593Smuzhiyun	};
1080*4882a593Smuzhiyun
1081*4882a593Smuzhiyun	smmu: iommu@12000000 {
1082*4882a593Smuzhiyun		compatible = "arm,mmu-500";
1083*4882a593Smuzhiyun		reg = <0 0x12000000 0 0x800000>;
1084*4882a593Smuzhiyun		interrupts = <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1085*4882a593Smuzhiyun			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1086*4882a593Smuzhiyun			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1087*4882a593Smuzhiyun			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1088*4882a593Smuzhiyun			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1089*4882a593Smuzhiyun			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1090*4882a593Smuzhiyun			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1091*4882a593Smuzhiyun			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1092*4882a593Smuzhiyun			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1093*4882a593Smuzhiyun			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1094*4882a593Smuzhiyun			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1095*4882a593Smuzhiyun			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1096*4882a593Smuzhiyun			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1097*4882a593Smuzhiyun			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1098*4882a593Smuzhiyun			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1099*4882a593Smuzhiyun			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1100*4882a593Smuzhiyun			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1101*4882a593Smuzhiyun			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1102*4882a593Smuzhiyun			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1103*4882a593Smuzhiyun			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1104*4882a593Smuzhiyun			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1105*4882a593Smuzhiyun			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1106*4882a593Smuzhiyun			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1107*4882a593Smuzhiyun			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1108*4882a593Smuzhiyun			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1109*4882a593Smuzhiyun			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1110*4882a593Smuzhiyun			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1111*4882a593Smuzhiyun			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1112*4882a593Smuzhiyun			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1113*4882a593Smuzhiyun			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1114*4882a593Smuzhiyun			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1115*4882a593Smuzhiyun			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1116*4882a593Smuzhiyun			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1117*4882a593Smuzhiyun			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1118*4882a593Smuzhiyun			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1119*4882a593Smuzhiyun			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1120*4882a593Smuzhiyun			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1121*4882a593Smuzhiyun			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1122*4882a593Smuzhiyun			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1123*4882a593Smuzhiyun			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1124*4882a593Smuzhiyun			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1125*4882a593Smuzhiyun			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1126*4882a593Smuzhiyun			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1127*4882a593Smuzhiyun			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1128*4882a593Smuzhiyun			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1129*4882a593Smuzhiyun			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1130*4882a593Smuzhiyun			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1131*4882a593Smuzhiyun			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1132*4882a593Smuzhiyun			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1133*4882a593Smuzhiyun			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1134*4882a593Smuzhiyun			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1135*4882a593Smuzhiyun			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1136*4882a593Smuzhiyun			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1137*4882a593Smuzhiyun			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1138*4882a593Smuzhiyun			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1139*4882a593Smuzhiyun			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1140*4882a593Smuzhiyun			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1141*4882a593Smuzhiyun			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1142*4882a593Smuzhiyun			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1143*4882a593Smuzhiyun			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1144*4882a593Smuzhiyun			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1145*4882a593Smuzhiyun			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1146*4882a593Smuzhiyun			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1147*4882a593Smuzhiyun			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
1148*4882a593Smuzhiyun			     <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>;
1149*4882a593Smuzhiyun		stream-match-mask = <0x7f80>;
1150*4882a593Smuzhiyun		#global-interrupts = <1>;
1151*4882a593Smuzhiyun		#iommu-cells = <1>;
1152*4882a593Smuzhiyun	};
1153*4882a593Smuzhiyun
1154*4882a593Smuzhiyun	host1x@13e00000 {
1155*4882a593Smuzhiyun		compatible = "nvidia,tegra186-host1x";
1156*4882a593Smuzhiyun		reg = <0x0 0x13e00000 0x0 0x10000>,
1157*4882a593Smuzhiyun		      <0x0 0x13e10000 0x0 0x10000>;
1158*4882a593Smuzhiyun		reg-names = "hypervisor", "vm";
1159*4882a593Smuzhiyun		interrupts = <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH>,
1160*4882a593Smuzhiyun		             <GIC_SPI 263 IRQ_TYPE_LEVEL_HIGH>;
1161*4882a593Smuzhiyun		interrupt-names = "syncpt", "host1x";
1162*4882a593Smuzhiyun		clocks = <&bpmp TEGRA186_CLK_HOST1X>;
1163*4882a593Smuzhiyun		clock-names = "host1x";
1164*4882a593Smuzhiyun		resets = <&bpmp TEGRA186_RESET_HOST1X>;
1165*4882a593Smuzhiyun		reset-names = "host1x";
1166*4882a593Smuzhiyun
1167*4882a593Smuzhiyun		#address-cells = <1>;
1168*4882a593Smuzhiyun		#size-cells = <1>;
1169*4882a593Smuzhiyun
1170*4882a593Smuzhiyun		ranges = <0x15000000 0x0 0x15000000 0x01000000>;
1171*4882a593Smuzhiyun
1172*4882a593Smuzhiyun		interconnects = <&mc TEGRA186_MEMORY_CLIENT_HOST1XDMAR &emc>;
1173*4882a593Smuzhiyun		interconnect-names = "dma-mem";
1174*4882a593Smuzhiyun
1175*4882a593Smuzhiyun		iommus = <&smmu TEGRA186_SID_HOST1X>;
1176*4882a593Smuzhiyun
1177*4882a593Smuzhiyun		dpaux1: dpaux@15040000 {
1178*4882a593Smuzhiyun			compatible = "nvidia,tegra186-dpaux";
1179*4882a593Smuzhiyun			reg = <0x15040000 0x10000>;
1180*4882a593Smuzhiyun			interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>;
1181*4882a593Smuzhiyun			clocks = <&bpmp TEGRA186_CLK_DPAUX1>,
1182*4882a593Smuzhiyun				 <&bpmp TEGRA186_CLK_PLLDP>;
1183*4882a593Smuzhiyun			clock-names = "dpaux", "parent";
1184*4882a593Smuzhiyun			resets = <&bpmp TEGRA186_RESET_DPAUX1>;
1185*4882a593Smuzhiyun			reset-names = "dpaux";
1186*4882a593Smuzhiyun			status = "disabled";
1187*4882a593Smuzhiyun
1188*4882a593Smuzhiyun			power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>;
1189*4882a593Smuzhiyun
1190*4882a593Smuzhiyun			state_dpaux1_aux: pinmux-aux {
1191*4882a593Smuzhiyun				groups = "dpaux-io";
1192*4882a593Smuzhiyun				function = "aux";
1193*4882a593Smuzhiyun			};
1194*4882a593Smuzhiyun
1195*4882a593Smuzhiyun			state_dpaux1_i2c: pinmux-i2c {
1196*4882a593Smuzhiyun				groups = "dpaux-io";
1197*4882a593Smuzhiyun				function = "i2c";
1198*4882a593Smuzhiyun			};
1199*4882a593Smuzhiyun
1200*4882a593Smuzhiyun			state_dpaux1_off: pinmux-off {
1201*4882a593Smuzhiyun				groups = "dpaux-io";
1202*4882a593Smuzhiyun				function = "off";
1203*4882a593Smuzhiyun			};
1204*4882a593Smuzhiyun
1205*4882a593Smuzhiyun			i2c-bus {
1206*4882a593Smuzhiyun				#address-cells = <1>;
1207*4882a593Smuzhiyun				#size-cells = <0>;
1208*4882a593Smuzhiyun			};
1209*4882a593Smuzhiyun		};
1210*4882a593Smuzhiyun
1211*4882a593Smuzhiyun		display-hub@15200000 {
1212*4882a593Smuzhiyun			compatible = "nvidia,tegra186-display";
1213*4882a593Smuzhiyun			reg = <0x15200000 0x00040000>;
1214*4882a593Smuzhiyun			resets = <&bpmp TEGRA186_RESET_NVDISPLAY0_MISC>,
1215*4882a593Smuzhiyun				 <&bpmp TEGRA186_RESET_NVDISPLAY0_WGRP0>,
1216*4882a593Smuzhiyun				 <&bpmp TEGRA186_RESET_NVDISPLAY0_WGRP1>,
1217*4882a593Smuzhiyun				 <&bpmp TEGRA186_RESET_NVDISPLAY0_WGRP2>,
1218*4882a593Smuzhiyun				 <&bpmp TEGRA186_RESET_NVDISPLAY0_WGRP3>,
1219*4882a593Smuzhiyun				 <&bpmp TEGRA186_RESET_NVDISPLAY0_WGRP4>,
1220*4882a593Smuzhiyun				 <&bpmp TEGRA186_RESET_NVDISPLAY0_WGRP5>;
1221*4882a593Smuzhiyun			reset-names = "misc", "wgrp0", "wgrp1", "wgrp2",
1222*4882a593Smuzhiyun				      "wgrp3", "wgrp4", "wgrp5";
1223*4882a593Smuzhiyun			clocks = <&bpmp TEGRA186_CLK_NVDISPLAY_DISP>,
1224*4882a593Smuzhiyun				 <&bpmp TEGRA186_CLK_NVDISPLAY_DSC>,
1225*4882a593Smuzhiyun				 <&bpmp TEGRA186_CLK_NVDISPLAYHUB>;
1226*4882a593Smuzhiyun			clock-names = "disp", "dsc", "hub";
1227*4882a593Smuzhiyun			status = "disabled";
1228*4882a593Smuzhiyun
1229*4882a593Smuzhiyun			power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>;
1230*4882a593Smuzhiyun
1231*4882a593Smuzhiyun			#address-cells = <1>;
1232*4882a593Smuzhiyun			#size-cells = <1>;
1233*4882a593Smuzhiyun
1234*4882a593Smuzhiyun			ranges = <0x15200000 0x15200000 0x40000>;
1235*4882a593Smuzhiyun
1236*4882a593Smuzhiyun			display@15200000 {
1237*4882a593Smuzhiyun				compatible = "nvidia,tegra186-dc";
1238*4882a593Smuzhiyun				reg = <0x15200000 0x10000>;
1239*4882a593Smuzhiyun				interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>;
1240*4882a593Smuzhiyun				clocks = <&bpmp TEGRA186_CLK_NVDISPLAY_P0>;
1241*4882a593Smuzhiyun				clock-names = "dc";
1242*4882a593Smuzhiyun				resets = <&bpmp TEGRA186_RESET_NVDISPLAY0_HEAD0>;
1243*4882a593Smuzhiyun				reset-names = "dc";
1244*4882a593Smuzhiyun
1245*4882a593Smuzhiyun				power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>;
1246*4882a593Smuzhiyun				interconnects = <&mc TEGRA186_MEMORY_CLIENT_NVDISPLAYR &emc>,
1247*4882a593Smuzhiyun						<&mc TEGRA186_MEMORY_CLIENT_NVDISPLAYR1 &emc>;
1248*4882a593Smuzhiyun				interconnect-names = "dma-mem", "read-1";
1249*4882a593Smuzhiyun				iommus = <&smmu TEGRA186_SID_NVDISPLAY>;
1250*4882a593Smuzhiyun
1251*4882a593Smuzhiyun				nvidia,outputs = <&dsia &dsib &sor0 &sor1>;
1252*4882a593Smuzhiyun				nvidia,head = <0>;
1253*4882a593Smuzhiyun			};
1254*4882a593Smuzhiyun
1255*4882a593Smuzhiyun			display@15210000 {
1256*4882a593Smuzhiyun				compatible = "nvidia,tegra186-dc";
1257*4882a593Smuzhiyun				reg = <0x15210000 0x10000>;
1258*4882a593Smuzhiyun				interrupts = <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>;
1259*4882a593Smuzhiyun				clocks = <&bpmp TEGRA186_CLK_NVDISPLAY_P1>;
1260*4882a593Smuzhiyun				clock-names = "dc";
1261*4882a593Smuzhiyun				resets = <&bpmp TEGRA186_RESET_NVDISPLAY0_HEAD1>;
1262*4882a593Smuzhiyun				reset-names = "dc";
1263*4882a593Smuzhiyun
1264*4882a593Smuzhiyun				power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISPB>;
1265*4882a593Smuzhiyun				interconnects = <&mc TEGRA186_MEMORY_CLIENT_NVDISPLAYR &emc>,
1266*4882a593Smuzhiyun						<&mc TEGRA186_MEMORY_CLIENT_NVDISPLAYR1 &emc>;
1267*4882a593Smuzhiyun				interconnect-names = "dma-mem", "read-1";
1268*4882a593Smuzhiyun				iommus = <&smmu TEGRA186_SID_NVDISPLAY>;
1269*4882a593Smuzhiyun
1270*4882a593Smuzhiyun				nvidia,outputs = <&dsia &dsib &sor0 &sor1>;
1271*4882a593Smuzhiyun				nvidia,head = <1>;
1272*4882a593Smuzhiyun			};
1273*4882a593Smuzhiyun
1274*4882a593Smuzhiyun			display@15220000 {
1275*4882a593Smuzhiyun				compatible = "nvidia,tegra186-dc";
1276*4882a593Smuzhiyun				reg = <0x15220000 0x10000>;
1277*4882a593Smuzhiyun				interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>;
1278*4882a593Smuzhiyun				clocks = <&bpmp TEGRA186_CLK_NVDISPLAY_P2>;
1279*4882a593Smuzhiyun				clock-names = "dc";
1280*4882a593Smuzhiyun				resets = <&bpmp TEGRA186_RESET_NVDISPLAY0_HEAD2>;
1281*4882a593Smuzhiyun				reset-names = "dc";
1282*4882a593Smuzhiyun
1283*4882a593Smuzhiyun				power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISPC>;
1284*4882a593Smuzhiyun				interconnects = <&mc TEGRA186_MEMORY_CLIENT_NVDISPLAYR &emc>,
1285*4882a593Smuzhiyun						<&mc TEGRA186_MEMORY_CLIENT_NVDISPLAYR1 &emc>;
1286*4882a593Smuzhiyun				interconnect-names = "dma-mem", "read-1";
1287*4882a593Smuzhiyun				iommus = <&smmu TEGRA186_SID_NVDISPLAY>;
1288*4882a593Smuzhiyun
1289*4882a593Smuzhiyun				nvidia,outputs = <&sor0 &sor1>;
1290*4882a593Smuzhiyun				nvidia,head = <2>;
1291*4882a593Smuzhiyun			};
1292*4882a593Smuzhiyun		};
1293*4882a593Smuzhiyun
1294*4882a593Smuzhiyun		dsia: dsi@15300000 {
1295*4882a593Smuzhiyun			compatible = "nvidia,tegra186-dsi";
1296*4882a593Smuzhiyun			reg = <0x15300000 0x10000>;
1297*4882a593Smuzhiyun			interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
1298*4882a593Smuzhiyun			clocks = <&bpmp TEGRA186_CLK_DSI>,
1299*4882a593Smuzhiyun				 <&bpmp TEGRA186_CLK_DSIA_LP>,
1300*4882a593Smuzhiyun				 <&bpmp TEGRA186_CLK_PLLD>;
1301*4882a593Smuzhiyun			clock-names = "dsi", "lp", "parent";
1302*4882a593Smuzhiyun			resets = <&bpmp TEGRA186_RESET_DSI>;
1303*4882a593Smuzhiyun			reset-names = "dsi";
1304*4882a593Smuzhiyun			status = "disabled";
1305*4882a593Smuzhiyun
1306*4882a593Smuzhiyun			power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>;
1307*4882a593Smuzhiyun		};
1308*4882a593Smuzhiyun
1309*4882a593Smuzhiyun		vic@15340000 {
1310*4882a593Smuzhiyun			compatible = "nvidia,tegra186-vic";
1311*4882a593Smuzhiyun			reg = <0x15340000 0x40000>;
1312*4882a593Smuzhiyun			interrupts = <GIC_SPI 206 IRQ_TYPE_LEVEL_HIGH>;
1313*4882a593Smuzhiyun			clocks = <&bpmp TEGRA186_CLK_VIC>;
1314*4882a593Smuzhiyun			clock-names = "vic";
1315*4882a593Smuzhiyun			resets = <&bpmp TEGRA186_RESET_VIC>;
1316*4882a593Smuzhiyun			reset-names = "vic";
1317*4882a593Smuzhiyun
1318*4882a593Smuzhiyun			power-domains = <&bpmp TEGRA186_POWER_DOMAIN_VIC>;
1319*4882a593Smuzhiyun			interconnects = <&mc TEGRA186_MEMORY_CLIENT_VICSRD &emc>,
1320*4882a593Smuzhiyun					<&mc TEGRA186_MEMORY_CLIENT_VICSWR &emc>;
1321*4882a593Smuzhiyun			interconnect-names = "dma-mem", "write";
1322*4882a593Smuzhiyun			iommus = <&smmu TEGRA186_SID_VIC>;
1323*4882a593Smuzhiyun		};
1324*4882a593Smuzhiyun
1325*4882a593Smuzhiyun		dsib: dsi@15400000 {
1326*4882a593Smuzhiyun			compatible = "nvidia,tegra186-dsi";
1327*4882a593Smuzhiyun			reg = <0x15400000 0x10000>;
1328*4882a593Smuzhiyun			interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
1329*4882a593Smuzhiyun			clocks = <&bpmp TEGRA186_CLK_DSIB>,
1330*4882a593Smuzhiyun				 <&bpmp TEGRA186_CLK_DSIB_LP>,
1331*4882a593Smuzhiyun				 <&bpmp TEGRA186_CLK_PLLD>;
1332*4882a593Smuzhiyun			clock-names = "dsi", "lp", "parent";
1333*4882a593Smuzhiyun			resets = <&bpmp TEGRA186_RESET_DSIB>;
1334*4882a593Smuzhiyun			reset-names = "dsi";
1335*4882a593Smuzhiyun			status = "disabled";
1336*4882a593Smuzhiyun
1337*4882a593Smuzhiyun			power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>;
1338*4882a593Smuzhiyun		};
1339*4882a593Smuzhiyun
1340*4882a593Smuzhiyun		sor0: sor@15540000 {
1341*4882a593Smuzhiyun			compatible = "nvidia,tegra186-sor";
1342*4882a593Smuzhiyun			reg = <0x15540000 0x10000>;
1343*4882a593Smuzhiyun			interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>;
1344*4882a593Smuzhiyun			clocks = <&bpmp TEGRA186_CLK_SOR0>,
1345*4882a593Smuzhiyun				 <&bpmp TEGRA186_CLK_SOR0_OUT>,
1346*4882a593Smuzhiyun				 <&bpmp TEGRA186_CLK_PLLD2>,
1347*4882a593Smuzhiyun				 <&bpmp TEGRA186_CLK_PLLDP>,
1348*4882a593Smuzhiyun				 <&bpmp TEGRA186_CLK_SOR_SAFE>,
1349*4882a593Smuzhiyun				 <&bpmp TEGRA186_CLK_SOR0_PAD_CLKOUT>;
1350*4882a593Smuzhiyun			clock-names = "sor", "out", "parent", "dp", "safe",
1351*4882a593Smuzhiyun				      "pad";
1352*4882a593Smuzhiyun			resets = <&bpmp TEGRA186_RESET_SOR0>;
1353*4882a593Smuzhiyun			reset-names = "sor";
1354*4882a593Smuzhiyun			pinctrl-0 = <&state_dpaux_aux>;
1355*4882a593Smuzhiyun			pinctrl-1 = <&state_dpaux_i2c>;
1356*4882a593Smuzhiyun			pinctrl-2 = <&state_dpaux_off>;
1357*4882a593Smuzhiyun			pinctrl-names = "aux", "i2c", "off";
1358*4882a593Smuzhiyun			status = "disabled";
1359*4882a593Smuzhiyun
1360*4882a593Smuzhiyun			power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>;
1361*4882a593Smuzhiyun			nvidia,interface = <0>;
1362*4882a593Smuzhiyun		};
1363*4882a593Smuzhiyun
1364*4882a593Smuzhiyun		sor1: sor@15580000 {
1365*4882a593Smuzhiyun			compatible = "nvidia,tegra186-sor";
1366*4882a593Smuzhiyun			reg = <0x15580000 0x10000>;
1367*4882a593Smuzhiyun			interrupts = <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>;
1368*4882a593Smuzhiyun			clocks = <&bpmp TEGRA186_CLK_SOR1>,
1369*4882a593Smuzhiyun				 <&bpmp TEGRA186_CLK_SOR1_OUT>,
1370*4882a593Smuzhiyun				 <&bpmp TEGRA186_CLK_PLLD3>,
1371*4882a593Smuzhiyun				 <&bpmp TEGRA186_CLK_PLLDP>,
1372*4882a593Smuzhiyun				 <&bpmp TEGRA186_CLK_SOR_SAFE>,
1373*4882a593Smuzhiyun				 <&bpmp TEGRA186_CLK_SOR1_PAD_CLKOUT>;
1374*4882a593Smuzhiyun			clock-names = "sor", "out", "parent", "dp", "safe",
1375*4882a593Smuzhiyun				      "pad";
1376*4882a593Smuzhiyun			resets = <&bpmp TEGRA186_RESET_SOR1>;
1377*4882a593Smuzhiyun			reset-names = "sor";
1378*4882a593Smuzhiyun			pinctrl-0 = <&state_dpaux1_aux>;
1379*4882a593Smuzhiyun			pinctrl-1 = <&state_dpaux1_i2c>;
1380*4882a593Smuzhiyun			pinctrl-2 = <&state_dpaux1_off>;
1381*4882a593Smuzhiyun			pinctrl-names = "aux", "i2c", "off";
1382*4882a593Smuzhiyun			status = "disabled";
1383*4882a593Smuzhiyun
1384*4882a593Smuzhiyun			power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>;
1385*4882a593Smuzhiyun			nvidia,interface = <1>;
1386*4882a593Smuzhiyun		};
1387*4882a593Smuzhiyun
1388*4882a593Smuzhiyun		dpaux: dpaux@155c0000 {
1389*4882a593Smuzhiyun			compatible = "nvidia,tegra186-dpaux";
1390*4882a593Smuzhiyun			reg = <0x155c0000 0x10000>;
1391*4882a593Smuzhiyun			interrupts = <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>;
1392*4882a593Smuzhiyun			clocks = <&bpmp TEGRA186_CLK_DPAUX>,
1393*4882a593Smuzhiyun				 <&bpmp TEGRA186_CLK_PLLDP>;
1394*4882a593Smuzhiyun			clock-names = "dpaux", "parent";
1395*4882a593Smuzhiyun			resets = <&bpmp TEGRA186_RESET_DPAUX>;
1396*4882a593Smuzhiyun			reset-names = "dpaux";
1397*4882a593Smuzhiyun			status = "disabled";
1398*4882a593Smuzhiyun
1399*4882a593Smuzhiyun			power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>;
1400*4882a593Smuzhiyun
1401*4882a593Smuzhiyun			state_dpaux_aux: pinmux-aux {
1402*4882a593Smuzhiyun				groups = "dpaux-io";
1403*4882a593Smuzhiyun				function = "aux";
1404*4882a593Smuzhiyun			};
1405*4882a593Smuzhiyun
1406*4882a593Smuzhiyun			state_dpaux_i2c: pinmux-i2c {
1407*4882a593Smuzhiyun				groups = "dpaux-io";
1408*4882a593Smuzhiyun				function = "i2c";
1409*4882a593Smuzhiyun			};
1410*4882a593Smuzhiyun
1411*4882a593Smuzhiyun			state_dpaux_off: pinmux-off {
1412*4882a593Smuzhiyun				groups = "dpaux-io";
1413*4882a593Smuzhiyun				function = "off";
1414*4882a593Smuzhiyun			};
1415*4882a593Smuzhiyun
1416*4882a593Smuzhiyun			i2c-bus {
1417*4882a593Smuzhiyun				#address-cells = <1>;
1418*4882a593Smuzhiyun				#size-cells = <0>;
1419*4882a593Smuzhiyun			};
1420*4882a593Smuzhiyun		};
1421*4882a593Smuzhiyun
1422*4882a593Smuzhiyun		padctl@15880000 {
1423*4882a593Smuzhiyun			compatible = "nvidia,tegra186-dsi-padctl";
1424*4882a593Smuzhiyun			reg = <0x15880000 0x10000>;
1425*4882a593Smuzhiyun			resets = <&bpmp TEGRA186_RESET_DSI>;
1426*4882a593Smuzhiyun			reset-names = "dsi";
1427*4882a593Smuzhiyun			status = "disabled";
1428*4882a593Smuzhiyun		};
1429*4882a593Smuzhiyun
1430*4882a593Smuzhiyun		dsic: dsi@15900000 {
1431*4882a593Smuzhiyun			compatible = "nvidia,tegra186-dsi";
1432*4882a593Smuzhiyun			reg = <0x15900000 0x10000>;
1433*4882a593Smuzhiyun			interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
1434*4882a593Smuzhiyun			clocks = <&bpmp TEGRA186_CLK_DSIC>,
1435*4882a593Smuzhiyun				 <&bpmp TEGRA186_CLK_DSIC_LP>,
1436*4882a593Smuzhiyun				 <&bpmp TEGRA186_CLK_PLLD>;
1437*4882a593Smuzhiyun			clock-names = "dsi", "lp", "parent";
1438*4882a593Smuzhiyun			resets = <&bpmp TEGRA186_RESET_DSIC>;
1439*4882a593Smuzhiyun			reset-names = "dsi";
1440*4882a593Smuzhiyun			status = "disabled";
1441*4882a593Smuzhiyun
1442*4882a593Smuzhiyun			power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>;
1443*4882a593Smuzhiyun		};
1444*4882a593Smuzhiyun
1445*4882a593Smuzhiyun		dsid: dsi@15940000 {
1446*4882a593Smuzhiyun			compatible = "nvidia,tegra186-dsi";
1447*4882a593Smuzhiyun			reg = <0x15940000 0x10000>;
1448*4882a593Smuzhiyun			interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
1449*4882a593Smuzhiyun			clocks = <&bpmp TEGRA186_CLK_DSID>,
1450*4882a593Smuzhiyun				 <&bpmp TEGRA186_CLK_DSID_LP>,
1451*4882a593Smuzhiyun				 <&bpmp TEGRA186_CLK_PLLD>;
1452*4882a593Smuzhiyun			clock-names = "dsi", "lp", "parent";
1453*4882a593Smuzhiyun			resets = <&bpmp TEGRA186_RESET_DSID>;
1454*4882a593Smuzhiyun			reset-names = "dsi";
1455*4882a593Smuzhiyun			status = "disabled";
1456*4882a593Smuzhiyun
1457*4882a593Smuzhiyun			power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>;
1458*4882a593Smuzhiyun		};
1459*4882a593Smuzhiyun	};
1460*4882a593Smuzhiyun
1461*4882a593Smuzhiyun	gpu@17000000 {
1462*4882a593Smuzhiyun		compatible = "nvidia,gp10b";
1463*4882a593Smuzhiyun		reg = <0x0 0x17000000 0x0 0x1000000>,
1464*4882a593Smuzhiyun		      <0x0 0x18000000 0x0 0x1000000>;
1465*4882a593Smuzhiyun		interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>,
1466*4882a593Smuzhiyun			     <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
1467*4882a593Smuzhiyun		interrupt-names = "stall", "nonstall";
1468*4882a593Smuzhiyun
1469*4882a593Smuzhiyun		clocks = <&bpmp TEGRA186_CLK_GPCCLK>,
1470*4882a593Smuzhiyun			 <&bpmp TEGRA186_CLK_GPU>;
1471*4882a593Smuzhiyun		clock-names = "gpu", "pwr";
1472*4882a593Smuzhiyun		resets = <&bpmp TEGRA186_RESET_GPU>;
1473*4882a593Smuzhiyun		reset-names = "gpu";
1474*4882a593Smuzhiyun		status = "disabled";
1475*4882a593Smuzhiyun
1476*4882a593Smuzhiyun		power-domains = <&bpmp TEGRA186_POWER_DOMAIN_GPU>;
1477*4882a593Smuzhiyun		interconnects = <&mc TEGRA186_MEMORY_CLIENT_GPUSRD &emc>,
1478*4882a593Smuzhiyun				<&mc TEGRA186_MEMORY_CLIENT_GPUSWR &emc>,
1479*4882a593Smuzhiyun				<&mc TEGRA186_MEMORY_CLIENT_GPUSRD2 &emc>,
1480*4882a593Smuzhiyun				<&mc TEGRA186_MEMORY_CLIENT_GPUSWR2 &emc>;
1481*4882a593Smuzhiyun		interconnect-names = "dma-mem", "write-0", "read-1", "write-1";
1482*4882a593Smuzhiyun	};
1483*4882a593Smuzhiyun
1484*4882a593Smuzhiyun	sram@30000000 {
1485*4882a593Smuzhiyun		compatible = "nvidia,tegra186-sysram", "mmio-sram";
1486*4882a593Smuzhiyun		reg = <0x0 0x30000000 0x0 0x50000>;
1487*4882a593Smuzhiyun		#address-cells = <1>;
1488*4882a593Smuzhiyun		#size-cells = <1>;
1489*4882a593Smuzhiyun		ranges = <0x0 0x0 0x30000000 0x50000>;
1490*4882a593Smuzhiyun
1491*4882a593Smuzhiyun		cpu_bpmp_tx: sram@4e000 {
1492*4882a593Smuzhiyun			reg = <0x4e000 0x1000>;
1493*4882a593Smuzhiyun			label = "cpu-bpmp-tx";
1494*4882a593Smuzhiyun			pool;
1495*4882a593Smuzhiyun		};
1496*4882a593Smuzhiyun
1497*4882a593Smuzhiyun		cpu_bpmp_rx: sram@4f000 {
1498*4882a593Smuzhiyun			reg = <0x4f000 0x1000>;
1499*4882a593Smuzhiyun			label = "cpu-bpmp-rx";
1500*4882a593Smuzhiyun			pool;
1501*4882a593Smuzhiyun		};
1502*4882a593Smuzhiyun	};
1503*4882a593Smuzhiyun
1504*4882a593Smuzhiyun	bpmp: bpmp {
1505*4882a593Smuzhiyun		compatible = "nvidia,tegra186-bpmp";
1506*4882a593Smuzhiyun		interconnects = <&mc TEGRA186_MEMORY_CLIENT_BPMPR &emc>,
1507*4882a593Smuzhiyun				<&mc TEGRA186_MEMORY_CLIENT_BPMPW &emc>,
1508*4882a593Smuzhiyun				<&mc TEGRA186_MEMORY_CLIENT_BPMPDMAR &emc>,
1509*4882a593Smuzhiyun				<&mc TEGRA186_MEMORY_CLIENT_BPMPDMAW &emc>;
1510*4882a593Smuzhiyun		interconnect-names = "read", "write", "dma-mem", "dma-write";
1511*4882a593Smuzhiyun		iommus = <&smmu TEGRA186_SID_BPMP>;
1512*4882a593Smuzhiyun		mboxes = <&hsp_top0 TEGRA_HSP_MBOX_TYPE_DB
1513*4882a593Smuzhiyun				    TEGRA_HSP_DB_MASTER_BPMP>;
1514*4882a593Smuzhiyun		shmem = <&cpu_bpmp_tx &cpu_bpmp_rx>;
1515*4882a593Smuzhiyun		#clock-cells = <1>;
1516*4882a593Smuzhiyun		#reset-cells = <1>;
1517*4882a593Smuzhiyun		#power-domain-cells = <1>;
1518*4882a593Smuzhiyun
1519*4882a593Smuzhiyun		bpmp_i2c: i2c {
1520*4882a593Smuzhiyun			compatible = "nvidia,tegra186-bpmp-i2c";
1521*4882a593Smuzhiyun			nvidia,bpmp-bus-id = <5>;
1522*4882a593Smuzhiyun			#address-cells = <1>;
1523*4882a593Smuzhiyun			#size-cells = <0>;
1524*4882a593Smuzhiyun			status = "disabled";
1525*4882a593Smuzhiyun		};
1526*4882a593Smuzhiyun
1527*4882a593Smuzhiyun		bpmp_thermal: thermal {
1528*4882a593Smuzhiyun			compatible = "nvidia,tegra186-bpmp-thermal";
1529*4882a593Smuzhiyun			#thermal-sensor-cells = <1>;
1530*4882a593Smuzhiyun		};
1531*4882a593Smuzhiyun	};
1532*4882a593Smuzhiyun
1533*4882a593Smuzhiyun	cpus {
1534*4882a593Smuzhiyun		#address-cells = <1>;
1535*4882a593Smuzhiyun		#size-cells = <0>;
1536*4882a593Smuzhiyun
1537*4882a593Smuzhiyun		cpu@0 {
1538*4882a593Smuzhiyun			compatible = "nvidia,tegra186-denver";
1539*4882a593Smuzhiyun			device_type = "cpu";
1540*4882a593Smuzhiyun			i-cache-size = <0x20000>;
1541*4882a593Smuzhiyun			i-cache-line-size = <64>;
1542*4882a593Smuzhiyun			i-cache-sets = <512>;
1543*4882a593Smuzhiyun			d-cache-size = <0x10000>;
1544*4882a593Smuzhiyun			d-cache-line-size = <64>;
1545*4882a593Smuzhiyun			d-cache-sets = <256>;
1546*4882a593Smuzhiyun			next-level-cache = <&L2_DENVER>;
1547*4882a593Smuzhiyun			reg = <0x000>;
1548*4882a593Smuzhiyun		};
1549*4882a593Smuzhiyun
1550*4882a593Smuzhiyun		cpu@1 {
1551*4882a593Smuzhiyun			compatible = "nvidia,tegra186-denver";
1552*4882a593Smuzhiyun			device_type = "cpu";
1553*4882a593Smuzhiyun			i-cache-size = <0x20000>;
1554*4882a593Smuzhiyun			i-cache-line-size = <64>;
1555*4882a593Smuzhiyun			i-cache-sets = <512>;
1556*4882a593Smuzhiyun			d-cache-size = <0x10000>;
1557*4882a593Smuzhiyun			d-cache-line-size = <64>;
1558*4882a593Smuzhiyun			d-cache-sets = <256>;
1559*4882a593Smuzhiyun			next-level-cache = <&L2_DENVER>;
1560*4882a593Smuzhiyun			reg = <0x001>;
1561*4882a593Smuzhiyun		};
1562*4882a593Smuzhiyun
1563*4882a593Smuzhiyun		cpu@2 {
1564*4882a593Smuzhiyun			compatible = "arm,cortex-a57";
1565*4882a593Smuzhiyun			device_type = "cpu";
1566*4882a593Smuzhiyun			i-cache-size = <0xC000>;
1567*4882a593Smuzhiyun			i-cache-line-size = <64>;
1568*4882a593Smuzhiyun			i-cache-sets = <256>;
1569*4882a593Smuzhiyun			d-cache-size = <0x8000>;
1570*4882a593Smuzhiyun			d-cache-line-size = <64>;
1571*4882a593Smuzhiyun			d-cache-sets = <256>;
1572*4882a593Smuzhiyun			next-level-cache = <&L2_A57>;
1573*4882a593Smuzhiyun			reg = <0x100>;
1574*4882a593Smuzhiyun		};
1575*4882a593Smuzhiyun
1576*4882a593Smuzhiyun		cpu@3 {
1577*4882a593Smuzhiyun			compatible = "arm,cortex-a57";
1578*4882a593Smuzhiyun			device_type = "cpu";
1579*4882a593Smuzhiyun			i-cache-size = <0xC000>;
1580*4882a593Smuzhiyun			i-cache-line-size = <64>;
1581*4882a593Smuzhiyun			i-cache-sets = <256>;
1582*4882a593Smuzhiyun			d-cache-size = <0x8000>;
1583*4882a593Smuzhiyun			d-cache-line-size = <64>;
1584*4882a593Smuzhiyun			d-cache-sets = <256>;
1585*4882a593Smuzhiyun			next-level-cache = <&L2_A57>;
1586*4882a593Smuzhiyun			reg = <0x101>;
1587*4882a593Smuzhiyun		};
1588*4882a593Smuzhiyun
1589*4882a593Smuzhiyun		cpu@4 {
1590*4882a593Smuzhiyun			compatible = "arm,cortex-a57";
1591*4882a593Smuzhiyun			device_type = "cpu";
1592*4882a593Smuzhiyun			i-cache-size = <0xC000>;
1593*4882a593Smuzhiyun			i-cache-line-size = <64>;
1594*4882a593Smuzhiyun			i-cache-sets = <256>;
1595*4882a593Smuzhiyun			d-cache-size = <0x8000>;
1596*4882a593Smuzhiyun			d-cache-line-size = <64>;
1597*4882a593Smuzhiyun			d-cache-sets = <256>;
1598*4882a593Smuzhiyun			next-level-cache = <&L2_A57>;
1599*4882a593Smuzhiyun			reg = <0x102>;
1600*4882a593Smuzhiyun		};
1601*4882a593Smuzhiyun
1602*4882a593Smuzhiyun		cpu@5 {
1603*4882a593Smuzhiyun			compatible = "arm,cortex-a57";
1604*4882a593Smuzhiyun			device_type = "cpu";
1605*4882a593Smuzhiyun			i-cache-size = <0xC000>;
1606*4882a593Smuzhiyun			i-cache-line-size = <64>;
1607*4882a593Smuzhiyun			i-cache-sets = <256>;
1608*4882a593Smuzhiyun			d-cache-size = <0x8000>;
1609*4882a593Smuzhiyun			d-cache-line-size = <64>;
1610*4882a593Smuzhiyun			d-cache-sets = <256>;
1611*4882a593Smuzhiyun			next-level-cache = <&L2_A57>;
1612*4882a593Smuzhiyun			reg = <0x103>;
1613*4882a593Smuzhiyun		};
1614*4882a593Smuzhiyun
1615*4882a593Smuzhiyun		L2_DENVER: l2-cache0 {
1616*4882a593Smuzhiyun			compatible = "cache";
1617*4882a593Smuzhiyun			cache-unified;
1618*4882a593Smuzhiyun			cache-level = <2>;
1619*4882a593Smuzhiyun			cache-size = <0x200000>;
1620*4882a593Smuzhiyun			cache-line-size = <64>;
1621*4882a593Smuzhiyun			cache-sets = <2048>;
1622*4882a593Smuzhiyun		};
1623*4882a593Smuzhiyun
1624*4882a593Smuzhiyun		L2_A57: l2-cache1 {
1625*4882a593Smuzhiyun			compatible = "cache";
1626*4882a593Smuzhiyun			cache-unified;
1627*4882a593Smuzhiyun			cache-level = <2>;
1628*4882a593Smuzhiyun			cache-size = <0x200000>;
1629*4882a593Smuzhiyun			cache-line-size = <64>;
1630*4882a593Smuzhiyun			cache-sets = <2048>;
1631*4882a593Smuzhiyun		};
1632*4882a593Smuzhiyun	};
1633*4882a593Smuzhiyun
1634*4882a593Smuzhiyun	thermal-zones {
1635*4882a593Smuzhiyun		a57 {
1636*4882a593Smuzhiyun			polling-delay = <0>;
1637*4882a593Smuzhiyun			polling-delay-passive = <1000>;
1638*4882a593Smuzhiyun
1639*4882a593Smuzhiyun			thermal-sensors =
1640*4882a593Smuzhiyun				<&bpmp_thermal TEGRA186_BPMP_THERMAL_ZONE_CPU>;
1641*4882a593Smuzhiyun
1642*4882a593Smuzhiyun			trips {
1643*4882a593Smuzhiyun				critical {
1644*4882a593Smuzhiyun					temperature = <101000>;
1645*4882a593Smuzhiyun					hysteresis = <0>;
1646*4882a593Smuzhiyun					type = "critical";
1647*4882a593Smuzhiyun				};
1648*4882a593Smuzhiyun			};
1649*4882a593Smuzhiyun
1650*4882a593Smuzhiyun			cooling-maps {
1651*4882a593Smuzhiyun			};
1652*4882a593Smuzhiyun		};
1653*4882a593Smuzhiyun
1654*4882a593Smuzhiyun		denver {
1655*4882a593Smuzhiyun			polling-delay = <0>;
1656*4882a593Smuzhiyun			polling-delay-passive = <1000>;
1657*4882a593Smuzhiyun
1658*4882a593Smuzhiyun			thermal-sensors =
1659*4882a593Smuzhiyun				<&bpmp_thermal TEGRA186_BPMP_THERMAL_ZONE_AUX>;
1660*4882a593Smuzhiyun
1661*4882a593Smuzhiyun			trips {
1662*4882a593Smuzhiyun				critical {
1663*4882a593Smuzhiyun					temperature = <101000>;
1664*4882a593Smuzhiyun					hysteresis = <0>;
1665*4882a593Smuzhiyun					type = "critical";
1666*4882a593Smuzhiyun				};
1667*4882a593Smuzhiyun			};
1668*4882a593Smuzhiyun
1669*4882a593Smuzhiyun			cooling-maps {
1670*4882a593Smuzhiyun			};
1671*4882a593Smuzhiyun		};
1672*4882a593Smuzhiyun
1673*4882a593Smuzhiyun		gpu {
1674*4882a593Smuzhiyun			polling-delay = <0>;
1675*4882a593Smuzhiyun			polling-delay-passive = <1000>;
1676*4882a593Smuzhiyun
1677*4882a593Smuzhiyun			thermal-sensors =
1678*4882a593Smuzhiyun				<&bpmp_thermal TEGRA186_BPMP_THERMAL_ZONE_GPU>;
1679*4882a593Smuzhiyun
1680*4882a593Smuzhiyun			trips {
1681*4882a593Smuzhiyun				critical {
1682*4882a593Smuzhiyun					temperature = <101000>;
1683*4882a593Smuzhiyun					hysteresis = <0>;
1684*4882a593Smuzhiyun					type = "critical";
1685*4882a593Smuzhiyun				};
1686*4882a593Smuzhiyun			};
1687*4882a593Smuzhiyun
1688*4882a593Smuzhiyun			cooling-maps {
1689*4882a593Smuzhiyun			};
1690*4882a593Smuzhiyun		};
1691*4882a593Smuzhiyun
1692*4882a593Smuzhiyun		pll {
1693*4882a593Smuzhiyun			polling-delay = <0>;
1694*4882a593Smuzhiyun			polling-delay-passive = <1000>;
1695*4882a593Smuzhiyun
1696*4882a593Smuzhiyun			thermal-sensors =
1697*4882a593Smuzhiyun				<&bpmp_thermal TEGRA186_BPMP_THERMAL_ZONE_PLLX>;
1698*4882a593Smuzhiyun
1699*4882a593Smuzhiyun			trips {
1700*4882a593Smuzhiyun				critical {
1701*4882a593Smuzhiyun					temperature = <101000>;
1702*4882a593Smuzhiyun					hysteresis = <0>;
1703*4882a593Smuzhiyun					type = "critical";
1704*4882a593Smuzhiyun				};
1705*4882a593Smuzhiyun			};
1706*4882a593Smuzhiyun
1707*4882a593Smuzhiyun			cooling-maps {
1708*4882a593Smuzhiyun			};
1709*4882a593Smuzhiyun		};
1710*4882a593Smuzhiyun
1711*4882a593Smuzhiyun		always_on {
1712*4882a593Smuzhiyun			polling-delay = <0>;
1713*4882a593Smuzhiyun			polling-delay-passive = <1000>;
1714*4882a593Smuzhiyun
1715*4882a593Smuzhiyun			thermal-sensors =
1716*4882a593Smuzhiyun				<&bpmp_thermal TEGRA186_BPMP_THERMAL_ZONE_AO>;
1717*4882a593Smuzhiyun
1718*4882a593Smuzhiyun			trips {
1719*4882a593Smuzhiyun				critical {
1720*4882a593Smuzhiyun					temperature = <101000>;
1721*4882a593Smuzhiyun					hysteresis = <0>;
1722*4882a593Smuzhiyun					type = "critical";
1723*4882a593Smuzhiyun				};
1724*4882a593Smuzhiyun			};
1725*4882a593Smuzhiyun
1726*4882a593Smuzhiyun			cooling-maps {
1727*4882a593Smuzhiyun			};
1728*4882a593Smuzhiyun		};
1729*4882a593Smuzhiyun	};
1730*4882a593Smuzhiyun
1731*4882a593Smuzhiyun	timer {
1732*4882a593Smuzhiyun		compatible = "arm,armv8-timer";
1733*4882a593Smuzhiyun		interrupts = <GIC_PPI 13
1734*4882a593Smuzhiyun				(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
1735*4882a593Smuzhiyun			     <GIC_PPI 14
1736*4882a593Smuzhiyun				(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
1737*4882a593Smuzhiyun			     <GIC_PPI 11
1738*4882a593Smuzhiyun				(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
1739*4882a593Smuzhiyun			     <GIC_PPI 10
1740*4882a593Smuzhiyun				(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
1741*4882a593Smuzhiyun		interrupt-parent = <&gic>;
1742*4882a593Smuzhiyun		always-on;
1743*4882a593Smuzhiyun	};
1744*4882a593Smuzhiyun};
1745