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