xref: /OK3568_Linux_fs/kernel/arch/arm/boot/dts/rk3229-evb-android.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 "rk322x.dtsi"
7*4882a593Smuzhiyun#include "rk3229-cpu-opp.dtsi"
8*4882a593Smuzhiyun#include "rk322x-android.dtsi"
9*4882a593Smuzhiyun#include <dt-bindings/input/input.h>
10*4882a593Smuzhiyun
11*4882a593Smuzhiyun/ {
12*4882a593Smuzhiyun	gpio_keys {
13*4882a593Smuzhiyun		compatible = "gpio-keys";
14*4882a593Smuzhiyun		#address-cells = <1>;
15*4882a593Smuzhiyun		#size-cells = <0>;
16*4882a593Smuzhiyun		autorepeat;
17*4882a593Smuzhiyun
18*4882a593Smuzhiyun		pinctrl-names = "default";
19*4882a593Smuzhiyun		pinctrl-0 = <&pwr_key>;
20*4882a593Smuzhiyun
21*4882a593Smuzhiyun		power_key: power-key {
22*4882a593Smuzhiyun			label = "GPIO Key Power";
23*4882a593Smuzhiyun			gpios = <&gpio3 23 GPIO_ACTIVE_LOW>;
24*4882a593Smuzhiyun			linux,code = <KEY_POWER>;
25*4882a593Smuzhiyun			debounce-interval = <100>;
26*4882a593Smuzhiyun			wakeup-source;
27*4882a593Smuzhiyun		};
28*4882a593Smuzhiyun	};
29*4882a593Smuzhiyun
30*4882a593Smuzhiyun	sound {
31*4882a593Smuzhiyun		compatible = "simple-audio-card";
32*4882a593Smuzhiyun		simple-audio-card,format = "i2s";
33*4882a593Smuzhiyun		simple-audio-card,mclk-fs = <256>;
34*4882a593Smuzhiyun		simple-audio-card,name = "rockchip,rk3229";
35*4882a593Smuzhiyun		simple-audio-card,cpu {
36*4882a593Smuzhiyun			sound-dai = <&i2s1>;
37*4882a593Smuzhiyun		};
38*4882a593Smuzhiyun		simple-audio-card,codec {
39*4882a593Smuzhiyun			sound-dai = <&codec>;
40*4882a593Smuzhiyun		};
41*4882a593Smuzhiyun	};
42*4882a593Smuzhiyun
43*4882a593Smuzhiyun	hdmi_sound: hdmi-sound {
44*4882a593Smuzhiyun		status = "okay";
45*4882a593Smuzhiyun		compatible = "simple-audio-card";
46*4882a593Smuzhiyun		simple-audio-card,format = "i2s";
47*4882a593Smuzhiyun		simple-audio-card,mclk-fs = <128>;
48*4882a593Smuzhiyun		simple-audio-card,name = "rockchip,hdmi";
49*4882a593Smuzhiyun		simple-audio-card,cpu {
50*4882a593Smuzhiyun			sound-dai = <&i2s0>;
51*4882a593Smuzhiyun		};
52*4882a593Smuzhiyun		simple-audio-card,codec {
53*4882a593Smuzhiyun			sound-dai = <&hdmi>;
54*4882a593Smuzhiyun		};
55*4882a593Smuzhiyun	};
56*4882a593Smuzhiyun
57*4882a593Smuzhiyun	regulators {
58*4882a593Smuzhiyun		compatible = "simple-bus";
59*4882a593Smuzhiyun		#address-cells = <1>;
60*4882a593Smuzhiyun		#size-cells = <0>;
61*4882a593Smuzhiyun
62*4882a593Smuzhiyun		vccio_1v8_reg: regulator@0 {
63*4882a593Smuzhiyun			compatible = "regulator-fixed";
64*4882a593Smuzhiyun			regulator-name = "vccio_1v8";
65*4882a593Smuzhiyun			regulator-min-microvolt = <1800000>;
66*4882a593Smuzhiyun			regulator-max-microvolt = <1800000>;
67*4882a593Smuzhiyun			regulator-always-on;
68*4882a593Smuzhiyun		};
69*4882a593Smuzhiyun
70*4882a593Smuzhiyun		vccio_3v3_reg: regulator@1 {
71*4882a593Smuzhiyun			compatible = "regulator-fixed";
72*4882a593Smuzhiyun			regulator-name = "vccio_3v3";
73*4882a593Smuzhiyun			regulator-min-microvolt = <3300000>;
74*4882a593Smuzhiyun			regulator-max-microvolt = <3300000>;
75*4882a593Smuzhiyun			regulator-always-on;
76*4882a593Smuzhiyun		};
77*4882a593Smuzhiyun	};
78*4882a593Smuzhiyun
79*4882a593Smuzhiyun	sdio_pwrseq: sdio-pwrseq {
80*4882a593Smuzhiyun		compatible = "mmc-pwrseq-simple";
81*4882a593Smuzhiyun		clocks = <&hym8563>;
82*4882a593Smuzhiyun		clock-names = "ext_clock";
83*4882a593Smuzhiyun		pinctrl-names = "default";
84*4882a593Smuzhiyun		pinctrl-0 = <&wifi_enable_h>;
85*4882a593Smuzhiyun
86*4882a593Smuzhiyun		/*
87*4882a593Smuzhiyun		 * On the module itself this is one of these (depending
88*4882a593Smuzhiyun		 * on the actual card populated):
89*4882a593Smuzhiyun		 * - SDIO_RESET_L_WL_REG_ON
90*4882a593Smuzhiyun		 * - PDN (power down when low)
91*4882a593Smuzhiyun		 */
92*4882a593Smuzhiyun		reset-gpios = <&gpio2 26 GPIO_ACTIVE_LOW>; /* GPIO2_D2 */
93*4882a593Smuzhiyun	};
94*4882a593Smuzhiyun
95*4882a593Smuzhiyun	spdif_out: spdif-out {
96*4882a593Smuzhiyun		status = "okay";
97*4882a593Smuzhiyun		compatible = "linux,spdif-dit";
98*4882a593Smuzhiyun		#sound-dai-cells = <0>;
99*4882a593Smuzhiyun	};
100*4882a593Smuzhiyun
101*4882a593Smuzhiyun	spdif-sound {
102*4882a593Smuzhiyun		status = "okay";
103*4882a593Smuzhiyun		compatible = "simple-audio-card";
104*4882a593Smuzhiyun		simple-audio-card,name = "ROCKCHIP,SPDIF";
105*4882a593Smuzhiyun		simple-audio-card,mclk-fs = <128>;
106*4882a593Smuzhiyun		simple-audio-card,cpu {
107*4882a593Smuzhiyun			sound-dai = <&spdif>;
108*4882a593Smuzhiyun		};
109*4882a593Smuzhiyun		simple-audio-card,codec {
110*4882a593Smuzhiyun			sound-dai = <&spdif_out>;
111*4882a593Smuzhiyun		};
112*4882a593Smuzhiyun	};
113*4882a593Smuzhiyun
114*4882a593Smuzhiyun	vcc_host: vcc-host-regulator {
115*4882a593Smuzhiyun		compatible = "regulator-fixed";
116*4882a593Smuzhiyun		enable-active-high;
117*4882a593Smuzhiyun		gpio = <&gpio3 20 GPIO_ACTIVE_HIGH>;
118*4882a593Smuzhiyun		pinctrl-names = "default";
119*4882a593Smuzhiyun		pinctrl-0 = <&host_vbus_drv>;
120*4882a593Smuzhiyun		regulator-name = "vcc_host";
121*4882a593Smuzhiyun		regulator-always-on;
122*4882a593Smuzhiyun		regulator-boot-on;
123*4882a593Smuzhiyun	};
124*4882a593Smuzhiyun
125*4882a593Smuzhiyun	vcc_otg_vbus: otg-vbus-regulator {
126*4882a593Smuzhiyun		compatible = "regulator-fixed";
127*4882a593Smuzhiyun		gpio = <&gpio3 RK_PC6 GPIO_ACTIVE_HIGH>;
128*4882a593Smuzhiyun		pinctrl-names = "default";
129*4882a593Smuzhiyun		pinctrl-0 = <&otg_vbus_drv>;
130*4882a593Smuzhiyun		regulator-name = "vcc_otg_vbus";
131*4882a593Smuzhiyun		regulator-min-microvolt = <5000000>;
132*4882a593Smuzhiyun		regulator-max-microvolt = <5000000>;
133*4882a593Smuzhiyun		enable-active-high;
134*4882a593Smuzhiyun	};
135*4882a593Smuzhiyun
136*4882a593Smuzhiyun	vcc_phy: vcc-phy-regulator {
137*4882a593Smuzhiyun		compatible = "regulator-fixed";
138*4882a593Smuzhiyun		enable-active-high;
139*4882a593Smuzhiyun		regulator-name = "vcc_phy";
140*4882a593Smuzhiyun		regulator-min-microvolt = <1800000>;
141*4882a593Smuzhiyun		regulator-max-microvolt = <1800000>;
142*4882a593Smuzhiyun		regulator-always-on;
143*4882a593Smuzhiyun		regulator-boot-on;
144*4882a593Smuzhiyun	};
145*4882a593Smuzhiyun
146*4882a593Smuzhiyun	vdd_arm: vdd-arm-regulator {
147*4882a593Smuzhiyun		compatible = "pwm-regulator";
148*4882a593Smuzhiyun		rockchip,pwm_id = <1>;
149*4882a593Smuzhiyun		rockchip,pwm_voltage = <1100000>;
150*4882a593Smuzhiyun		pwms = <&pwm1 0 5000 1>;
151*4882a593Smuzhiyun		regulator-name = "vdd_arm";
152*4882a593Smuzhiyun		regulator-min-microvolt = <950000>;
153*4882a593Smuzhiyun		regulator-max-microvolt = <1400000>;
154*4882a593Smuzhiyun		regulator-settling-time-up-us = <250>;
155*4882a593Smuzhiyun		regulator-always-on;
156*4882a593Smuzhiyun		regulator-boot-on;
157*4882a593Smuzhiyun	};
158*4882a593Smuzhiyun
159*4882a593Smuzhiyun	vdd_log: vdd-log-regulator {
160*4882a593Smuzhiyun		compatible = "pwm-regulator";
161*4882a593Smuzhiyun		rockchip,pwm_id = <2>;
162*4882a593Smuzhiyun		rockchip,pwm_voltage = <1200000>;
163*4882a593Smuzhiyun		pwms = <&pwm2 0 5000 1>;
164*4882a593Smuzhiyun		regulator-name = "vdd_log";
165*4882a593Smuzhiyun		regulator-min-microvolt = <1000000>;
166*4882a593Smuzhiyun		regulator-max-microvolt = <1300000>;
167*4882a593Smuzhiyun		regulator-settling-time-up-us = <250>;
168*4882a593Smuzhiyun		regulator-always-on;
169*4882a593Smuzhiyun		regulator-boot-on;
170*4882a593Smuzhiyun	};
171*4882a593Smuzhiyun
172*4882a593Smuzhiyun	wireless-bluetooth {
173*4882a593Smuzhiyun		compatible = "bluetooth-platdata";
174*4882a593Smuzhiyun		clocks = <&hym8563>;
175*4882a593Smuzhiyun		clock-names = "ext_clock";
176*4882a593Smuzhiyun		uart_rts_gpios = <&gpio3 6 GPIO_ACTIVE_LOW>;
177*4882a593Smuzhiyun		pinctrl-names = "default", "rts_gpio";
178*4882a593Smuzhiyun		pinctrl-0 = <&uart11_rts>;
179*4882a593Smuzhiyun		pinctrl-1 = <&uart11_rts_gpio>;
180*4882a593Smuzhiyun		BT,power_gpio = <&gpio2 29 GPIO_ACTIVE_HIGH>;
181*4882a593Smuzhiyun		BT,wake_host_irq = <&gpio3 26 GPIO_ACTIVE_HIGH>;
182*4882a593Smuzhiyun		status = "okay";
183*4882a593Smuzhiyun	};
184*4882a593Smuzhiyun
185*4882a593Smuzhiyun	wireless-wlan {
186*4882a593Smuzhiyun		compatible = "wlan-platdata";
187*4882a593Smuzhiyun		rockchip,grf = <&grf>;
188*4882a593Smuzhiyun		wifi_chip_type = "ap6335";
189*4882a593Smuzhiyun		sdio_vref = <1800>;
190*4882a593Smuzhiyun		WIFI,host_wake_irq = <&gpio0 28 GPIO_ACTIVE_HIGH>;
191*4882a593Smuzhiyun		status = "okay";
192*4882a593Smuzhiyun	};
193*4882a593Smuzhiyun};
194*4882a593Smuzhiyun
195*4882a593Smuzhiyun&codec {
196*4882a593Smuzhiyun	#sound-dai-cells = <0>;
197*4882a593Smuzhiyun	status = "okay";
198*4882a593Smuzhiyun};
199*4882a593Smuzhiyun
200*4882a593Smuzhiyun&cpu0 {
201*4882a593Smuzhiyun	cpu-supply = <&vdd_arm>;
202*4882a593Smuzhiyun};
203*4882a593Smuzhiyun
204*4882a593Smuzhiyun&display_subsystem {
205*4882a593Smuzhiyun	logo-memory-region = <&drm_logo>;
206*4882a593Smuzhiyun	status = "okay";
207*4882a593Smuzhiyun	secure-memory-region = <&secure_memory>;
208*4882a593Smuzhiyun	route {
209*4882a593Smuzhiyun		route_hdmi: route-hdmi {
210*4882a593Smuzhiyun			status = "okay";
211*4882a593Smuzhiyun			logo,uboot = "logo.bmp";
212*4882a593Smuzhiyun			logo,kernel = "logo_kernel.bmp";
213*4882a593Smuzhiyun			logo,mode = "center";
214*4882a593Smuzhiyun			charge_logo,mode = "center";
215*4882a593Smuzhiyun			connect = <&vop_out_hdmi>;
216*4882a593Smuzhiyun		};
217*4882a593Smuzhiyun
218*4882a593Smuzhiyun		route_tve: route-tve {
219*4882a593Smuzhiyun			status = "okay";
220*4882a593Smuzhiyun			logo,uboot = "logo.bmp";
221*4882a593Smuzhiyun			logo,kernel = "logo_kernel.bmp";
222*4882a593Smuzhiyun			logo,mode = "center";
223*4882a593Smuzhiyun			charge_logo,mode = "center";
224*4882a593Smuzhiyun			connect = <&vop_out_tve>;
225*4882a593Smuzhiyun		};
226*4882a593Smuzhiyun	};
227*4882a593Smuzhiyun};
228*4882a593Smuzhiyun
229*4882a593Smuzhiyun&dmc {
230*4882a593Smuzhiyun	center-supply = <&vdd_log>;
231*4882a593Smuzhiyun	status = "okay";
232*4882a593Smuzhiyun};
233*4882a593Smuzhiyun
234*4882a593Smuzhiyun&gmac {
235*4882a593Smuzhiyun	assigned-clocks = <&cru SCLK_MAC_SRC>;
236*4882a593Smuzhiyun	assigned-clock-rates = <50000000>;
237*4882a593Smuzhiyun	clock_in_out = "output";
238*4882a593Smuzhiyun	phy-supply = <&vcc_phy>;
239*4882a593Smuzhiyun	phy-mode = "rmii";
240*4882a593Smuzhiyun	phy-handle = <&phy>;
241*4882a593Smuzhiyun	status = "okay";
242*4882a593Smuzhiyun
243*4882a593Smuzhiyun	mdio {
244*4882a593Smuzhiyun		compatible = "snps,dwmac-mdio";
245*4882a593Smuzhiyun		#address-cells = <1>;
246*4882a593Smuzhiyun		#size-cells = <0>;
247*4882a593Smuzhiyun
248*4882a593Smuzhiyun		phy: phy@0 {
249*4882a593Smuzhiyun			compatible = "ethernet-phy-id1234.d400", "ethernet-phy-ieee802.3-c22";
250*4882a593Smuzhiyun			reg = <0>;
251*4882a593Smuzhiyun			clocks = <&cru SCLK_MAC_PHY>;
252*4882a593Smuzhiyun			resets = <&cru SRST_MACPHY>;
253*4882a593Smuzhiyun			phy-is-integrated;
254*4882a593Smuzhiyun		};
255*4882a593Smuzhiyun	};
256*4882a593Smuzhiyun};
257*4882a593Smuzhiyun
258*4882a593Smuzhiyun&gpu {
259*4882a593Smuzhiyun	status = "okay";
260*4882a593Smuzhiyun	mali-supply = <&vdd_log>;
261*4882a593Smuzhiyun};
262*4882a593Smuzhiyun
263*4882a593Smuzhiyun&hdmi {
264*4882a593Smuzhiyun	status = "okay";
265*4882a593Smuzhiyun	#sound-dai-cells = <0>;
266*4882a593Smuzhiyun	ddc-i2c-scl-high-time-ns = <9625>;
267*4882a593Smuzhiyun	ddc-i2c-scl-low-time-ns = <10000>;
268*4882a593Smuzhiyun};
269*4882a593Smuzhiyun
270*4882a593Smuzhiyun&io_domains {
271*4882a593Smuzhiyun	status = "okay";
272*4882a593Smuzhiyun
273*4882a593Smuzhiyun	vccio1-supply = <&vccio_3v3_reg>;
274*4882a593Smuzhiyun	vccio2-supply = <&vccio_1v8_reg>;
275*4882a593Smuzhiyun	vccio4-supply = <&vccio_3v3_reg>;
276*4882a593Smuzhiyun};
277*4882a593Smuzhiyun
278*4882a593Smuzhiyun&secure_memory {
279*4882a593Smuzhiyun	/*
280*4882a593Smuzhiyun	 * enable like this:
281*4882a593Smuzhiyun	 * reg = <0x80000000 0x10000000>;
282*4882a593Smuzhiyun	 */
283*4882a593Smuzhiyun	reg = <0x80000000 0x0>;
284*4882a593Smuzhiyun};
285*4882a593Smuzhiyun
286*4882a593Smuzhiyun&i2c0 {
287*4882a593Smuzhiyun	status = "okay";
288*4882a593Smuzhiyun
289*4882a593Smuzhiyun	hym8563: hym8563@51 {
290*4882a593Smuzhiyun		compatible = "haoyu,hym8563";
291*4882a593Smuzhiyun		reg = <0x51>;
292*4882a593Smuzhiyun		#clock-cells = <0>;
293*4882a593Smuzhiyun		clock-frequency = <32768>;
294*4882a593Smuzhiyun		clock-output-names = "xin32k";
295*4882a593Smuzhiyun	};
296*4882a593Smuzhiyun};
297*4882a593Smuzhiyun
298*4882a593Smuzhiyun&i2s0 {
299*4882a593Smuzhiyun	status = "okay";
300*4882a593Smuzhiyun	rockchip,bclk-fs = <128>;
301*4882a593Smuzhiyun	#sound-dai-cells = <0>;
302*4882a593Smuzhiyun};
303*4882a593Smuzhiyun
304*4882a593Smuzhiyun&i2s1 {
305*4882a593Smuzhiyun	#sound-dai-cells = <0>;
306*4882a593Smuzhiyun	status = "okay";
307*4882a593Smuzhiyun};
308*4882a593Smuzhiyun
309*4882a593Smuzhiyun&iep {
310*4882a593Smuzhiyun	status = "okay";
311*4882a593Smuzhiyun};
312*4882a593Smuzhiyun
313*4882a593Smuzhiyun&iep_mmu {
314*4882a593Smuzhiyun	status = "okay";
315*4882a593Smuzhiyun};
316*4882a593Smuzhiyun
317*4882a593Smuzhiyun&mpp_srv {
318*4882a593Smuzhiyun	status = "okay";
319*4882a593Smuzhiyun};
320*4882a593Smuzhiyun
321*4882a593Smuzhiyun&nandc {
322*4882a593Smuzhiyun	status = "okay";
323*4882a593Smuzhiyun};
324*4882a593Smuzhiyun
325*4882a593Smuzhiyun&pinctrl {
326*4882a593Smuzhiyun	keys {
327*4882a593Smuzhiyun		pwr_key: pwr-key {
328*4882a593Smuzhiyun			rockchip,pins = <3 RK_PC7 RK_FUNC_GPIO &pcfg_pull_up>;
329*4882a593Smuzhiyun		};
330*4882a593Smuzhiyun	};
331*4882a593Smuzhiyun
332*4882a593Smuzhiyun	sdmmc {
333*4882a593Smuzhiyun		sdmmc_pwr: sdmmc-pwr {
334*4882a593Smuzhiyun			rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>;
335*4882a593Smuzhiyun		};
336*4882a593Smuzhiyun	};
337*4882a593Smuzhiyun
338*4882a593Smuzhiyun	sdio-pwrseq {
339*4882a593Smuzhiyun		wifi_enable_h: wifi-enable-h {
340*4882a593Smuzhiyun			rockchip,pins = <2 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
341*4882a593Smuzhiyun		};
342*4882a593Smuzhiyun	};
343*4882a593Smuzhiyun
344*4882a593Smuzhiyun	usb {
345*4882a593Smuzhiyun		host_vbus_drv: host-vbus-drv {
346*4882a593Smuzhiyun			rockchip,pins = <3 RK_PC4 RK_FUNC_GPIO &pcfg_pull_none>;
347*4882a593Smuzhiyun		};
348*4882a593Smuzhiyun
349*4882a593Smuzhiyun		otg_vbus_drv: otg-vbus-drv {
350*4882a593Smuzhiyun			rockchip,pins = <3 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
351*4882a593Smuzhiyun		};
352*4882a593Smuzhiyun	};
353*4882a593Smuzhiyun};
354*4882a593Smuzhiyun
355*4882a593Smuzhiyun&pwm1 {
356*4882a593Smuzhiyun	status = "okay";
357*4882a593Smuzhiyun	pinctrl-names = "active";
358*4882a593Smuzhiyun	pinctrl-0 = <&pwm1_pin_pull_down>;
359*4882a593Smuzhiyun};
360*4882a593Smuzhiyun
361*4882a593Smuzhiyun&pwm2 {
362*4882a593Smuzhiyun	status = "okay";
363*4882a593Smuzhiyun	pinctrl-names = "active";
364*4882a593Smuzhiyun	pinctrl-0 = <&pwm2_pin_pull_up>;
365*4882a593Smuzhiyun};
366*4882a593Smuzhiyun
367*4882a593Smuzhiyun&pwm3 {
368*4882a593Smuzhiyun	status = "okay";
369*4882a593Smuzhiyun	pinctrl-names = "default";
370*4882a593Smuzhiyun	pinctrl-0 = <&pwm3_pin>;
371*4882a593Smuzhiyun	compatible = "rockchip,remotectl-pwm";
372*4882a593Smuzhiyun	remote_pwm_id = <3>;
373*4882a593Smuzhiyun	handle_cpu_id = <1>;
374*4882a593Smuzhiyun	remote_support_psci = <1>;
375*4882a593Smuzhiyun
376*4882a593Smuzhiyun	ir_key1 {
377*4882a593Smuzhiyun		rockchip,usercode = <0x4040>;
378*4882a593Smuzhiyun		rockchip,key_table =
379*4882a593Smuzhiyun			<0xf2	KEY_REPLY>,
380*4882a593Smuzhiyun			<0xba	KEY_BACK>,
381*4882a593Smuzhiyun			<0xf4	KEY_UP>,
382*4882a593Smuzhiyun			<0xf1	KEY_DOWN>,
383*4882a593Smuzhiyun			<0xef	KEY_LEFT>,
384*4882a593Smuzhiyun			<0xee	KEY_RIGHT>,
385*4882a593Smuzhiyun			<0xbd	KEY_HOME>,
386*4882a593Smuzhiyun			<0xea	KEY_VOLUMEUP>,
387*4882a593Smuzhiyun			<0xe3	KEY_VOLUMEDOWN>,
388*4882a593Smuzhiyun			<0xe2	KEY_SEARCH>,
389*4882a593Smuzhiyun			<0xb2	KEY_POWER>,
390*4882a593Smuzhiyun			<0xbc	KEY_MUTE>,
391*4882a593Smuzhiyun			<0xec	KEY_MENU>,
392*4882a593Smuzhiyun			<0xbf	0x190>,
393*4882a593Smuzhiyun			<0xe0	0x191>,
394*4882a593Smuzhiyun			<0xe1	0x192>,
395*4882a593Smuzhiyun			<0xe9	183>,
396*4882a593Smuzhiyun			<0xe6	248>,
397*4882a593Smuzhiyun			<0xe8	185>,
398*4882a593Smuzhiyun			<0xe7	186>,
399*4882a593Smuzhiyun			<0xf0	388>,
400*4882a593Smuzhiyun			<0xbe	0x175>;
401*4882a593Smuzhiyun	};
402*4882a593Smuzhiyun
403*4882a593Smuzhiyun	ir_key2 {
404*4882a593Smuzhiyun		rockchip,usercode = <0xff00>;
405*4882a593Smuzhiyun		rockchip,key_table =
406*4882a593Smuzhiyun			<0xf9	KEY_HOME>,
407*4882a593Smuzhiyun			<0xbf	KEY_BACK>,
408*4882a593Smuzhiyun			<0xfb	KEY_MENU>,
409*4882a593Smuzhiyun			<0xaa	KEY_REPLY>,
410*4882a593Smuzhiyun			<0xb9	KEY_UP>,
411*4882a593Smuzhiyun			<0xe9	KEY_DOWN>,
412*4882a593Smuzhiyun			<0xb8	KEY_LEFT>,
413*4882a593Smuzhiyun			<0xea	KEY_RIGHT>,
414*4882a593Smuzhiyun			<0xeb	KEY_VOLUMEDOWN>,
415*4882a593Smuzhiyun			<0xef	KEY_VOLUMEUP>,
416*4882a593Smuzhiyun			<0xf7	KEY_MUTE>,
417*4882a593Smuzhiyun			<0xe7	KEY_POWER>,
418*4882a593Smuzhiyun			<0xfc	KEY_POWER>,
419*4882a593Smuzhiyun			<0xa9	KEY_VOLUMEDOWN>,
420*4882a593Smuzhiyun			<0xa8	KEY_PLAYPAUSE>,
421*4882a593Smuzhiyun			<0xe0	KEY_VOLUMEDOWN>,
422*4882a593Smuzhiyun			<0xa5	KEY_VOLUMEDOWN>,
423*4882a593Smuzhiyun			<0xab	183>,
424*4882a593Smuzhiyun			<0xb7	388>,
425*4882a593Smuzhiyun			<0xe8	388>,
426*4882a593Smuzhiyun			<0xf8	184>,
427*4882a593Smuzhiyun			<0xaf	185>,
428*4882a593Smuzhiyun			<0xed	KEY_VOLUMEDOWN>,
429*4882a593Smuzhiyun			<0xee	186>,
430*4882a593Smuzhiyun			<0xb3	KEY_VOLUMEDOWN>,
431*4882a593Smuzhiyun			<0xf1	KEY_VOLUMEDOWN>,
432*4882a593Smuzhiyun			<0xf2	KEY_VOLUMEDOWN>,
433*4882a593Smuzhiyun			<0xf3	KEY_SEARCH>,
434*4882a593Smuzhiyun			<0xb4	KEY_VOLUMEDOWN>,
435*4882a593Smuzhiyun			<0xa4	KEY_SETUP>,
436*4882a593Smuzhiyun			<0xbe	KEY_SEARCH>;
437*4882a593Smuzhiyun	};
438*4882a593Smuzhiyun
439*4882a593Smuzhiyun	ir_key3 {
440*4882a593Smuzhiyun		rockchip,usercode = <0x1dcc>;
441*4882a593Smuzhiyun		rockchip,key_table =
442*4882a593Smuzhiyun			<0xee	KEY_REPLY>,
443*4882a593Smuzhiyun			<0xf0	KEY_BACK>,
444*4882a593Smuzhiyun			<0xf8	KEY_UP>,
445*4882a593Smuzhiyun			<0xbb	KEY_DOWN>,
446*4882a593Smuzhiyun			<0xef	KEY_LEFT>,
447*4882a593Smuzhiyun			<0xed	KEY_RIGHT>,
448*4882a593Smuzhiyun			<0xfc	KEY_HOME>,
449*4882a593Smuzhiyun			<0xf1	KEY_VOLUMEUP>,
450*4882a593Smuzhiyun			<0xfd	KEY_VOLUMEDOWN>,
451*4882a593Smuzhiyun			<0xb7	KEY_SEARCH>,
452*4882a593Smuzhiyun			<0xff	KEY_POWER>,
453*4882a593Smuzhiyun			<0xf3	KEY_MUTE>,
454*4882a593Smuzhiyun			<0xbf	KEY_MENU>,
455*4882a593Smuzhiyun			<0xf9	0x191>,
456*4882a593Smuzhiyun			<0xf5	0x192>,
457*4882a593Smuzhiyun			<0xb3	388>,
458*4882a593Smuzhiyun			<0xbe	KEY_1>,
459*4882a593Smuzhiyun			<0xba	KEY_2>,
460*4882a593Smuzhiyun			<0xb2	KEY_3>,
461*4882a593Smuzhiyun			<0xbd	KEY_4>,
462*4882a593Smuzhiyun			<0xf9	KEY_5>,
463*4882a593Smuzhiyun			<0xb1	KEY_6>,
464*4882a593Smuzhiyun			<0xfc	KEY_7>,
465*4882a593Smuzhiyun			<0xf8	KEY_8>,
466*4882a593Smuzhiyun			<0xb0	KEY_9>,
467*4882a593Smuzhiyun			<0xb6	KEY_0>,
468*4882a593Smuzhiyun			<0xb5	KEY_BACKSPACE>;
469*4882a593Smuzhiyun	};
470*4882a593Smuzhiyun};
471*4882a593Smuzhiyun
472*4882a593Smuzhiyun&rockchip_suspend {
473*4882a593Smuzhiyun	status = "okay";
474*4882a593Smuzhiyun	rockchip,virtual-poweroff = <1>;
475*4882a593Smuzhiyun	rockchip,sleep-mode-config = <
476*4882a593Smuzhiyun		(0
477*4882a593Smuzhiyun		|RKPM_CTR_GTCLKS
478*4882a593Smuzhiyun		|RKPM_CTR_IDLESRAM_MD
479*4882a593Smuzhiyun		|RKPM_CTR_PMIC
480*4882a593Smuzhiyun		)
481*4882a593Smuzhiyun	>;
482*4882a593Smuzhiyun};
483*4882a593Smuzhiyun
484*4882a593Smuzhiyun&sdio {
485*4882a593Smuzhiyun	status = "okay";
486*4882a593Smuzhiyun	mmc-pwrseq = <&sdio_pwrseq>;
487*4882a593Smuzhiyun};
488*4882a593Smuzhiyun
489*4882a593Smuzhiyun&sdmmc {
490*4882a593Smuzhiyun	status = "okay";
491*4882a593Smuzhiyun	pinctrl-names = "default";
492*4882a593Smuzhiyun	pinctrl-0 = <&sdmmc_pwr &sdmmc_clk &sdmmc_cmd &sdmmc_bus4>;
493*4882a593Smuzhiyun};
494*4882a593Smuzhiyun
495*4882a593Smuzhiyun&spdif {
496*4882a593Smuzhiyun	status = "okay";
497*4882a593Smuzhiyun	#sound-dai-cells = <0>;
498*4882a593Smuzhiyun};
499*4882a593Smuzhiyun
500*4882a593Smuzhiyun&threshold {
501*4882a593Smuzhiyun	temperature = <90000>; /* millicelsius */
502*4882a593Smuzhiyun};
503*4882a593Smuzhiyun
504*4882a593Smuzhiyun&target {
505*4882a593Smuzhiyun	temperature = <105000>; /* millicelsius */
506*4882a593Smuzhiyun};
507*4882a593Smuzhiyun
508*4882a593Smuzhiyun&soc_crit {
509*4882a593Smuzhiyun	temperature = <115000>; /* millicelsius */
510*4882a593Smuzhiyun};
511*4882a593Smuzhiyun
512*4882a593Smuzhiyun&tsadc {
513*4882a593Smuzhiyun	rockchip,hw-tshut-temp = <120000>;
514*4882a593Smuzhiyun	status = "okay";
515*4882a593Smuzhiyun};
516*4882a593Smuzhiyun
517*4882a593Smuzhiyun&tve {
518*4882a593Smuzhiyun	status = "okay";
519*4882a593Smuzhiyun};
520*4882a593Smuzhiyun
521*4882a593Smuzhiyun&uart1 {
522*4882a593Smuzhiyun	pinctrl-names = "default";
523*4882a593Smuzhiyun	pinctrl-0 = <&uart11_xfer &uart11_cts>;
524*4882a593Smuzhiyun	status = "okay";
525*4882a593Smuzhiyun};
526*4882a593Smuzhiyun
527*4882a593Smuzhiyun&u2phy0_host {
528*4882a593Smuzhiyun	phy-supply = <&vcc_host>;
529*4882a593Smuzhiyun};
530*4882a593Smuzhiyun
531*4882a593Smuzhiyun&u2phy1_host {
532*4882a593Smuzhiyun	phy-supply = <&vcc_host>;
533*4882a593Smuzhiyun};
534*4882a593Smuzhiyun
535*4882a593Smuzhiyun&u2phy0_otg {
536*4882a593Smuzhiyun	vbus-supply = <&vcc_otg_vbus>;
537*4882a593Smuzhiyun};
538*4882a593Smuzhiyun
539*4882a593Smuzhiyun&usb_host0_ehci {
540*4882a593Smuzhiyun	status = "okay";
541*4882a593Smuzhiyun};
542*4882a593Smuzhiyun
543*4882a593Smuzhiyun&usb_host0_ohci {
544*4882a593Smuzhiyun	status = "okay";
545*4882a593Smuzhiyun};
546*4882a593Smuzhiyun
547*4882a593Smuzhiyun&usb_host1_ehci {
548*4882a593Smuzhiyun	status = "okay";
549*4882a593Smuzhiyun};
550*4882a593Smuzhiyun
551*4882a593Smuzhiyun&usb_host1_ohci {
552*4882a593Smuzhiyun	status = "okay";
553*4882a593Smuzhiyun};
554*4882a593Smuzhiyun
555*4882a593Smuzhiyun&usb_host2_ehci {
556*4882a593Smuzhiyun	status = "okay";
557*4882a593Smuzhiyun};
558*4882a593Smuzhiyun
559*4882a593Smuzhiyun&usb_host2_ohci {
560*4882a593Smuzhiyun	status = "okay";
561*4882a593Smuzhiyun};
562*4882a593Smuzhiyun
563*4882a593Smuzhiyun&vdpu {
564*4882a593Smuzhiyun	status = "okay";
565*4882a593Smuzhiyun};
566*4882a593Smuzhiyun
567*4882a593Smuzhiyun&vepu {
568*4882a593Smuzhiyun	status = "okay";
569*4882a593Smuzhiyun};
570*4882a593Smuzhiyun
571*4882a593Smuzhiyun&vpu_mmu {
572*4882a593Smuzhiyun	status = "okay";
573*4882a593Smuzhiyun};
574*4882a593Smuzhiyun
575*4882a593Smuzhiyun&rkvdec {
576*4882a593Smuzhiyun	vcodec-supply = <&vdd_log>;
577*4882a593Smuzhiyun	status = "okay";
578*4882a593Smuzhiyun};
579*4882a593Smuzhiyun
580*4882a593Smuzhiyun&rkvdec_mmu {
581*4882a593Smuzhiyun	status = "okay";
582*4882a593Smuzhiyun};
583*4882a593Smuzhiyun
584*4882a593Smuzhiyun&rk_rga {
585*4882a593Smuzhiyun	status = "okay";
586*4882a593Smuzhiyun};
587