14afbce84SLiang Chen// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
24afbce84SLiang Chen/*
34afbce84SLiang Chen * Copyright (c) 2018 Fuzhou Rockchip Electronics Co., Ltd
44afbce84SLiang Chen */
54afbce84SLiang Chen
64afbce84SLiang Chen/dts-v1/;
74afbce84SLiang Chen#include <dt-bindings/gpio/gpio.h>
84afbce84SLiang Chen#include <dt-bindings/input/input.h>
94afbce84SLiang Chen#include <dt-bindings/pinctrl/rockchip.h>
104afbce84SLiang Chen#include "px30.dtsi"
114afbce84SLiang Chen
124afbce84SLiang Chen/ {
134afbce84SLiang Chen	model = "Rockchip PX30 EVB";
144afbce84SLiang Chen	compatible = "rockchip,px30-evb", "rockchip,px30";
154afbce84SLiang Chen
16*78b8513bSHeiko Stuebner	aliases {
17*78b8513bSHeiko Stuebner		mmc0 = &sdmmc;
18*78b8513bSHeiko Stuebner		mmc1 = &sdio;
19*78b8513bSHeiko Stuebner		mmc2 = &emmc;
20*78b8513bSHeiko Stuebner	};
21*78b8513bSHeiko Stuebner
224afbce84SLiang Chen	chosen {
239003aacbSHeiko Stuebner		stdout-path = "serial5:115200n8";
244afbce84SLiang Chen	};
254afbce84SLiang Chen
264afbce84SLiang Chen	adc-keys {
274afbce84SLiang Chen		compatible = "adc-keys";
284afbce84SLiang Chen		io-channels = <&saradc 2>;
294afbce84SLiang Chen		io-channel-names = "buttons";
304afbce84SLiang Chen		keyup-threshold-microvolt = <1800000>;
314afbce84SLiang Chen		poll-interval = <100>;
324afbce84SLiang Chen
334afbce84SLiang Chen		esc-key {
344afbce84SLiang Chen			label = "esc";
354afbce84SLiang Chen			linux,code = <KEY_ESC>;
364afbce84SLiang Chen			press-threshold-microvolt = <1310000>;
374afbce84SLiang Chen		};
384afbce84SLiang Chen
394afbce84SLiang Chen		home-key {
404afbce84SLiang Chen			label = "home";
414afbce84SLiang Chen			linux,code = <KEY_HOME>;
424afbce84SLiang Chen			press-threshold-microvolt = <624000>;
434afbce84SLiang Chen		};
444afbce84SLiang Chen
454afbce84SLiang Chen		menu-key {
464afbce84SLiang Chen			label = "menu";
474afbce84SLiang Chen			linux,code = <KEY_MENU>;
484afbce84SLiang Chen			press-threshold-microvolt = <987000>;
494afbce84SLiang Chen		};
504afbce84SLiang Chen
514afbce84SLiang Chen		vol-down-key {
524afbce84SLiang Chen			label = "volume down";
534afbce84SLiang Chen			linux,code = <KEY_VOLUMEDOWN>;
544afbce84SLiang Chen			press-threshold-microvolt = <300000>;
554afbce84SLiang Chen		};
564afbce84SLiang Chen
574afbce84SLiang Chen		vol-up-key {
584afbce84SLiang Chen			label = "volume up";
594afbce84SLiang Chen			linux,code = <KEY_VOLUMEUP>;
604afbce84SLiang Chen			press-threshold-microvolt = <17000>;
614afbce84SLiang Chen		};
624afbce84SLiang Chen	};
634afbce84SLiang Chen
644afbce84SLiang Chen	backlight: backlight {
654afbce84SLiang Chen		compatible = "pwm-backlight";
664afbce84SLiang Chen		pwms = <&pwm1 0 25000 0>;
67915b6a8bSHeiko Stuebner		power-supply = <&vcc3v3_lcd>;
684afbce84SLiang Chen	};
694afbce84SLiang Chen
7079fd8ba2SHeiko Stuebner	emmc_pwrseq: emmc-pwrseq {
7179fd8ba2SHeiko Stuebner		compatible = "mmc-pwrseq-emmc";
7279fd8ba2SHeiko Stuebner		pinctrl-0 = <&emmc_reset>;
7379fd8ba2SHeiko Stuebner		pinctrl-names = "default";
7479fd8ba2SHeiko Stuebner		reset-gpios = <&gpio1 RK_PB3 GPIO_ACTIVE_HIGH>;
7579fd8ba2SHeiko Stuebner	};
7679fd8ba2SHeiko Stuebner
774afbce84SLiang Chen	sdio_pwrseq: sdio-pwrseq {
784afbce84SLiang Chen		compatible = "mmc-pwrseq-simple";
794afbce84SLiang Chen		pinctrl-names = "default";
804afbce84SLiang Chen		pinctrl-0 = <&wifi_enable_h>;
814afbce84SLiang Chen
824afbce84SLiang Chen		/*
834afbce84SLiang Chen		 * On the module itself this is one of these (depending
844afbce84SLiang Chen		 * on the actual card populated):
854afbce84SLiang Chen		 * - SDIO_RESET_L_WL_REG_ON
864afbce84SLiang Chen		 * - PDN (power down when low)
874afbce84SLiang Chen		 */
884afbce84SLiang Chen		reset-gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_LOW>; /* GPIO3_A4 */
894afbce84SLiang Chen	};
904afbce84SLiang Chen
914afbce84SLiang Chen	vcc5v0_sys: vccsys {
924afbce84SLiang Chen		compatible = "regulator-fixed";
934afbce84SLiang Chen		regulator-name = "vcc5v0_sys";
944afbce84SLiang Chen		regulator-always-on;
954afbce84SLiang Chen		regulator-boot-on;
964afbce84SLiang Chen		regulator-min-microvolt = <5000000>;
974afbce84SLiang Chen		regulator-max-microvolt = <5000000>;
984afbce84SLiang Chen	};
994afbce84SLiang Chen};
1004afbce84SLiang Chen
101915b6a8bSHeiko Stuebner&cpu0 {
102915b6a8bSHeiko Stuebner	cpu-supply = <&vdd_arm>;
103915b6a8bSHeiko Stuebner};
104915b6a8bSHeiko Stuebner
105915b6a8bSHeiko Stuebner&cpu1 {
106915b6a8bSHeiko Stuebner	cpu-supply = <&vdd_arm>;
107915b6a8bSHeiko Stuebner};
108915b6a8bSHeiko Stuebner
109915b6a8bSHeiko Stuebner&cpu2 {
110915b6a8bSHeiko Stuebner	cpu-supply = <&vdd_arm>;
111915b6a8bSHeiko Stuebner};
112915b6a8bSHeiko Stuebner
113915b6a8bSHeiko Stuebner&cpu3 {
114915b6a8bSHeiko Stuebner	cpu-supply = <&vdd_arm>;
115915b6a8bSHeiko Stuebner};
116915b6a8bSHeiko Stuebner
1174afbce84SLiang Chen&display_subsystem {
1184afbce84SLiang Chen	status = "okay";
1194afbce84SLiang Chen};
1204afbce84SLiang Chen
121110f0271SHeiko Stuebner&dsi {
122110f0271SHeiko Stuebner	status = "okay";
123110f0271SHeiko Stuebner
124110f0271SHeiko Stuebner	ports {
125110f0271SHeiko Stuebner		mipi_out: port@1 {
126110f0271SHeiko Stuebner			reg = <1>;
127110f0271SHeiko Stuebner
128110f0271SHeiko Stuebner			mipi_out_panel: endpoint {
129110f0271SHeiko Stuebner				remote-endpoint = <&mipi_in_panel>;
130110f0271SHeiko Stuebner			};
131110f0271SHeiko Stuebner		};
132110f0271SHeiko Stuebner	};
133110f0271SHeiko Stuebner
134110f0271SHeiko Stuebner	panel@0 {
135110f0271SHeiko Stuebner		compatible = "xinpeng,xpp055c272";
136110f0271SHeiko Stuebner		reg = <0>;
137110f0271SHeiko Stuebner		backlight = <&backlight>;
138110f0271SHeiko Stuebner		iovcc-supply = <&vcc_1v8>;
139110f0271SHeiko Stuebner		vci-supply = <&vcc3v3_lcd>;
140110f0271SHeiko Stuebner
141110f0271SHeiko Stuebner		port {
142110f0271SHeiko Stuebner			mipi_in_panel: endpoint {
143110f0271SHeiko Stuebner				remote-endpoint = <&mipi_out_panel>;
144110f0271SHeiko Stuebner			};
145110f0271SHeiko Stuebner		};
146110f0271SHeiko Stuebner	};
147110f0271SHeiko Stuebner};
148110f0271SHeiko Stuebner
149110f0271SHeiko Stuebner&dsi_dphy {
150110f0271SHeiko Stuebner	status = "okay";
151110f0271SHeiko Stuebner};
152110f0271SHeiko Stuebner
1534afbce84SLiang Chen&emmc {
1544afbce84SLiang Chen	cap-mmc-highspeed;
1554afbce84SLiang Chen	mmc-hs200-1_8v;
1564afbce84SLiang Chen	non-removable;
15779fd8ba2SHeiko Stuebner	mmc-pwrseq = <&emmc_pwrseq>;
158915b6a8bSHeiko Stuebner	vmmc-supply = <&vcc_3v0>;
159915b6a8bSHeiko Stuebner	vqmmc-supply = <&vccio_flash>;
1604afbce84SLiang Chen	status = "okay";
1614afbce84SLiang Chen};
1624afbce84SLiang Chen
1634afbce84SLiang Chen&gmac {
1644afbce84SLiang Chen	clock_in_out = "output";
165915b6a8bSHeiko Stuebner	phy-supply = <&vcc_rmii>;
1664afbce84SLiang Chen	snps,reset-gpio = <&gpio2 13 GPIO_ACTIVE_LOW>;
1674afbce84SLiang Chen	snps,reset-active-low;
1684afbce84SLiang Chen	snps,reset-delays-us = <0 50000 50000>;
1694afbce84SLiang Chen	status = "okay";
1704afbce84SLiang Chen};
1714afbce84SLiang Chen
1720c556deaSHeiko Stuebner&gpu {
1730c556deaSHeiko Stuebner	mali-supply = <&vdd_log>;
1740c556deaSHeiko Stuebner	status = "okay";
1750c556deaSHeiko Stuebner};
1760c556deaSHeiko Stuebner
1774afbce84SLiang Chen&i2c0 {
1784afbce84SLiang Chen	status = "okay";
179915b6a8bSHeiko Stuebner
180915b6a8bSHeiko Stuebner	rk809: pmic@20 {
181915b6a8bSHeiko Stuebner		compatible = "rockchip,rk809";
182915b6a8bSHeiko Stuebner		reg = <0x20>;
183915b6a8bSHeiko Stuebner		interrupt-parent = <&gpio0>;
184915b6a8bSHeiko Stuebner		interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
185915b6a8bSHeiko Stuebner		pinctrl-names = "default";
186915b6a8bSHeiko Stuebner		pinctrl-0 = <&pmic_int>;
187915b6a8bSHeiko Stuebner		rockchip,system-power-controller;
188915b6a8bSHeiko Stuebner		wakeup-source;
189915b6a8bSHeiko Stuebner		#clock-cells = <0>;
190915b6a8bSHeiko Stuebner		clock-output-names = "xin32k";
191915b6a8bSHeiko Stuebner
192915b6a8bSHeiko Stuebner		vcc1-supply = <&vcc5v0_sys>;
193915b6a8bSHeiko Stuebner		vcc2-supply = <&vcc5v0_sys>;
194915b6a8bSHeiko Stuebner		vcc3-supply = <&vcc5v0_sys>;
195915b6a8bSHeiko Stuebner		vcc4-supply = <&vcc5v0_sys>;
196915b6a8bSHeiko Stuebner		vcc5-supply = <&vcc3v3_sys>;
197915b6a8bSHeiko Stuebner		vcc6-supply = <&vcc3v3_sys>;
198915b6a8bSHeiko Stuebner		vcc7-supply = <&vcc3v3_sys>;
199915b6a8bSHeiko Stuebner		vcc8-supply = <&vcc3v3_sys>;
200915b6a8bSHeiko Stuebner		vcc9-supply = <&vcc5v0_sys>;
201915b6a8bSHeiko Stuebner
202915b6a8bSHeiko Stuebner		regulators {
203915b6a8bSHeiko Stuebner			vdd_log: DCDC_REG1 {
204915b6a8bSHeiko Stuebner				regulator-name = "vdd_log";
205915b6a8bSHeiko Stuebner				regulator-min-microvolt = <950000>;
206915b6a8bSHeiko Stuebner				regulator-max-microvolt = <1350000>;
207915b6a8bSHeiko Stuebner				regulator-ramp-delay = <6001>;
208915b6a8bSHeiko Stuebner				regulator-always-on;
209915b6a8bSHeiko Stuebner				regulator-boot-on;
210915b6a8bSHeiko Stuebner
211915b6a8bSHeiko Stuebner				regulator-state-mem {
212915b6a8bSHeiko Stuebner					regulator-on-in-suspend;
213915b6a8bSHeiko Stuebner					regulator-suspend-microvolt = <950000>;
214915b6a8bSHeiko Stuebner				};
215915b6a8bSHeiko Stuebner			};
216915b6a8bSHeiko Stuebner
217915b6a8bSHeiko Stuebner			vdd_arm: DCDC_REG2 {
218915b6a8bSHeiko Stuebner				regulator-name = "vdd_arm";
219915b6a8bSHeiko Stuebner				regulator-min-microvolt = <950000>;
220915b6a8bSHeiko Stuebner				regulator-max-microvolt = <1350000>;
221915b6a8bSHeiko Stuebner				regulator-ramp-delay = <6001>;
222915b6a8bSHeiko Stuebner				regulator-always-on;
223915b6a8bSHeiko Stuebner				regulator-boot-on;
224915b6a8bSHeiko Stuebner
225915b6a8bSHeiko Stuebner				regulator-state-mem {
226915b6a8bSHeiko Stuebner					regulator-off-in-suspend;
227915b6a8bSHeiko Stuebner					regulator-suspend-microvolt = <950000>;
228915b6a8bSHeiko Stuebner				};
229915b6a8bSHeiko Stuebner			};
230915b6a8bSHeiko Stuebner
231915b6a8bSHeiko Stuebner			vcc_ddr: DCDC_REG3 {
232915b6a8bSHeiko Stuebner				regulator-name = "vcc_ddr";
233915b6a8bSHeiko Stuebner				regulator-always-on;
234915b6a8bSHeiko Stuebner				regulator-boot-on;
235915b6a8bSHeiko Stuebner
236915b6a8bSHeiko Stuebner				regulator-state-mem {
237915b6a8bSHeiko Stuebner					regulator-on-in-suspend;
238915b6a8bSHeiko Stuebner				};
239915b6a8bSHeiko Stuebner			};
240915b6a8bSHeiko Stuebner
241915b6a8bSHeiko Stuebner			vcc_3v0: vcc_rmii: DCDC_REG4 {
242915b6a8bSHeiko Stuebner				regulator-name = "vcc_3v0";
243915b6a8bSHeiko Stuebner				regulator-min-microvolt = <3000000>;
244915b6a8bSHeiko Stuebner				regulator-max-microvolt = <3000000>;
245915b6a8bSHeiko Stuebner				regulator-always-on;
246915b6a8bSHeiko Stuebner				regulator-boot-on;
247915b6a8bSHeiko Stuebner
248915b6a8bSHeiko Stuebner				regulator-state-mem {
249915b6a8bSHeiko Stuebner					regulator-on-in-suspend;
250915b6a8bSHeiko Stuebner					regulator-suspend-microvolt = <3000000>;
251915b6a8bSHeiko Stuebner				};
252915b6a8bSHeiko Stuebner			};
253915b6a8bSHeiko Stuebner
254915b6a8bSHeiko Stuebner			vcc3v3_sys: DCDC_REG5 {
255915b6a8bSHeiko Stuebner				regulator-name = "vcc3v3_sys";
256915b6a8bSHeiko Stuebner				regulator-min-microvolt = <3300000>;
257915b6a8bSHeiko Stuebner				regulator-max-microvolt = <3300000>;
258915b6a8bSHeiko Stuebner				regulator-always-on;
259915b6a8bSHeiko Stuebner				regulator-boot-on;
260915b6a8bSHeiko Stuebner
261915b6a8bSHeiko Stuebner				regulator-state-mem {
262915b6a8bSHeiko Stuebner					regulator-on-in-suspend;
263915b6a8bSHeiko Stuebner					regulator-suspend-microvolt = <3300000>;
264915b6a8bSHeiko Stuebner				};
265915b6a8bSHeiko Stuebner			};
266915b6a8bSHeiko Stuebner
267915b6a8bSHeiko Stuebner			vcc_1v0: LDO_REG1 {
268915b6a8bSHeiko Stuebner				regulator-name = "vcc_1v0";
269915b6a8bSHeiko Stuebner				regulator-min-microvolt = <1000000>;
270915b6a8bSHeiko Stuebner				regulator-max-microvolt = <1000000>;
271915b6a8bSHeiko Stuebner				regulator-always-on;
272915b6a8bSHeiko Stuebner				regulator-boot-on;
273915b6a8bSHeiko Stuebner
274915b6a8bSHeiko Stuebner				regulator-state-mem {
275915b6a8bSHeiko Stuebner					regulator-on-in-suspend;
276915b6a8bSHeiko Stuebner					regulator-suspend-microvolt = <1000000>;
277915b6a8bSHeiko Stuebner				};
278915b6a8bSHeiko Stuebner			};
279915b6a8bSHeiko Stuebner
280915b6a8bSHeiko Stuebner			vcc_1v8: vccio_flash: vccio_sdio: LDO_REG2 {
281915b6a8bSHeiko Stuebner				regulator-name = "vcc_1v8";
282915b6a8bSHeiko Stuebner				regulator-min-microvolt = <1800000>;
283915b6a8bSHeiko Stuebner				regulator-max-microvolt = <1800000>;
284915b6a8bSHeiko Stuebner				regulator-always-on;
285915b6a8bSHeiko Stuebner				regulator-boot-on;
286915b6a8bSHeiko Stuebner
287915b6a8bSHeiko Stuebner				regulator-state-mem {
288915b6a8bSHeiko Stuebner					regulator-on-in-suspend;
289915b6a8bSHeiko Stuebner					regulator-suspend-microvolt = <1800000>;
290915b6a8bSHeiko Stuebner				};
291915b6a8bSHeiko Stuebner			};
292915b6a8bSHeiko Stuebner
293915b6a8bSHeiko Stuebner			vdd_1v0: LDO_REG3 {
294915b6a8bSHeiko Stuebner				regulator-name = "vdd_1v0";
295915b6a8bSHeiko Stuebner				regulator-min-microvolt = <1000000>;
296915b6a8bSHeiko Stuebner				regulator-max-microvolt = <1000000>;
297915b6a8bSHeiko Stuebner				regulator-always-on;
298915b6a8bSHeiko Stuebner				regulator-boot-on;
299915b6a8bSHeiko Stuebner
300915b6a8bSHeiko Stuebner				regulator-state-mem {
301915b6a8bSHeiko Stuebner					regulator-on-in-suspend;
302915b6a8bSHeiko Stuebner					regulator-suspend-microvolt = <1000000>;
303915b6a8bSHeiko Stuebner				};
304915b6a8bSHeiko Stuebner			};
305915b6a8bSHeiko Stuebner
306915b6a8bSHeiko Stuebner			vcc3v0_pmu: LDO_REG4 {
307915b6a8bSHeiko Stuebner				regulator-name = "vcc3v0_pmu";
308915b6a8bSHeiko Stuebner				regulator-min-microvolt = <3000000>;
309915b6a8bSHeiko Stuebner				regulator-max-microvolt = <3000000>;
310915b6a8bSHeiko Stuebner				regulator-always-on;
311915b6a8bSHeiko Stuebner				regulator-boot-on;
312915b6a8bSHeiko Stuebner
313915b6a8bSHeiko Stuebner				regulator-state-mem {
314915b6a8bSHeiko Stuebner					regulator-on-in-suspend;
315915b6a8bSHeiko Stuebner					regulator-suspend-microvolt = <3000000>;
316915b6a8bSHeiko Stuebner				};
317915b6a8bSHeiko Stuebner			};
318915b6a8bSHeiko Stuebner
319915b6a8bSHeiko Stuebner			vccio_sd: LDO_REG5 {
320915b6a8bSHeiko Stuebner				regulator-name = "vccio_sd";
321915b6a8bSHeiko Stuebner				regulator-min-microvolt = <1800000>;
322915b6a8bSHeiko Stuebner				regulator-max-microvolt = <3300000>;
323915b6a8bSHeiko Stuebner				regulator-always-on;
324915b6a8bSHeiko Stuebner				regulator-boot-on;
325915b6a8bSHeiko Stuebner
326915b6a8bSHeiko Stuebner				regulator-state-mem {
327915b6a8bSHeiko Stuebner					regulator-on-in-suspend;
328915b6a8bSHeiko Stuebner					regulator-suspend-microvolt = <3300000>;
329915b6a8bSHeiko Stuebner				};
330915b6a8bSHeiko Stuebner			};
331915b6a8bSHeiko Stuebner
332915b6a8bSHeiko Stuebner			vcc_sd: LDO_REG6 {
333915b6a8bSHeiko Stuebner				regulator-name = "vcc_sd";
334915b6a8bSHeiko Stuebner				regulator-min-microvolt = <3300000>;
335915b6a8bSHeiko Stuebner				regulator-max-microvolt = <3300000>;
336915b6a8bSHeiko Stuebner				regulator-boot-on;
337915b6a8bSHeiko Stuebner
338915b6a8bSHeiko Stuebner				regulator-state-mem {
339915b6a8bSHeiko Stuebner					regulator-on-in-suspend;
340915b6a8bSHeiko Stuebner					regulator-suspend-microvolt = <3300000>;
341915b6a8bSHeiko Stuebner				};
342915b6a8bSHeiko Stuebner			};
343915b6a8bSHeiko Stuebner
344915b6a8bSHeiko Stuebner			vcc2v8_dvp: LDO_REG7 {
345915b6a8bSHeiko Stuebner				regulator-name = "vcc2v8_dvp";
346915b6a8bSHeiko Stuebner				regulator-min-microvolt = <2800000>;
347915b6a8bSHeiko Stuebner				regulator-max-microvolt = <2800000>;
348915b6a8bSHeiko Stuebner				regulator-boot-on;
349915b6a8bSHeiko Stuebner
350915b6a8bSHeiko Stuebner				regulator-state-mem {
351915b6a8bSHeiko Stuebner					regulator-off-in-suspend;
352915b6a8bSHeiko Stuebner					regulator-suspend-microvolt = <2800000>;
353915b6a8bSHeiko Stuebner				};
354915b6a8bSHeiko Stuebner			};
355915b6a8bSHeiko Stuebner
356915b6a8bSHeiko Stuebner			vcc1v8_dvp: LDO_REG8 {
357915b6a8bSHeiko Stuebner				regulator-name = "vcc1v8_dvp";
358915b6a8bSHeiko Stuebner				regulator-min-microvolt = <1800000>;
359915b6a8bSHeiko Stuebner				regulator-max-microvolt = <1800000>;
360915b6a8bSHeiko Stuebner				regulator-boot-on;
361915b6a8bSHeiko Stuebner
362915b6a8bSHeiko Stuebner				regulator-state-mem {
363915b6a8bSHeiko Stuebner					regulator-on-in-suspend;
364915b6a8bSHeiko Stuebner					regulator-suspend-microvolt = <1800000>;
365915b6a8bSHeiko Stuebner				};
366915b6a8bSHeiko Stuebner			};
367915b6a8bSHeiko Stuebner
368915b6a8bSHeiko Stuebner			vcc1v5_dvp: LDO_REG9 {
369915b6a8bSHeiko Stuebner				regulator-name = "vcc1v5_dvp";
370915b6a8bSHeiko Stuebner				regulator-min-microvolt = <1500000>;
371915b6a8bSHeiko Stuebner				regulator-max-microvolt = <1500000>;
372915b6a8bSHeiko Stuebner				regulator-boot-on;
373915b6a8bSHeiko Stuebner
374915b6a8bSHeiko Stuebner				regulator-state-mem {
375915b6a8bSHeiko Stuebner					regulator-off-in-suspend;
376915b6a8bSHeiko Stuebner					regulator-suspend-microvolt = <1500000>;
377915b6a8bSHeiko Stuebner				};
378915b6a8bSHeiko Stuebner			};
379915b6a8bSHeiko Stuebner
380915b6a8bSHeiko Stuebner			vcc3v3_lcd: SWITCH_REG1 {
381915b6a8bSHeiko Stuebner				regulator-name = "vcc3v3_lcd";
382915b6a8bSHeiko Stuebner				regulator-boot-on;
383915b6a8bSHeiko Stuebner			};
384915b6a8bSHeiko Stuebner
385915b6a8bSHeiko Stuebner			vcc5v0_host: SWITCH_REG2 {
386915b6a8bSHeiko Stuebner				regulator-name = "vcc5v0_host";
387915b6a8bSHeiko Stuebner				regulator-always-on;
388915b6a8bSHeiko Stuebner				regulator-boot-on;
389915b6a8bSHeiko Stuebner			};
390915b6a8bSHeiko Stuebner		};
391915b6a8bSHeiko Stuebner	};
3924afbce84SLiang Chen};
3934afbce84SLiang Chen
39452462ac6SHeiko Stuebner&i2c1 {
39552462ac6SHeiko Stuebner	status = "okay";
39652462ac6SHeiko Stuebner
39752462ac6SHeiko Stuebner	sensor@d {
39852462ac6SHeiko Stuebner		compatible = "asahi-kasei,ak8963";
39952462ac6SHeiko Stuebner		reg = <0x0d>;
40052462ac6SHeiko Stuebner		gpios = <&gpio0 RK_PB7 GPIO_ACTIVE_HIGH>;
40152462ac6SHeiko Stuebner		vdd-supply = <&vcc3v0_pmu>;
40252462ac6SHeiko Stuebner		mount-matrix = "1", /* x0 */
40352462ac6SHeiko Stuebner			       "0", /* y0 */
40452462ac6SHeiko Stuebner			       "0", /* z0 */
40552462ac6SHeiko Stuebner			       "0", /* x1 */
40652462ac6SHeiko Stuebner			       "1", /* y1 */
40752462ac6SHeiko Stuebner			       "0", /* z1 */
40852462ac6SHeiko Stuebner			       "0", /* x2 */
40952462ac6SHeiko Stuebner			       "0", /* y2 */
41052462ac6SHeiko Stuebner			       "1"; /* z2 */
41152462ac6SHeiko Stuebner	};
41252462ac6SHeiko Stuebner
41352462ac6SHeiko Stuebner	touchscreen@14 {
41452462ac6SHeiko Stuebner		compatible = "goodix,gt1151";
41552462ac6SHeiko Stuebner		reg = <0x14>;
41652462ac6SHeiko Stuebner		interrupt-parent = <&gpio0>;
41752462ac6SHeiko Stuebner		interrupts = <RK_PA5 IRQ_TYPE_LEVEL_LOW>;
41852462ac6SHeiko Stuebner		irq-gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>;
41952462ac6SHeiko Stuebner		reset-gpios = <&gpio0 RK_PB4 GPIO_ACTIVE_HIGH>;
42052462ac6SHeiko Stuebner		VDDIO-supply = <&vcc3v3_lcd>;
42152462ac6SHeiko Stuebner	};
42252462ac6SHeiko Stuebner
42352462ac6SHeiko Stuebner	sensor@4c {
42452462ac6SHeiko Stuebner		compatible = "fsl,mma7660";
42552462ac6SHeiko Stuebner		reg = <0x4c>;
42652462ac6SHeiko Stuebner		interrupt-parent = <&gpio0>;
42752462ac6SHeiko Stuebner		interrupts = <RK_PB7 IRQ_TYPE_LEVEL_LOW>;
42852462ac6SHeiko Stuebner	};
42952462ac6SHeiko Stuebner};
43052462ac6SHeiko Stuebner
4314afbce84SLiang Chen&i2s1_2ch {
4324afbce84SLiang Chen	status = "okay";
4334afbce84SLiang Chen};
4344afbce84SLiang Chen
4354afbce84SLiang Chen&io_domains {
4364afbce84SLiang Chen	status = "okay";
437915b6a8bSHeiko Stuebner
438915b6a8bSHeiko Stuebner	vccio1-supply = <&vccio_sdio>;
439915b6a8bSHeiko Stuebner	vccio2-supply = <&vccio_sd>;
440915b6a8bSHeiko Stuebner	vccio3-supply = <&vcc_3v0>;
441915b6a8bSHeiko Stuebner	vccio4-supply = <&vcc3v0_pmu>;
442915b6a8bSHeiko Stuebner	vccio5-supply = <&vcc_3v0>;
443915b6a8bSHeiko Stuebner	vccio6-supply = <&vccio_flash>;
4444afbce84SLiang Chen};
4454afbce84SLiang Chen
4464afbce84SLiang Chen&pinctrl {
4474afbce84SLiang Chen	headphone {
4484afbce84SLiang Chen		hp_det: hp-det {
4494afbce84SLiang Chen			rockchip,pins =
4504afbce84SLiang Chen				<2 RK_PB0 RK_FUNC_GPIO &pcfg_pull_down>;
4514afbce84SLiang Chen		};
4524afbce84SLiang Chen	};
4534afbce84SLiang Chen
45479fd8ba2SHeiko Stuebner	emmc {
45579fd8ba2SHeiko Stuebner		emmc_reset: emmc-reset {
45679fd8ba2SHeiko Stuebner			rockchip,pins = <1 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
45779fd8ba2SHeiko Stuebner		};
45879fd8ba2SHeiko Stuebner	};
45979fd8ba2SHeiko Stuebner
4604afbce84SLiang Chen	pmic {
4614afbce84SLiang Chen		pmic_int: pmic_int {
4624afbce84SLiang Chen			rockchip,pins =
4634afbce84SLiang Chen				<0 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>;
4644afbce84SLiang Chen		};
4654afbce84SLiang Chen
4664afbce84SLiang Chen		soc_slppin_gpio: soc_slppin_gpio {
4674afbce84SLiang Chen			rockchip,pins =
4684afbce84SLiang Chen				<0 RK_PA4 RK_FUNC_GPIO &pcfg_output_low>;
4694afbce84SLiang Chen		};
4704afbce84SLiang Chen
4714afbce84SLiang Chen		soc_slppin_slp: soc_slppin_slp {
4724afbce84SLiang Chen			rockchip,pins =
473d64420e8SHeiko Stuebner				<0 RK_PA4 1 &pcfg_pull_none>;
4744afbce84SLiang Chen		};
4754afbce84SLiang Chen
4764afbce84SLiang Chen		soc_slppin_rst: soc_slppin_rst {
4774afbce84SLiang Chen			rockchip,pins =
478d64420e8SHeiko Stuebner				<0 RK_PA4 2 &pcfg_pull_none>;
4794afbce84SLiang Chen		};
4804afbce84SLiang Chen	};
4814afbce84SLiang Chen
4824afbce84SLiang Chen	sdio-pwrseq {
4834afbce84SLiang Chen		wifi_enable_h: wifi-enable-h {
4844afbce84SLiang Chen			rockchip,pins =
4854afbce84SLiang Chen				<0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
4864afbce84SLiang Chen		};
4874afbce84SLiang Chen	};
4884afbce84SLiang Chen};
4894afbce84SLiang Chen
4904afbce84SLiang Chen&pmu_io_domains {
4914afbce84SLiang Chen	status = "okay";
492915b6a8bSHeiko Stuebner
493915b6a8bSHeiko Stuebner	pmuio1-supply = <&vcc3v0_pmu>;
494915b6a8bSHeiko Stuebner	pmuio2-supply = <&vcc3v0_pmu>;
4954afbce84SLiang Chen};
4964afbce84SLiang Chen
4974afbce84SLiang Chen&pwm1 {
4984afbce84SLiang Chen	status = "okay";
4994afbce84SLiang Chen};
5004afbce84SLiang Chen
5014afbce84SLiang Chen&saradc {
502915b6a8bSHeiko Stuebner	vref-supply = <&vcc_1v8>;
5034afbce84SLiang Chen	status = "okay";
5044afbce84SLiang Chen};
5054afbce84SLiang Chen
5064afbce84SLiang Chen&sdmmc {
5074afbce84SLiang Chen	cap-mmc-highspeed;
5084afbce84SLiang Chen	cap-sd-highspeed;
5094afbce84SLiang Chen	card-detect-delay = <800>;
5104afbce84SLiang Chen	sd-uhs-sdr12;
5114afbce84SLiang Chen	sd-uhs-sdr25;
5124afbce84SLiang Chen	sd-uhs-sdr50;
5134afbce84SLiang Chen	sd-uhs-sdr104;
514915b6a8bSHeiko Stuebner	vmmc-supply = <&vcc_sd>;
515915b6a8bSHeiko Stuebner	vqmmc-supply = <&vccio_sd>;
5164afbce84SLiang Chen	status = "okay";
5174afbce84SLiang Chen};
5184afbce84SLiang Chen
5194afbce84SLiang Chen&sdio {
5204afbce84SLiang Chen	cap-sd-highspeed;
5214afbce84SLiang Chen	keep-power-in-suspend;
5224afbce84SLiang Chen	non-removable;
5234afbce84SLiang Chen	mmc-pwrseq = <&sdio_pwrseq>;
5244afbce84SLiang Chen	sd-uhs-sdr104;
5254afbce84SLiang Chen	status = "okay";
5264afbce84SLiang Chen};
5274afbce84SLiang Chen
52867dd31f7SHeiko Stuebner&tsadc {
52967dd31f7SHeiko Stuebner	rockchip,hw-tshut-mode = <1>;
53067dd31f7SHeiko Stuebner	rockchip,hw-tshut-polarity = <1>;
53167dd31f7SHeiko Stuebner	status = "okay";
53267dd31f7SHeiko Stuebner};
53367dd31f7SHeiko Stuebner
5340815dc22SHeiko Stuebner&u2phy {
5350815dc22SHeiko Stuebner	status = "okay";
5360815dc22SHeiko Stuebner
5370815dc22SHeiko Stuebner	u2phy_host: host-port {
5380815dc22SHeiko Stuebner		status = "okay";
5390815dc22SHeiko Stuebner	};
5400815dc22SHeiko Stuebner
5410815dc22SHeiko Stuebner	u2phy_otg: otg-port {
5420815dc22SHeiko Stuebner		status = "okay";
5430815dc22SHeiko Stuebner	};
5440815dc22SHeiko Stuebner};
5450815dc22SHeiko Stuebner
5464afbce84SLiang Chen&uart1 {
5474afbce84SLiang Chen	pinctrl-names = "default";
5484afbce84SLiang Chen	pinctrl-0 = <&uart1_xfer &uart1_cts>;
5494afbce84SLiang Chen	status = "okay";
5504afbce84SLiang Chen};
5514afbce84SLiang Chen
5529003aacbSHeiko Stuebner&uart5 {
5534afbce84SLiang Chen	status = "okay";
5544afbce84SLiang Chen};
5554afbce84SLiang Chen
5562ed30cfcSHeiko Stuebner&usb20_otg {
5572ed30cfcSHeiko Stuebner	status = "okay";
5582ed30cfcSHeiko Stuebner};
5592ed30cfcSHeiko Stuebner
5604afbce84SLiang Chen&usb_host0_ehci {
5614afbce84SLiang Chen	status = "okay";
5624afbce84SLiang Chen};
5634afbce84SLiang Chen
5644afbce84SLiang Chen&usb_host0_ohci {
5654afbce84SLiang Chen	status = "okay";
5664afbce84SLiang Chen};
5674afbce84SLiang Chen
5684afbce84SLiang Chen&vopb {
5694afbce84SLiang Chen	status = "okay";
5704afbce84SLiang Chen};
5714afbce84SLiang Chen
5724afbce84SLiang Chen&vopb_mmu {
5734afbce84SLiang Chen	status = "okay";
5744afbce84SLiang Chen};
5754afbce84SLiang Chen
5764afbce84SLiang Chen&vopl {
5774afbce84SLiang Chen	status = "okay";
5784afbce84SLiang Chen};
5794afbce84SLiang Chen
5804afbce84SLiang Chen&vopl_mmu {
5814afbce84SLiang Chen	status = "okay";
5824afbce84SLiang Chen};
583