xref: /OK3568_Linux_fs/kernel/scripts/dtc/include-prefixes/arm64/rockchip/rk3308b-evb-v10.dtsi (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#include <dt-bindings/input/input.h>
7*4882a593Smuzhiyun#include "rk3308.dtsi"
8*4882a593Smuzhiyun
9*4882a593Smuzhiyun/ {
10*4882a593Smuzhiyun	model = "Rockchip RK3308B EVB V10";
11*4882a593Smuzhiyun	compatible = "rockchip,rk3308b-evb-v10", "rockchip,rk3308";
12*4882a593Smuzhiyun
13*4882a593Smuzhiyun	chosen {
14*4882a593Smuzhiyun		bootargs = "earlycon=uart8250,mmio32,0xff0e0000 console=ttyFIQ0 root=PARTUUID=614e0000-0000 rootfstype=squashfs rootwait snd_aloop.index=7 snd_aloop.use_raw_jiffies=1";
15*4882a593Smuzhiyun	};
16*4882a593Smuzhiyun
17*4882a593Smuzhiyun	acodec_sound: acodec-sound {
18*4882a593Smuzhiyun		compatible = "rockchip,multicodecs-card";
19*4882a593Smuzhiyun		rockchip,card-name = "rockchip,rk3308-acodec";
20*4882a593Smuzhiyun		rockchip,codec-hp-det;
21*4882a593Smuzhiyun		rockchip,mclk-fs = <256>;
22*4882a593Smuzhiyun		rockchip,cpu = <&i2s_8ch_2>;
23*4882a593Smuzhiyun		rockchip,codec = <&acodec>;
24*4882a593Smuzhiyun	};
25*4882a593Smuzhiyun
26*4882a593Smuzhiyun	adc-keys {
27*4882a593Smuzhiyun		compatible = "adc-keys";
28*4882a593Smuzhiyun		io-channels = <&saradc 1>;
29*4882a593Smuzhiyun		io-channel-names = "buttons";
30*4882a593Smuzhiyun		poll-interval = <100>;
31*4882a593Smuzhiyun		keyup-threshold-microvolt = <1800000>;
32*4882a593Smuzhiyun
33*4882a593Smuzhiyun		esc-key {
34*4882a593Smuzhiyun			linux,code = <KEY_MICMUTE>;
35*4882a593Smuzhiyun			label = "micmute";
36*4882a593Smuzhiyun			press-threshold-microvolt = <1130000>;
37*4882a593Smuzhiyun		};
38*4882a593Smuzhiyun
39*4882a593Smuzhiyun		home-key {
40*4882a593Smuzhiyun			linux,code = <KEY_MODE>;
41*4882a593Smuzhiyun			label = "mode";
42*4882a593Smuzhiyun			press-threshold-microvolt = <901000>;
43*4882a593Smuzhiyun		};
44*4882a593Smuzhiyun
45*4882a593Smuzhiyun		menu-key {
46*4882a593Smuzhiyun			linux,code = <KEY_PLAY>;
47*4882a593Smuzhiyun			label = "play";
48*4882a593Smuzhiyun			press-threshold-microvolt = <624000>;
49*4882a593Smuzhiyun		};
50*4882a593Smuzhiyun
51*4882a593Smuzhiyun		vol-down-key {
52*4882a593Smuzhiyun			linux,code = <KEY_VOLUMEDOWN>;
53*4882a593Smuzhiyun			label = "volume down";
54*4882a593Smuzhiyun			press-threshold-microvolt = <300000>;
55*4882a593Smuzhiyun		};
56*4882a593Smuzhiyun
57*4882a593Smuzhiyun		vol-up-key {
58*4882a593Smuzhiyun			linux,code = <KEY_VOLUMEUP>;
59*4882a593Smuzhiyun			label = "volume up";
60*4882a593Smuzhiyun			press-threshold-microvolt = <18000>;
61*4882a593Smuzhiyun		};
62*4882a593Smuzhiyun	};
63*4882a593Smuzhiyun
64*4882a593Smuzhiyun	bluetooth_sound: bluetooth-sound {
65*4882a593Smuzhiyun		status = "disabled";
66*4882a593Smuzhiyun		compatible = "rockchip,multicodecs-card";
67*4882a593Smuzhiyun		rockchip,card-name = "rockchip,rk3308-pcm";
68*4882a593Smuzhiyun		rockchip,mclk-fs = <128>;
69*4882a593Smuzhiyun		rockchip,cpu = <&i2s_8ch_0>;
70*4882a593Smuzhiyun		rockchip,codec = <&dummy_codec>;
71*4882a593Smuzhiyun		rockchip,format = "dsp_b";
72*4882a593Smuzhiyun		rockchip,bitclock-inversion = <0>;
73*4882a593Smuzhiyun		rockchip,wait-card-locked = <0>;
74*4882a593Smuzhiyun	};
75*4882a593Smuzhiyun
76*4882a593Smuzhiyun	dummy_codec: dummy-codec {
77*4882a593Smuzhiyun		compatible = "rockchip,dummy-codec";
78*4882a593Smuzhiyun		#sound-dai-cells = <0>;
79*4882a593Smuzhiyun	};
80*4882a593Smuzhiyun
81*4882a593Smuzhiyun	gpio-keys {
82*4882a593Smuzhiyun		compatible = "gpio-keys";
83*4882a593Smuzhiyun		autorepeat;
84*4882a593Smuzhiyun
85*4882a593Smuzhiyun		pinctrl-names = "default";
86*4882a593Smuzhiyun		pinctrl-0 = <&pwr_key>;
87*4882a593Smuzhiyun
88*4882a593Smuzhiyun		power {
89*4882a593Smuzhiyun			gpios = <&gpio0 RK_PA6 GPIO_ACTIVE_LOW>;
90*4882a593Smuzhiyun			linux,code = <KEY_POWER>;
91*4882a593Smuzhiyun			label = "GPIO Key Power";
92*4882a593Smuzhiyun			wakeup-source;
93*4882a593Smuzhiyun			debounce-interval = <100>;
94*4882a593Smuzhiyun		};
95*4882a593Smuzhiyun	};
96*4882a593Smuzhiyun
97*4882a593Smuzhiyun	sdio_pwrseq: sdio-pwrseq {
98*4882a593Smuzhiyun		compatible = "mmc-pwrseq-simple";
99*4882a593Smuzhiyun		pinctrl-names = "default";
100*4882a593Smuzhiyun		pinctrl-0 = <&wifi_enable_h>;
101*4882a593Smuzhiyun
102*4882a593Smuzhiyun		/*
103*4882a593Smuzhiyun		 * On the module itself this is one of these (depending
104*4882a593Smuzhiyun		 * on the actual card populated):
105*4882a593Smuzhiyun		 * - SDIO_RESET_L_WL_REG_ON
106*4882a593Smuzhiyun		 * - PDN (power down when low)
107*4882a593Smuzhiyun		 */
108*4882a593Smuzhiyun		reset-gpios = <&gpio4 RK_PD6 GPIO_ACTIVE_LOW>;
109*4882a593Smuzhiyun	};
110*4882a593Smuzhiyun
111*4882a593Smuzhiyun	spdif_rx_sound: spdif-rx-sound {
112*4882a593Smuzhiyun		compatible = "simple-audio-card";
113*4882a593Smuzhiyun		simple-audio-card,name = "rockchip,spdif-rx-sound";
114*4882a593Smuzhiyun		status = "disabled";
115*4882a593Smuzhiyun
116*4882a593Smuzhiyun		simple-audio-card,cpu {
117*4882a593Smuzhiyun			sound-dai = <&spdif_rx>;
118*4882a593Smuzhiyun		};
119*4882a593Smuzhiyun		simple-audio-card,codec {
120*4882a593Smuzhiyun			sound-dai = <&dummy_codec>;
121*4882a593Smuzhiyun		};
122*4882a593Smuzhiyun	};
123*4882a593Smuzhiyun
124*4882a593Smuzhiyun	spdif_tx_sound: spdif-tx-sound {
125*4882a593Smuzhiyun		compatible = "simple-audio-card";
126*4882a593Smuzhiyun		simple-audio-card,name = "rockchip,spdif-tx-sound";
127*4882a593Smuzhiyun		status = "disabled";
128*4882a593Smuzhiyun		simple-audio-card,mclk-fs = <128>;
129*4882a593Smuzhiyun		simple-audio-card,cpu {
130*4882a593Smuzhiyun			sound-dai = <&spdif_tx>;
131*4882a593Smuzhiyun		};
132*4882a593Smuzhiyun		simple-audio-card,codec {
133*4882a593Smuzhiyun			sound-dai = <&dummy_codec>;
134*4882a593Smuzhiyun		};
135*4882a593Smuzhiyun	};
136*4882a593Smuzhiyun
137*4882a593Smuzhiyun	vdd_core: vdd-core {
138*4882a593Smuzhiyun		compatible = "pwm-regulator";
139*4882a593Smuzhiyun		pwms = <&pwm0 0 5000 1>;
140*4882a593Smuzhiyun		regulator-name = "vdd_core";
141*4882a593Smuzhiyun		regulator-min-microvolt = <827000>;
142*4882a593Smuzhiyun		regulator-max-microvolt = <1340000>;
143*4882a593Smuzhiyun		regulator-init-microvolt = <1015000>;
144*4882a593Smuzhiyun		regulator-always-on;
145*4882a593Smuzhiyun		regulator-boot-on;
146*4882a593Smuzhiyun		regulator-settling-time-up-us = <250>;
147*4882a593Smuzhiyun		status = "okay";
148*4882a593Smuzhiyun	};
149*4882a593Smuzhiyun
150*4882a593Smuzhiyun	vdd_log: vdd-log {
151*4882a593Smuzhiyun		compatible = "regulator-fixed";
152*4882a593Smuzhiyun		regulator-name = "vdd_log";
153*4882a593Smuzhiyun		regulator-always-on;
154*4882a593Smuzhiyun		regulator-boot-on;
155*4882a593Smuzhiyun		regulator-min-microvolt = <1050000>;
156*4882a593Smuzhiyun		regulator-max-microvolt = <1050000>;
157*4882a593Smuzhiyun	};
158*4882a593Smuzhiyun
159*4882a593Smuzhiyun	vdd_1v0: vdd-1v0 {
160*4882a593Smuzhiyun		compatible = "regulator-fixed";
161*4882a593Smuzhiyun		regulator-name = "vdd_1v0";
162*4882a593Smuzhiyun		regulator-always-on;
163*4882a593Smuzhiyun		regulator-boot-on;
164*4882a593Smuzhiyun		regulator-min-microvolt = <1000000>;
165*4882a593Smuzhiyun		regulator-max-microvolt = <1000000>;
166*4882a593Smuzhiyun	};
167*4882a593Smuzhiyun
168*4882a593Smuzhiyun	vcc_3v3_codec: vcc_io: vcc-io {
169*4882a593Smuzhiyun		compatible = "regulator-fixed";
170*4882a593Smuzhiyun		regulator-name = "vcc_io";
171*4882a593Smuzhiyun		regulator-always-on;
172*4882a593Smuzhiyun		regulator-boot-on;
173*4882a593Smuzhiyun		regulator-min-microvolt = <3300000>;
174*4882a593Smuzhiyun		regulator-max-microvolt = <3300000>;
175*4882a593Smuzhiyun	};
176*4882a593Smuzhiyun
177*4882a593Smuzhiyun	vccio_sdio: vcc_1v8: vcc-1v8 {
178*4882a593Smuzhiyun		compatible = "regulator-fixed";
179*4882a593Smuzhiyun		regulator-name = "vcc_1v8";
180*4882a593Smuzhiyun		regulator-always-on;
181*4882a593Smuzhiyun		regulator-boot-on;
182*4882a593Smuzhiyun		regulator-min-microvolt = <1800000>;
183*4882a593Smuzhiyun		regulator-max-microvolt = <1800000>;
184*4882a593Smuzhiyun		vin-supply = <&vcc_io>;
185*4882a593Smuzhiyun	};
186*4882a593Smuzhiyun
187*4882a593Smuzhiyun	vcc_1v8_codec: vcc-1v8-codec {
188*4882a593Smuzhiyun		compatible = "regulator-fixed";
189*4882a593Smuzhiyun		regulator-name = "vcc_1v8_codec";
190*4882a593Smuzhiyun		regulator-always-on;
191*4882a593Smuzhiyun		regulator-boot-on;
192*4882a593Smuzhiyun		regulator-min-microvolt = <1800000>;
193*4882a593Smuzhiyun		regulator-max-microvolt = <1800000>;
194*4882a593Smuzhiyun		vin-supply = <&vcc_io>;
195*4882a593Smuzhiyun	};
196*4882a593Smuzhiyun
197*4882a593Smuzhiyun	vcc_ddr: vcc-ddr {
198*4882a593Smuzhiyun		compatible = "regulator-fixed";
199*4882a593Smuzhiyun		regulator-name = "vcc_ddr";
200*4882a593Smuzhiyun		regulator-always-on;
201*4882a593Smuzhiyun		regulator-boot-on;
202*4882a593Smuzhiyun		regulator-min-microvolt = <1500000>;
203*4882a593Smuzhiyun		regulator-max-microvolt = <1500000>;
204*4882a593Smuzhiyun	};
205*4882a593Smuzhiyun
206*4882a593Smuzhiyun	vccio_flash: vccio-flash {
207*4882a593Smuzhiyun		compatible = "regulator-fixed";
208*4882a593Smuzhiyun		regulator-name = "vccio_flash";
209*4882a593Smuzhiyun		regulator-always-on;
210*4882a593Smuzhiyun		regulator-boot-on;
211*4882a593Smuzhiyun		regulator-min-microvolt = <1800000>;
212*4882a593Smuzhiyun		regulator-max-microvolt = <1800000>;
213*4882a593Smuzhiyun	};
214*4882a593Smuzhiyun
215*4882a593Smuzhiyun	vcc_phy: vcc-phy-regulator {
216*4882a593Smuzhiyun		compatible = "regulator-fixed";
217*4882a593Smuzhiyun		regulator-name = "vcc_phy";
218*4882a593Smuzhiyun		regulator-always-on;
219*4882a593Smuzhiyun		regulator-boot-on;
220*4882a593Smuzhiyun	};
221*4882a593Smuzhiyun
222*4882a593Smuzhiyun	vbus_host: vbus-host-regulator {
223*4882a593Smuzhiyun		compatible = "regulator-fixed";
224*4882a593Smuzhiyun		enable-active-high;
225*4882a593Smuzhiyun		gpio = <&gpio0 RK_PC5 GPIO_ACTIVE_HIGH>;
226*4882a593Smuzhiyun		pinctrl-names = "default";
227*4882a593Smuzhiyun		pinctrl-0 = <&usb_drv>;
228*4882a593Smuzhiyun		regulator-name = "vbus_host";
229*4882a593Smuzhiyun	};
230*4882a593Smuzhiyun
231*4882a593Smuzhiyun	wireless-bluetooth {
232*4882a593Smuzhiyun		compatible = "bluetooth-platdata";
233*4882a593Smuzhiyun		uart_rts_gpios = <&gpio2 RK_PA3 GPIO_ACTIVE_LOW>;
234*4882a593Smuzhiyun		pinctrl-names = "default", "rts_gpio";
235*4882a593Smuzhiyun		pinctrl-0 = <&uart0_rts>;
236*4882a593Smuzhiyun		pinctrl-1 = <&uart0_rts_pin>;
237*4882a593Smuzhiyun		BT,power_gpio    = <&gpio2 RK_PA6 GPIO_ACTIVE_HIGH>;
238*4882a593Smuzhiyun		BT,wake_host_irq = <&gpio2 RK_PB0 GPIO_ACTIVE_HIGH>;
239*4882a593Smuzhiyun		status = "okay";
240*4882a593Smuzhiyun	};
241*4882a593Smuzhiyun
242*4882a593Smuzhiyun	wireless-wlan {
243*4882a593Smuzhiyun		compatible = "wlan-platdata";
244*4882a593Smuzhiyun		rockchip,grf = <&grf>;
245*4882a593Smuzhiyun		pinctrl-names = "default";
246*4882a593Smuzhiyun		pinctrl-0 = <&wifi_wake_host>, <&rtc_32k>;
247*4882a593Smuzhiyun		wifi_chip_type = "ap6255";
248*4882a593Smuzhiyun		WIFI,host_wake_irq = <&gpio2 RK_PB4 GPIO_ACTIVE_HIGH>;
249*4882a593Smuzhiyun		status = "okay";
250*4882a593Smuzhiyun	};
251*4882a593Smuzhiyun};
252*4882a593Smuzhiyun
253*4882a593Smuzhiyun&acodec {
254*4882a593Smuzhiyun	status = "okay";
255*4882a593Smuzhiyun
256*4882a593Smuzhiyun	rockchip,no-deep-low-power;
257*4882a593Smuzhiyun	hp-ctl-gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>;
258*4882a593Smuzhiyun	spk-ctl-gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_HIGH>;
259*4882a593Smuzhiyun};
260*4882a593Smuzhiyun
261*4882a593Smuzhiyun&cpu0 {
262*4882a593Smuzhiyun	cpu-supply = <&vdd_core>;
263*4882a593Smuzhiyun};
264*4882a593Smuzhiyun
265*4882a593Smuzhiyun&cpu0_opp_table {
266*4882a593Smuzhiyun	opp-1200000000 {
267*4882a593Smuzhiyun		status = "okay";
268*4882a593Smuzhiyun	};
269*4882a593Smuzhiyun	opp-1296000000 {
270*4882a593Smuzhiyun		status = "okay";
271*4882a593Smuzhiyun	};
272*4882a593Smuzhiyun};
273*4882a593Smuzhiyun
274*4882a593Smuzhiyun&rk3308bs_cpu0_opp_table {
275*4882a593Smuzhiyun	opp-1008000000 {
276*4882a593Smuzhiyun		status = "okay";
277*4882a593Smuzhiyun	};
278*4882a593Smuzhiyun	opp-1104000000 {
279*4882a593Smuzhiyun		status = "okay";
280*4882a593Smuzhiyun	};
281*4882a593Smuzhiyun};
282*4882a593Smuzhiyun
283*4882a593Smuzhiyun&dmc {
284*4882a593Smuzhiyun	center-supply = <&vdd_log>;
285*4882a593Smuzhiyun	status = "okay";
286*4882a593Smuzhiyun};
287*4882a593Smuzhiyun
288*4882a593Smuzhiyun&emmc {
289*4882a593Smuzhiyun	bus-width = <8>;
290*4882a593Smuzhiyun	cap-mmc-highspeed;
291*4882a593Smuzhiyun	mmc-hs200-1_8v;
292*4882a593Smuzhiyun	no-sdio;
293*4882a593Smuzhiyun	no-sd;
294*4882a593Smuzhiyun	disable-wp;
295*4882a593Smuzhiyun	non-removable;
296*4882a593Smuzhiyun	num-slots = <1>;
297*4882a593Smuzhiyun	status = "disabled";
298*4882a593Smuzhiyun};
299*4882a593Smuzhiyun
300*4882a593Smuzhiyun&fiq_debugger {
301*4882a593Smuzhiyun	rockchip,serial-id = <4>;
302*4882a593Smuzhiyun	status = "okay";
303*4882a593Smuzhiyun};
304*4882a593Smuzhiyun
305*4882a593Smuzhiyun&io_domains {
306*4882a593Smuzhiyun	status = "okay";
307*4882a593Smuzhiyun
308*4882a593Smuzhiyun	vccio0-supply = <&vcc_io>;
309*4882a593Smuzhiyun	vccio1-supply = <&vcc_io>;
310*4882a593Smuzhiyun	vccio2-supply = <&vccio_sdio>;
311*4882a593Smuzhiyun	vccio3-supply = <&vccio_flash>;
312*4882a593Smuzhiyun	vccio4-supply = <&vcc_io>;
313*4882a593Smuzhiyun	vccio5-supply = <&vccio_sdio>;
314*4882a593Smuzhiyun};
315*4882a593Smuzhiyun
316*4882a593Smuzhiyun&i2c1 {
317*4882a593Smuzhiyun	clock-frequency = <400000>;
318*4882a593Smuzhiyun	status = "okay";
319*4882a593Smuzhiyun
320*4882a593Smuzhiyun	is31fl3236: led-controller@3c {
321*4882a593Smuzhiyun		compatible = "issi,is31fl3236";
322*4882a593Smuzhiyun		reg = <0x3c>;
323*4882a593Smuzhiyun		#address-cells = <1>;
324*4882a593Smuzhiyun		#size-cells = <0>;
325*4882a593Smuzhiyun		reset-gpios = <&gpio0 RK_PB0 GPIO_ACTIVE_HIGH>;
326*4882a593Smuzhiyun		status = "okay";
327*4882a593Smuzhiyun
328*4882a593Smuzhiyun		led1: led@1 {
329*4882a593Smuzhiyun			label = "led1";
330*4882a593Smuzhiyun			reg = <1>;
331*4882a593Smuzhiyun			led-max-microamp = <10000>;
332*4882a593Smuzhiyun			linux,default-trigger = "timer";
333*4882a593Smuzhiyun			linux,default-trigger-delay-ms = <0>;
334*4882a593Smuzhiyun			linux,blink-delay-on-ms = <100>;
335*4882a593Smuzhiyun			linux,blink-delay-off-ms = <1200>;
336*4882a593Smuzhiyun		};
337*4882a593Smuzhiyun
338*4882a593Smuzhiyun		led2: led@2 {
339*4882a593Smuzhiyun			label = "led2";
340*4882a593Smuzhiyun			reg = <2>;
341*4882a593Smuzhiyun			led-max-microamp = <10000>;
342*4882a593Smuzhiyun			linux,default-trigger = "timer";
343*4882a593Smuzhiyun			linux,default-trigger-delay-ms = <0>;
344*4882a593Smuzhiyun			linux,blink-delay-on-ms = <100>;
345*4882a593Smuzhiyun			linux,blink-delay-off-ms = <1200>;
346*4882a593Smuzhiyun		};
347*4882a593Smuzhiyun
348*4882a593Smuzhiyun		led3: led@3 {
349*4882a593Smuzhiyun			label = "led3";
350*4882a593Smuzhiyun			reg = <3>;
351*4882a593Smuzhiyun			led-max-microamp = <10000>;
352*4882a593Smuzhiyun			linux,default-trigger = "default-on";
353*4882a593Smuzhiyun		};
354*4882a593Smuzhiyun
355*4882a593Smuzhiyun		led4: led@4 {
356*4882a593Smuzhiyun			label = "led4";
357*4882a593Smuzhiyun			reg = <4>;
358*4882a593Smuzhiyun			led-max-microamp = <10000>;
359*4882a593Smuzhiyun			linux,default-trigger = "timer";
360*4882a593Smuzhiyun			linux,default-trigger-delay-ms = <100>;
361*4882a593Smuzhiyun			linux,blink-delay-on-ms = <100>;
362*4882a593Smuzhiyun			linux,blink-delay-off-ms = <1200>;
363*4882a593Smuzhiyun		};
364*4882a593Smuzhiyun
365*4882a593Smuzhiyun		led5: led@5 {
366*4882a593Smuzhiyun			label = "led5";
367*4882a593Smuzhiyun			reg = <5>;
368*4882a593Smuzhiyun			led-max-microamp = <10000>;
369*4882a593Smuzhiyun			linux,default-trigger = "timer";
370*4882a593Smuzhiyun			linux,default-trigger-delay-ms = <100>;
371*4882a593Smuzhiyun			linux,blink-delay-on-ms = <100>;
372*4882a593Smuzhiyun			linux,blink-delay-off-ms = <1200>;
373*4882a593Smuzhiyun		};
374*4882a593Smuzhiyun
375*4882a593Smuzhiyun		led6: led@6 {
376*4882a593Smuzhiyun			label = "led6";
377*4882a593Smuzhiyun			reg = <6>;
378*4882a593Smuzhiyun			led-max-microamp = <10000>;
379*4882a593Smuzhiyun			linux,default-trigger = "default-on";
380*4882a593Smuzhiyun		};
381*4882a593Smuzhiyun
382*4882a593Smuzhiyun		led7: led@7 {
383*4882a593Smuzhiyun			label = "led7";
384*4882a593Smuzhiyun			reg = <7>;
385*4882a593Smuzhiyun			led-max-microamp = <10000>;
386*4882a593Smuzhiyun			linux,default-trigger = "timer";
387*4882a593Smuzhiyun			linux,default-trigger-delay-ms = <200>;
388*4882a593Smuzhiyun			linux,blink-delay-on-ms = <100>;
389*4882a593Smuzhiyun			linux,blink-delay-off-ms = <1200>;
390*4882a593Smuzhiyun		};
391*4882a593Smuzhiyun
392*4882a593Smuzhiyun		led8: led@8 {
393*4882a593Smuzhiyun			label = "led8";
394*4882a593Smuzhiyun			reg = <8>;
395*4882a593Smuzhiyun			led-max-microamp = <10000>;
396*4882a593Smuzhiyun			linux,default-trigger = "timer";
397*4882a593Smuzhiyun			linux,default-trigger-delay-ms = <200>;
398*4882a593Smuzhiyun			linux,blink-delay-on-ms = <100>;
399*4882a593Smuzhiyun			linux,blink-delay-off-ms = <1200>;
400*4882a593Smuzhiyun		};
401*4882a593Smuzhiyun
402*4882a593Smuzhiyun		led9: led@9 {
403*4882a593Smuzhiyun			label = "led9";
404*4882a593Smuzhiyun			reg = <9>;
405*4882a593Smuzhiyun			led-max-microamp = <10000>;
406*4882a593Smuzhiyun			linux,default-trigger = "default-on";
407*4882a593Smuzhiyun		};
408*4882a593Smuzhiyun
409*4882a593Smuzhiyun		led10: led@10 {
410*4882a593Smuzhiyun			label = "led10";
411*4882a593Smuzhiyun			reg = <10>;
412*4882a593Smuzhiyun			led-max-microamp = <10000>;
413*4882a593Smuzhiyun			linux,default-trigger = "timer";
414*4882a593Smuzhiyun			linux,default-trigger-delay-ms = <300>;
415*4882a593Smuzhiyun			linux,blink-delay-on-ms = <100>;
416*4882a593Smuzhiyun			linux,blink-delay-off-ms = <1200>;
417*4882a593Smuzhiyun		};
418*4882a593Smuzhiyun
419*4882a593Smuzhiyun		led11: led@11 {
420*4882a593Smuzhiyun			label = "led11";
421*4882a593Smuzhiyun			reg = <11>;
422*4882a593Smuzhiyun			led-max-microamp = <10000>;
423*4882a593Smuzhiyun			linux,default-trigger = "timer";
424*4882a593Smuzhiyun			linux,default-trigger-delay-ms = <300>;
425*4882a593Smuzhiyun			linux,blink-delay-on-ms = <100>;
426*4882a593Smuzhiyun			linux,blink-delay-off-ms = <1200>;
427*4882a593Smuzhiyun		};
428*4882a593Smuzhiyun
429*4882a593Smuzhiyun		led12: led@12 {
430*4882a593Smuzhiyun			label = "led12";
431*4882a593Smuzhiyun			reg = <12>;
432*4882a593Smuzhiyun			led-max-microamp = <10000>;
433*4882a593Smuzhiyun			linux,default-trigger = "default-on";
434*4882a593Smuzhiyun		};
435*4882a593Smuzhiyun
436*4882a593Smuzhiyun		led13: led@13 {
437*4882a593Smuzhiyun			label = "led13";
438*4882a593Smuzhiyun			reg = <13>;
439*4882a593Smuzhiyun			led-max-microamp = <10000>;
440*4882a593Smuzhiyun			linux,default-trigger = "timer";
441*4882a593Smuzhiyun			linux,default-trigger-delay-ms = <400>;
442*4882a593Smuzhiyun			linux,blink-delay-on-ms = <100>;
443*4882a593Smuzhiyun			linux,blink-delay-off-ms = <1200>;
444*4882a593Smuzhiyun		};
445*4882a593Smuzhiyun
446*4882a593Smuzhiyun		led14: led@14 {
447*4882a593Smuzhiyun			label = "led14";
448*4882a593Smuzhiyun			reg = <14>;
449*4882a593Smuzhiyun			led-max-microamp = <10000>;
450*4882a593Smuzhiyun			linux,default-trigger = "timer";
451*4882a593Smuzhiyun			linux,default-trigger-delay-ms = <400>;
452*4882a593Smuzhiyun			linux,blink-delay-on-ms = <100>;
453*4882a593Smuzhiyun			linux,blink-delay-off-ms = <1200>;
454*4882a593Smuzhiyun		};
455*4882a593Smuzhiyun
456*4882a593Smuzhiyun		led15: led@15 {
457*4882a593Smuzhiyun			label = "led15";
458*4882a593Smuzhiyun			reg = <15>;
459*4882a593Smuzhiyun			led-max-microamp = <10000>;
460*4882a593Smuzhiyun			linux,default-trigger = "default-on";
461*4882a593Smuzhiyun		};
462*4882a593Smuzhiyun
463*4882a593Smuzhiyun		led16: led@16 {
464*4882a593Smuzhiyun			label = "led16";
465*4882a593Smuzhiyun			reg = <16>;
466*4882a593Smuzhiyun			led-max-microamp = <10000>;
467*4882a593Smuzhiyun			linux,default-trigger = "timer";
468*4882a593Smuzhiyun			linux,default-trigger-delay-ms = <500>;
469*4882a593Smuzhiyun			linux,blink-delay-on-ms = <100>;
470*4882a593Smuzhiyun			linux,blink-delay-off-ms = <1200>;
471*4882a593Smuzhiyun		};
472*4882a593Smuzhiyun
473*4882a593Smuzhiyun		led17: led@17 {
474*4882a593Smuzhiyun			label = "led17";
475*4882a593Smuzhiyun			reg = <17>;
476*4882a593Smuzhiyun			led-max-microamp = <10000>;
477*4882a593Smuzhiyun			linux,default-trigger = "timer";
478*4882a593Smuzhiyun			linux,default-trigger-delay-ms = <500>;
479*4882a593Smuzhiyun			linux,blink-delay-on-ms = <100>;
480*4882a593Smuzhiyun			linux,blink-delay-off-ms = <1200>;
481*4882a593Smuzhiyun		};
482*4882a593Smuzhiyun
483*4882a593Smuzhiyun		led18: led@18 {
484*4882a593Smuzhiyun			label = "led18";
485*4882a593Smuzhiyun			reg = <18>;
486*4882a593Smuzhiyun			led-max-microamp = <10000>;
487*4882a593Smuzhiyun			linux,default-trigger = "default-on";
488*4882a593Smuzhiyun		};
489*4882a593Smuzhiyun
490*4882a593Smuzhiyun		led19: led@19 {
491*4882a593Smuzhiyun			label = "led19";
492*4882a593Smuzhiyun			reg = <19>;
493*4882a593Smuzhiyun			led-max-microamp = <10000>;
494*4882a593Smuzhiyun			linux,default-trigger = "timer";
495*4882a593Smuzhiyun			linux,default-trigger-delay-ms = <600>;
496*4882a593Smuzhiyun			linux,blink-delay-on-ms = <100>;
497*4882a593Smuzhiyun			linux,blink-delay-off-ms = <1200>;
498*4882a593Smuzhiyun		};
499*4882a593Smuzhiyun
500*4882a593Smuzhiyun		led20: led@20 {
501*4882a593Smuzhiyun			label = "led20";
502*4882a593Smuzhiyun			reg = <20>;
503*4882a593Smuzhiyun			led-max-microamp = <10000>;
504*4882a593Smuzhiyun			linux,default-trigger = "timer";
505*4882a593Smuzhiyun			linux,default-trigger-delay-ms = <600>;
506*4882a593Smuzhiyun			linux,blink-delay-on-ms = <100>;
507*4882a593Smuzhiyun			linux,blink-delay-off-ms = <1200>;
508*4882a593Smuzhiyun		};
509*4882a593Smuzhiyun
510*4882a593Smuzhiyun		led21: led@21 {
511*4882a593Smuzhiyun			label = "led21";
512*4882a593Smuzhiyun			reg = <21>;
513*4882a593Smuzhiyun			led-max-microamp = <10000>;
514*4882a593Smuzhiyun			linux,default-trigger = "default-on";
515*4882a593Smuzhiyun		};
516*4882a593Smuzhiyun
517*4882a593Smuzhiyun		led22: led@22 {
518*4882a593Smuzhiyun			label = "led22";
519*4882a593Smuzhiyun			reg = <22>;
520*4882a593Smuzhiyun			led-max-microamp = <10000>;
521*4882a593Smuzhiyun			linux,default-trigger = "timer";
522*4882a593Smuzhiyun			linux,default-trigger-delay-ms = <700>;
523*4882a593Smuzhiyun			linux,blink-delay-on-ms = <100>;
524*4882a593Smuzhiyun			linux,blink-delay-off-ms = <1200>;
525*4882a593Smuzhiyun		};
526*4882a593Smuzhiyun
527*4882a593Smuzhiyun		led23: led@23 {
528*4882a593Smuzhiyun			label = "led23";
529*4882a593Smuzhiyun			reg = <23>;
530*4882a593Smuzhiyun			led-max-microamp = <10000>;
531*4882a593Smuzhiyun			linux,default-trigger = "timer";
532*4882a593Smuzhiyun			linux,default-trigger-delay-ms = <700>;
533*4882a593Smuzhiyun			linux,blink-delay-on-ms = <100>;
534*4882a593Smuzhiyun			linux,blink-delay-off-ms = <1200>;
535*4882a593Smuzhiyun		};
536*4882a593Smuzhiyun
537*4882a593Smuzhiyun		led124: led@24 {
538*4882a593Smuzhiyun			label = "led24";
539*4882a593Smuzhiyun			reg = <24>;
540*4882a593Smuzhiyun			led-max-microamp = <10000>;
541*4882a593Smuzhiyun			linux,default-trigger = "default-on";
542*4882a593Smuzhiyun		};
543*4882a593Smuzhiyun
544*4882a593Smuzhiyun		led25: led@25 {
545*4882a593Smuzhiyun			label = "led25";
546*4882a593Smuzhiyun			reg = <25>;
547*4882a593Smuzhiyun			led-max-microamp = <10000>;
548*4882a593Smuzhiyun			linux,default-trigger = "timer";
549*4882a593Smuzhiyun			linux,default-trigger-delay-ms = <800>;
550*4882a593Smuzhiyun			linux,blink-delay-on-ms = <100>;
551*4882a593Smuzhiyun			linux,blink-delay-off-ms = <1200>;
552*4882a593Smuzhiyun		};
553*4882a593Smuzhiyun
554*4882a593Smuzhiyun		led26: led@26 {
555*4882a593Smuzhiyun			label = "led26";
556*4882a593Smuzhiyun			reg = <26>;
557*4882a593Smuzhiyun			led-max-microamp = <10000>;
558*4882a593Smuzhiyun			linux,default-trigger = "timer";
559*4882a593Smuzhiyun			linux,default-trigger-delay-ms = <800>;
560*4882a593Smuzhiyun			linux,blink-delay-on-ms = <100>;
561*4882a593Smuzhiyun			linux,blink-delay-off-ms = <1200>;
562*4882a593Smuzhiyun		};
563*4882a593Smuzhiyun
564*4882a593Smuzhiyun		led27: led@27 {
565*4882a593Smuzhiyun			label = "led27";
566*4882a593Smuzhiyun			reg = <27>;
567*4882a593Smuzhiyun			led-max-microamp = <10000>;
568*4882a593Smuzhiyun			linux,default-trigger = "default-on";
569*4882a593Smuzhiyun		};
570*4882a593Smuzhiyun
571*4882a593Smuzhiyun		led28: led@28 {
572*4882a593Smuzhiyun			label = "led28";
573*4882a593Smuzhiyun			reg = <28>;
574*4882a593Smuzhiyun			led-max-microamp = <10000>;
575*4882a593Smuzhiyun			linux,default-trigger = "timer";
576*4882a593Smuzhiyun			linux,default-trigger-delay-ms = <900>;
577*4882a593Smuzhiyun			linux,blink-delay-on-ms = <100>;
578*4882a593Smuzhiyun			linux,blink-delay-off-ms = <1200>;
579*4882a593Smuzhiyun		};
580*4882a593Smuzhiyun
581*4882a593Smuzhiyun		led29: led@29 {
582*4882a593Smuzhiyun			label = "led29";
583*4882a593Smuzhiyun			reg = <29>;
584*4882a593Smuzhiyun			led-max-microamp = <10000>;
585*4882a593Smuzhiyun			linux,default-trigger = "timer";
586*4882a593Smuzhiyun			linux,default-trigger-delay-ms = <900>;
587*4882a593Smuzhiyun			linux,blink-delay-on-ms = <100>;
588*4882a593Smuzhiyun			linux,blink-delay-off-ms = <1200>;
589*4882a593Smuzhiyun		};
590*4882a593Smuzhiyun
591*4882a593Smuzhiyun		led30: led@30 {
592*4882a593Smuzhiyun			label = "led30";
593*4882a593Smuzhiyun			reg = <30>;
594*4882a593Smuzhiyun			led-max-microamp = <10000>;
595*4882a593Smuzhiyun			linux,default-trigger = "default-on";
596*4882a593Smuzhiyun		};
597*4882a593Smuzhiyun
598*4882a593Smuzhiyun		led31: led@31 {
599*4882a593Smuzhiyun			label = "led31";
600*4882a593Smuzhiyun			reg = <31>;
601*4882a593Smuzhiyun			led-max-microamp = <10000>;
602*4882a593Smuzhiyun			linux,default-trigger = "timer";
603*4882a593Smuzhiyun			linux,default-trigger-delay-ms = <1000>;
604*4882a593Smuzhiyun			linux,blink-delay-on-ms = <100>;
605*4882a593Smuzhiyun			linux,blink-delay-off-ms = <1200>;
606*4882a593Smuzhiyun		};
607*4882a593Smuzhiyun
608*4882a593Smuzhiyun		led32: led@32 {
609*4882a593Smuzhiyun			label = "led32";
610*4882a593Smuzhiyun			reg = <32>;
611*4882a593Smuzhiyun			led-max-microamp = <10000>;
612*4882a593Smuzhiyun			linux,default-trigger = "timer";
613*4882a593Smuzhiyun			linux,default-trigger-delay-ms = <1000>;
614*4882a593Smuzhiyun			linux,blink-delay-on-ms = <100>;
615*4882a593Smuzhiyun			linux,blink-delay-off-ms = <1200>;
616*4882a593Smuzhiyun		};
617*4882a593Smuzhiyun
618*4882a593Smuzhiyun		led33: led@33 {
619*4882a593Smuzhiyun			label = "led33";
620*4882a593Smuzhiyun			reg = <33>;
621*4882a593Smuzhiyun			led-max-microamp = <10000>;
622*4882a593Smuzhiyun			linux,default-trigger = "default-on";
623*4882a593Smuzhiyun		};
624*4882a593Smuzhiyun
625*4882a593Smuzhiyun		led34: led@34 {
626*4882a593Smuzhiyun			label = "led34";
627*4882a593Smuzhiyun			reg = <34>;
628*4882a593Smuzhiyun			led-max-microamp = <10000>;
629*4882a593Smuzhiyun			linux,default-trigger = "timer";
630*4882a593Smuzhiyun			linux,default-trigger-delay-ms = <1100>;
631*4882a593Smuzhiyun			linux,blink-delay-on-ms = <100>;
632*4882a593Smuzhiyun			linux,blink-delay-off-ms = <1200>;
633*4882a593Smuzhiyun		};
634*4882a593Smuzhiyun
635*4882a593Smuzhiyun		led35: led@35 {
636*4882a593Smuzhiyun			label = "led35";
637*4882a593Smuzhiyun			reg = <35>;
638*4882a593Smuzhiyun			led-max-microamp = <10000>;
639*4882a593Smuzhiyun			linux,default-trigger = "timer";
640*4882a593Smuzhiyun			linux,default-trigger-delay-ms = <1100>;
641*4882a593Smuzhiyun			linux,blink-delay-on-ms = <100>;
642*4882a593Smuzhiyun			linux,blink-delay-off-ms = <1200>;
643*4882a593Smuzhiyun		};
644*4882a593Smuzhiyun
645*4882a593Smuzhiyun		led36: led@36 {
646*4882a593Smuzhiyun			label = "led36";
647*4882a593Smuzhiyun			reg = <36>;
648*4882a593Smuzhiyun			led-max-microamp = <10000>;
649*4882a593Smuzhiyun			linux,default-trigger = "default-on";
650*4882a593Smuzhiyun		};
651*4882a593Smuzhiyun	};
652*4882a593Smuzhiyun};
653*4882a593Smuzhiyun
654*4882a593Smuzhiyun&i2s_8ch_1 {
655*4882a593Smuzhiyun	status = "disabled";
656*4882a593Smuzhiyun	#sound-dai-cells = <0>;
657*4882a593Smuzhiyun	pinctrl-names = "default";
658*4882a593Smuzhiyun	pinctrl-0 = <&i2s_8ch_1_m0_sclktx
659*4882a593Smuzhiyun		     &i2s_8ch_1_m0_lrcktx
660*4882a593Smuzhiyun		     &i2s_8ch_1_m0_sdo0
661*4882a593Smuzhiyun		     &i2s_8ch_1_m0_mclk>;
662*4882a593Smuzhiyun};
663*4882a593Smuzhiyun
664*4882a593Smuzhiyun&i2s_8ch_2 {
665*4882a593Smuzhiyun	status = "okay";
666*4882a593Smuzhiyun};
667*4882a593Smuzhiyun
668*4882a593Smuzhiyun&mac {
669*4882a593Smuzhiyun	phy-supply = <&vcc_phy>;
670*4882a593Smuzhiyun	assigned-clocks = <&cru SCLK_MAC>;
671*4882a593Smuzhiyun	assigned-clock-parents = <&mac_clkin>;
672*4882a593Smuzhiyun	clock_in_out = "input";
673*4882a593Smuzhiyun	pinctrl-names = "default";
674*4882a593Smuzhiyun	pinctrl-0 = <&rmiim1_pins &macm1_refclk>;
675*4882a593Smuzhiyun	snps,reset-gpio = <&gpio4 RK_PC0 GPIO_ACTIVE_LOW>;
676*4882a593Smuzhiyun	snps,reset-active-low;
677*4882a593Smuzhiyun	snps,reset-delays-us = <0 50000 50000>;
678*4882a593Smuzhiyun	status = "disable";
679*4882a593Smuzhiyun};
680*4882a593Smuzhiyun
681*4882a593Smuzhiyun&nandc {
682*4882a593Smuzhiyun	status = "okay";
683*4882a593Smuzhiyun};
684*4882a593Smuzhiyun
685*4882a593Smuzhiyun&pinctrl {
686*4882a593Smuzhiyun	buttons {
687*4882a593Smuzhiyun		pwr_key: pwr-key {
688*4882a593Smuzhiyun			rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>;
689*4882a593Smuzhiyun		};
690*4882a593Smuzhiyun	};
691*4882a593Smuzhiyun
692*4882a593Smuzhiyun	usb {
693*4882a593Smuzhiyun		usb_drv: usb-drv {
694*4882a593Smuzhiyun			rockchip,pins = <0 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>;
695*4882a593Smuzhiyun		};
696*4882a593Smuzhiyun	};
697*4882a593Smuzhiyun
698*4882a593Smuzhiyun	sdio-pwrseq {
699*4882a593Smuzhiyun		wifi_enable_h: wifi-enable-h {
700*4882a593Smuzhiyun			rockchip,pins = <4 RK_PD6 RK_FUNC_GPIO &pcfg_pull_none>;
701*4882a593Smuzhiyun		};
702*4882a593Smuzhiyun	};
703*4882a593Smuzhiyun
704*4882a593Smuzhiyun	wireless-wlan {
705*4882a593Smuzhiyun		wifi_wake_host: wifi-wake-host {
706*4882a593Smuzhiyun			rockchip,pins = <2 RK_PB4 RK_FUNC_GPIO &pcfg_pull_up>;
707*4882a593Smuzhiyun		};
708*4882a593Smuzhiyun	};
709*4882a593Smuzhiyun};
710*4882a593Smuzhiyun
711*4882a593Smuzhiyun&pwm0 {
712*4882a593Smuzhiyun	status = "okay";
713*4882a593Smuzhiyun	pinctrl-names = "active";
714*4882a593Smuzhiyun	pinctrl-0 = <&pwm0_pin_pull_down>;
715*4882a593Smuzhiyun};
716*4882a593Smuzhiyun
717*4882a593Smuzhiyun&rng {
718*4882a593Smuzhiyun	status = "okay";
719*4882a593Smuzhiyun};
720*4882a593Smuzhiyun
721*4882a593Smuzhiyun&rockchip_suspend {
722*4882a593Smuzhiyun	rockchip,pwm-regulator-config = <
723*4882a593Smuzhiyun		(0
724*4882a593Smuzhiyun		| RKPM_PWM_REGULATOR
725*4882a593Smuzhiyun		)
726*4882a593Smuzhiyun	>;
727*4882a593Smuzhiyun
728*4882a593Smuzhiyun	status = "okay";
729*4882a593Smuzhiyun};
730*4882a593Smuzhiyun
731*4882a593Smuzhiyun&spdif_rx {
732*4882a593Smuzhiyun	#sound-dai-cells = <0>;
733*4882a593Smuzhiyun};
734*4882a593Smuzhiyun
735*4882a593Smuzhiyun&spdif_tx {
736*4882a593Smuzhiyun	#sound-dai-cells = <0>;
737*4882a593Smuzhiyun};
738*4882a593Smuzhiyun
739*4882a593Smuzhiyun&saradc {
740*4882a593Smuzhiyun	status = "okay";
741*4882a593Smuzhiyun	vref-supply = <&vcc_1v8>;
742*4882a593Smuzhiyun};
743*4882a593Smuzhiyun
744*4882a593Smuzhiyun&sdmmc {
745*4882a593Smuzhiyun	bus-width = <4>;
746*4882a593Smuzhiyun	cap-sd-highspeed;
747*4882a593Smuzhiyun	no-sd;
748*4882a593Smuzhiyun	no-mmc;
749*4882a593Smuzhiyun	ignore-pm-notify;
750*4882a593Smuzhiyun	keep-power-in-suspend;
751*4882a593Smuzhiyun	non-removable;
752*4882a593Smuzhiyun	mmc-pwrseq = <&sdio_pwrseq>;
753*4882a593Smuzhiyun	sd-uhs-sdr104;
754*4882a593Smuzhiyun	status = "okay";
755*4882a593Smuzhiyun};
756*4882a593Smuzhiyun
757*4882a593Smuzhiyun&sfc {
758*4882a593Smuzhiyun	status = "okay";
759*4882a593Smuzhiyun};
760*4882a593Smuzhiyun
761*4882a593Smuzhiyun&tsadc {
762*4882a593Smuzhiyun	rockchip,hw-tshut-mode = <0>; /* tshut mode 0:CRU 1:GPIO */
763*4882a593Smuzhiyun	rockchip,hw-tshut-polarity = <1>; /* tshut polarity 0:LOW 1:HIGH */
764*4882a593Smuzhiyun	status = "okay";
765*4882a593Smuzhiyun};
766*4882a593Smuzhiyun
767*4882a593Smuzhiyun&u2phy {
768*4882a593Smuzhiyun	status = "okay";
769*4882a593Smuzhiyun
770*4882a593Smuzhiyun	u2phy_host: host-port {
771*4882a593Smuzhiyun		phy-supply = <&vbus_host>;
772*4882a593Smuzhiyun		status = "okay";
773*4882a593Smuzhiyun	};
774*4882a593Smuzhiyun
775*4882a593Smuzhiyun	u2phy_otg: otg-port {
776*4882a593Smuzhiyun		status = "okay";
777*4882a593Smuzhiyun	};
778*4882a593Smuzhiyun};
779*4882a593Smuzhiyun
780*4882a593Smuzhiyun&uart0 {
781*4882a593Smuzhiyun	pinctrl-names = "default";
782*4882a593Smuzhiyun	pinctrl-0 = <&uart0_xfer &uart0_cts>;
783*4882a593Smuzhiyun	status = "okay";
784*4882a593Smuzhiyun};
785*4882a593Smuzhiyun
786*4882a593Smuzhiyun&usb20_otg {
787*4882a593Smuzhiyun	status = "okay";
788*4882a593Smuzhiyun};
789*4882a593Smuzhiyun
790*4882a593Smuzhiyun&usb_host0_ehci {
791*4882a593Smuzhiyun	status = "okay";
792*4882a593Smuzhiyun};
793*4882a593Smuzhiyun
794*4882a593Smuzhiyun&usb_host0_ohci{
795*4882a593Smuzhiyun	status = "okay";
796*4882a593Smuzhiyun};
797