xref: /OK3568_Linux_fs/kernel/scripts/dtc/include-prefixes/arm/rk3308-dot-rk816-v10-aarch32.dts (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2*4882a593Smuzhiyun/*
3*4882a593Smuzhiyun * Copyright (c) 2018 Fuzhou Rockchip Electronics Co., Ltd
4*4882a593Smuzhiyun */
5*4882a593Smuzhiyun
6*4882a593Smuzhiyun/dts-v1/;
7*4882a593Smuzhiyun
8*4882a593Smuzhiyun#include <dt-bindings/input/input.h>
9*4882a593Smuzhiyun#include "arm64/rockchip/rk3308.dtsi"
10*4882a593Smuzhiyun
11*4882a593Smuzhiyun/ {
12*4882a593Smuzhiyun	model = "Rockchip RK3308 Dot Rk816-3 V10 (AArch32)";
13*4882a593Smuzhiyun	compatible = "rockchip,rk3308-dot-rk816-v10-aarch32", "rockchip,rk3308";
14*4882a593Smuzhiyun
15*4882a593Smuzhiyun	chosen {
16*4882a593Smuzhiyun		bootargs = "earlycon=uart8250,mmio32,0xff0c0000 console=ttyFIQ0 root=PARTUUID=614e0000-0000 rootfstype=squashfs rootwait snd_aloop.index=7 snd_aloop.use_raw_jiffies=1";
17*4882a593Smuzhiyun	};
18*4882a593Smuzhiyun
19*4882a593Smuzhiyun	acodec_sound: acodec-sound {
20*4882a593Smuzhiyun		compatible = "rockchip,multicodecs-card";
21*4882a593Smuzhiyun		rockchip,card-name = "rockchip,rk3308-acodec";
22*4882a593Smuzhiyun		rockchip,codec-hp-det;
23*4882a593Smuzhiyun		rockchip,mclk-fs = <256>;
24*4882a593Smuzhiyun		rockchip,cpu = <&i2s_8ch_2>;
25*4882a593Smuzhiyun		rockchip,codec = <&acodec>;
26*4882a593Smuzhiyun		status = "okay";
27*4882a593Smuzhiyun	};
28*4882a593Smuzhiyun
29*4882a593Smuzhiyun	adc-keys {
30*4882a593Smuzhiyun		compatible = "adc-keys";
31*4882a593Smuzhiyun		io-channels = <&saradc 1>;
32*4882a593Smuzhiyun		io-channel-names = "buttons";
33*4882a593Smuzhiyun		poll-interval = <100>;
34*4882a593Smuzhiyun		keyup-threshold-microvolt = <1800000>;
35*4882a593Smuzhiyun
36*4882a593Smuzhiyun		esc-key {
37*4882a593Smuzhiyun			linux,code = <KEY_MICMUTE>;
38*4882a593Smuzhiyun			label = "micmute";
39*4882a593Smuzhiyun			press-threshold-microvolt = <1130000>;
40*4882a593Smuzhiyun		};
41*4882a593Smuzhiyun
42*4882a593Smuzhiyun		menu-key {
43*4882a593Smuzhiyun			linux,code = <KEY_PLAY>;
44*4882a593Smuzhiyun			label = "play";
45*4882a593Smuzhiyun			press-threshold-microvolt = <624000>;
46*4882a593Smuzhiyun		};
47*4882a593Smuzhiyun
48*4882a593Smuzhiyun		vol-down-key {
49*4882a593Smuzhiyun			linux,code = <KEY_VOLUMEDOWN>;
50*4882a593Smuzhiyun			label = "volume down";
51*4882a593Smuzhiyun			press-threshold-microvolt = <300000>;
52*4882a593Smuzhiyun		};
53*4882a593Smuzhiyun
54*4882a593Smuzhiyun		vol-up-key {
55*4882a593Smuzhiyun			linux,code = <KEY_VOLUMEUP>;
56*4882a593Smuzhiyun			label = "volume up";
57*4882a593Smuzhiyun			press-threshold-microvolt = <18000>;
58*4882a593Smuzhiyun		};
59*4882a593Smuzhiyun	};
60*4882a593Smuzhiyun
61*4882a593Smuzhiyun	charge-animation {
62*4882a593Smuzhiyun		compatible = "rockchip,uboot-charge";
63*4882a593Smuzhiyun		rockchip,uboot-charge-on = <1>;
64*4882a593Smuzhiyun		rockchip,uboot-low-power-voltage = <3500>;
65*4882a593Smuzhiyun		status = "okay";
66*4882a593Smuzhiyun	};
67*4882a593Smuzhiyun
68*4882a593Smuzhiyun	dummy_codec: dummy-codec {
69*4882a593Smuzhiyun		compatible = "rockchip,dummy-codec";
70*4882a593Smuzhiyun		#sound-dai-cells = <0>;
71*4882a593Smuzhiyun	};
72*4882a593Smuzhiyun
73*4882a593Smuzhiyun	leds {
74*4882a593Smuzhiyun		status = "okay";
75*4882a593Smuzhiyun		compatible = "gpio-leds";
76*4882a593Smuzhiyun
77*4882a593Smuzhiyun		blue-led {
78*4882a593Smuzhiyun			gpios = <&gpio2 RK_PA1 GPIO_ACTIVE_LOW>;
79*4882a593Smuzhiyun			label = "battery_full";
80*4882a593Smuzhiyun			default-state = "off";
81*4882a593Smuzhiyun			linux,default-trigger = "battery-full";
82*4882a593Smuzhiyun		};
83*4882a593Smuzhiyun
84*4882a593Smuzhiyun		green-led {
85*4882a593Smuzhiyun			gpios = <&gpio2 RK_PA0 GPIO_ACTIVE_LOW>;
86*4882a593Smuzhiyun			label = "greenled";
87*4882a593Smuzhiyun			default-state = "off";
88*4882a593Smuzhiyun			linux,default-trigger = "default-off";
89*4882a593Smuzhiyun		};
90*4882a593Smuzhiyun
91*4882a593Smuzhiyun		red-led {
92*4882a593Smuzhiyun			gpios = <&gpio2 RK_PA2 GPIO_ACTIVE_LOW>;
93*4882a593Smuzhiyun			label = "battery_charging";
94*4882a593Smuzhiyun			default-state = "off";
95*4882a593Smuzhiyun			linux,default-trigger = "battery-charging";
96*4882a593Smuzhiyun		};
97*4882a593Smuzhiyun	};
98*4882a593Smuzhiyun
99*4882a593Smuzhiyun	pcm_codec: pcm-codec {
100*4882a593Smuzhiyun		compatible = "delta,dfbmcs320";
101*4882a593Smuzhiyun		#sound-dai-cells = <0>;
102*4882a593Smuzhiyun	};
103*4882a593Smuzhiyun
104*4882a593Smuzhiyun	sdio_pwrseq: sdio-pwrseq {
105*4882a593Smuzhiyun		compatible = "mmc-pwrseq-simple";
106*4882a593Smuzhiyun		pinctrl-names = "default";
107*4882a593Smuzhiyun		pinctrl-0 = <&wifi_enable_h>;
108*4882a593Smuzhiyun
109*4882a593Smuzhiyun		/*
110*4882a593Smuzhiyun		 * On the module itself this is one of these (depending
111*4882a593Smuzhiyun		 * on the actual card populated):
112*4882a593Smuzhiyun		 * - SDIO_RESET_L_WL_REG_ON
113*4882a593Smuzhiyun		 * - PDN (power down when low)
114*4882a593Smuzhiyun		 */
115*4882a593Smuzhiyun		reset-gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_LOW>;
116*4882a593Smuzhiyun	};
117*4882a593Smuzhiyun
118*4882a593Smuzhiyun	sound_pcm {
119*4882a593Smuzhiyun		compatible = "simple-audio-card";
120*4882a593Smuzhiyun		simple-audio-card,format = "dsp_b";
121*4882a593Smuzhiyun		simple-audio-card,name = "rockchip,rk3308-pcm";
122*4882a593Smuzhiyun		simple-audio-card,mclk-fs = <256>;
123*4882a593Smuzhiyun		simple-audio-card,cpu {
124*4882a593Smuzhiyun			sound-dai = <&i2s_2ch_0>;
125*4882a593Smuzhiyun		};
126*4882a593Smuzhiyun		simple-audio-card,codec {
127*4882a593Smuzhiyun			sound-dai = <&pcm_codec>;
128*4882a593Smuzhiyun		};
129*4882a593Smuzhiyun	};
130*4882a593Smuzhiyun
131*4882a593Smuzhiyun	vad-sound {
132*4882a593Smuzhiyun		status = "disabled";
133*4882a593Smuzhiyun		compatible = "rockchip,multicodecs-card";
134*4882a593Smuzhiyun		rockchip,card-name = "rockchip,rk3308-vad";
135*4882a593Smuzhiyun		rockchip,codec-hp-det;
136*4882a593Smuzhiyun		rockchip,cpu = <&i2s_8ch_2>;
137*4882a593Smuzhiyun		rockchip,codec = <&acodec>, <&vad>;
138*4882a593Smuzhiyun	};
139*4882a593Smuzhiyun
140*4882a593Smuzhiyun	vcc_sys: vcc-sys {
141*4882a593Smuzhiyun		compatible = "regulator-fixed";
142*4882a593Smuzhiyun		regulator-name = "vcc_sys";
143*4882a593Smuzhiyun		regulator-min-microvolt = <4000000>;
144*4882a593Smuzhiyun		regulator-max-microvolt = <4000000>;
145*4882a593Smuzhiyun		regulator-always-on;
146*4882a593Smuzhiyun	};
147*4882a593Smuzhiyun
148*4882a593Smuzhiyun	wireless-bluetooth {
149*4882a593Smuzhiyun		compatible = "bluetooth-platdata";
150*4882a593Smuzhiyun		uart_rts_gpios = <&gpio4 RK_PA7 GPIO_ACTIVE_LOW>;
151*4882a593Smuzhiyun		pinctrl-names = "default", "rts_gpio";
152*4882a593Smuzhiyun		pinctrl-0 = <&uart4_rts>;
153*4882a593Smuzhiyun		pinctrl-1 = <&uart4_rts_gpio>;
154*4882a593Smuzhiyun		BT,power_gpio    = <&gpio4 RK_PB3 GPIO_ACTIVE_HIGH>;
155*4882a593Smuzhiyun		BT,wake_host_irq = <&gpio4 RK_PB4 GPIO_ACTIVE_HIGH>;
156*4882a593Smuzhiyun		status = "okay";
157*4882a593Smuzhiyun	};
158*4882a593Smuzhiyun
159*4882a593Smuzhiyun	wireless-wlan {
160*4882a593Smuzhiyun		compatible = "wlan-platdata";
161*4882a593Smuzhiyun		rockchip,grf = <&grf>;
162*4882a593Smuzhiyun		clocks = <&cru SCLK_WIFI>;
163*4882a593Smuzhiyun		clock-names = "clk_wifi";
164*4882a593Smuzhiyun		ref-clock-frequency = <24000000>;
165*4882a593Smuzhiyun		pinctrl-names = "default";
166*4882a593Smuzhiyun		pinctrl-0 = <&wifi_wake_host>, <&rtc_32k>;
167*4882a593Smuzhiyun		wifi_chip_type = "rtl8723ds";
168*4882a593Smuzhiyun		WIFI,host_wake_irq = <&gpio0 RK_PA0 GPIO_ACTIVE_LOW>;
169*4882a593Smuzhiyun		status = "okay";
170*4882a593Smuzhiyun	};
171*4882a593Smuzhiyun};
172*4882a593Smuzhiyun
173*4882a593Smuzhiyun&i2c1 {
174*4882a593Smuzhiyun	status = "okay";
175*4882a593Smuzhiyun	clock-frequency = <400000>;
176*4882a593Smuzhiyun
177*4882a593Smuzhiyun	rk816: pmic@1a {
178*4882a593Smuzhiyun		status = "okay";
179*4882a593Smuzhiyun		compatible = "rockchip,rk816";
180*4882a593Smuzhiyun		reg = <0x1a>;
181*4882a593Smuzhiyun		interrupt-parent = <&gpio0>;
182*4882a593Smuzhiyun		interrupts = <6 IRQ_TYPE_LEVEL_LOW>;
183*4882a593Smuzhiyun		pinctrl-names = "default";
184*4882a593Smuzhiyun		pinctrl-0 = <&pmic_int_l>;
185*4882a593Smuzhiyun		rockchip,system-power-controller;
186*4882a593Smuzhiyun		wakeup-source;
187*4882a593Smuzhiyun		gpio-controller;
188*4882a593Smuzhiyun		#gpio-cells = <2>;
189*4882a593Smuzhiyun		#clock-cells = <1>;
190*4882a593Smuzhiyun		clock-output-names = "rk816-clkout1", "rk816-clkout2";
191*4882a593Smuzhiyun		extcon = <&u2phy>;
192*4882a593Smuzhiyun
193*4882a593Smuzhiyun		vcc1-supply = <&vcc_sys>;
194*4882a593Smuzhiyun		vcc2-supply = <&vcc_sys>;
195*4882a593Smuzhiyun		vcc3-supply = <&vcc_sys>;
196*4882a593Smuzhiyun		vcc4-supply = <&vcc_sys>;
197*4882a593Smuzhiyun		vcc5-supply = <&vcc_io>;
198*4882a593Smuzhiyun		vcc6-supply = <&vcc_sys>;
199*4882a593Smuzhiyun
200*4882a593Smuzhiyun		pwrkey {
201*4882a593Smuzhiyun			status = "okay";
202*4882a593Smuzhiyun		};
203*4882a593Smuzhiyun
204*4882a593Smuzhiyun		gpio {
205*4882a593Smuzhiyun			status = "okay";
206*4882a593Smuzhiyun		};
207*4882a593Smuzhiyun
208*4882a593Smuzhiyun		rtc {
209*4882a593Smuzhiyun			status = "okay";
210*4882a593Smuzhiyun		};
211*4882a593Smuzhiyun
212*4882a593Smuzhiyun		battery {
213*4882a593Smuzhiyun			compatible = "rk816-battery";
214*4882a593Smuzhiyun			ocv_table = <3400 3625 3685 3697 3718 3735 3748
215*4882a593Smuzhiyun				     3760 3774 3788 3802 3816 3834 3853
216*4882a593Smuzhiyun				     3877 3908 3946 3975 4018 4071 4106>;
217*4882a593Smuzhiyun			design_capacity = <2750>;
218*4882a593Smuzhiyun			design_qmax = <3000>;
219*4882a593Smuzhiyun			bat_res = <110>;
220*4882a593Smuzhiyun			max_input_current = <2000>;
221*4882a593Smuzhiyun			max_chrg_current = <1800>;
222*4882a593Smuzhiyun			max_chrg_voltage = <4200>;
223*4882a593Smuzhiyun			sleep_enter_current = <300>;
224*4882a593Smuzhiyun			sleep_exit_current = <300>;
225*4882a593Smuzhiyun			sleep_filter_current = <100>;
226*4882a593Smuzhiyun			power_off_thresd = <3400>;
227*4882a593Smuzhiyun			zero_algorithm_vol = <3850>;
228*4882a593Smuzhiyun			max_soc_offset = <80>;
229*4882a593Smuzhiyun			monitor_sec = <5>;
230*4882a593Smuzhiyun			virtual_power = <0>;
231*4882a593Smuzhiyun			power_dc2otg = <0>;
232*4882a593Smuzhiyun			dc_det_adc = <0>;
233*4882a593Smuzhiyun		};
234*4882a593Smuzhiyun
235*4882a593Smuzhiyun		regulators {
236*4882a593Smuzhiyun			vdd_core: DCDC_REG1{
237*4882a593Smuzhiyun				regulator-name = "vdd_core";
238*4882a593Smuzhiyun				regulator-min-microvolt = <750000>;
239*4882a593Smuzhiyun				regulator-max-microvolt = <1500000>;
240*4882a593Smuzhiyun				regulator-ramp-delay = <6001>;
241*4882a593Smuzhiyun				regulator-initial-mode = <1>;
242*4882a593Smuzhiyun				regulator-always-on;
243*4882a593Smuzhiyun				regulator-boot-on;
244*4882a593Smuzhiyun				regulator-state-mem {
245*4882a593Smuzhiyun					regulator-off-in-suspend;
246*4882a593Smuzhiyun				};
247*4882a593Smuzhiyun			};
248*4882a593Smuzhiyun
249*4882a593Smuzhiyun			vdd_log: DCDC_REG2 {
250*4882a593Smuzhiyun				regulator-name = "vdd_logic";
251*4882a593Smuzhiyun				regulator-min-microvolt = <750000>;
252*4882a593Smuzhiyun				regulator-max-microvolt = <1500000>;
253*4882a593Smuzhiyun				regulator-ramp-delay = <6001>;
254*4882a593Smuzhiyun				regulator-initial-mode = <1>;
255*4882a593Smuzhiyun				regulator-always-on;
256*4882a593Smuzhiyun				regulator-boot-on;
257*4882a593Smuzhiyun				regulator-state-mem {
258*4882a593Smuzhiyun					regulator-on-in-suspend;
259*4882a593Smuzhiyun					regulator-suspend-microvolt = <1000000>;
260*4882a593Smuzhiyun				};
261*4882a593Smuzhiyun			};
262*4882a593Smuzhiyun
263*4882a593Smuzhiyun			vcc_ddr: DCDC_REG3 {
264*4882a593Smuzhiyun				regulator-name = "vcc_ddr";
265*4882a593Smuzhiyun				regulator-always-on;
266*4882a593Smuzhiyun				regulator-boot-on;
267*4882a593Smuzhiyun			};
268*4882a593Smuzhiyun
269*4882a593Smuzhiyun			vcc_io: DCDC_REG4 {
270*4882a593Smuzhiyun				regulator-name = "vcc_io";
271*4882a593Smuzhiyun				regulator-min-microvolt = <3300000>;
272*4882a593Smuzhiyun				regulator-max-microvolt = <3300000>;
273*4882a593Smuzhiyun				regulator-initial-mode = <1>;
274*4882a593Smuzhiyun				regulator-always-on;
275*4882a593Smuzhiyun				regulator-boot-on;
276*4882a593Smuzhiyun				regulator-state-mem {
277*4882a593Smuzhiyun					regulator-on-in-suspend;
278*4882a593Smuzhiyun					regulator-suspend-microvolt = <3000000>;
279*4882a593Smuzhiyun				};
280*4882a593Smuzhiyun			};
281*4882a593Smuzhiyun
282*4882a593Smuzhiyun			vcc_1v8_codec: LDO_REG1 {
283*4882a593Smuzhiyun				regulator-name = "vcc_1v8_codec";
284*4882a593Smuzhiyun				regulator-min-microvolt = <1800000>;
285*4882a593Smuzhiyun				regulator-max-microvolt = <1800000>;
286*4882a593Smuzhiyun				regulator-always-on;
287*4882a593Smuzhiyun				regulator-boot-on;
288*4882a593Smuzhiyun				regulator-state-mem {
289*4882a593Smuzhiyun					regulator-on-in-suspend;
290*4882a593Smuzhiyun					regulator-suspend-microvolt = <1800000>;
291*4882a593Smuzhiyun				};
292*4882a593Smuzhiyun			};
293*4882a593Smuzhiyun
294*4882a593Smuzhiyun			vccio_sdio: vcc_1v8: LDO_REG2 {
295*4882a593Smuzhiyun				regulator-name = "vcc_1v8";
296*4882a593Smuzhiyun				regulator-min-microvolt = <1800000>;
297*4882a593Smuzhiyun				regulator-max-microvolt = <1800000>;
298*4882a593Smuzhiyun				regulator-always-on;
299*4882a593Smuzhiyun				regulator-boot-on;
300*4882a593Smuzhiyun				regulator-state-mem {
301*4882a593Smuzhiyun					regulator-on-in-suspend;
302*4882a593Smuzhiyun					regulator-suspend-microvolt = <1800000>;
303*4882a593Smuzhiyun				};
304*4882a593Smuzhiyun			};
305*4882a593Smuzhiyun
306*4882a593Smuzhiyun			vdd_10: LDO_REG3 {
307*4882a593Smuzhiyun				regulator-name = "vdd_10";
308*4882a593Smuzhiyun				regulator-min-microvolt = <1000000>;
309*4882a593Smuzhiyun				regulator-max-microvolt = <1800000>;
310*4882a593Smuzhiyun				regulator-state-mem {
311*4882a593Smuzhiyun					regulator-off-in-suspend;
312*4882a593Smuzhiyun				};
313*4882a593Smuzhiyun			};
314*4882a593Smuzhiyun
315*4882a593Smuzhiyun			ldo4: LDO_REG4 {
316*4882a593Smuzhiyun				regulator-name = "ldo4";
317*4882a593Smuzhiyun				regulator-min-microvolt = <1800000>;
318*4882a593Smuzhiyun				regulator-max-microvolt = <3300000>;
319*4882a593Smuzhiyun				regulator-state-mem {
320*4882a593Smuzhiyun					regulator-off-in-suspend;
321*4882a593Smuzhiyun				};
322*4882a593Smuzhiyun			};
323*4882a593Smuzhiyun
324*4882a593Smuzhiyun			vccio_3v3: LDO_REG5 {
325*4882a593Smuzhiyun				regulator-name = "vccio_3v3";
326*4882a593Smuzhiyun				regulator-min-microvolt = <1800000>;
327*4882a593Smuzhiyun				regulator-max-microvolt = <3300000>;
328*4882a593Smuzhiyun				regulator-state-mem {
329*4882a593Smuzhiyun					regulator-off-in-suspend;
330*4882a593Smuzhiyun				};
331*4882a593Smuzhiyun			};
332*4882a593Smuzhiyun
333*4882a593Smuzhiyun			ldo6: LDO_REG6 {
334*4882a593Smuzhiyun				regulator-name = "ldo6";
335*4882a593Smuzhiyun				regulator-min-microvolt = <1800000>;
336*4882a593Smuzhiyun				regulator-max-microvolt = <3300000>;
337*4882a593Smuzhiyun				regulator-state-mem {
338*4882a593Smuzhiyun					regulator-off-in-suspend;
339*4882a593Smuzhiyun				};
340*4882a593Smuzhiyun			};
341*4882a593Smuzhiyun		};
342*4882a593Smuzhiyun	};
343*4882a593Smuzhiyun};
344*4882a593Smuzhiyun
345*4882a593Smuzhiyun&acodec {
346*4882a593Smuzhiyun	status = "okay";
347*4882a593Smuzhiyun	rockchip,micbias1;
348*4882a593Smuzhiyun	rockchip,micbias2;
349*4882a593Smuzhiyun	rockchip,no-deep-low-power;
350*4882a593Smuzhiyun	rockchip,no-hp-det;
351*4882a593Smuzhiyun	rockchip,loopback-grp = <1>;
352*4882a593Smuzhiyun	pa-drv-gpios = <&gpio0 RK_PC0 GPIO_ACTIVE_HIGH>;
353*4882a593Smuzhiyun	rockchip,delay-pa-drv-ms = <5>;
354*4882a593Smuzhiyun	spk-ctl-gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_HIGH>;
355*4882a593Smuzhiyun	/* ADC5-8 for 4ch capture, loopback to ADC3-4 */
356*4882a593Smuzhiyun	rockchip,adc-grps-route = <2 3 1 0>;
357*4882a593Smuzhiyun};
358*4882a593Smuzhiyun
359*4882a593Smuzhiyun&cpu0 {
360*4882a593Smuzhiyun	cpu-supply = <&vdd_core>;
361*4882a593Smuzhiyun};
362*4882a593Smuzhiyun
363*4882a593Smuzhiyun&cpu0_opp_table {
364*4882a593Smuzhiyun	opp-1200000000 {
365*4882a593Smuzhiyun		status = "okay";
366*4882a593Smuzhiyun	};
367*4882a593Smuzhiyun};
368*4882a593Smuzhiyun
369*4882a593Smuzhiyun&dmc {
370*4882a593Smuzhiyun	center-supply = <&vdd_log>;
371*4882a593Smuzhiyun	status = "okay";
372*4882a593Smuzhiyun};
373*4882a593Smuzhiyun
374*4882a593Smuzhiyun&fiq_debugger {
375*4882a593Smuzhiyun	status = "okay";
376*4882a593Smuzhiyun};
377*4882a593Smuzhiyun
378*4882a593Smuzhiyun&i2s_2ch_0 {
379*4882a593Smuzhiyun	status = "okay";
380*4882a593Smuzhiyun	#sound-dai-cells = <0>;
381*4882a593Smuzhiyun};
382*4882a593Smuzhiyun
383*4882a593Smuzhiyun&i2s_8ch_2 {
384*4882a593Smuzhiyun	status = "okay";
385*4882a593Smuzhiyun};
386*4882a593Smuzhiyun
387*4882a593Smuzhiyun&io_domains {
388*4882a593Smuzhiyun	status = "okay";
389*4882a593Smuzhiyun
390*4882a593Smuzhiyun	vccio0-supply = <&vcc_io>;
391*4882a593Smuzhiyun	vccio1-supply = <&vcc_io>;
392*4882a593Smuzhiyun	vccio2-supply = <&vcc_io>;
393*4882a593Smuzhiyun	vccio3-supply = <&vcc_io>;
394*4882a593Smuzhiyun	vccio4-supply = <&vccio_sdio>;
395*4882a593Smuzhiyun	vccio5-supply = <&vcc_io>;
396*4882a593Smuzhiyun};
397*4882a593Smuzhiyun
398*4882a593Smuzhiyun&nandc {
399*4882a593Smuzhiyun	status = "okay";
400*4882a593Smuzhiyun};
401*4882a593Smuzhiyun
402*4882a593Smuzhiyun&pinctrl {
403*4882a593Smuzhiyun	sdio-pwrseq {
404*4882a593Smuzhiyun		wifi_enable_h: wifi-enable-h {
405*4882a593Smuzhiyun			rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
406*4882a593Smuzhiyun		};
407*4882a593Smuzhiyun	};
408*4882a593Smuzhiyun
409*4882a593Smuzhiyun	wireless-wlan {
410*4882a593Smuzhiyun		wifi_wake_host: wifi-wake-host {
411*4882a593Smuzhiyun			rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up>;
412*4882a593Smuzhiyun		};
413*4882a593Smuzhiyun	};
414*4882a593Smuzhiyun
415*4882a593Smuzhiyun	pmic {
416*4882a593Smuzhiyun		pmic_int_l: pmic-int-l {
417*4882a593Smuzhiyun			rockchip,pins =
418*4882a593Smuzhiyun				<0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
419*4882a593Smuzhiyun		};
420*4882a593Smuzhiyun	};
421*4882a593Smuzhiyun};
422*4882a593Smuzhiyun
423*4882a593Smuzhiyun&ramoops {
424*4882a593Smuzhiyun	reg = <0x0 0x30000 0x0 0x20000>;
425*4882a593Smuzhiyun	record-size = <0x00000>;
426*4882a593Smuzhiyun	console-size = <0x20000>;
427*4882a593Smuzhiyun};
428*4882a593Smuzhiyun
429*4882a593Smuzhiyun&rockchip_suspend {
430*4882a593Smuzhiyun	rockchip,sleep-mode-config = <
431*4882a593Smuzhiyun		(0
432*4882a593Smuzhiyun		| RKPM_ARMOFF
433*4882a593Smuzhiyun		| RKPM_PMU_HW_PLLS_PD
434*4882a593Smuzhiyun		)
435*4882a593Smuzhiyun	>;
436*4882a593Smuzhiyun
437*4882a593Smuzhiyun	status = "okay";
438*4882a593Smuzhiyun};
439*4882a593Smuzhiyun
440*4882a593Smuzhiyun&saradc {
441*4882a593Smuzhiyun	status = "okay";
442*4882a593Smuzhiyun	vref-supply = <&vcc_1v8>;
443*4882a593Smuzhiyun};
444*4882a593Smuzhiyun
445*4882a593Smuzhiyun&sdio {
446*4882a593Smuzhiyun	max-frequency = <110000000>;
447*4882a593Smuzhiyun	bus-width = <4>;
448*4882a593Smuzhiyun	cap-sd-highspeed;
449*4882a593Smuzhiyun	no-sd;
450*4882a593Smuzhiyun	no-mmc;
451*4882a593Smuzhiyun	ignore-pm-notify;
452*4882a593Smuzhiyun	keep-power-in-suspend;
453*4882a593Smuzhiyun	non-removable;
454*4882a593Smuzhiyun	mmc-pwrseq = <&sdio_pwrseq>;
455*4882a593Smuzhiyun	sd-uhs-sdr104;
456*4882a593Smuzhiyun	status = "okay";
457*4882a593Smuzhiyun};
458*4882a593Smuzhiyun
459*4882a593Smuzhiyun&sfc {
460*4882a593Smuzhiyun	status = "okay";
461*4882a593Smuzhiyun};
462*4882a593Smuzhiyun
463*4882a593Smuzhiyun&tsadc {
464*4882a593Smuzhiyun	rockchip,hw-tshut-mode = <0>; /* tshut mode 0:CRU 1:GPIO */
465*4882a593Smuzhiyun	rockchip,hw-tshut-polarity = <1>; /* tshut polarity 0:LOW 1:HIGH */
466*4882a593Smuzhiyun	status = "okay";
467*4882a593Smuzhiyun};
468*4882a593Smuzhiyun
469*4882a593Smuzhiyun&u2phy {
470*4882a593Smuzhiyun	status = "okay";
471*4882a593Smuzhiyun	u2phy_otg: otg-port {
472*4882a593Smuzhiyun		status = "okay";
473*4882a593Smuzhiyun	};
474*4882a593Smuzhiyun};
475*4882a593Smuzhiyun
476*4882a593Smuzhiyun&uart4 {
477*4882a593Smuzhiyun	pinctrl-names = "default";
478*4882a593Smuzhiyun	pinctrl-0 = <&uart4_xfer &uart4_cts>;
479*4882a593Smuzhiyun	status = "okay";
480*4882a593Smuzhiyun};
481*4882a593Smuzhiyun
482*4882a593Smuzhiyun&usb20_otg {
483*4882a593Smuzhiyun	status = "okay";
484*4882a593Smuzhiyun};
485*4882a593Smuzhiyun
486*4882a593Smuzhiyun&vad {
487*4882a593Smuzhiyun	status = "disabled";
488*4882a593Smuzhiyun	rockchip,audio-src = <&i2s_8ch_2>;
489*4882a593Smuzhiyun	rockchip,det-channel = <0>;
490*4882a593Smuzhiyun	rockchip,mode = <1>;
491*4882a593Smuzhiyun	rockchip,buffer-time-ms = <500>;
492*4882a593Smuzhiyun	#sound-dai-cells = <0>;
493*4882a593Smuzhiyun};
494