1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2*f126890aSEmmanuel Vadot/*
3*f126890aSEmmanuel Vadot * Copyright (c) 2014, 2015 Andy Yan <andy.yan@rock-chips.com>
4*f126890aSEmmanuel Vadot */
5*f126890aSEmmanuel Vadot
6*f126890aSEmmanuel Vadot/dts-v1/;
7*f126890aSEmmanuel Vadot#include <dt-bindings/input/input.h>
8*f126890aSEmmanuel Vadot#include "rk3288.dtsi"
9*f126890aSEmmanuel Vadot
10*f126890aSEmmanuel Vadot/ {
11*f126890aSEmmanuel Vadot	model = "PopMetal-RK3288";
12*f126890aSEmmanuel Vadot	compatible = "chipspark,popmetal-rk3288", "rockchip,rk3288";
13*f126890aSEmmanuel Vadot
14*f126890aSEmmanuel Vadot	memory@0 {
15*f126890aSEmmanuel Vadot		device_type = "memory";
16*f126890aSEmmanuel Vadot		reg = <0x0 0x0 0x0 0x80000000>;
17*f126890aSEmmanuel Vadot	};
18*f126890aSEmmanuel Vadot
19*f126890aSEmmanuel Vadot	ext_gmac: external-gmac-clock {
20*f126890aSEmmanuel Vadot		compatible = "fixed-clock";
21*f126890aSEmmanuel Vadot		clock-frequency = <125000000>;
22*f126890aSEmmanuel Vadot		clock-output-names = "ext_gmac";
23*f126890aSEmmanuel Vadot		#clock-cells = <0>;
24*f126890aSEmmanuel Vadot	};
25*f126890aSEmmanuel Vadot
26*f126890aSEmmanuel Vadot	gpio-keys {
27*f126890aSEmmanuel Vadot		compatible = "gpio-keys";
28*f126890aSEmmanuel Vadot		autorepeat;
29*f126890aSEmmanuel Vadot
30*f126890aSEmmanuel Vadot		pinctrl-names = "default";
31*f126890aSEmmanuel Vadot		pinctrl-0 = <&pwrbtn>;
32*f126890aSEmmanuel Vadot
33*f126890aSEmmanuel Vadot		key-power {
34*f126890aSEmmanuel Vadot			gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>;
35*f126890aSEmmanuel Vadot			linux,code = <KEY_POWER>;
36*f126890aSEmmanuel Vadot			label = "GPIO Key Power";
37*f126890aSEmmanuel Vadot			linux,input-type = <1>;
38*f126890aSEmmanuel Vadot			wakeup-source;
39*f126890aSEmmanuel Vadot			debounce-interval = <100>;
40*f126890aSEmmanuel Vadot		};
41*f126890aSEmmanuel Vadot	};
42*f126890aSEmmanuel Vadot
43*f126890aSEmmanuel Vadot	ir: ir-receiver {
44*f126890aSEmmanuel Vadot		compatible = "gpio-ir-receiver";
45*f126890aSEmmanuel Vadot		gpios = <&gpio0 RK_PA6 GPIO_ACTIVE_LOW>;
46*f126890aSEmmanuel Vadot		pinctrl-names = "default";
47*f126890aSEmmanuel Vadot		pinctrl-0 = <&ir_int>;
48*f126890aSEmmanuel Vadot	};
49*f126890aSEmmanuel Vadot
50*f126890aSEmmanuel Vadot	vcc_flash: flash-regulator {
51*f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
52*f126890aSEmmanuel Vadot		regulator-name = "vcc_flash";
53*f126890aSEmmanuel Vadot		regulator-min-microvolt = <1800000>;
54*f126890aSEmmanuel Vadot		regulator-max-microvolt = <1800000>;
55*f126890aSEmmanuel Vadot		vin-supply = <&vcc_io>;
56*f126890aSEmmanuel Vadot	};
57*f126890aSEmmanuel Vadot
58*f126890aSEmmanuel Vadot	vcc_sd: sdmmc-regulator {
59*f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
60*f126890aSEmmanuel Vadot		gpio = <&gpio7 RK_PB3 GPIO_ACTIVE_LOW>;
61*f126890aSEmmanuel Vadot		pinctrl-names = "default";
62*f126890aSEmmanuel Vadot		pinctrl-0 = <&sdmmc_pwr>;
63*f126890aSEmmanuel Vadot		regulator-name = "vcc_sd";
64*f126890aSEmmanuel Vadot		regulator-min-microvolt = <3300000>;
65*f126890aSEmmanuel Vadot		regulator-max-microvolt = <3300000>;
66*f126890aSEmmanuel Vadot		startup-delay-us = <100000>;
67*f126890aSEmmanuel Vadot		vin-supply = <&vcc_io>;
68*f126890aSEmmanuel Vadot	};
69*f126890aSEmmanuel Vadot
70*f126890aSEmmanuel Vadot	vcc_sys: vsys-regulator {
71*f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
72*f126890aSEmmanuel Vadot		regulator-name = "vcc_sys";
73*f126890aSEmmanuel Vadot		regulator-min-microvolt = <5000000>;
74*f126890aSEmmanuel Vadot		regulator-max-microvolt = <5000000>;
75*f126890aSEmmanuel Vadot		regulator-always-on;
76*f126890aSEmmanuel Vadot		regulator-boot-on;
77*f126890aSEmmanuel Vadot	};
78*f126890aSEmmanuel Vadot
79*f126890aSEmmanuel Vadot	/*
80*f126890aSEmmanuel Vadot	 * A PT5128 creates both dovdd_1v8 and vcc28_dvp, controlled
81*f126890aSEmmanuel Vadot	 * by the dvp_pwr pin.
82*f126890aSEmmanuel Vadot	 */
83*f126890aSEmmanuel Vadot	vcc18_dvp: vcc18-dvp-regulator {
84*f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
85*f126890aSEmmanuel Vadot		regulator-name = "vcc18-dvp";
86*f126890aSEmmanuel Vadot		regulator-min-microvolt = <1800000>;
87*f126890aSEmmanuel Vadot		regulator-max-microvolt = <1800000>;
88*f126890aSEmmanuel Vadot		vin-supply = <&vcc28_dvp>;
89*f126890aSEmmanuel Vadot	};
90*f126890aSEmmanuel Vadot
91*f126890aSEmmanuel Vadot	vcc28_dvp: vcc28-dvp-regulator {
92*f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
93*f126890aSEmmanuel Vadot		enable-active-high;
94*f126890aSEmmanuel Vadot		gpio = <&gpio0 RK_PC1 GPIO_ACTIVE_HIGH>;
95*f126890aSEmmanuel Vadot		pinctrl-names = "default";
96*f126890aSEmmanuel Vadot		pinctrl-0 = <&dvp_pwr>;
97*f126890aSEmmanuel Vadot		regulator-name = "vcc28_dvp";
98*f126890aSEmmanuel Vadot		regulator-min-microvolt = <2800000>;
99*f126890aSEmmanuel Vadot		regulator-max-microvolt = <2800000>;
100*f126890aSEmmanuel Vadot		regulator-always-on;
101*f126890aSEmmanuel Vadot		vin-supply = <&vcc_io>;
102*f126890aSEmmanuel Vadot	};
103*f126890aSEmmanuel Vadot};
104*f126890aSEmmanuel Vadot
105*f126890aSEmmanuel Vadot&cpu0 {
106*f126890aSEmmanuel Vadot	cpu-supply = <&vdd_cpu>;
107*f126890aSEmmanuel Vadot};
108*f126890aSEmmanuel Vadot
109*f126890aSEmmanuel Vadot&cpu1 {
110*f126890aSEmmanuel Vadot	cpu-supply = <&vdd_cpu>;
111*f126890aSEmmanuel Vadot};
112*f126890aSEmmanuel Vadot
113*f126890aSEmmanuel Vadot&cpu2 {
114*f126890aSEmmanuel Vadot	cpu-supply = <&vdd_cpu>;
115*f126890aSEmmanuel Vadot};
116*f126890aSEmmanuel Vadot
117*f126890aSEmmanuel Vadot&cpu3 {
118*f126890aSEmmanuel Vadot	cpu-supply = <&vdd_cpu>;
119*f126890aSEmmanuel Vadot};
120*f126890aSEmmanuel Vadot
121*f126890aSEmmanuel Vadot&emmc {
122*f126890aSEmmanuel Vadot	bus-width = <8>;
123*f126890aSEmmanuel Vadot	cap-mmc-highspeed;
124*f126890aSEmmanuel Vadot	mmc-ddr-1_8v;
125*f126890aSEmmanuel Vadot	mmc-hs200-1_8v;
126*f126890aSEmmanuel Vadot	non-removable;
127*f126890aSEmmanuel Vadot	pinctrl-names = "default";
128*f126890aSEmmanuel Vadot	pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_pwr &emmc_bus8>;
129*f126890aSEmmanuel Vadot	vmmc-supply = <&vcc_io>;
130*f126890aSEmmanuel Vadot	vqmmc-supply = <&vcc_flash>;
131*f126890aSEmmanuel Vadot	status = "okay";
132*f126890aSEmmanuel Vadot};
133*f126890aSEmmanuel Vadot
134*f126890aSEmmanuel Vadot&sdmmc {
135*f126890aSEmmanuel Vadot	bus-width = <4>;
136*f126890aSEmmanuel Vadot	cap-mmc-highspeed;
137*f126890aSEmmanuel Vadot	cap-sd-highspeed;
138*f126890aSEmmanuel Vadot	card-detect-delay = <200>;
139*f126890aSEmmanuel Vadot	disable-wp;                     /* wp not hooked up */
140*f126890aSEmmanuel Vadot	pinctrl-names = "default";
141*f126890aSEmmanuel Vadot	pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>;
142*f126890aSEmmanuel Vadot	sd-uhs-sdr12;
143*f126890aSEmmanuel Vadot	sd-uhs-sdr25;
144*f126890aSEmmanuel Vadot	sd-uhs-sdr50;
145*f126890aSEmmanuel Vadot	sd-uhs-sdr104;
146*f126890aSEmmanuel Vadot	vmmc-supply = <&vcc_sd>;
147*f126890aSEmmanuel Vadot	vqmmc-supply = <&vccio_sd>;
148*f126890aSEmmanuel Vadot	status = "okay";
149*f126890aSEmmanuel Vadot};
150*f126890aSEmmanuel Vadot
151*f126890aSEmmanuel Vadot&gmac {
152*f126890aSEmmanuel Vadot	phy-supply = <&vcc_lan>;
153*f126890aSEmmanuel Vadot	phy-mode = "rgmii";
154*f126890aSEmmanuel Vadot	clock_in_out = "input";
155*f126890aSEmmanuel Vadot	snps,reset-gpio = <&gpio4 RK_PB0 GPIO_ACTIVE_HIGH>;
156*f126890aSEmmanuel Vadot	snps,reset-active-low;
157*f126890aSEmmanuel Vadot	snps,reset-delays-us = <0 10000 1000000>;
158*f126890aSEmmanuel Vadot	assigned-clocks = <&cru SCLK_MAC>;
159*f126890aSEmmanuel Vadot	assigned-clock-parents = <&ext_gmac>;
160*f126890aSEmmanuel Vadot	pinctrl-names = "default";
161*f126890aSEmmanuel Vadot	pinctrl-0 = <&rgmii_pins>;
162*f126890aSEmmanuel Vadot	tx_delay = <0x30>;
163*f126890aSEmmanuel Vadot	rx_delay = <0x10>;
164*f126890aSEmmanuel Vadot	status = "okay";
165*f126890aSEmmanuel Vadot};
166*f126890aSEmmanuel Vadot
167*f126890aSEmmanuel Vadot&hdmi {
168*f126890aSEmmanuel Vadot	ddc-i2c-bus = <&i2c5>;
169*f126890aSEmmanuel Vadot	status = "okay";
170*f126890aSEmmanuel Vadot};
171*f126890aSEmmanuel Vadot
172*f126890aSEmmanuel Vadot&i2c0 {
173*f126890aSEmmanuel Vadot	status = "okay";
174*f126890aSEmmanuel Vadot	clock-frequency = <400000>;
175*f126890aSEmmanuel Vadot
176*f126890aSEmmanuel Vadot	rk808: pmic@1b {
177*f126890aSEmmanuel Vadot		compatible = "rockchip,rk808";
178*f126890aSEmmanuel Vadot		reg = <0x1b>;
179*f126890aSEmmanuel Vadot		interrupt-parent = <&gpio0>;
180*f126890aSEmmanuel Vadot		interrupts = <RK_PA4 IRQ_TYPE_LEVEL_LOW>;
181*f126890aSEmmanuel Vadot		pinctrl-names = "default";
182*f126890aSEmmanuel Vadot		pinctrl-0 = <&pmic_int &global_pwroff>;
183*f126890aSEmmanuel Vadot		rockchip,system-power-controller;
184*f126890aSEmmanuel Vadot		wakeup-source;
185*f126890aSEmmanuel Vadot		#clock-cells = <1>;
186*f126890aSEmmanuel Vadot		clock-output-names = "xin32k", "rk808-clkout2";
187*f126890aSEmmanuel Vadot
188*f126890aSEmmanuel Vadot		vcc1-supply = <&vcc_sys>;
189*f126890aSEmmanuel Vadot		vcc2-supply = <&vcc_sys>;
190*f126890aSEmmanuel Vadot		vcc3-supply = <&vcc_sys>;
191*f126890aSEmmanuel Vadot		vcc4-supply = <&vcc_sys>;
192*f126890aSEmmanuel Vadot		vcc6-supply = <&vcc_sys>;
193*f126890aSEmmanuel Vadot		vcc7-supply = <&vcc_sys>;
194*f126890aSEmmanuel Vadot		vcc8-supply = <&vcc_18>;
195*f126890aSEmmanuel Vadot		vcc9-supply = <&vcc_io>;
196*f126890aSEmmanuel Vadot		vcc10-supply = <&vcc_io>;
197*f126890aSEmmanuel Vadot		vcc11-supply = <&vcc_sys>;
198*f126890aSEmmanuel Vadot		vcc12-supply = <&vcc_io>;
199*f126890aSEmmanuel Vadot		vddio-supply = <&vcc_io>;
200*f126890aSEmmanuel Vadot
201*f126890aSEmmanuel Vadot		regulators {
202*f126890aSEmmanuel Vadot			vdd_cpu: DCDC_REG1 {
203*f126890aSEmmanuel Vadot				regulator-always-on;
204*f126890aSEmmanuel Vadot				regulator-boot-on;
205*f126890aSEmmanuel Vadot				regulator-min-microvolt = <750000>;
206*f126890aSEmmanuel Vadot				regulator-max-microvolt = <1350000>;
207*f126890aSEmmanuel Vadot				regulator-name = "vdd_arm";
208*f126890aSEmmanuel Vadot				regulator-state-mem {
209*f126890aSEmmanuel Vadot					regulator-off-in-suspend;
210*f126890aSEmmanuel Vadot				};
211*f126890aSEmmanuel Vadot			};
212*f126890aSEmmanuel Vadot
213*f126890aSEmmanuel Vadot			vdd_gpu: DCDC_REG2 {
214*f126890aSEmmanuel Vadot				regulator-always-on;
215*f126890aSEmmanuel Vadot				regulator-boot-on;
216*f126890aSEmmanuel Vadot				regulator-min-microvolt = <850000>;
217*f126890aSEmmanuel Vadot				regulator-max-microvolt = <1250000>;
218*f126890aSEmmanuel Vadot				regulator-name = "vdd_gpu";
219*f126890aSEmmanuel Vadot				regulator-state-mem {
220*f126890aSEmmanuel Vadot					regulator-on-in-suspend;
221*f126890aSEmmanuel Vadot					regulator-suspend-microvolt = <1000000>;
222*f126890aSEmmanuel Vadot				};
223*f126890aSEmmanuel Vadot			};
224*f126890aSEmmanuel Vadot
225*f126890aSEmmanuel Vadot			vcc_ddr: DCDC_REG3 {
226*f126890aSEmmanuel Vadot				regulator-always-on;
227*f126890aSEmmanuel Vadot				regulator-boot-on;
228*f126890aSEmmanuel Vadot				regulator-name = "vcc_ddr";
229*f126890aSEmmanuel Vadot				regulator-state-mem {
230*f126890aSEmmanuel Vadot					regulator-on-in-suspend;
231*f126890aSEmmanuel Vadot				};
232*f126890aSEmmanuel Vadot			};
233*f126890aSEmmanuel Vadot
234*f126890aSEmmanuel Vadot			vcc_io: DCDC_REG4 {
235*f126890aSEmmanuel Vadot				regulator-always-on;
236*f126890aSEmmanuel Vadot				regulator-boot-on;
237*f126890aSEmmanuel Vadot				regulator-min-microvolt = <3300000>;
238*f126890aSEmmanuel Vadot				regulator-max-microvolt = <3300000>;
239*f126890aSEmmanuel Vadot				regulator-name = "vcc_io";
240*f126890aSEmmanuel Vadot				regulator-state-mem {
241*f126890aSEmmanuel Vadot					regulator-on-in-suspend;
242*f126890aSEmmanuel Vadot					regulator-suspend-microvolt = <3300000>;
243*f126890aSEmmanuel Vadot				};
244*f126890aSEmmanuel Vadot			};
245*f126890aSEmmanuel Vadot
246*f126890aSEmmanuel Vadot			vcc_lan: LDO_REG1 {
247*f126890aSEmmanuel Vadot				regulator-always-on;
248*f126890aSEmmanuel Vadot				regulator-boot-on;
249*f126890aSEmmanuel Vadot				regulator-min-microvolt = <3300000>;
250*f126890aSEmmanuel Vadot				regulator-max-microvolt = <3300000>;
251*f126890aSEmmanuel Vadot				regulator-name = "vcc_lan";
252*f126890aSEmmanuel Vadot				regulator-state-mem {
253*f126890aSEmmanuel Vadot					regulator-on-in-suspend;
254*f126890aSEmmanuel Vadot					regulator-suspend-microvolt = <3300000>;
255*f126890aSEmmanuel Vadot				};
256*f126890aSEmmanuel Vadot			};
257*f126890aSEmmanuel Vadot
258*f126890aSEmmanuel Vadot			vccio_sd: LDO_REG2 {
259*f126890aSEmmanuel Vadot				regulator-always-on;
260*f126890aSEmmanuel Vadot				regulator-boot-on;
261*f126890aSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
262*f126890aSEmmanuel Vadot				regulator-max-microvolt = <3300000>;
263*f126890aSEmmanuel Vadot				regulator-name = "vccio_sd";
264*f126890aSEmmanuel Vadot				regulator-state-mem {
265*f126890aSEmmanuel Vadot					regulator-off-in-suspend;
266*f126890aSEmmanuel Vadot				};
267*f126890aSEmmanuel Vadot			};
268*f126890aSEmmanuel Vadot
269*f126890aSEmmanuel Vadot			vdd_10: LDO_REG3 {
270*f126890aSEmmanuel Vadot				regulator-always-on;
271*f126890aSEmmanuel Vadot				regulator-boot-on;
272*f126890aSEmmanuel Vadot				regulator-min-microvolt = <1000000>;
273*f126890aSEmmanuel Vadot				regulator-max-microvolt = <1000000>;
274*f126890aSEmmanuel Vadot				regulator-name = "vdd_10";
275*f126890aSEmmanuel Vadot				regulator-state-mem {
276*f126890aSEmmanuel Vadot					regulator-on-in-suspend;
277*f126890aSEmmanuel Vadot					regulator-suspend-microvolt = <1000000>;
278*f126890aSEmmanuel Vadot				};
279*f126890aSEmmanuel Vadot			};
280*f126890aSEmmanuel Vadot
281*f126890aSEmmanuel Vadot			vcc18_lcd: LDO_REG4 {
282*f126890aSEmmanuel Vadot				regulator-always-on;
283*f126890aSEmmanuel Vadot				regulator-boot-on;
284*f126890aSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
285*f126890aSEmmanuel Vadot				regulator-max-microvolt = <1800000>;
286*f126890aSEmmanuel Vadot				regulator-name = "vcc18_lcd";
287*f126890aSEmmanuel Vadot				regulator-state-mem {
288*f126890aSEmmanuel Vadot					regulator-on-in-suspend;
289*f126890aSEmmanuel Vadot					regulator-suspend-microvolt = <1800000>;
290*f126890aSEmmanuel Vadot				};
291*f126890aSEmmanuel Vadot			};
292*f126890aSEmmanuel Vadot
293*f126890aSEmmanuel Vadot			ldo5: LDO_REG5 {
294*f126890aSEmmanuel Vadot				regulator-always-on;
295*f126890aSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
296*f126890aSEmmanuel Vadot				regulator-max-microvolt = <3300000>;
297*f126890aSEmmanuel Vadot				regulator-name = "ldo5";
298*f126890aSEmmanuel Vadot			};
299*f126890aSEmmanuel Vadot
300*f126890aSEmmanuel Vadot			vdd10_lcd: LDO_REG6 {
301*f126890aSEmmanuel Vadot				regulator-always-on;
302*f126890aSEmmanuel Vadot				regulator-boot-on;
303*f126890aSEmmanuel Vadot				regulator-min-microvolt = <1000000>;
304*f126890aSEmmanuel Vadot				regulator-max-microvolt = <1000000>;
305*f126890aSEmmanuel Vadot				regulator-name = "vdd10_lcd";
306*f126890aSEmmanuel Vadot				regulator-state-mem {
307*f126890aSEmmanuel Vadot					regulator-on-in-suspend;
308*f126890aSEmmanuel Vadot					regulator-suspend-microvolt = <1000000>;
309*f126890aSEmmanuel Vadot				};
310*f126890aSEmmanuel Vadot			};
311*f126890aSEmmanuel Vadot
312*f126890aSEmmanuel Vadot			vcc_18: LDO_REG7 {
313*f126890aSEmmanuel Vadot				regulator-always-on;
314*f126890aSEmmanuel Vadot				regulator-boot-on;
315*f126890aSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
316*f126890aSEmmanuel Vadot				regulator-max-microvolt = <1800000>;
317*f126890aSEmmanuel Vadot				regulator-name = "vcc_18";
318*f126890aSEmmanuel Vadot				regulator-state-mem {
319*f126890aSEmmanuel Vadot					regulator-on-in-suspend;
320*f126890aSEmmanuel Vadot					regulator-suspend-microvolt = <1800000>;
321*f126890aSEmmanuel Vadot				};
322*f126890aSEmmanuel Vadot			};
323*f126890aSEmmanuel Vadot
324*f126890aSEmmanuel Vadot			vcca_33: LDO_REG8 {
325*f126890aSEmmanuel Vadot				regulator-always-on;
326*f126890aSEmmanuel Vadot				regulator-boot-on;
327*f126890aSEmmanuel Vadot				regulator-min-microvolt = <3300000>;
328*f126890aSEmmanuel Vadot				regulator-max-microvolt = <3300000>;
329*f126890aSEmmanuel Vadot				regulator-name = "vcca_33";
330*f126890aSEmmanuel Vadot				regulator-state-mem {
331*f126890aSEmmanuel Vadot					regulator-on-in-suspend;
332*f126890aSEmmanuel Vadot					regulator-suspend-microvolt = <3300000>;
333*f126890aSEmmanuel Vadot				};
334*f126890aSEmmanuel Vadot			};
335*f126890aSEmmanuel Vadot
336*f126890aSEmmanuel Vadot			vccio_wl: SWITCH_REG1 {
337*f126890aSEmmanuel Vadot				regulator-always-on;
338*f126890aSEmmanuel Vadot				regulator-boot-on;
339*f126890aSEmmanuel Vadot				regulator-name = "vccio_wl";
340*f126890aSEmmanuel Vadot				regulator-state-mem {
341*f126890aSEmmanuel Vadot					regulator-on-in-suspend;
342*f126890aSEmmanuel Vadot				};
343*f126890aSEmmanuel Vadot			};
344*f126890aSEmmanuel Vadot
345*f126890aSEmmanuel Vadot			vcc_lcd: SWITCH_REG2 {
346*f126890aSEmmanuel Vadot				regulator-always-on;
347*f126890aSEmmanuel Vadot				regulator-boot-on;
348*f126890aSEmmanuel Vadot				regulator-name = "vcc_lcd";
349*f126890aSEmmanuel Vadot				regulator-state-mem {
350*f126890aSEmmanuel Vadot					regulator-on-in-suspend;
351*f126890aSEmmanuel Vadot				};
352*f126890aSEmmanuel Vadot			};
353*f126890aSEmmanuel Vadot		};
354*f126890aSEmmanuel Vadot	};
355*f126890aSEmmanuel Vadot};
356*f126890aSEmmanuel Vadot
357*f126890aSEmmanuel Vadot&i2c1 {
358*f126890aSEmmanuel Vadot	status = "okay";
359*f126890aSEmmanuel Vadot	clock-frequency = <400000>;
360*f126890aSEmmanuel Vadot
361*f126890aSEmmanuel Vadot	ak8963: ak8963@d {
362*f126890aSEmmanuel Vadot		compatible = "asahi-kasei,ak8975";
363*f126890aSEmmanuel Vadot		reg = <0x0d>;
364*f126890aSEmmanuel Vadot		interrupt-parent = <&gpio8>;
365*f126890aSEmmanuel Vadot		interrupts = <RK_PA1 IRQ_TYPE_EDGE_RISING>;
366*f126890aSEmmanuel Vadot		pinctrl-names = "default";
367*f126890aSEmmanuel Vadot		pinctrl-0 = <&comp_int>;
368*f126890aSEmmanuel Vadot		vdd-supply = <&vcc_io>;
369*f126890aSEmmanuel Vadot		vid-supply = <&vcc_io>;
370*f126890aSEmmanuel Vadot	};
371*f126890aSEmmanuel Vadot
372*f126890aSEmmanuel Vadot	l3g4200d: l3g4200d@69 {
373*f126890aSEmmanuel Vadot		compatible = "st,l3g4200d-gyro";
374*f126890aSEmmanuel Vadot		st,drdy-int-pin = <2>;
375*f126890aSEmmanuel Vadot		reg = <0x69>;
376*f126890aSEmmanuel Vadot		vdd-supply = <&vcc_io>;
377*f126890aSEmmanuel Vadot		vddio-supply = <&vcc_io>;
378*f126890aSEmmanuel Vadot	};
379*f126890aSEmmanuel Vadot
380*f126890aSEmmanuel Vadot	mma8452: mma8452@1d {
381*f126890aSEmmanuel Vadot		compatible = "fsl,mma8452";
382*f126890aSEmmanuel Vadot		reg = <0x1d>;
383*f126890aSEmmanuel Vadot		interrupt-parent = <&gpio8>;
384*f126890aSEmmanuel Vadot		interrupts = <RK_PA0 IRQ_TYPE_EDGE_RISING>;
385*f126890aSEmmanuel Vadot		pinctrl-names = "default";
386*f126890aSEmmanuel Vadot		pinctrl-0 = <&gsensor_int>;
387*f126890aSEmmanuel Vadot	};
388*f126890aSEmmanuel Vadot};
389*f126890aSEmmanuel Vadot
390*f126890aSEmmanuel Vadot&i2c2 {
391*f126890aSEmmanuel Vadot	status = "okay";
392*f126890aSEmmanuel Vadot};
393*f126890aSEmmanuel Vadot
394*f126890aSEmmanuel Vadot&i2c3 {
395*f126890aSEmmanuel Vadot	status = "okay";
396*f126890aSEmmanuel Vadot};
397*f126890aSEmmanuel Vadot
398*f126890aSEmmanuel Vadot&i2c4 {
399*f126890aSEmmanuel Vadot	status = "okay";
400*f126890aSEmmanuel Vadot};
401*f126890aSEmmanuel Vadot
402*f126890aSEmmanuel Vadot&i2c5 {
403*f126890aSEmmanuel Vadot	status = "okay";
404*f126890aSEmmanuel Vadot};
405*f126890aSEmmanuel Vadot
406*f126890aSEmmanuel Vadot&io_domains {
407*f126890aSEmmanuel Vadot	status = "okay";
408*f126890aSEmmanuel Vadot
409*f126890aSEmmanuel Vadot	audio-supply = <&vcca_33>;
410*f126890aSEmmanuel Vadot	bb-supply = <&vcc_io>;
411*f126890aSEmmanuel Vadot	dvp-supply = <&vcc18_dvp>;
412*f126890aSEmmanuel Vadot	flash0-supply = <&vcc_flash>;
413*f126890aSEmmanuel Vadot	flash1-supply = <&vcc_lan>;
414*f126890aSEmmanuel Vadot	gpio30-supply = <&vcc_io>;
415*f126890aSEmmanuel Vadot	gpio1830-supply = <&vcc_io>;
416*f126890aSEmmanuel Vadot	lcdc-supply = <&vcc_io>;
417*f126890aSEmmanuel Vadot	sdcard-supply = <&vccio_sd>;
418*f126890aSEmmanuel Vadot	wifi-supply = <&vccio_wl>;
419*f126890aSEmmanuel Vadot};
420*f126890aSEmmanuel Vadot
421*f126890aSEmmanuel Vadot&pinctrl {
422*f126890aSEmmanuel Vadot	ak8963 {
423*f126890aSEmmanuel Vadot		comp_int: comp-int {
424*f126890aSEmmanuel Vadot			rockchip,pins = <8 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up>;
425*f126890aSEmmanuel Vadot		};
426*f126890aSEmmanuel Vadot	};
427*f126890aSEmmanuel Vadot
428*f126890aSEmmanuel Vadot	buttons {
429*f126890aSEmmanuel Vadot		pwrbtn: pwrbtn {
430*f126890aSEmmanuel Vadot			rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>;
431*f126890aSEmmanuel Vadot		};
432*f126890aSEmmanuel Vadot	};
433*f126890aSEmmanuel Vadot
434*f126890aSEmmanuel Vadot	dvp {
435*f126890aSEmmanuel Vadot		dvp_pwr: dvp-pwr {
436*f126890aSEmmanuel Vadot			rockchip,pins = <0 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>;
437*f126890aSEmmanuel Vadot		};
438*f126890aSEmmanuel Vadot	};
439*f126890aSEmmanuel Vadot
440*f126890aSEmmanuel Vadot	ir {
441*f126890aSEmmanuel Vadot		ir_int: ir-int {
442*f126890aSEmmanuel Vadot			rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>;
443*f126890aSEmmanuel Vadot		};
444*f126890aSEmmanuel Vadot	};
445*f126890aSEmmanuel Vadot
446*f126890aSEmmanuel Vadot	mma8452 {
447*f126890aSEmmanuel Vadot		gsensor_int: gsensor-int {
448*f126890aSEmmanuel Vadot			rockchip,pins = <8 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up>;
449*f126890aSEmmanuel Vadot		};
450*f126890aSEmmanuel Vadot	};
451*f126890aSEmmanuel Vadot
452*f126890aSEmmanuel Vadot	pmic {
453*f126890aSEmmanuel Vadot		pmic_int: pmic-int {
454*f126890aSEmmanuel Vadot			rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>;
455*f126890aSEmmanuel Vadot		};
456*f126890aSEmmanuel Vadot	};
457*f126890aSEmmanuel Vadot
458*f126890aSEmmanuel Vadot	sdmmc {
459*f126890aSEmmanuel Vadot		sdmmc_pwr: sdmmc-pwr {
460*f126890aSEmmanuel Vadot			rockchip,pins = <7 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
461*f126890aSEmmanuel Vadot		};
462*f126890aSEmmanuel Vadot	};
463*f126890aSEmmanuel Vadot};
464*f126890aSEmmanuel Vadot
465*f126890aSEmmanuel Vadot&tsadc {
466*f126890aSEmmanuel Vadot	rockchip,hw-tshut-mode = <0>;
467*f126890aSEmmanuel Vadot	rockchip,hw-tshut-polarity = <0>;
468*f126890aSEmmanuel Vadot	status = "okay";
469*f126890aSEmmanuel Vadot};
470*f126890aSEmmanuel Vadot
471*f126890aSEmmanuel Vadot&vopb {
472*f126890aSEmmanuel Vadot	status = "okay";
473*f126890aSEmmanuel Vadot};
474*f126890aSEmmanuel Vadot
475*f126890aSEmmanuel Vadot&vopb_mmu {
476*f126890aSEmmanuel Vadot	status = "okay";
477*f126890aSEmmanuel Vadot};
478*f126890aSEmmanuel Vadot
479*f126890aSEmmanuel Vadot&vopl {
480*f126890aSEmmanuel Vadot	status = "okay";
481*f126890aSEmmanuel Vadot};
482*f126890aSEmmanuel Vadot
483*f126890aSEmmanuel Vadot&vopl_mmu {
484*f126890aSEmmanuel Vadot	status = "okay";
485*f126890aSEmmanuel Vadot};
486*f126890aSEmmanuel Vadot
487*f126890aSEmmanuel Vadot&uart0 {
488*f126890aSEmmanuel Vadot	status = "okay";
489*f126890aSEmmanuel Vadot};
490*f126890aSEmmanuel Vadot
491*f126890aSEmmanuel Vadot&uart1 {
492*f126890aSEmmanuel Vadot	status = "okay";
493*f126890aSEmmanuel Vadot};
494*f126890aSEmmanuel Vadot
495*f126890aSEmmanuel Vadot&uart2 {
496*f126890aSEmmanuel Vadot	status = "okay";
497*f126890aSEmmanuel Vadot};
498*f126890aSEmmanuel Vadot
499*f126890aSEmmanuel Vadot&uart3 {
500*f126890aSEmmanuel Vadot	status = "okay";
501*f126890aSEmmanuel Vadot};
502*f126890aSEmmanuel Vadot
503*f126890aSEmmanuel Vadot&uart4 {
504*f126890aSEmmanuel Vadot	status = "okay";
505*f126890aSEmmanuel Vadot};
506*f126890aSEmmanuel Vadot
507*f126890aSEmmanuel Vadot&usbphy {
508*f126890aSEmmanuel Vadot	status = "okay";
509*f126890aSEmmanuel Vadot};
510*f126890aSEmmanuel Vadot
511*f126890aSEmmanuel Vadot&usb_otg {
512*f126890aSEmmanuel Vadot	status = "okay";
513*f126890aSEmmanuel Vadot};
514