xref: /OK3568_Linux_fs/kernel/arch/arm64/boot/dts/rockchip/rk3528-evb.dtsi (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2*4882a593Smuzhiyun/*
3*4882a593Smuzhiyun * Copyright (c) 2022 Rockchip Electronics Co., Ltd.
4*4882a593Smuzhiyun *
5*4882a593Smuzhiyun */
6*4882a593Smuzhiyun
7*4882a593Smuzhiyun#include "rk3528.dtsi"
8*4882a593Smuzhiyun#include <dt-bindings/gpio/gpio.h>
9*4882a593Smuzhiyun#include <dt-bindings/input/rk-input.h>
10*4882a593Smuzhiyun#include <dt-bindings/pinctrl/rockchip.h>
11*4882a593Smuzhiyun
12*4882a593Smuzhiyun/ {
13*4882a593Smuzhiyun	acodec_sound: acodec-sound {
14*4882a593Smuzhiyun		status = "okay";
15*4882a593Smuzhiyun		compatible = "simple-audio-card";
16*4882a593Smuzhiyun		simple-audio-card,name = "rk3528-acodec";
17*4882a593Smuzhiyun		simple-audio-card,format = "i2s";
18*4882a593Smuzhiyun		simple-audio-card,mclk-fs = <256>;
19*4882a593Smuzhiyun		simple-audio-card,cpu {
20*4882a593Smuzhiyun			sound-dai = <&sai2>;
21*4882a593Smuzhiyun		};
22*4882a593Smuzhiyun		simple-audio-card,codec {
23*4882a593Smuzhiyun			sound-dai = <&acodec>;
24*4882a593Smuzhiyun		};
25*4882a593Smuzhiyun	};
26*4882a593Smuzhiyun
27*4882a593Smuzhiyun	adc_keys: adc-keys {
28*4882a593Smuzhiyun		status = "okay";
29*4882a593Smuzhiyun		compatible = "adc-keys";
30*4882a593Smuzhiyun		io-channels = <&saradc 1>;
31*4882a593Smuzhiyun		io-channel-names = "buttons";
32*4882a593Smuzhiyun		keyup-threshold-microvolt = <1800000>;
33*4882a593Smuzhiyun		poll-interval = <100>;
34*4882a593Smuzhiyun
35*4882a593Smuzhiyun		vol-up-key {
36*4882a593Smuzhiyun			label = "volume up";
37*4882a593Smuzhiyun			linux,code = <KEY_VOLUMEUP>;
38*4882a593Smuzhiyun			press-threshold-microvolt = <1750>;
39*4882a593Smuzhiyun		};
40*4882a593Smuzhiyun	};
41*4882a593Smuzhiyun
42*4882a593Smuzhiyun	bt_sco: bt-sco {
43*4882a593Smuzhiyun		status = "disabled";
44*4882a593Smuzhiyun		compatible = "delta,dfbmcs320";
45*4882a593Smuzhiyun		#sound-dai-cells = <1>;
46*4882a593Smuzhiyun	};
47*4882a593Smuzhiyun
48*4882a593Smuzhiyun	bt_sound: bt-sound {
49*4882a593Smuzhiyun		status = "disabled";
50*4882a593Smuzhiyun		compatible = "simple-audio-card";
51*4882a593Smuzhiyun		simple-audio-card,format = "dsp_a";
52*4882a593Smuzhiyun		simple-audio-card,bitclock-inversion = <0>;
53*4882a593Smuzhiyun		simple-audio-card,mclk-fs = <256>;
54*4882a593Smuzhiyun		simple-audio-card,name = "rockchip,bt";
55*4882a593Smuzhiyun		simple-audio-card,cpu {
56*4882a593Smuzhiyun			sound-dai = <&sai0>;
57*4882a593Smuzhiyun		};
58*4882a593Smuzhiyun		simple-audio-card,codec {
59*4882a593Smuzhiyun			sound-dai = <&bt_sco 1>;
60*4882a593Smuzhiyun		};
61*4882a593Smuzhiyun	};
62*4882a593Smuzhiyun
63*4882a593Smuzhiyun	dc_12v: dc-12v {
64*4882a593Smuzhiyun		compatible = "regulator-fixed";
65*4882a593Smuzhiyun		regulator-name = "dc_12v";
66*4882a593Smuzhiyun		regulator-always-on;
67*4882a593Smuzhiyun		regulator-boot-on;
68*4882a593Smuzhiyun		regulator-min-microvolt = <12000000>;
69*4882a593Smuzhiyun		regulator-max-microvolt = <12000000>;
70*4882a593Smuzhiyun	};
71*4882a593Smuzhiyun
72*4882a593Smuzhiyun	es7243_sound: es7243-sound {
73*4882a593Smuzhiyun		status = "disabled";
74*4882a593Smuzhiyun		compatible = "simple-audio-card";
75*4882a593Smuzhiyun		simple-audio-card,name = "rockchip,es7243";
76*4882a593Smuzhiyun		simple-audio-card,format = "i2s";
77*4882a593Smuzhiyun		simple-audio-card,mclk-fs = <256>;
78*4882a593Smuzhiyun
79*4882a593Smuzhiyun		simple-audio-card,cpu {
80*4882a593Smuzhiyun			sound-dai = <&sai1>;
81*4882a593Smuzhiyun		};
82*4882a593Smuzhiyun		simple-audio-card,codec {
83*4882a593Smuzhiyun			sound-dai = <&es7243e>;
84*4882a593Smuzhiyun		};
85*4882a593Smuzhiyun	};
86*4882a593Smuzhiyun
87*4882a593Smuzhiyun	hdmi_sound: hdmi-sound {
88*4882a593Smuzhiyun		compatible = "rockchip,hdmi";
89*4882a593Smuzhiyun		rockchip,mclk-fs = <128>;
90*4882a593Smuzhiyun		rockchip,card-name = "rockchip,hdmi";
91*4882a593Smuzhiyun		rockchip,cpu = <&sai3>;
92*4882a593Smuzhiyun		rockchip,codec = <&hdmi>;
93*4882a593Smuzhiyun		rockchip,jack-det;
94*4882a593Smuzhiyun	};
95*4882a593Smuzhiyun
96*4882a593Smuzhiyun	pdmics: dummy-codec {
97*4882a593Smuzhiyun		status = "disabled";
98*4882a593Smuzhiyun		compatible = "rockchip,dummy-codec";
99*4882a593Smuzhiyun		#sound-dai-cells = <0>;
100*4882a593Smuzhiyun	};
101*4882a593Smuzhiyun
102*4882a593Smuzhiyun	pdm_mic_array: pdm-mic-array {
103*4882a593Smuzhiyun		status = "disabled";
104*4882a593Smuzhiyun		compatible = "simple-audio-card";
105*4882a593Smuzhiyun		simple-audio-card,name = "rockchip,pdm-mic-array";
106*4882a593Smuzhiyun		simple-audio-card,cpu {
107*4882a593Smuzhiyun			sound-dai = <&pdm>;
108*4882a593Smuzhiyun		};
109*4882a593Smuzhiyun		simple-audio-card,codec {
110*4882a593Smuzhiyun			sound-dai = <&pdmics>;
111*4882a593Smuzhiyun		};
112*4882a593Smuzhiyun	};
113*4882a593Smuzhiyun
114*4882a593Smuzhiyun	spdif-sound {
115*4882a593Smuzhiyun		status = "okay";
116*4882a593Smuzhiyun		compatible = "simple-audio-card";
117*4882a593Smuzhiyun		simple-audio-card,name = "ROCKCHIP,SPDIF";
118*4882a593Smuzhiyun		simple-audio-card,mclk-fs = <128>;
119*4882a593Smuzhiyun		simple-audio-card,cpu {
120*4882a593Smuzhiyun			sound-dai = <&spdif_8ch>;
121*4882a593Smuzhiyun		};
122*4882a593Smuzhiyun		simple-audio-card,codec {
123*4882a593Smuzhiyun			sound-dai = <&spdif_out>;
124*4882a593Smuzhiyun		};
125*4882a593Smuzhiyun	};
126*4882a593Smuzhiyun
127*4882a593Smuzhiyun	spdif_out: spdif-out {
128*4882a593Smuzhiyun		status = "okay";
129*4882a593Smuzhiyun		compatible = "linux,spdif-dit";
130*4882a593Smuzhiyun		#sound-dai-cells = <0>;
131*4882a593Smuzhiyun	};
132*4882a593Smuzhiyun
133*4882a593Smuzhiyun	vcc5v0_sys: vcc5v0-sys {
134*4882a593Smuzhiyun		compatible = "regulator-fixed";
135*4882a593Smuzhiyun		regulator-name = "vcc5v0_sys";
136*4882a593Smuzhiyun		regulator-always-on;
137*4882a593Smuzhiyun		regulator-boot-on;
138*4882a593Smuzhiyun		regulator-min-microvolt = <5000000>;
139*4882a593Smuzhiyun		regulator-max-microvolt = <5000000>;
140*4882a593Smuzhiyun		vin-supply = <&dc_12v>;
141*4882a593Smuzhiyun	};
142*4882a593Smuzhiyun
143*4882a593Smuzhiyun	vcc5v0_host: vcc5v0-host-regulator {
144*4882a593Smuzhiyun		compatible = "regulator-fixed";
145*4882a593Smuzhiyun		regulator-name = "vcc5v0_host";
146*4882a593Smuzhiyun		regulator-boot-on;
147*4882a593Smuzhiyun		regulator-always-on;
148*4882a593Smuzhiyun		regulator-min-microvolt = <5000000>;
149*4882a593Smuzhiyun		regulator-max-microvolt = <5000000>;
150*4882a593Smuzhiyun		enable-active-high;
151*4882a593Smuzhiyun		gpio = <&gpio4 RK_PB5 GPIO_ACTIVE_HIGH>;
152*4882a593Smuzhiyun		vin-supply = <&vcc5v0_sys>;
153*4882a593Smuzhiyun		pinctrl-names = "default";
154*4882a593Smuzhiyun		pinctrl-0 = <&vcc5v0_host_en>;
155*4882a593Smuzhiyun	};
156*4882a593Smuzhiyun
157*4882a593Smuzhiyun	vcc5v0_otg: vcc5v0-otg-regulator {
158*4882a593Smuzhiyun		compatible = "regulator-fixed";
159*4882a593Smuzhiyun		regulator-name = "vcc5v0_otg";
160*4882a593Smuzhiyun		regulator-min-microvolt = <5000000>;
161*4882a593Smuzhiyun		regulator-max-microvolt = <5000000>;
162*4882a593Smuzhiyun		enable-active-high;
163*4882a593Smuzhiyun		gpio = <&gpio4 RK_PC1 GPIO_ACTIVE_HIGH>;
164*4882a593Smuzhiyun		vin-supply = <&vcc5v0_sys>;
165*4882a593Smuzhiyun		pinctrl-names = "default";
166*4882a593Smuzhiyun		pinctrl-0 = <&vcc5v0_otg_en>;
167*4882a593Smuzhiyun	};
168*4882a593Smuzhiyun
169*4882a593Smuzhiyun	/omit-if-no-ref/
170*4882a593Smuzhiyun	vccio_sd: vccio-sd {
171*4882a593Smuzhiyun		compatible = "regulator-gpio";
172*4882a593Smuzhiyun		regulator-name = "vccio_sd";
173*4882a593Smuzhiyun		regulator-min-microvolt = <1800000>;
174*4882a593Smuzhiyun		regulator-max-microvolt = <3300000>;
175*4882a593Smuzhiyun		gpios = <&gpio4 RK_PB6 GPIO_ACTIVE_HIGH>;
176*4882a593Smuzhiyun		vin-supply = <&vcc5v0_sys>;
177*4882a593Smuzhiyun		states = <1800000 0x0
178*4882a593Smuzhiyun			  3300000 0x1>;
179*4882a593Smuzhiyun	};
180*4882a593Smuzhiyun
181*4882a593Smuzhiyun	vdd_logic: vdd-logic {
182*4882a593Smuzhiyun		compatible = "pwm-regulator";
183*4882a593Smuzhiyun		pwms = <&pwm2 0 5000 1>;
184*4882a593Smuzhiyun		regulator-name = "vdd_logic";
185*4882a593Smuzhiyun		regulator-min-microvolt = <705000>;
186*4882a593Smuzhiyun		regulator-max-microvolt = <1006000>;
187*4882a593Smuzhiyun		regulator-init-microvolt = <900000>;
188*4882a593Smuzhiyun		regulator-always-on;
189*4882a593Smuzhiyun		regulator-boot-on;
190*4882a593Smuzhiyun		regulator-settling-time-up-us = <250>;
191*4882a593Smuzhiyun		pwm-supply = <&vcc5v0_sys>;
192*4882a593Smuzhiyun		status = "okay";
193*4882a593Smuzhiyun	};
194*4882a593Smuzhiyun
195*4882a593Smuzhiyun	vdd_cpu: vdd-cpu {
196*4882a593Smuzhiyun		compatible = "pwm-regulator";
197*4882a593Smuzhiyun		pwms = <&pwm1 0 5000 1>;
198*4882a593Smuzhiyun		regulator-name = "vdd_cpu";
199*4882a593Smuzhiyun		regulator-min-microvolt = <746000>;
200*4882a593Smuzhiyun		regulator-max-microvolt = <1201000>;
201*4882a593Smuzhiyun		regulator-init-microvolt = <953000>;
202*4882a593Smuzhiyun		regulator-always-on;
203*4882a593Smuzhiyun		regulator-boot-on;
204*4882a593Smuzhiyun		regulator-settling-time-up-us = <250>;
205*4882a593Smuzhiyun		pwm-supply = <&vcc5v0_sys>;
206*4882a593Smuzhiyun		status = "okay";
207*4882a593Smuzhiyun	};
208*4882a593Smuzhiyun
209*4882a593Smuzhiyun	vdd_gpu: vdd-gpu {
210*4882a593Smuzhiyun		compatible = "pwm-regulator";
211*4882a593Smuzhiyun		pwms = <&pwm0 0 5000 1>;
212*4882a593Smuzhiyun		regulator-name = "vdd_gpu";
213*4882a593Smuzhiyun		regulator-min-microvolt = <705000>;
214*4882a593Smuzhiyun		regulator-max-microvolt = <1148000>;
215*4882a593Smuzhiyun		regulator-init-microvolt = <900000>;
216*4882a593Smuzhiyun		regulator-always-on;
217*4882a593Smuzhiyun		regulator-boot-on;
218*4882a593Smuzhiyun		regulator-settling-time-up-us = <250>;
219*4882a593Smuzhiyun		pwm-supply = <&vcc5v0_sys>;
220*4882a593Smuzhiyun		status = "okay";
221*4882a593Smuzhiyun	};
222*4882a593Smuzhiyun
223*4882a593Smuzhiyun	vdd_0v9_s3: vdd-0v9-s3 {
224*4882a593Smuzhiyun		compatible = "regulator-fixed";
225*4882a593Smuzhiyun		regulator-name = "vdd_0v9_s3";
226*4882a593Smuzhiyun		regulator-always-on;
227*4882a593Smuzhiyun		regulator-boot-on;
228*4882a593Smuzhiyun		regulator-min-microvolt = <900000>;
229*4882a593Smuzhiyun		regulator-max-microvolt = <900000>;
230*4882a593Smuzhiyun		vin-supply = <&vcc5v0_sys>;
231*4882a593Smuzhiyun	};
232*4882a593Smuzhiyun
233*4882a593Smuzhiyun	vdd_1v8_s3: vdd-1v8-s3 {
234*4882a593Smuzhiyun		compatible = "regulator-fixed";
235*4882a593Smuzhiyun		regulator-name = "vdd_1v8_s3";
236*4882a593Smuzhiyun		regulator-always-on;
237*4882a593Smuzhiyun		regulator-boot-on;
238*4882a593Smuzhiyun		regulator-min-microvolt = <1800000>;
239*4882a593Smuzhiyun		regulator-max-microvolt = <1800000>;
240*4882a593Smuzhiyun		vin-supply = <&vcc5v0_sys>;
241*4882a593Smuzhiyun	};
242*4882a593Smuzhiyun
243*4882a593Smuzhiyun	vcc_3v3_s3: vcc-3v3-s3 {
244*4882a593Smuzhiyun		compatible = "regulator-fixed";
245*4882a593Smuzhiyun		regulator-name = "vcc_3v3_s3";
246*4882a593Smuzhiyun		regulator-always-on;
247*4882a593Smuzhiyun		regulator-boot-on;
248*4882a593Smuzhiyun		regulator-min-microvolt = <3300000>;
249*4882a593Smuzhiyun		regulator-max-microvolt = <3300000>;
250*4882a593Smuzhiyun		vin-supply = <&vcc5v0_sys>;
251*4882a593Smuzhiyun	};
252*4882a593Smuzhiyun
253*4882a593Smuzhiyun	/omit-if-no-ref/
254*4882a593Smuzhiyun	vcc_sd: vcc-sd {
255*4882a593Smuzhiyun		compatible = "regulator-fixed";
256*4882a593Smuzhiyun		gpio = <&gpio4 RK_PA1 GPIO_ACTIVE_LOW>;
257*4882a593Smuzhiyun		regulator-name = "vcc_sd";
258*4882a593Smuzhiyun		regulator-min-microvolt = <3300000>;
259*4882a593Smuzhiyun		regulator-max-microvolt = <3300000>;
260*4882a593Smuzhiyun		vin-supply = <&vcc_3v3_s3>;
261*4882a593Smuzhiyun	};
262*4882a593Smuzhiyun
263*4882a593Smuzhiyun	vcc_ddr_s3: vcc-ddr-s3 {
264*4882a593Smuzhiyun		compatible = "regulator-fixed";
265*4882a593Smuzhiyun		regulator-name = "vcc_ddr_s3";
266*4882a593Smuzhiyun		regulator-always-on;
267*4882a593Smuzhiyun		regulator-boot-on;
268*4882a593Smuzhiyun		regulator-min-microvolt = <1200000>;
269*4882a593Smuzhiyun		regulator-max-microvolt = <1200000>;
270*4882a593Smuzhiyun		vin-supply = <&vcc5v0_sys>;
271*4882a593Smuzhiyun	};
272*4882a593Smuzhiyun};
273*4882a593Smuzhiyun
274*4882a593Smuzhiyun&acodec {
275*4882a593Smuzhiyun	pa-ctl-gpios = <&gpio0 RK_PA0 GPIO_ACTIVE_HIGH>;
276*4882a593Smuzhiyun	status = "okay";
277*4882a593Smuzhiyun};
278*4882a593Smuzhiyun
279*4882a593Smuzhiyun&avsd {
280*4882a593Smuzhiyun	status = "okay";
281*4882a593Smuzhiyun};
282*4882a593Smuzhiyun
283*4882a593Smuzhiyun&combphy_pu {
284*4882a593Smuzhiyun	status = "okay";
285*4882a593Smuzhiyun};
286*4882a593Smuzhiyun
287*4882a593Smuzhiyun&cpu0 {
288*4882a593Smuzhiyun	cpu-supply = <&vdd_cpu>;
289*4882a593Smuzhiyun};
290*4882a593Smuzhiyun
291*4882a593Smuzhiyun&crypto {
292*4882a593Smuzhiyun	status = "okay";
293*4882a593Smuzhiyun};
294*4882a593Smuzhiyun
295*4882a593Smuzhiyun&dfi {
296*4882a593Smuzhiyun	status = "okay";
297*4882a593Smuzhiyun};
298*4882a593Smuzhiyun
299*4882a593Smuzhiyun&display_subsystem {
300*4882a593Smuzhiyun	status = "okay";
301*4882a593Smuzhiyun};
302*4882a593Smuzhiyun
303*4882a593Smuzhiyun&dmc {
304*4882a593Smuzhiyun	center-supply = <&vdd_logic>;
305*4882a593Smuzhiyun	status = "okay";
306*4882a593Smuzhiyun};
307*4882a593Smuzhiyun
308*4882a593Smuzhiyun&gmac0 {
309*4882a593Smuzhiyun	status = "okay";
310*4882a593Smuzhiyun};
311*4882a593Smuzhiyun
312*4882a593Smuzhiyun&gpu {
313*4882a593Smuzhiyun	mali-supply = <&vdd_gpu>;
314*4882a593Smuzhiyun	status = "okay";
315*4882a593Smuzhiyun};
316*4882a593Smuzhiyun
317*4882a593Smuzhiyun&gpu_bus {
318*4882a593Smuzhiyun	bus-supply = <&vdd_logic>;
319*4882a593Smuzhiyun	status = "okay";
320*4882a593Smuzhiyun};
321*4882a593Smuzhiyun
322*4882a593Smuzhiyun&hdmi {
323*4882a593Smuzhiyun	status = "okay";
324*4882a593Smuzhiyun};
325*4882a593Smuzhiyun
326*4882a593Smuzhiyun&hdmi_in_vp0 {
327*4882a593Smuzhiyun	status = "okay";
328*4882a593Smuzhiyun};
329*4882a593Smuzhiyun
330*4882a593Smuzhiyun&hdmiphy {
331*4882a593Smuzhiyun	status = "okay";
332*4882a593Smuzhiyun};
333*4882a593Smuzhiyun
334*4882a593Smuzhiyun&i2c6 {
335*4882a593Smuzhiyun	status = "disabled";
336*4882a593Smuzhiyun	es7243e: es7243e@10 {
337*4882a593Smuzhiyun		status = "okay";
338*4882a593Smuzhiyun		#sound-dai-cells = <0>;
339*4882a593Smuzhiyun		compatible = "ES7243E_MicArray_0";
340*4882a593Smuzhiyun		reg = <0x10>;
341*4882a593Smuzhiyun	};
342*4882a593Smuzhiyun
343*4882a593Smuzhiyun	es7243e_11: es7243e@11 {
344*4882a593Smuzhiyun		status = "okay";
345*4882a593Smuzhiyun		#sound-dai-cells = <0>;
346*4882a593Smuzhiyun		compatible = "ES7243E_MicArray_1";
347*4882a593Smuzhiyun		reg = <0x11>;
348*4882a593Smuzhiyun	};
349*4882a593Smuzhiyun
350*4882a593Smuzhiyun	es7243e_12: es7243e@12 {
351*4882a593Smuzhiyun		status = "okay";
352*4882a593Smuzhiyun		#sound-dai-cells = <0>;
353*4882a593Smuzhiyun		compatible = "ES7243E_MicArray_2";
354*4882a593Smuzhiyun		reg = <0x12>;
355*4882a593Smuzhiyun	};
356*4882a593Smuzhiyun};
357*4882a593Smuzhiyun
358*4882a593Smuzhiyun&iep {
359*4882a593Smuzhiyun	status = "okay";
360*4882a593Smuzhiyun};
361*4882a593Smuzhiyun
362*4882a593Smuzhiyun&iep_mmu {
363*4882a593Smuzhiyun	status = "okay";
364*4882a593Smuzhiyun};
365*4882a593Smuzhiyun
366*4882a593Smuzhiyun&jpegd {
367*4882a593Smuzhiyun	status = "okay";
368*4882a593Smuzhiyun};
369*4882a593Smuzhiyun
370*4882a593Smuzhiyun&jpegd_mmu {
371*4882a593Smuzhiyun	status = "okay";
372*4882a593Smuzhiyun};
373*4882a593Smuzhiyun
374*4882a593Smuzhiyun&mpp_srv {
375*4882a593Smuzhiyun	status = "okay";
376*4882a593Smuzhiyun};
377*4882a593Smuzhiyun
378*4882a593Smuzhiyun&pinctrl {
379*4882a593Smuzhiyun	usb {
380*4882a593Smuzhiyun		vcc5v0_host_en: vcc5v0-host-en {
381*4882a593Smuzhiyun			rockchip,pins = <4 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
382*4882a593Smuzhiyun		};
383*4882a593Smuzhiyun
384*4882a593Smuzhiyun		vcc5v0_otg_en: vcc5v0-otg-en {
385*4882a593Smuzhiyun			rockchip,pins = <4 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>;
386*4882a593Smuzhiyun		};
387*4882a593Smuzhiyun	};
388*4882a593Smuzhiyun};
389*4882a593Smuzhiyun
390*4882a593Smuzhiyun&pwm0 {
391*4882a593Smuzhiyun	status = "okay";
392*4882a593Smuzhiyun};
393*4882a593Smuzhiyun
394*4882a593Smuzhiyun&pwm1 {
395*4882a593Smuzhiyun	status = "okay";
396*4882a593Smuzhiyun};
397*4882a593Smuzhiyun
398*4882a593Smuzhiyun&pwm2 {
399*4882a593Smuzhiyun	status = "okay";
400*4882a593Smuzhiyun};
401*4882a593Smuzhiyun
402*4882a593Smuzhiyun&pwm3 {
403*4882a593Smuzhiyun	compatible = "rockchip,remotectl-pwm";
404*4882a593Smuzhiyun	pinctrl-names = "default";
405*4882a593Smuzhiyun	pinctrl-0 = <&pwm3m0_pins>;
406*4882a593Smuzhiyun	remote_pwm_id = <3>;
407*4882a593Smuzhiyun	handle_cpu_id = <1>;
408*4882a593Smuzhiyun	remote_support_psci = <0>;
409*4882a593Smuzhiyun	status = "okay";
410*4882a593Smuzhiyun
411*4882a593Smuzhiyun	ir_key1 {
412*4882a593Smuzhiyun		rockchip,usercode = <0x4040>;
413*4882a593Smuzhiyun		rockchip,key_table =
414*4882a593Smuzhiyun			<0xf2	KEY_REPLY>,
415*4882a593Smuzhiyun			<0xba	KEY_BACK>,
416*4882a593Smuzhiyun			<0xf4	KEY_UP>,
417*4882a593Smuzhiyun			<0xf1	KEY_DOWN>,
418*4882a593Smuzhiyun			<0xef	KEY_LEFT>,
419*4882a593Smuzhiyun			<0xee	KEY_RIGHT>,
420*4882a593Smuzhiyun			<0xbd	KEY_HOME>,
421*4882a593Smuzhiyun			<0xea	KEY_VOLUMEUP>,
422*4882a593Smuzhiyun			<0xe3	KEY_VOLUMEDOWN>,
423*4882a593Smuzhiyun			<0xe2	KEY_SEARCH>,
424*4882a593Smuzhiyun			<0xb2	KEY_POWER>,
425*4882a593Smuzhiyun			<0xbc	KEY_MUTE>,
426*4882a593Smuzhiyun			<0xec	KEY_MENU>,
427*4882a593Smuzhiyun			<0xbf	0x190>,
428*4882a593Smuzhiyun			<0xe0	0x191>,
429*4882a593Smuzhiyun			<0xe1	0x192>,
430*4882a593Smuzhiyun			<0xe9	183>,
431*4882a593Smuzhiyun			<0xe6	248>,
432*4882a593Smuzhiyun			<0xe8	185>,
433*4882a593Smuzhiyun			<0xe7	186>,
434*4882a593Smuzhiyun			<0xf0	388>,
435*4882a593Smuzhiyun			<0xbe	0x175>;
436*4882a593Smuzhiyun	};
437*4882a593Smuzhiyun
438*4882a593Smuzhiyun	ir_key2 {
439*4882a593Smuzhiyun		rockchip,usercode = <0xff00>;
440*4882a593Smuzhiyun		rockchip,key_table =
441*4882a593Smuzhiyun			<0xf9	KEY_HOME>,
442*4882a593Smuzhiyun			<0xbf	KEY_BACK>,
443*4882a593Smuzhiyun			<0xfb	KEY_MENU>,
444*4882a593Smuzhiyun			<0xaa	KEY_REPLY>,
445*4882a593Smuzhiyun			<0xb9	KEY_UP>,
446*4882a593Smuzhiyun			<0xe9	KEY_DOWN>,
447*4882a593Smuzhiyun			<0xb8	KEY_LEFT>,
448*4882a593Smuzhiyun			<0xea	KEY_RIGHT>,
449*4882a593Smuzhiyun			<0xeb	KEY_VOLUMEDOWN>,
450*4882a593Smuzhiyun			<0xef	KEY_VOLUMEUP>,
451*4882a593Smuzhiyun			<0xf7	KEY_MUTE>,
452*4882a593Smuzhiyun			<0xe7	KEY_POWER>,
453*4882a593Smuzhiyun			<0xfc	KEY_POWER>,
454*4882a593Smuzhiyun			<0xa9	KEY_VOLUMEDOWN>,
455*4882a593Smuzhiyun			<0xa8	KEY_PLAYPAUSE>,
456*4882a593Smuzhiyun			<0xe0	KEY_VOLUMEDOWN>,
457*4882a593Smuzhiyun			<0xa5	KEY_VOLUMEDOWN>,
458*4882a593Smuzhiyun			<0xab	183>,
459*4882a593Smuzhiyun			<0xb7	388>,
460*4882a593Smuzhiyun			<0xe8	388>,
461*4882a593Smuzhiyun			<0xf8	184>,
462*4882a593Smuzhiyun			<0xaf	185>,
463*4882a593Smuzhiyun			<0xed	KEY_VOLUMEDOWN>,
464*4882a593Smuzhiyun			<0xee	186>,
465*4882a593Smuzhiyun			<0xb3	KEY_VOLUMEDOWN>,
466*4882a593Smuzhiyun			<0xf1	KEY_VOLUMEDOWN>,
467*4882a593Smuzhiyun			<0xf2	KEY_VOLUMEDOWN>,
468*4882a593Smuzhiyun			<0xf3	KEY_SEARCH>,
469*4882a593Smuzhiyun			<0xb4	KEY_VOLUMEDOWN>,
470*4882a593Smuzhiyun			<0xa4	KEY_SETUP>,
471*4882a593Smuzhiyun			<0xbe	KEY_SEARCH>;
472*4882a593Smuzhiyun	};
473*4882a593Smuzhiyun
474*4882a593Smuzhiyun	ir_key3 {
475*4882a593Smuzhiyun		rockchip,usercode = <0x1dcc>;
476*4882a593Smuzhiyun		rockchip,key_table =
477*4882a593Smuzhiyun			<0xee	KEY_REPLY>,
478*4882a593Smuzhiyun			<0xf0	KEY_BACK>,
479*4882a593Smuzhiyun			<0xf8	KEY_UP>,
480*4882a593Smuzhiyun			<0xbb	KEY_DOWN>,
481*4882a593Smuzhiyun			<0xef	KEY_LEFT>,
482*4882a593Smuzhiyun			<0xed	KEY_RIGHT>,
483*4882a593Smuzhiyun			<0xfc	KEY_HOME>,
484*4882a593Smuzhiyun			<0xf1	KEY_VOLUMEUP>,
485*4882a593Smuzhiyun			<0xfd	KEY_VOLUMEDOWN>,
486*4882a593Smuzhiyun			<0xb7	KEY_SEARCH>,
487*4882a593Smuzhiyun			<0xff	KEY_POWER>,
488*4882a593Smuzhiyun			<0xf3	KEY_MUTE>,
489*4882a593Smuzhiyun			<0xbf	KEY_MENU>,
490*4882a593Smuzhiyun			<0xf9	0x191>,
491*4882a593Smuzhiyun			<0xf5	0x192>,
492*4882a593Smuzhiyun			<0xb3	388>,
493*4882a593Smuzhiyun			<0xbe	KEY_1>,
494*4882a593Smuzhiyun			<0xba	KEY_2>,
495*4882a593Smuzhiyun			<0xb2	KEY_3>,
496*4882a593Smuzhiyun			<0xbd	KEY_4>,
497*4882a593Smuzhiyun			<0xf9	KEY_5>,
498*4882a593Smuzhiyun			<0xb1	KEY_6>,
499*4882a593Smuzhiyun			<0xfc	KEY_7>,
500*4882a593Smuzhiyun			<0xf8	KEY_8>,
501*4882a593Smuzhiyun			<0xb0	KEY_9>,
502*4882a593Smuzhiyun			<0xb6	KEY_0>,
503*4882a593Smuzhiyun			<0xb5	KEY_BACKSPACE>;
504*4882a593Smuzhiyun	};
505*4882a593Smuzhiyun};
506*4882a593Smuzhiyun
507*4882a593Smuzhiyun&rga2 {
508*4882a593Smuzhiyun	status = "okay";
509*4882a593Smuzhiyun};
510*4882a593Smuzhiyun
511*4882a593Smuzhiyun&rga2_mmu {
512*4882a593Smuzhiyun	status = "okay";
513*4882a593Smuzhiyun};
514*4882a593Smuzhiyun
515*4882a593Smuzhiyun&rkvdec {
516*4882a593Smuzhiyun	status = "okay";
517*4882a593Smuzhiyun};
518*4882a593Smuzhiyun
519*4882a593Smuzhiyun&rkvdec_mmu {
520*4882a593Smuzhiyun	status = "okay";
521*4882a593Smuzhiyun};
522*4882a593Smuzhiyun
523*4882a593Smuzhiyun&rkvenc {
524*4882a593Smuzhiyun	status = "okay";
525*4882a593Smuzhiyun};
526*4882a593Smuzhiyun
527*4882a593Smuzhiyun&rkvenc_mmu {
528*4882a593Smuzhiyun	status = "okay";
529*4882a593Smuzhiyun};
530*4882a593Smuzhiyun
531*4882a593Smuzhiyun&rkvtunnel {
532*4882a593Smuzhiyun	status = "okay";
533*4882a593Smuzhiyun};
534*4882a593Smuzhiyun
535*4882a593Smuzhiyun&rockchip_suspend {
536*4882a593Smuzhiyun	status = "okay";
537*4882a593Smuzhiyun	rockchip,sleep-debug-en = <1>;
538*4882a593Smuzhiyun	rockchip,virtual-poweroff = <1>;
539*4882a593Smuzhiyun	rockchip,sleep-mode-config = <
540*4882a593Smuzhiyun		(0
541*4882a593Smuzhiyun		| RKPM_SLP_ARMPD
542*4882a593Smuzhiyun		)
543*4882a593Smuzhiyun	>;
544*4882a593Smuzhiyun	rockchip,wakeup-config = <
545*4882a593Smuzhiyun		(0
546*4882a593Smuzhiyun		| RKPM_CPU0_WKUP_EN
547*4882a593Smuzhiyun		| RKPM_GPIO_WKUP_EN
548*4882a593Smuzhiyun		)
549*4882a593Smuzhiyun	>;
550*4882a593Smuzhiyun	rockchip,pwm-regulator-config = <
551*4882a593Smuzhiyun		(0
552*4882a593Smuzhiyun		| RKPM_PWM0_M0_REGULATOR_EN
553*4882a593Smuzhiyun		| RKPM_PWM1_M0_REGULATOR_EN
554*4882a593Smuzhiyun		)
555*4882a593Smuzhiyun	>;
556*4882a593Smuzhiyun};
557*4882a593Smuzhiyun
558*4882a593Smuzhiyun&sai0 {
559*4882a593Smuzhiyun	pinctrl-0 = <&i2s0m1_lrck &i2s0m1_sclk &i2s0m1_sdi &i2s0m1_sdo>;
560*4882a593Smuzhiyun	status = "disabled";
561*4882a593Smuzhiyun};
562*4882a593Smuzhiyun
563*4882a593Smuzhiyun&sai2 {
564*4882a593Smuzhiyun	status = "okay";
565*4882a593Smuzhiyun};
566*4882a593Smuzhiyun
567*4882a593Smuzhiyun&sai3 {
568*4882a593Smuzhiyun	status = "okay";
569*4882a593Smuzhiyun};
570*4882a593Smuzhiyun
571*4882a593Smuzhiyun&saradc {
572*4882a593Smuzhiyun	status = "okay";
573*4882a593Smuzhiyun	vref-supply = <&vdd_1v8_s3>;
574*4882a593Smuzhiyun};
575*4882a593Smuzhiyun
576*4882a593Smuzhiyun&sdhci {
577*4882a593Smuzhiyun	bus-width = <8>;
578*4882a593Smuzhiyun	no-sd;
579*4882a593Smuzhiyun	no-sdio;
580*4882a593Smuzhiyun	non-removable;
581*4882a593Smuzhiyun	mmc-hs400-1_8v;
582*4882a593Smuzhiyun	mmc-hs400-enhanced-strobe;
583*4882a593Smuzhiyun	max-frequency = <200000000>;
584*4882a593Smuzhiyun	status = "okay";
585*4882a593Smuzhiyun};
586*4882a593Smuzhiyun
587*4882a593Smuzhiyun&sdmmc {
588*4882a593Smuzhiyun	bus-width = <4>;
589*4882a593Smuzhiyun	cap-mmc-highspeed;
590*4882a593Smuzhiyun	cap-sd-highspeed;
591*4882a593Smuzhiyun	disable-wp;
592*4882a593Smuzhiyun	max-frequency = <150000000>;
593*4882a593Smuzhiyun	pinctrl-names = "default";
594*4882a593Smuzhiyun	pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_det &sdmmc_bus4>;
595*4882a593Smuzhiyun	rockchip,default-sample-phase = <90>;
596*4882a593Smuzhiyun	supports-sd;
597*4882a593Smuzhiyun	sd-uhs-sdr12;
598*4882a593Smuzhiyun	sd-uhs-sdr25;
599*4882a593Smuzhiyun	sd-uhs-sdr50;
600*4882a593Smuzhiyun	sd-uhs-sdr104;
601*4882a593Smuzhiyun	vqmmc-supply = <&vccio_sd>;
602*4882a593Smuzhiyun	vmmc-supply = <&vcc_sd>;
603*4882a593Smuzhiyun	status = "disabled";
604*4882a593Smuzhiyun};
605*4882a593Smuzhiyun
606*4882a593Smuzhiyun&sfc {
607*4882a593Smuzhiyun	status = "okay";
608*4882a593Smuzhiyun};
609*4882a593Smuzhiyun
610*4882a593Smuzhiyun&spdif_8ch {
611*4882a593Smuzhiyun	status = "okay";
612*4882a593Smuzhiyun};
613*4882a593Smuzhiyun
614*4882a593Smuzhiyun&tsadc {
615*4882a593Smuzhiyun	status = "okay";
616*4882a593Smuzhiyun};
617*4882a593Smuzhiyun
618*4882a593Smuzhiyun&tve {
619*4882a593Smuzhiyun	status = "okay";
620*4882a593Smuzhiyun};
621*4882a593Smuzhiyun
622*4882a593Smuzhiyun&tve_in_vp1 {
623*4882a593Smuzhiyun	status = "okay";
624*4882a593Smuzhiyun};
625*4882a593Smuzhiyun
626*4882a593Smuzhiyun&u2phy_host {
627*4882a593Smuzhiyun	phy-supply = <&vcc5v0_host>;
628*4882a593Smuzhiyun	status = "okay";
629*4882a593Smuzhiyun};
630*4882a593Smuzhiyun
631*4882a593Smuzhiyun&u2phy_otg {
632*4882a593Smuzhiyun	vbus-supply = <&vcc5v0_otg>;
633*4882a593Smuzhiyun	status = "okay";
634*4882a593Smuzhiyun};
635*4882a593Smuzhiyun
636*4882a593Smuzhiyun&usb2phy {
637*4882a593Smuzhiyun	status = "okay";
638*4882a593Smuzhiyun};
639*4882a593Smuzhiyun
640*4882a593Smuzhiyun&usb_host0_ehci {
641*4882a593Smuzhiyun	status = "okay";
642*4882a593Smuzhiyun};
643*4882a593Smuzhiyun
644*4882a593Smuzhiyun&usb_host0_ohci {
645*4882a593Smuzhiyun	status = "okay";
646*4882a593Smuzhiyun};
647*4882a593Smuzhiyun
648*4882a593Smuzhiyun&usbdrd30 {
649*4882a593Smuzhiyun	status = "okay";
650*4882a593Smuzhiyun};
651*4882a593Smuzhiyun
652*4882a593Smuzhiyun&usbdrd_dwc3 {
653*4882a593Smuzhiyun	dr_mode = "otg";
654*4882a593Smuzhiyun	extcon = <&usb2phy>;
655*4882a593Smuzhiyun	status = "okay";
656*4882a593Smuzhiyun};
657*4882a593Smuzhiyun
658*4882a593Smuzhiyun&vdpp {
659*4882a593Smuzhiyun	status = "okay";
660*4882a593Smuzhiyun};
661*4882a593Smuzhiyun
662*4882a593Smuzhiyun&vdpu {
663*4882a593Smuzhiyun	status = "okay";
664*4882a593Smuzhiyun};
665*4882a593Smuzhiyun
666*4882a593Smuzhiyun&vdpu_mmu {
667*4882a593Smuzhiyun	status = "okay";
668*4882a593Smuzhiyun};
669*4882a593Smuzhiyun
670*4882a593Smuzhiyun&vop {
671*4882a593Smuzhiyun	status = "okay";
672*4882a593Smuzhiyun};
673*4882a593Smuzhiyun
674*4882a593Smuzhiyun&vop_mmu {
675*4882a593Smuzhiyun	status = "okay";
676*4882a593Smuzhiyun};
677