xref: /freebsd-src/sys/contrib/device-tree/src/arm/rockchip/rk3288-firefly.dtsi (revision f126890ac5386406dadf7c4cfa9566cbb56537c5)
1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2*f126890aSEmmanuel Vadot/*
3*f126890aSEmmanuel Vadot * Copyright (c) 2014, 2015 FUKAUMI Naoki <naobsd@gmail.com>
4*f126890aSEmmanuel Vadot */
5*f126890aSEmmanuel Vadot
6*f126890aSEmmanuel Vadot#include <dt-bindings/input/input.h>
7*f126890aSEmmanuel Vadot#include "rk3288.dtsi"
8*f126890aSEmmanuel Vadot
9*f126890aSEmmanuel Vadot/ {
10*f126890aSEmmanuel Vadot	memory@0 {
11*f126890aSEmmanuel Vadot		device_type = "memory";
12*f126890aSEmmanuel Vadot		reg = <0x0 0x0 0x0 0x80000000>;
13*f126890aSEmmanuel Vadot	};
14*f126890aSEmmanuel Vadot
15*f126890aSEmmanuel Vadot	adc-keys {
16*f126890aSEmmanuel Vadot		compatible = "adc-keys";
17*f126890aSEmmanuel Vadot		io-channels = <&saradc 1>;
18*f126890aSEmmanuel Vadot		io-channel-names = "buttons";
19*f126890aSEmmanuel Vadot		keyup-threshold-microvolt = <1800000>;
20*f126890aSEmmanuel Vadot
21*f126890aSEmmanuel Vadot		button-recovery {
22*f126890aSEmmanuel Vadot			label = "Recovery";
23*f126890aSEmmanuel Vadot			linux,code = <KEY_VENDOR>;
24*f126890aSEmmanuel Vadot			press-threshold-microvolt = <0>;
25*f126890aSEmmanuel Vadot		};
26*f126890aSEmmanuel Vadot	};
27*f126890aSEmmanuel Vadot
28*f126890aSEmmanuel Vadot	dovdd_1v8: dovdd-1v8-regulator {
29*f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
30*f126890aSEmmanuel Vadot		regulator-name = "dovdd_1v8";
31*f126890aSEmmanuel Vadot		regulator-min-microvolt = <1800000>;
32*f126890aSEmmanuel Vadot		regulator-max-microvolt = <1800000>;
33*f126890aSEmmanuel Vadot		vin-supply = <&vcc28_dvp>;
34*f126890aSEmmanuel Vadot	};
35*f126890aSEmmanuel Vadot
36*f126890aSEmmanuel Vadot	ext_gmac: external-gmac-clock {
37*f126890aSEmmanuel Vadot		compatible = "fixed-clock";
38*f126890aSEmmanuel Vadot		#clock-cells = <0>;
39*f126890aSEmmanuel Vadot		clock-frequency = <125000000>;
40*f126890aSEmmanuel Vadot		clock-output-names = "ext_gmac";
41*f126890aSEmmanuel Vadot	};
42*f126890aSEmmanuel Vadot
43*f126890aSEmmanuel Vadot	ir: ir-receiver {
44*f126890aSEmmanuel Vadot		compatible = "gpio-ir-receiver";
45*f126890aSEmmanuel Vadot		pinctrl-names = "default";
46*f126890aSEmmanuel Vadot		pinctrl-0 = <&ir_int>;
47*f126890aSEmmanuel Vadot	};
48*f126890aSEmmanuel Vadot
49*f126890aSEmmanuel Vadot	keys: gpio-keys {
50*f126890aSEmmanuel Vadot		compatible = "gpio-keys";
51*f126890aSEmmanuel Vadot
52*f126890aSEmmanuel Vadot		key-power {
53*f126890aSEmmanuel Vadot			wakeup-source;
54*f126890aSEmmanuel Vadot			gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>;
55*f126890aSEmmanuel Vadot			label = "GPIO Power";
56*f126890aSEmmanuel Vadot			linux,code = <KEY_POWER>;
57*f126890aSEmmanuel Vadot			pinctrl-names = "default";
58*f126890aSEmmanuel Vadot			pinctrl-0 = <&pwr_key>;
59*f126890aSEmmanuel Vadot		};
60*f126890aSEmmanuel Vadot	};
61*f126890aSEmmanuel Vadot
62*f126890aSEmmanuel Vadot	leds {
63*f126890aSEmmanuel Vadot		compatible = "gpio-leds";
64*f126890aSEmmanuel Vadot
65*f126890aSEmmanuel Vadot		work_led: led-0 {
66*f126890aSEmmanuel Vadot			gpios = <&gpio8 RK_PA1 GPIO_ACTIVE_LOW>;
67*f126890aSEmmanuel Vadot			label = "firefly:blue:user";
68*f126890aSEmmanuel Vadot			linux,default-trigger = "rc-feedback";
69*f126890aSEmmanuel Vadot			pinctrl-names = "default";
70*f126890aSEmmanuel Vadot			pinctrl-0 = <&work_led_pin>;
71*f126890aSEmmanuel Vadot		};
72*f126890aSEmmanuel Vadot
73*f126890aSEmmanuel Vadot		power_led: led-1 {
74*f126890aSEmmanuel Vadot			gpios = <&gpio8 RK_PA2 GPIO_ACTIVE_LOW>;
75*f126890aSEmmanuel Vadot			label = "firefly:green:power";
76*f126890aSEmmanuel Vadot			linux,default-trigger = "default-on";
77*f126890aSEmmanuel Vadot			pinctrl-names = "default";
78*f126890aSEmmanuel Vadot			pinctrl-0 = <&power_led_pin>;
79*f126890aSEmmanuel Vadot		};
80*f126890aSEmmanuel Vadot	};
81*f126890aSEmmanuel Vadot
82*f126890aSEmmanuel Vadot	vbat_wl: vcc_sys: vsys-regulator {
83*f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
84*f126890aSEmmanuel Vadot		regulator-name = "vcc_sys";
85*f126890aSEmmanuel Vadot		regulator-min-microvolt = <5000000>;
86*f126890aSEmmanuel Vadot		regulator-max-microvolt = <5000000>;
87*f126890aSEmmanuel Vadot		regulator-always-on;
88*f126890aSEmmanuel Vadot		regulator-boot-on;
89*f126890aSEmmanuel Vadot	};
90*f126890aSEmmanuel Vadot
91*f126890aSEmmanuel Vadot	vcc_sd: sdmmc-regulator {
92*f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
93*f126890aSEmmanuel Vadot		gpio = <&gpio7 RK_PB3 GPIO_ACTIVE_LOW>;
94*f126890aSEmmanuel Vadot		pinctrl-names = "default";
95*f126890aSEmmanuel Vadot		pinctrl-0 = <&sdmmc_pwr>;
96*f126890aSEmmanuel Vadot		regulator-name = "vcc_sd";
97*f126890aSEmmanuel Vadot		regulator-min-microvolt = <3300000>;
98*f126890aSEmmanuel Vadot		regulator-max-microvolt = <3300000>;
99*f126890aSEmmanuel Vadot		startup-delay-us = <100000>;
100*f126890aSEmmanuel Vadot		vin-supply = <&vcc_io>;
101*f126890aSEmmanuel Vadot	};
102*f126890aSEmmanuel Vadot
103*f126890aSEmmanuel Vadot	vcc_flash: flash-regulator {
104*f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
105*f126890aSEmmanuel Vadot		regulator-name = "vcc_flash";
106*f126890aSEmmanuel Vadot		regulator-min-microvolt = <1800000>;
107*f126890aSEmmanuel Vadot		regulator-max-microvolt = <1800000>;
108*f126890aSEmmanuel Vadot		vin-supply = <&vcc_io>;
109*f126890aSEmmanuel Vadot	};
110*f126890aSEmmanuel Vadot
111*f126890aSEmmanuel Vadot	vcc_5v: usb-regulator {
112*f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
113*f126890aSEmmanuel Vadot		regulator-name = "vcc_5v";
114*f126890aSEmmanuel Vadot		regulator-min-microvolt = <5000000>;
115*f126890aSEmmanuel Vadot		regulator-max-microvolt = <5000000>;
116*f126890aSEmmanuel Vadot		regulator-always-on;
117*f126890aSEmmanuel Vadot		regulator-boot-on;
118*f126890aSEmmanuel Vadot		vin-supply = <&vcc_sys>;
119*f126890aSEmmanuel Vadot	};
120*f126890aSEmmanuel Vadot
121*f126890aSEmmanuel Vadot	vcc_host_5v: usb-host-regulator {
122*f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
123*f126890aSEmmanuel Vadot		enable-active-high;
124*f126890aSEmmanuel Vadot		gpio = <&gpio0 RK_PB6 GPIO_ACTIVE_HIGH>;
125*f126890aSEmmanuel Vadot		pinctrl-names = "default";
126*f126890aSEmmanuel Vadot		pinctrl-0 = <&host_vbus_drv>;
127*f126890aSEmmanuel Vadot		regulator-name = "vcc_host_5v";
128*f126890aSEmmanuel Vadot		regulator-min-microvolt = <5000000>;
129*f126890aSEmmanuel Vadot		regulator-max-microvolt = <5000000>;
130*f126890aSEmmanuel Vadot		regulator-always-on;
131*f126890aSEmmanuel Vadot		vin-supply = <&vcc_5v>;
132*f126890aSEmmanuel Vadot	};
133*f126890aSEmmanuel Vadot
134*f126890aSEmmanuel Vadot	vcc_otg_5v: usb-otg-regulator {
135*f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
136*f126890aSEmmanuel Vadot		enable-active-high;
137*f126890aSEmmanuel Vadot		gpio = <&gpio0 RK_PB4 GPIO_ACTIVE_HIGH>;
138*f126890aSEmmanuel Vadot		pinctrl-names = "default";
139*f126890aSEmmanuel Vadot		pinctrl-0 = <&otg_vbus_drv>;
140*f126890aSEmmanuel Vadot		regulator-name = "vcc_otg_5v";
141*f126890aSEmmanuel Vadot		regulator-min-microvolt = <5000000>;
142*f126890aSEmmanuel Vadot		regulator-max-microvolt = <5000000>;
143*f126890aSEmmanuel Vadot		regulator-always-on;
144*f126890aSEmmanuel Vadot		vin-supply = <&vcc_5v>;
145*f126890aSEmmanuel Vadot	};
146*f126890aSEmmanuel Vadot
147*f126890aSEmmanuel Vadot	/*
148*f126890aSEmmanuel Vadot	 * A TT8142 creates both dovdd_1v8 and vcc28_dvp, controlled
149*f126890aSEmmanuel Vadot	 * by the dvp_pwr pin.
150*f126890aSEmmanuel Vadot	 */
151*f126890aSEmmanuel Vadot	vcc28_dvp: vcc28-dvp-regulator {
152*f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
153*f126890aSEmmanuel Vadot		enable-active-high;
154*f126890aSEmmanuel Vadot		gpio = <&gpio0 RK_PB3 GPIO_ACTIVE_HIGH>;
155*f126890aSEmmanuel Vadot		pinctrl-names = "default";
156*f126890aSEmmanuel Vadot		pinctrl-0 = <&dvp_pwr>;
157*f126890aSEmmanuel Vadot		regulator-name = "vcc28_dvp";
158*f126890aSEmmanuel Vadot		regulator-min-microvolt = <2800000>;
159*f126890aSEmmanuel Vadot		regulator-max-microvolt = <2800000>;
160*f126890aSEmmanuel Vadot		regulator-always-on;
161*f126890aSEmmanuel Vadot		vin-supply = <&vcc_io>;
162*f126890aSEmmanuel Vadot	};
163*f126890aSEmmanuel Vadot};
164*f126890aSEmmanuel Vadot
165*f126890aSEmmanuel Vadot&cpu0 {
166*f126890aSEmmanuel Vadot	cpu0-supply = <&vdd_cpu>;
167*f126890aSEmmanuel Vadot};
168*f126890aSEmmanuel Vadot
169*f126890aSEmmanuel Vadot&emmc {
170*f126890aSEmmanuel Vadot	bus-width = <8>;
171*f126890aSEmmanuel Vadot	cap-mmc-highspeed;
172*f126890aSEmmanuel Vadot	disable-wp;
173*f126890aSEmmanuel Vadot	non-removable;
174*f126890aSEmmanuel Vadot	pinctrl-names = "default";
175*f126890aSEmmanuel Vadot	pinctrl-0 = <&emmc_clk>, <&emmc_cmd>, <&emmc_pwr>, <&emmc_bus8>;
176*f126890aSEmmanuel Vadot	vmmc-supply = <&vcc_io>;
177*f126890aSEmmanuel Vadot	vqmmc-supply = <&vcc_flash>;
178*f126890aSEmmanuel Vadot	status = "okay";
179*f126890aSEmmanuel Vadot};
180*f126890aSEmmanuel Vadot
181*f126890aSEmmanuel Vadot&gmac {
182*f126890aSEmmanuel Vadot	assigned-clocks = <&cru SCLK_MAC>;
183*f126890aSEmmanuel Vadot	assigned-clock-parents = <&ext_gmac>;
184*f126890aSEmmanuel Vadot	clock_in_out = "input";
185*f126890aSEmmanuel Vadot	pinctrl-names = "default";
186*f126890aSEmmanuel Vadot	pinctrl-0 = <&rgmii_pins>, <&phy_rst>, <&phy_pmeb>, <&phy_int>;
187*f126890aSEmmanuel Vadot	phy-supply = <&vcc_lan>;
188*f126890aSEmmanuel Vadot	phy-mode = "rgmii";
189*f126890aSEmmanuel Vadot	snps,reset-active-low;
190*f126890aSEmmanuel Vadot	snps,reset-delays-us = <0 10000 1000000>;
191*f126890aSEmmanuel Vadot	snps,reset-gpio = <&gpio4 RK_PB0 GPIO_ACTIVE_LOW>;
192*f126890aSEmmanuel Vadot	tx_delay = <0x30>;
193*f126890aSEmmanuel Vadot	rx_delay = <0x10>;
194*f126890aSEmmanuel Vadot	status = "okay";
195*f126890aSEmmanuel Vadot};
196*f126890aSEmmanuel Vadot
197*f126890aSEmmanuel Vadot&gpu {
198*f126890aSEmmanuel Vadot	mali-supply = <&vdd_gpu>;
199*f126890aSEmmanuel Vadot	status = "okay";
200*f126890aSEmmanuel Vadot};
201*f126890aSEmmanuel Vadot
202*f126890aSEmmanuel Vadot&hdmi {
203*f126890aSEmmanuel Vadot	ddc-i2c-bus = <&i2c5>;
204*f126890aSEmmanuel Vadot	status = "okay";
205*f126890aSEmmanuel Vadot};
206*f126890aSEmmanuel Vadot
207*f126890aSEmmanuel Vadot&i2c0 {
208*f126890aSEmmanuel Vadot	clock-frequency = <400000>;
209*f126890aSEmmanuel Vadot	status = "okay";
210*f126890aSEmmanuel Vadot
211*f126890aSEmmanuel Vadot	vdd_cpu: syr827@40 {
212*f126890aSEmmanuel Vadot		compatible = "silergy,syr827";
213*f126890aSEmmanuel Vadot		fcs,suspend-voltage-selector = <1>;
214*f126890aSEmmanuel Vadot		reg = <0x40>;
215*f126890aSEmmanuel Vadot		regulator-name = "vdd_cpu";
216*f126890aSEmmanuel Vadot		regulator-min-microvolt = <850000>;
217*f126890aSEmmanuel Vadot		regulator-max-microvolt = <1350000>;
218*f126890aSEmmanuel Vadot		regulator-always-on;
219*f126890aSEmmanuel Vadot		regulator-boot-on;
220*f126890aSEmmanuel Vadot		regulator-enable-ramp-delay = <300>;
221*f126890aSEmmanuel Vadot		regulator-ramp-delay = <8000>;
222*f126890aSEmmanuel Vadot		vin-supply = <&vcc_sys>;
223*f126890aSEmmanuel Vadot	};
224*f126890aSEmmanuel Vadot
225*f126890aSEmmanuel Vadot	vdd_gpu: syr828@41 {
226*f126890aSEmmanuel Vadot		compatible = "silergy,syr828";
227*f126890aSEmmanuel Vadot		fcs,suspend-voltage-selector = <1>;
228*f126890aSEmmanuel Vadot		reg = <0x41>;
229*f126890aSEmmanuel Vadot		regulator-name = "vdd_gpu";
230*f126890aSEmmanuel Vadot		regulator-min-microvolt = <850000>;
231*f126890aSEmmanuel Vadot		regulator-max-microvolt = <1350000>;
232*f126890aSEmmanuel Vadot		regulator-always-on;
233*f126890aSEmmanuel Vadot		vin-supply = <&vcc_sys>;
234*f126890aSEmmanuel Vadot	};
235*f126890aSEmmanuel Vadot
236*f126890aSEmmanuel Vadot	hym8563: rtc@51 {
237*f126890aSEmmanuel Vadot		compatible = "haoyu,hym8563";
238*f126890aSEmmanuel Vadot		reg = <0x51>;
239*f126890aSEmmanuel Vadot		#clock-cells = <0>;
240*f126890aSEmmanuel Vadot		clock-output-names = "xin32k";
241*f126890aSEmmanuel Vadot		interrupt-parent = <&gpio7>;
242*f126890aSEmmanuel Vadot		interrupts = <RK_PA4 IRQ_TYPE_EDGE_FALLING>;
243*f126890aSEmmanuel Vadot		pinctrl-names = "default";
244*f126890aSEmmanuel Vadot		pinctrl-0 = <&rtc_int>;
245*f126890aSEmmanuel Vadot	};
246*f126890aSEmmanuel Vadot
247*f126890aSEmmanuel Vadot	act8846: act8846@5a {
248*f126890aSEmmanuel Vadot		compatible = "active-semi,act8846";
249*f126890aSEmmanuel Vadot		reg = <0x5a>;
250*f126890aSEmmanuel Vadot		pinctrl-names = "default";
251*f126890aSEmmanuel Vadot		pinctrl-0 = <&pmic_vsel>, <&pwr_hold>;
252*f126890aSEmmanuel Vadot		system-power-controller;
253*f126890aSEmmanuel Vadot
254*f126890aSEmmanuel Vadot		vp1-supply = <&vcc_sys>;
255*f126890aSEmmanuel Vadot		vp2-supply = <&vcc_sys>;
256*f126890aSEmmanuel Vadot		vp3-supply = <&vcc_sys>;
257*f126890aSEmmanuel Vadot		vp4-supply = <&vcc_sys>;
258*f126890aSEmmanuel Vadot		inl1-supply = <&vcc_sys>;
259*f126890aSEmmanuel Vadot		inl2-supply = <&vcc_sys>;
260*f126890aSEmmanuel Vadot		inl3-supply = <&vcc_20>;
261*f126890aSEmmanuel Vadot
262*f126890aSEmmanuel Vadot		regulators {
263*f126890aSEmmanuel Vadot			vcc_ddr: REG1 {
264*f126890aSEmmanuel Vadot				regulator-name = "vcc_ddr";
265*f126890aSEmmanuel Vadot				regulator-min-microvolt = <1200000>;
266*f126890aSEmmanuel Vadot				regulator-max-microvolt = <1200000>;
267*f126890aSEmmanuel Vadot				regulator-always-on;
268*f126890aSEmmanuel Vadot			};
269*f126890aSEmmanuel Vadot
270*f126890aSEmmanuel Vadot			vcc_io: REG2 {
271*f126890aSEmmanuel Vadot				regulator-name = "vcc_io";
272*f126890aSEmmanuel Vadot				regulator-min-microvolt = <3300000>;
273*f126890aSEmmanuel Vadot				regulator-max-microvolt = <3300000>;
274*f126890aSEmmanuel Vadot				regulator-always-on;
275*f126890aSEmmanuel Vadot			};
276*f126890aSEmmanuel Vadot
277*f126890aSEmmanuel Vadot			vdd_log: REG3 {
278*f126890aSEmmanuel Vadot				regulator-name = "vdd_log";
279*f126890aSEmmanuel Vadot				regulator-min-microvolt = <1100000>;
280*f126890aSEmmanuel Vadot				regulator-max-microvolt = <1100000>;
281*f126890aSEmmanuel Vadot				regulator-always-on;
282*f126890aSEmmanuel Vadot			};
283*f126890aSEmmanuel Vadot
284*f126890aSEmmanuel Vadot			vcc_20: REG4 {
285*f126890aSEmmanuel Vadot				regulator-name = "vcc_20";
286*f126890aSEmmanuel Vadot				regulator-min-microvolt = <2000000>;
287*f126890aSEmmanuel Vadot				regulator-max-microvolt = <2000000>;
288*f126890aSEmmanuel Vadot				regulator-always-on;
289*f126890aSEmmanuel Vadot			};
290*f126890aSEmmanuel Vadot
291*f126890aSEmmanuel Vadot			vccio_sd: REG5 {
292*f126890aSEmmanuel Vadot				regulator-name = "vccio_sd";
293*f126890aSEmmanuel Vadot				regulator-min-microvolt = <3300000>;
294*f126890aSEmmanuel Vadot				regulator-max-microvolt = <3300000>;
295*f126890aSEmmanuel Vadot				regulator-always-on;
296*f126890aSEmmanuel Vadot			};
297*f126890aSEmmanuel Vadot
298*f126890aSEmmanuel Vadot			vdd10_lcd: REG6 {
299*f126890aSEmmanuel Vadot				regulator-name = "vdd10_lcd";
300*f126890aSEmmanuel Vadot				regulator-min-microvolt = <1000000>;
301*f126890aSEmmanuel Vadot				regulator-max-microvolt = <1000000>;
302*f126890aSEmmanuel Vadot				regulator-always-on;
303*f126890aSEmmanuel Vadot			};
304*f126890aSEmmanuel Vadot
305*f126890aSEmmanuel Vadot			vcca_18: REG7 {
306*f126890aSEmmanuel Vadot				regulator-name = "vcca_18";
307*f126890aSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
308*f126890aSEmmanuel Vadot				regulator-max-microvolt = <1800000>;
309*f126890aSEmmanuel Vadot			};
310*f126890aSEmmanuel Vadot
311*f126890aSEmmanuel Vadot			vcca_33: REG8 {
312*f126890aSEmmanuel Vadot				regulator-name = "vcca_33";
313*f126890aSEmmanuel Vadot				regulator-min-microvolt = <3300000>;
314*f126890aSEmmanuel Vadot				regulator-max-microvolt = <3300000>;
315*f126890aSEmmanuel Vadot			};
316*f126890aSEmmanuel Vadot
317*f126890aSEmmanuel Vadot			vcc_lan: REG9 {
318*f126890aSEmmanuel Vadot				regulator-name = "vcc_lan";
319*f126890aSEmmanuel Vadot				regulator-min-microvolt = <3300000>;
320*f126890aSEmmanuel Vadot				regulator-max-microvolt = <3300000>;
321*f126890aSEmmanuel Vadot			};
322*f126890aSEmmanuel Vadot
323*f126890aSEmmanuel Vadot			vdd_10: REG10 {
324*f126890aSEmmanuel Vadot				regulator-name = "vdd_10";
325*f126890aSEmmanuel Vadot				regulator-min-microvolt = <1000000>;
326*f126890aSEmmanuel Vadot				regulator-max-microvolt = <1000000>;
327*f126890aSEmmanuel Vadot				regulator-always-on;
328*f126890aSEmmanuel Vadot			};
329*f126890aSEmmanuel Vadot
330*f126890aSEmmanuel Vadot			vccio_wl: vcc_18: REG11 {
331*f126890aSEmmanuel Vadot				regulator-name = "vcc_18";
332*f126890aSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
333*f126890aSEmmanuel Vadot				regulator-max-microvolt = <1800000>;
334*f126890aSEmmanuel Vadot				regulator-always-on;
335*f126890aSEmmanuel Vadot			};
336*f126890aSEmmanuel Vadot
337*f126890aSEmmanuel Vadot			vcc18_lcd: REG12 {
338*f126890aSEmmanuel Vadot				regulator-name = "vcc18_lcd";
339*f126890aSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
340*f126890aSEmmanuel Vadot				regulator-max-microvolt = <1800000>;
341*f126890aSEmmanuel Vadot				regulator-always-on;
342*f126890aSEmmanuel Vadot			};
343*f126890aSEmmanuel Vadot		};
344*f126890aSEmmanuel Vadot	};
345*f126890aSEmmanuel Vadot};
346*f126890aSEmmanuel Vadot
347*f126890aSEmmanuel Vadot&i2c1 {
348*f126890aSEmmanuel Vadot	status = "okay";
349*f126890aSEmmanuel Vadot};
350*f126890aSEmmanuel Vadot
351*f126890aSEmmanuel Vadot&i2c2 {
352*f126890aSEmmanuel Vadot	status = "okay";
353*f126890aSEmmanuel Vadot};
354*f126890aSEmmanuel Vadot
355*f126890aSEmmanuel Vadot&i2c4 {
356*f126890aSEmmanuel Vadot	status = "okay";
357*f126890aSEmmanuel Vadot};
358*f126890aSEmmanuel Vadot
359*f126890aSEmmanuel Vadot&i2c5 {
360*f126890aSEmmanuel Vadot	status = "okay";
361*f126890aSEmmanuel Vadot};
362*f126890aSEmmanuel Vadot
363*f126890aSEmmanuel Vadot&io_domains {
364*f126890aSEmmanuel Vadot	status = "okay";
365*f126890aSEmmanuel Vadot
366*f126890aSEmmanuel Vadot	audio-supply = <&vcca_33>;
367*f126890aSEmmanuel Vadot	bb-supply = <&vcc_io>;
368*f126890aSEmmanuel Vadot	dvp-supply = <&dovdd_1v8>;
369*f126890aSEmmanuel Vadot	flash0-supply = <&vcc_flash>;
370*f126890aSEmmanuel Vadot	flash1-supply = <&vcc_lan>;
371*f126890aSEmmanuel Vadot	gpio30-supply = <&vcc_io>;
372*f126890aSEmmanuel Vadot	gpio1830-supply = <&vcc_io>;
373*f126890aSEmmanuel Vadot	lcdc-supply = <&vcc_io>;
374*f126890aSEmmanuel Vadot	sdcard-supply = <&vccio_sd>;
375*f126890aSEmmanuel Vadot	wifi-supply = <&vccio_wl>;
376*f126890aSEmmanuel Vadot};
377*f126890aSEmmanuel Vadot
378*f126890aSEmmanuel Vadot&pinctrl {
379*f126890aSEmmanuel Vadot	pcfg_output_high: pcfg-output-high {
380*f126890aSEmmanuel Vadot		output-high;
381*f126890aSEmmanuel Vadot	};
382*f126890aSEmmanuel Vadot
383*f126890aSEmmanuel Vadot	pcfg_output_low: pcfg-output-low {
384*f126890aSEmmanuel Vadot		output-low;
385*f126890aSEmmanuel Vadot	};
386*f126890aSEmmanuel Vadot
387*f126890aSEmmanuel Vadot	pcfg_pull_up_drv_12ma: pcfg-pull-up-drv-12ma {
388*f126890aSEmmanuel Vadot		bias-pull-up;
389*f126890aSEmmanuel Vadot		drive-strength = <12>;
390*f126890aSEmmanuel Vadot	};
391*f126890aSEmmanuel Vadot
392*f126890aSEmmanuel Vadot	act8846 {
393*f126890aSEmmanuel Vadot		pwr_hold: pwr-hold {
394*f126890aSEmmanuel Vadot			rockchip,pins = <0 RK_PA1 RK_FUNC_GPIO &pcfg_output_high>;
395*f126890aSEmmanuel Vadot		};
396*f126890aSEmmanuel Vadot	};
397*f126890aSEmmanuel Vadot
398*f126890aSEmmanuel Vadot	dvp {
399*f126890aSEmmanuel Vadot		dvp_pwr: dvp-pwr {
400*f126890aSEmmanuel Vadot			rockchip,pins = <0 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
401*f126890aSEmmanuel Vadot		};
402*f126890aSEmmanuel Vadot	};
403*f126890aSEmmanuel Vadot
404*f126890aSEmmanuel Vadot	gmac {
405*f126890aSEmmanuel Vadot		phy_int: phy-int {
406*f126890aSEmmanuel Vadot			rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_up>;
407*f126890aSEmmanuel Vadot		};
408*f126890aSEmmanuel Vadot
409*f126890aSEmmanuel Vadot		phy_pmeb: phy-pmeb {
410*f126890aSEmmanuel Vadot			rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_up>;
411*f126890aSEmmanuel Vadot		};
412*f126890aSEmmanuel Vadot
413*f126890aSEmmanuel Vadot		phy_rst: phy-rst {
414*f126890aSEmmanuel Vadot			rockchip,pins = <4 RK_PB0 RK_FUNC_GPIO &pcfg_output_high>;
415*f126890aSEmmanuel Vadot		};
416*f126890aSEmmanuel Vadot	};
417*f126890aSEmmanuel Vadot
418*f126890aSEmmanuel Vadot	hym8563 {
419*f126890aSEmmanuel Vadot		rtc_int: rtc-int {
420*f126890aSEmmanuel Vadot			rockchip,pins = <7 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>;
421*f126890aSEmmanuel Vadot		};
422*f126890aSEmmanuel Vadot	};
423*f126890aSEmmanuel Vadot
424*f126890aSEmmanuel Vadot	keys {
425*f126890aSEmmanuel Vadot		pwr_key: pwr-key {
426*f126890aSEmmanuel Vadot			rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>;
427*f126890aSEmmanuel Vadot		};
428*f126890aSEmmanuel Vadot	};
429*f126890aSEmmanuel Vadot
430*f126890aSEmmanuel Vadot	leds {
431*f126890aSEmmanuel Vadot		power_led_pin: power-led-pin {
432*f126890aSEmmanuel Vadot			rockchip,pins = <8 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
433*f126890aSEmmanuel Vadot		};
434*f126890aSEmmanuel Vadot
435*f126890aSEmmanuel Vadot		work_led_pin: work-led-pin {
436*f126890aSEmmanuel Vadot			rockchip,pins = <8 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>;
437*f126890aSEmmanuel Vadot		};
438*f126890aSEmmanuel Vadot	};
439*f126890aSEmmanuel Vadot
440*f126890aSEmmanuel Vadot	sdmmc {
441*f126890aSEmmanuel Vadot		/*
442*f126890aSEmmanuel Vadot		 * Default drive strength isn't enough to achieve even
443*f126890aSEmmanuel Vadot		 * high-speed mode on firefly board so bump up to 12ma.
444*f126890aSEmmanuel Vadot		 */
445*f126890aSEmmanuel Vadot		sdmmc_bus4: sdmmc-bus4 {
446*f126890aSEmmanuel Vadot			rockchip,pins = <6 RK_PC0 1 &pcfg_pull_up_drv_12ma>,
447*f126890aSEmmanuel Vadot					<6 RK_PC1 1 &pcfg_pull_up_drv_12ma>,
448*f126890aSEmmanuel Vadot					<6 RK_PC2 1 &pcfg_pull_up_drv_12ma>,
449*f126890aSEmmanuel Vadot					<6 RK_PC3 1 &pcfg_pull_up_drv_12ma>;
450*f126890aSEmmanuel Vadot		};
451*f126890aSEmmanuel Vadot
452*f126890aSEmmanuel Vadot		sdmmc_clk: sdmmc-clk {
453*f126890aSEmmanuel Vadot			rockchip,pins = <6 RK_PC4 1 &pcfg_pull_none_12ma>;
454*f126890aSEmmanuel Vadot		};
455*f126890aSEmmanuel Vadot
456*f126890aSEmmanuel Vadot		sdmmc_cmd: sdmmc-cmd {
457*f126890aSEmmanuel Vadot			rockchip,pins = <6 RK_PC5 1 &pcfg_pull_up_drv_12ma>;
458*f126890aSEmmanuel Vadot		};
459*f126890aSEmmanuel Vadot
460*f126890aSEmmanuel Vadot		sdmmc_pwr: sdmmc-pwr {
461*f126890aSEmmanuel Vadot			rockchip,pins = <7 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
462*f126890aSEmmanuel Vadot		};
463*f126890aSEmmanuel Vadot	};
464*f126890aSEmmanuel Vadot
465*f126890aSEmmanuel Vadot	usb_host {
466*f126890aSEmmanuel Vadot		host_vbus_drv: host-vbus-drv {
467*f126890aSEmmanuel Vadot			rockchip,pins = <0 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>;
468*f126890aSEmmanuel Vadot		};
469*f126890aSEmmanuel Vadot
470*f126890aSEmmanuel Vadot		usbhub_rst: usbhub-rst {
471*f126890aSEmmanuel Vadot			rockchip,pins = <8 RK_PA3 RK_FUNC_GPIO &pcfg_output_high>;
472*f126890aSEmmanuel Vadot		};
473*f126890aSEmmanuel Vadot	};
474*f126890aSEmmanuel Vadot
475*f126890aSEmmanuel Vadot	usb_otg {
476*f126890aSEmmanuel Vadot		otg_vbus_drv: otg-vbus-drv {
477*f126890aSEmmanuel Vadot			rockchip,pins = <0 RK_PB4 RK_FUNC_GPIO &pcfg_pull_none>;
478*f126890aSEmmanuel Vadot		};
479*f126890aSEmmanuel Vadot	};
480*f126890aSEmmanuel Vadot};
481*f126890aSEmmanuel Vadot
482*f126890aSEmmanuel Vadot&saradc {
483*f126890aSEmmanuel Vadot	vref-supply = <&vcc_18>;
484*f126890aSEmmanuel Vadot	status = "okay";
485*f126890aSEmmanuel Vadot};
486*f126890aSEmmanuel Vadot
487*f126890aSEmmanuel Vadot&sdio0 {
488*f126890aSEmmanuel Vadot	bus-width = <4>;
489*f126890aSEmmanuel Vadot	disable-wp;
490*f126890aSEmmanuel Vadot	non-removable;
491*f126890aSEmmanuel Vadot	pinctrl-names = "default";
492*f126890aSEmmanuel Vadot	pinctrl-0 = <&sdio0_bus4>, <&sdio0_cmd>, <&sdio0_clk>;
493*f126890aSEmmanuel Vadot	vmmc-supply = <&vbat_wl>;
494*f126890aSEmmanuel Vadot	vqmmc-supply = <&vccio_wl>;
495*f126890aSEmmanuel Vadot	status = "okay";
496*f126890aSEmmanuel Vadot};
497*f126890aSEmmanuel Vadot
498*f126890aSEmmanuel Vadot&sdmmc {
499*f126890aSEmmanuel Vadot	bus-width = <4>;
500*f126890aSEmmanuel Vadot	cap-mmc-highspeed;
501*f126890aSEmmanuel Vadot	cap-sd-highspeed;
502*f126890aSEmmanuel Vadot	card-detect-delay = <200>;
503*f126890aSEmmanuel Vadot	disable-wp;
504*f126890aSEmmanuel Vadot	pinctrl-names = "default";
505*f126890aSEmmanuel Vadot	pinctrl-0 = <&sdmmc_clk>, <&sdmmc_cmd>, <&sdmmc_cd>, <&sdmmc_bus4>;
506*f126890aSEmmanuel Vadot	vmmc-supply = <&vcc_sd>;
507*f126890aSEmmanuel Vadot	vqmmc-supply = <&vccio_sd>;
508*f126890aSEmmanuel Vadot	status = "okay";
509*f126890aSEmmanuel Vadot};
510*f126890aSEmmanuel Vadot
511*f126890aSEmmanuel Vadot&spi0 {
512*f126890aSEmmanuel Vadot	pinctrl-names = "default";
513*f126890aSEmmanuel Vadot	pinctrl-0 = <&spi0_clk>, <&spi0_cs0>, <&spi0_tx>, <&spi0_rx>, <&spi0_cs1>;
514*f126890aSEmmanuel Vadot	status = "okay";
515*f126890aSEmmanuel Vadot};
516*f126890aSEmmanuel Vadot
517*f126890aSEmmanuel Vadot&tsadc {
518*f126890aSEmmanuel Vadot	rockchip,hw-tshut-mode = <0>;
519*f126890aSEmmanuel Vadot	rockchip,hw-tshut-polarity = <0>;
520*f126890aSEmmanuel Vadot	status = "okay";
521*f126890aSEmmanuel Vadot};
522*f126890aSEmmanuel Vadot
523*f126890aSEmmanuel Vadot&uart0 {
524*f126890aSEmmanuel Vadot	pinctrl-names = "default";
525*f126890aSEmmanuel Vadot	pinctrl-0 = <&uart0_xfer>, <&uart0_cts>, <&uart0_rts>;
526*f126890aSEmmanuel Vadot	status = "okay";
527*f126890aSEmmanuel Vadot};
528*f126890aSEmmanuel Vadot
529*f126890aSEmmanuel Vadot&uart1 {
530*f126890aSEmmanuel Vadot	status = "okay";
531*f126890aSEmmanuel Vadot};
532*f126890aSEmmanuel Vadot
533*f126890aSEmmanuel Vadot&uart2 {
534*f126890aSEmmanuel Vadot	status = "okay";
535*f126890aSEmmanuel Vadot};
536*f126890aSEmmanuel Vadot
537*f126890aSEmmanuel Vadot&uart3 {
538*f126890aSEmmanuel Vadot	status = "okay";
539*f126890aSEmmanuel Vadot};
540*f126890aSEmmanuel Vadot
541*f126890aSEmmanuel Vadot&usbphy {
542*f126890aSEmmanuel Vadot	status = "okay";
543*f126890aSEmmanuel Vadot};
544*f126890aSEmmanuel Vadot
545*f126890aSEmmanuel Vadot&usb_host1 {
546*f126890aSEmmanuel Vadot	pinctrl-names = "default";
547*f126890aSEmmanuel Vadot	pinctrl-0 = <&usbhub_rst>;
548*f126890aSEmmanuel Vadot	status = "okay";
549*f126890aSEmmanuel Vadot};
550*f126890aSEmmanuel Vadot
551*f126890aSEmmanuel Vadot&usb_otg {
552*f126890aSEmmanuel Vadot	status = "okay";
553*f126890aSEmmanuel Vadot};
554*f126890aSEmmanuel Vadot
555*f126890aSEmmanuel Vadot&vopb {
556*f126890aSEmmanuel Vadot	status = "okay";
557*f126890aSEmmanuel Vadot};
558*f126890aSEmmanuel Vadot
559*f126890aSEmmanuel Vadot&vopb_mmu {
560*f126890aSEmmanuel Vadot	status = "okay";
561*f126890aSEmmanuel Vadot};
562*f126890aSEmmanuel Vadot
563*f126890aSEmmanuel Vadot&vopl {
564*f126890aSEmmanuel Vadot	status = "okay";
565*f126890aSEmmanuel Vadot};
566*f126890aSEmmanuel Vadot
567*f126890aSEmmanuel Vadot&vopl_mmu {
568*f126890aSEmmanuel Vadot	status = "okay";
569*f126890aSEmmanuel Vadot};
570*f126890aSEmmanuel Vadot
571*f126890aSEmmanuel Vadot&wdt {
572*f126890aSEmmanuel Vadot	status = "okay";
573*f126890aSEmmanuel Vadot};
574