xref: /freebsd-src/sys/contrib/device-tree/src/arm/rockchip/rk3288-tinker.dtsi (revision f126890ac5386406dadf7c4cfa9566cbb56537c5)
1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2*f126890aSEmmanuel Vadot/*
3*f126890aSEmmanuel Vadot * Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd.
4*f126890aSEmmanuel Vadot */
5*f126890aSEmmanuel Vadot
6*f126890aSEmmanuel Vadot#include "rk3288.dtsi"
7*f126890aSEmmanuel Vadot#include <dt-bindings/input/input.h>
8*f126890aSEmmanuel Vadot#include <dt-bindings/clock/rockchip,rk808.h>
9*f126890aSEmmanuel Vadot
10*f126890aSEmmanuel Vadot/ {
11*f126890aSEmmanuel Vadot	chosen {
12*f126890aSEmmanuel Vadot		stdout-path = "serial2:115200n8";
13*f126890aSEmmanuel Vadot	};
14*f126890aSEmmanuel Vadot
15*f126890aSEmmanuel Vadot	memory {
16*f126890aSEmmanuel Vadot		reg = <0x0 0x0 0x0 0x80000000>;
17*f126890aSEmmanuel Vadot		device_type = "memory";
18*f126890aSEmmanuel Vadot	};
19*f126890aSEmmanuel Vadot
20*f126890aSEmmanuel Vadot	ext_gmac: external-gmac-clock {
21*f126890aSEmmanuel Vadot		compatible = "fixed-clock";
22*f126890aSEmmanuel Vadot		#clock-cells = <0>;
23*f126890aSEmmanuel Vadot		clock-frequency = <125000000>;
24*f126890aSEmmanuel Vadot		clock-output-names = "ext_gmac";
25*f126890aSEmmanuel Vadot	};
26*f126890aSEmmanuel Vadot
27*f126890aSEmmanuel Vadot	gpio-keys {
28*f126890aSEmmanuel Vadot		compatible = "gpio-keys";
29*f126890aSEmmanuel Vadot		autorepeat;
30*f126890aSEmmanuel Vadot
31*f126890aSEmmanuel Vadot		pinctrl-names = "default";
32*f126890aSEmmanuel Vadot		pinctrl-0 = <&pwrbtn>;
33*f126890aSEmmanuel Vadot
34*f126890aSEmmanuel Vadot		button {
35*f126890aSEmmanuel Vadot			gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>;
36*f126890aSEmmanuel Vadot			linux,code = <KEY_POWER>;
37*f126890aSEmmanuel Vadot			label = "GPIO Key Power";
38*f126890aSEmmanuel Vadot			linux,input-type = <1>;
39*f126890aSEmmanuel Vadot			wakeup-source;
40*f126890aSEmmanuel Vadot			debounce-interval = <100>;
41*f126890aSEmmanuel Vadot		};
42*f126890aSEmmanuel Vadot	};
43*f126890aSEmmanuel Vadot
44*f126890aSEmmanuel Vadot	gpio-leds {
45*f126890aSEmmanuel Vadot		compatible = "gpio-leds";
46*f126890aSEmmanuel Vadot
47*f126890aSEmmanuel Vadot		act_led: led-0 {
48*f126890aSEmmanuel Vadot			gpios = <&gpio1 RK_PD0 GPIO_ACTIVE_HIGH>;
49*f126890aSEmmanuel Vadot			linux,default-trigger = "mmc0";
50*f126890aSEmmanuel Vadot		};
51*f126890aSEmmanuel Vadot
52*f126890aSEmmanuel Vadot		heartbeat_led: led-1 {
53*f126890aSEmmanuel Vadot			gpios = <&gpio1 RK_PD1 GPIO_ACTIVE_HIGH>;
54*f126890aSEmmanuel Vadot			linux,default-trigger = "heartbeat";
55*f126890aSEmmanuel Vadot		};
56*f126890aSEmmanuel Vadot
57*f126890aSEmmanuel Vadot		pwr_led: led-2 {
58*f126890aSEmmanuel Vadot			gpios = <&gpio0 RK_PA3 GPIO_ACTIVE_HIGH>;
59*f126890aSEmmanuel Vadot			linux,default-trigger = "default-on";
60*f126890aSEmmanuel Vadot		};
61*f126890aSEmmanuel Vadot	};
62*f126890aSEmmanuel Vadot
63*f126890aSEmmanuel Vadot	sdio_pwrseq: sdio-pwrseq {
64*f126890aSEmmanuel Vadot		compatible = "mmc-pwrseq-simple";
65*f126890aSEmmanuel Vadot		clocks = <&rk808 RK808_CLKOUT1>;
66*f126890aSEmmanuel Vadot		clock-names = "ext_clock";
67*f126890aSEmmanuel Vadot		pinctrl-names = "default";
68*f126890aSEmmanuel Vadot		pinctrl-0 = <&wifi_enable>;
69*f126890aSEmmanuel Vadot		reset-gpios = <&gpio4 RK_PD3 GPIO_ACTIVE_LOW>,
70*f126890aSEmmanuel Vadot			<&gpio4 RK_PD4 GPIO_ACTIVE_LOW>;
71*f126890aSEmmanuel Vadot	};
72*f126890aSEmmanuel Vadot
73*f126890aSEmmanuel Vadot	sound {
74*f126890aSEmmanuel Vadot		compatible = "simple-audio-card";
75*f126890aSEmmanuel Vadot		simple-audio-card,format = "i2s";
76*f126890aSEmmanuel Vadot		simple-audio-card,name = "rockchip,tinker-codec";
77*f126890aSEmmanuel Vadot		simple-audio-card,mclk-fs = <512>;
78*f126890aSEmmanuel Vadot
79*f126890aSEmmanuel Vadot		simple-audio-card,codec {
80*f126890aSEmmanuel Vadot			sound-dai = <&hdmi>;
81*f126890aSEmmanuel Vadot		};
82*f126890aSEmmanuel Vadot
83*f126890aSEmmanuel Vadot		simple-audio-card,cpu {
84*f126890aSEmmanuel Vadot			sound-dai = <&i2s>;
85*f126890aSEmmanuel Vadot		};
86*f126890aSEmmanuel Vadot	};
87*f126890aSEmmanuel Vadot
88*f126890aSEmmanuel Vadot	vcc_sys: vsys-regulator {
89*f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
90*f126890aSEmmanuel Vadot		regulator-name = "vcc_sys";
91*f126890aSEmmanuel Vadot		regulator-min-microvolt = <5000000>;
92*f126890aSEmmanuel Vadot		regulator-max-microvolt = <5000000>;
93*f126890aSEmmanuel Vadot		regulator-always-on;
94*f126890aSEmmanuel Vadot		regulator-boot-on;
95*f126890aSEmmanuel Vadot	};
96*f126890aSEmmanuel Vadot
97*f126890aSEmmanuel Vadot	vcc_sd: sdmmc-regulator {
98*f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
99*f126890aSEmmanuel Vadot		gpio = <&gpio7 11 GPIO_ACTIVE_LOW>;
100*f126890aSEmmanuel Vadot		pinctrl-names = "default";
101*f126890aSEmmanuel Vadot		pinctrl-0 = <&sdmmc_pwr>;
102*f126890aSEmmanuel Vadot		regulator-name = "vcc_sd";
103*f126890aSEmmanuel Vadot		regulator-min-microvolt = <3300000>;
104*f126890aSEmmanuel Vadot		regulator-max-microvolt = <3300000>;
105*f126890aSEmmanuel Vadot		startup-delay-us = <100000>;
106*f126890aSEmmanuel Vadot		vin-supply = <&vcc_io>;
107*f126890aSEmmanuel Vadot	};
108*f126890aSEmmanuel Vadot};
109*f126890aSEmmanuel Vadot
110*f126890aSEmmanuel Vadot&cpu0 {
111*f126890aSEmmanuel Vadot	cpu0-supply = <&vdd_cpu>;
112*f126890aSEmmanuel Vadot};
113*f126890aSEmmanuel Vadot
114*f126890aSEmmanuel Vadot&cpu_opp_table {
115*f126890aSEmmanuel Vadot	opp-1704000000 {
116*f126890aSEmmanuel Vadot		opp-hz = /bits/ 64 <1704000000>;
117*f126890aSEmmanuel Vadot		opp-microvolt = <1350000>;
118*f126890aSEmmanuel Vadot	};
119*f126890aSEmmanuel Vadot	opp-1800000000 {
120*f126890aSEmmanuel Vadot		opp-hz = /bits/ 64 <1800000000>;
121*f126890aSEmmanuel Vadot		opp-microvolt = <1400000>;
122*f126890aSEmmanuel Vadot	};
123*f126890aSEmmanuel Vadot};
124*f126890aSEmmanuel Vadot
125*f126890aSEmmanuel Vadot&gmac {
126*f126890aSEmmanuel Vadot	assigned-clocks = <&cru SCLK_MAC>;
127*f126890aSEmmanuel Vadot	assigned-clock-parents = <&ext_gmac>;
128*f126890aSEmmanuel Vadot	clock_in_out = "input";
129*f126890aSEmmanuel Vadot	phy-mode = "rgmii";
130*f126890aSEmmanuel Vadot	phy-supply = <&vcc33_lan>;
131*f126890aSEmmanuel Vadot	pinctrl-names = "default";
132*f126890aSEmmanuel Vadot	pinctrl-0 = <&rgmii_pins>;
133*f126890aSEmmanuel Vadot	snps,reset-gpio = <&gpio4 7 0>;
134*f126890aSEmmanuel Vadot	snps,reset-active-low;
135*f126890aSEmmanuel Vadot	snps,reset-delays-us = <0 10000 1000000>;
136*f126890aSEmmanuel Vadot	tx_delay = <0x30>;
137*f126890aSEmmanuel Vadot	rx_delay = <0x10>;
138*f126890aSEmmanuel Vadot	status = "okay";
139*f126890aSEmmanuel Vadot};
140*f126890aSEmmanuel Vadot
141*f126890aSEmmanuel Vadot&gpu {
142*f126890aSEmmanuel Vadot	mali-supply = <&vdd_gpu>;
143*f126890aSEmmanuel Vadot	status = "okay";
144*f126890aSEmmanuel Vadot};
145*f126890aSEmmanuel Vadot
146*f126890aSEmmanuel Vadot&hdmi {
147*f126890aSEmmanuel Vadot	ddc-i2c-bus = <&i2c5>;
148*f126890aSEmmanuel Vadot	status = "okay";
149*f126890aSEmmanuel Vadot};
150*f126890aSEmmanuel Vadot
151*f126890aSEmmanuel Vadot&i2c0 {
152*f126890aSEmmanuel Vadot	clock-frequency = <400000>;
153*f126890aSEmmanuel Vadot	status = "okay";
154*f126890aSEmmanuel Vadot
155*f126890aSEmmanuel Vadot	rk808: pmic@1b {
156*f126890aSEmmanuel Vadot		compatible = "rockchip,rk808";
157*f126890aSEmmanuel Vadot		reg = <0x1b>;
158*f126890aSEmmanuel Vadot		interrupt-parent = <&gpio0>;
159*f126890aSEmmanuel Vadot		interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
160*f126890aSEmmanuel Vadot		#clock-cells = <1>;
161*f126890aSEmmanuel Vadot		clock-output-names = "xin32k", "rk808-clkout2";
162*f126890aSEmmanuel Vadot		dvs-gpios = <&gpio0 11 GPIO_ACTIVE_HIGH>,
163*f126890aSEmmanuel Vadot				<&gpio0 12 GPIO_ACTIVE_HIGH>;
164*f126890aSEmmanuel Vadot		pinctrl-names = "default";
165*f126890aSEmmanuel Vadot		pinctrl-0 = <&pmic_int &global_pwroff &dvs_1 &dvs_2>;
166*f126890aSEmmanuel Vadot		rockchip,system-power-controller;
167*f126890aSEmmanuel Vadot		wakeup-source;
168*f126890aSEmmanuel Vadot
169*f126890aSEmmanuel Vadot		vcc1-supply = <&vcc_sys>;
170*f126890aSEmmanuel Vadot		vcc2-supply = <&vcc_sys>;
171*f126890aSEmmanuel Vadot		vcc3-supply = <&vcc_sys>;
172*f126890aSEmmanuel Vadot		vcc4-supply = <&vcc_sys>;
173*f126890aSEmmanuel Vadot		vcc6-supply = <&vcc_sys>;
174*f126890aSEmmanuel Vadot		vcc7-supply = <&vcc_sys>;
175*f126890aSEmmanuel Vadot		vcc8-supply = <&vcc_io>;
176*f126890aSEmmanuel Vadot		vcc9-supply = <&vcc_io>;
177*f126890aSEmmanuel Vadot		vcc10-supply = <&vcc_io>;
178*f126890aSEmmanuel Vadot		vcc11-supply = <&vcc_sys>;
179*f126890aSEmmanuel Vadot		vcc12-supply = <&vcc_io>;
180*f126890aSEmmanuel Vadot		vddio-supply = <&vcc_io>;
181*f126890aSEmmanuel Vadot
182*f126890aSEmmanuel Vadot		regulators {
183*f126890aSEmmanuel Vadot			vdd_cpu: DCDC_REG1 {
184*f126890aSEmmanuel Vadot				regulator-always-on;
185*f126890aSEmmanuel Vadot				regulator-boot-on;
186*f126890aSEmmanuel Vadot				regulator-min-microvolt = <750000>;
187*f126890aSEmmanuel Vadot				regulator-max-microvolt = <1400000>;
188*f126890aSEmmanuel Vadot				regulator-name = "vdd_arm";
189*f126890aSEmmanuel Vadot				regulator-ramp-delay = <6000>;
190*f126890aSEmmanuel Vadot				regulator-state-mem {
191*f126890aSEmmanuel Vadot					regulator-off-in-suspend;
192*f126890aSEmmanuel Vadot				};
193*f126890aSEmmanuel Vadot			};
194*f126890aSEmmanuel Vadot
195*f126890aSEmmanuel Vadot			vdd_gpu: DCDC_REG2 {
196*f126890aSEmmanuel Vadot				regulator-always-on;
197*f126890aSEmmanuel Vadot				regulator-boot-on;
198*f126890aSEmmanuel Vadot				regulator-min-microvolt = <850000>;
199*f126890aSEmmanuel Vadot				regulator-max-microvolt = <1250000>;
200*f126890aSEmmanuel Vadot				regulator-name = "vdd_gpu";
201*f126890aSEmmanuel Vadot				regulator-ramp-delay = <6000>;
202*f126890aSEmmanuel Vadot				regulator-state-mem {
203*f126890aSEmmanuel Vadot					regulator-on-in-suspend;
204*f126890aSEmmanuel Vadot					regulator-suspend-microvolt = <1000000>;
205*f126890aSEmmanuel Vadot				};
206*f126890aSEmmanuel Vadot			};
207*f126890aSEmmanuel Vadot
208*f126890aSEmmanuel Vadot			vcc_ddr: DCDC_REG3 {
209*f126890aSEmmanuel Vadot				regulator-always-on;
210*f126890aSEmmanuel Vadot				regulator-boot-on;
211*f126890aSEmmanuel Vadot				regulator-name = "vcc_ddr";
212*f126890aSEmmanuel Vadot				regulator-state-mem {
213*f126890aSEmmanuel Vadot					regulator-on-in-suspend;
214*f126890aSEmmanuel Vadot				};
215*f126890aSEmmanuel Vadot			};
216*f126890aSEmmanuel Vadot
217*f126890aSEmmanuel Vadot			vcc_io: DCDC_REG4 {
218*f126890aSEmmanuel Vadot				regulator-always-on;
219*f126890aSEmmanuel Vadot				regulator-boot-on;
220*f126890aSEmmanuel Vadot				regulator-min-microvolt = <3300000>;
221*f126890aSEmmanuel Vadot				regulator-max-microvolt = <3300000>;
222*f126890aSEmmanuel Vadot				regulator-name = "vcc_io";
223*f126890aSEmmanuel Vadot				regulator-state-mem {
224*f126890aSEmmanuel Vadot					regulator-on-in-suspend;
225*f126890aSEmmanuel Vadot					regulator-suspend-microvolt = <3300000>;
226*f126890aSEmmanuel Vadot				};
227*f126890aSEmmanuel Vadot			};
228*f126890aSEmmanuel Vadot
229*f126890aSEmmanuel Vadot			vcc18_ldo1: LDO_REG1 {
230*f126890aSEmmanuel Vadot				regulator-always-on;
231*f126890aSEmmanuel Vadot				regulator-boot-on;
232*f126890aSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
233*f126890aSEmmanuel Vadot				regulator-max-microvolt = <1800000>;
234*f126890aSEmmanuel Vadot				regulator-name = "vcc18_ldo1";
235*f126890aSEmmanuel Vadot				regulator-state-mem {
236*f126890aSEmmanuel Vadot					regulator-on-in-suspend;
237*f126890aSEmmanuel Vadot					regulator-suspend-microvolt = <1800000>;
238*f126890aSEmmanuel Vadot				};
239*f126890aSEmmanuel Vadot			};
240*f126890aSEmmanuel Vadot
241*f126890aSEmmanuel Vadot			vcc33_mipi: LDO_REG2 {
242*f126890aSEmmanuel Vadot				regulator-always-on;
243*f126890aSEmmanuel Vadot				regulator-boot-on;
244*f126890aSEmmanuel Vadot				regulator-min-microvolt = <3300000>;
245*f126890aSEmmanuel Vadot				regulator-max-microvolt = <3300000>;
246*f126890aSEmmanuel Vadot				regulator-name = "vcc33_mipi";
247*f126890aSEmmanuel Vadot				regulator-state-mem {
248*f126890aSEmmanuel Vadot					regulator-off-in-suspend;
249*f126890aSEmmanuel Vadot				};
250*f126890aSEmmanuel Vadot			};
251*f126890aSEmmanuel Vadot
252*f126890aSEmmanuel Vadot			vdd_10: LDO_REG3 {
253*f126890aSEmmanuel Vadot				regulator-always-on;
254*f126890aSEmmanuel Vadot				regulator-boot-on;
255*f126890aSEmmanuel Vadot				regulator-min-microvolt = <1000000>;
256*f126890aSEmmanuel Vadot				regulator-max-microvolt = <1000000>;
257*f126890aSEmmanuel Vadot				regulator-name = "vdd_10";
258*f126890aSEmmanuel Vadot				regulator-state-mem {
259*f126890aSEmmanuel Vadot					regulator-on-in-suspend;
260*f126890aSEmmanuel Vadot					regulator-suspend-microvolt = <1000000>;
261*f126890aSEmmanuel Vadot				};
262*f126890aSEmmanuel Vadot			};
263*f126890aSEmmanuel Vadot
264*f126890aSEmmanuel Vadot			vcc18_codec: LDO_REG4 {
265*f126890aSEmmanuel Vadot				regulator-always-on;
266*f126890aSEmmanuel Vadot				regulator-boot-on;
267*f126890aSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
268*f126890aSEmmanuel Vadot				regulator-max-microvolt = <1800000>;
269*f126890aSEmmanuel Vadot				regulator-name = "vcc18_codec";
270*f126890aSEmmanuel Vadot				regulator-state-mem {
271*f126890aSEmmanuel Vadot					regulator-on-in-suspend;
272*f126890aSEmmanuel Vadot					regulator-suspend-microvolt = <1800000>;
273*f126890aSEmmanuel Vadot				};
274*f126890aSEmmanuel Vadot			};
275*f126890aSEmmanuel Vadot
276*f126890aSEmmanuel Vadot			vccio_sd: LDO_REG5 {
277*f126890aSEmmanuel Vadot				regulator-always-on;
278*f126890aSEmmanuel Vadot				regulator-boot-on;
279*f126890aSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
280*f126890aSEmmanuel Vadot				regulator-max-microvolt = <3300000>;
281*f126890aSEmmanuel Vadot				regulator-name = "vccio_sd";
282*f126890aSEmmanuel Vadot				regulator-state-mem {
283*f126890aSEmmanuel Vadot					regulator-on-in-suspend;
284*f126890aSEmmanuel Vadot					regulator-suspend-microvolt = <3300000>;
285*f126890aSEmmanuel Vadot				};
286*f126890aSEmmanuel Vadot			};
287*f126890aSEmmanuel Vadot
288*f126890aSEmmanuel Vadot			vdd10_lcd: LDO_REG6 {
289*f126890aSEmmanuel Vadot				regulator-always-on;
290*f126890aSEmmanuel Vadot				regulator-boot-on;
291*f126890aSEmmanuel Vadot				regulator-min-microvolt = <1000000>;
292*f126890aSEmmanuel Vadot				regulator-max-microvolt = <1000000>;
293*f126890aSEmmanuel Vadot				regulator-name = "vdd10_lcd";
294*f126890aSEmmanuel Vadot				regulator-state-mem {
295*f126890aSEmmanuel Vadot					regulator-on-in-suspend;
296*f126890aSEmmanuel Vadot					regulator-suspend-microvolt = <1000000>;
297*f126890aSEmmanuel Vadot				};
298*f126890aSEmmanuel Vadot			};
299*f126890aSEmmanuel Vadot
300*f126890aSEmmanuel Vadot			vcc_18: LDO_REG7 {
301*f126890aSEmmanuel Vadot				regulator-always-on;
302*f126890aSEmmanuel Vadot				regulator-boot-on;
303*f126890aSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
304*f126890aSEmmanuel Vadot				regulator-max-microvolt = <1800000>;
305*f126890aSEmmanuel Vadot				regulator-name = "vcc_18";
306*f126890aSEmmanuel Vadot				regulator-state-mem {
307*f126890aSEmmanuel Vadot					regulator-on-in-suspend;
308*f126890aSEmmanuel Vadot					regulator-suspend-microvolt = <1800000>;
309*f126890aSEmmanuel Vadot				};
310*f126890aSEmmanuel Vadot			};
311*f126890aSEmmanuel Vadot
312*f126890aSEmmanuel Vadot			vcc18_lcd: LDO_REG8 {
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 = "vcc18_lcd";
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			vcc33_sd: SWITCH_REG1 {
325*f126890aSEmmanuel Vadot				regulator-always-on;
326*f126890aSEmmanuel Vadot				regulator-boot-on;
327*f126890aSEmmanuel Vadot				regulator-name = "vcc33_sd";
328*f126890aSEmmanuel Vadot				regulator-state-mem {
329*f126890aSEmmanuel Vadot					regulator-on-in-suspend;
330*f126890aSEmmanuel Vadot				};
331*f126890aSEmmanuel Vadot			};
332*f126890aSEmmanuel Vadot
333*f126890aSEmmanuel Vadot			vcc33_lan: SWITCH_REG2 {
334*f126890aSEmmanuel Vadot				regulator-always-on;
335*f126890aSEmmanuel Vadot				regulator-boot-on;
336*f126890aSEmmanuel Vadot				regulator-name = "vcc33_lan";
337*f126890aSEmmanuel Vadot				regulator-state-mem {
338*f126890aSEmmanuel Vadot					regulator-on-in-suspend;
339*f126890aSEmmanuel Vadot				};
340*f126890aSEmmanuel Vadot			};
341*f126890aSEmmanuel Vadot		};
342*f126890aSEmmanuel Vadot	};
343*f126890aSEmmanuel Vadot};
344*f126890aSEmmanuel Vadot
345*f126890aSEmmanuel Vadot&i2c2 {
346*f126890aSEmmanuel Vadot	status = "okay";
347*f126890aSEmmanuel Vadot};
348*f126890aSEmmanuel Vadot
349*f126890aSEmmanuel Vadot&i2c5 {
350*f126890aSEmmanuel Vadot	status = "okay";
351*f126890aSEmmanuel Vadot};
352*f126890aSEmmanuel Vadot
353*f126890aSEmmanuel Vadot&i2s {
354*f126890aSEmmanuel Vadot	#sound-dai-cells = <0>;
355*f126890aSEmmanuel Vadot	status = "okay";
356*f126890aSEmmanuel Vadot};
357*f126890aSEmmanuel Vadot
358*f126890aSEmmanuel Vadot&io_domains {
359*f126890aSEmmanuel Vadot	status = "okay";
360*f126890aSEmmanuel Vadot
361*f126890aSEmmanuel Vadot	sdcard-supply = <&vccio_sd>;
362*f126890aSEmmanuel Vadot	wifi-supply = <&vcc_18>;
363*f126890aSEmmanuel Vadot};
364*f126890aSEmmanuel Vadot
365*f126890aSEmmanuel Vadot&pinctrl {
366*f126890aSEmmanuel Vadot	pcfg_pull_none_drv_8ma: pcfg-pull-none-drv-8ma {
367*f126890aSEmmanuel Vadot		drive-strength = <8>;
368*f126890aSEmmanuel Vadot	};
369*f126890aSEmmanuel Vadot
370*f126890aSEmmanuel Vadot	pcfg_pull_up_drv_8ma: pcfg-pull-up-drv-8ma {
371*f126890aSEmmanuel Vadot		bias-pull-up;
372*f126890aSEmmanuel Vadot		drive-strength = <8>;
373*f126890aSEmmanuel Vadot	};
374*f126890aSEmmanuel Vadot
375*f126890aSEmmanuel Vadot	backlight {
376*f126890aSEmmanuel Vadot		bl_en: bl-en {
377*f126890aSEmmanuel Vadot			rockchip,pins = <7 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
378*f126890aSEmmanuel Vadot		};
379*f126890aSEmmanuel Vadot	};
380*f126890aSEmmanuel Vadot
381*f126890aSEmmanuel Vadot	buttons {
382*f126890aSEmmanuel Vadot		pwrbtn: pwrbtn {
383*f126890aSEmmanuel Vadot			rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>;
384*f126890aSEmmanuel Vadot		};
385*f126890aSEmmanuel Vadot	};
386*f126890aSEmmanuel Vadot
387*f126890aSEmmanuel Vadot	eth_phy {
388*f126890aSEmmanuel Vadot		eth_phy_pwr: eth-phy-pwr {
389*f126890aSEmmanuel Vadot			rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
390*f126890aSEmmanuel Vadot		};
391*f126890aSEmmanuel Vadot	};
392*f126890aSEmmanuel Vadot
393*f126890aSEmmanuel Vadot	pmic {
394*f126890aSEmmanuel Vadot		pmic_int: pmic-int {
395*f126890aSEmmanuel Vadot			rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>;
396*f126890aSEmmanuel Vadot		};
397*f126890aSEmmanuel Vadot
398*f126890aSEmmanuel Vadot		dvs_1: dvs-1 {
399*f126890aSEmmanuel Vadot			rockchip,pins = <0 RK_PB3 RK_FUNC_GPIO &pcfg_pull_down>;
400*f126890aSEmmanuel Vadot		};
401*f126890aSEmmanuel Vadot
402*f126890aSEmmanuel Vadot		dvs_2: dvs-2 {
403*f126890aSEmmanuel Vadot			rockchip,pins = <0 RK_PB4 RK_FUNC_GPIO &pcfg_pull_down>;
404*f126890aSEmmanuel Vadot		};
405*f126890aSEmmanuel Vadot	};
406*f126890aSEmmanuel Vadot
407*f126890aSEmmanuel Vadot	sdmmc {
408*f126890aSEmmanuel Vadot		sdmmc_bus4: sdmmc-bus4 {
409*f126890aSEmmanuel Vadot			rockchip,pins = <6 RK_PC0 1 &pcfg_pull_up_drv_8ma>,
410*f126890aSEmmanuel Vadot					<6 RK_PC1 1 &pcfg_pull_up_drv_8ma>,
411*f126890aSEmmanuel Vadot					<6 RK_PC2 1 &pcfg_pull_up_drv_8ma>,
412*f126890aSEmmanuel Vadot					<6 RK_PC3 1 &pcfg_pull_up_drv_8ma>;
413*f126890aSEmmanuel Vadot		};
414*f126890aSEmmanuel Vadot
415*f126890aSEmmanuel Vadot		sdmmc_clk: sdmmc-clk {
416*f126890aSEmmanuel Vadot			rockchip,pins = <6 RK_PC4 1 &pcfg_pull_none_drv_8ma>;
417*f126890aSEmmanuel Vadot		};
418*f126890aSEmmanuel Vadot
419*f126890aSEmmanuel Vadot		sdmmc_cmd: sdmmc-cmd {
420*f126890aSEmmanuel Vadot			rockchip,pins = <6 RK_PC5 1 &pcfg_pull_up_drv_8ma>;
421*f126890aSEmmanuel Vadot		};
422*f126890aSEmmanuel Vadot
423*f126890aSEmmanuel Vadot		sdmmc_pwr: sdmmc-pwr {
424*f126890aSEmmanuel Vadot			rockchip,pins = <7 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
425*f126890aSEmmanuel Vadot		};
426*f126890aSEmmanuel Vadot	};
427*f126890aSEmmanuel Vadot
428*f126890aSEmmanuel Vadot	usb {
429*f126890aSEmmanuel Vadot		host_vbus_drv: host-vbus-drv {
430*f126890aSEmmanuel Vadot			rockchip,pins = <0 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>;
431*f126890aSEmmanuel Vadot		};
432*f126890aSEmmanuel Vadot
433*f126890aSEmmanuel Vadot		pwr_3g: pwr-3g {
434*f126890aSEmmanuel Vadot			rockchip,pins = <7 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
435*f126890aSEmmanuel Vadot		};
436*f126890aSEmmanuel Vadot	};
437*f126890aSEmmanuel Vadot
438*f126890aSEmmanuel Vadot	sdio {
439*f126890aSEmmanuel Vadot		wifi_enable: wifi-enable {
440*f126890aSEmmanuel Vadot			rockchip,pins = <4 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>,
441*f126890aSEmmanuel Vadot					<4 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>;
442*f126890aSEmmanuel Vadot		};
443*f126890aSEmmanuel Vadot	};
444*f126890aSEmmanuel Vadot};
445*f126890aSEmmanuel Vadot
446*f126890aSEmmanuel Vadot&pwm0 {
447*f126890aSEmmanuel Vadot	status = "okay";
448*f126890aSEmmanuel Vadot};
449*f126890aSEmmanuel Vadot
450*f126890aSEmmanuel Vadot&saradc {
451*f126890aSEmmanuel Vadot	vref-supply = <&vcc18_ldo1>;
452*f126890aSEmmanuel Vadot	status = "okay";
453*f126890aSEmmanuel Vadot};
454*f126890aSEmmanuel Vadot
455*f126890aSEmmanuel Vadot&sdmmc {
456*f126890aSEmmanuel Vadot	bus-width = <4>;
457*f126890aSEmmanuel Vadot	cap-mmc-highspeed;
458*f126890aSEmmanuel Vadot	cap-sd-highspeed;
459*f126890aSEmmanuel Vadot	broken-cd;
460*f126890aSEmmanuel Vadot	disable-wp;			/* wp not hooked up */
461*f126890aSEmmanuel Vadot	pinctrl-names = "default";
462*f126890aSEmmanuel Vadot	pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>;
463*f126890aSEmmanuel Vadot	status = "okay";
464*f126890aSEmmanuel Vadot	vmmc-supply = <&vcc33_sd>;
465*f126890aSEmmanuel Vadot	vqmmc-supply = <&vccio_sd>;
466*f126890aSEmmanuel Vadot};
467*f126890aSEmmanuel Vadot
468*f126890aSEmmanuel Vadot&sdio0 {
469*f126890aSEmmanuel Vadot	bus-width = <4>;
470*f126890aSEmmanuel Vadot	cap-sd-highspeed;
471*f126890aSEmmanuel Vadot	cap-sdio-irq;
472*f126890aSEmmanuel Vadot	keep-power-in-suspend;
473*f126890aSEmmanuel Vadot	max-frequency = <50000000>;
474*f126890aSEmmanuel Vadot	mmc-pwrseq = <&sdio_pwrseq>;
475*f126890aSEmmanuel Vadot	non-removable;
476*f126890aSEmmanuel Vadot	pinctrl-names = "default";
477*f126890aSEmmanuel Vadot	pinctrl-0 = <&sdio0_bus4>, <&sdio0_cmd>, <&sdio0_clk>, <&sdio0_int>;
478*f126890aSEmmanuel Vadot	sd-uhs-sdr12;
479*f126890aSEmmanuel Vadot	sd-uhs-sdr25;
480*f126890aSEmmanuel Vadot	sd-uhs-sdr50;
481*f126890aSEmmanuel Vadot	vmmc-supply = <&vcc_io>;
482*f126890aSEmmanuel Vadot	vqmmc-supply = <&vcc_18>;
483*f126890aSEmmanuel Vadot	status = "okay";
484*f126890aSEmmanuel Vadot};
485*f126890aSEmmanuel Vadot
486*f126890aSEmmanuel Vadot&tsadc {
487*f126890aSEmmanuel Vadot	rockchip,hw-tshut-mode = <1>; /* tshut mode 0:CRU 1:GPIO */
488*f126890aSEmmanuel Vadot	rockchip,hw-tshut-polarity = <1>; /* tshut polarity 0:LOW 1:HIGH */
489*f126890aSEmmanuel Vadot	status = "okay";
490*f126890aSEmmanuel Vadot};
491*f126890aSEmmanuel Vadot
492*f126890aSEmmanuel Vadot&uart0 {
493*f126890aSEmmanuel Vadot	status = "okay";
494*f126890aSEmmanuel Vadot};
495*f126890aSEmmanuel Vadot
496*f126890aSEmmanuel Vadot&uart1 {
497*f126890aSEmmanuel Vadot	status = "okay";
498*f126890aSEmmanuel Vadot};
499*f126890aSEmmanuel Vadot
500*f126890aSEmmanuel Vadot&uart2 {
501*f126890aSEmmanuel Vadot	status = "okay";
502*f126890aSEmmanuel Vadot};
503*f126890aSEmmanuel Vadot
504*f126890aSEmmanuel Vadot&uart3 {
505*f126890aSEmmanuel Vadot	status = "okay";
506*f126890aSEmmanuel Vadot};
507*f126890aSEmmanuel Vadot
508*f126890aSEmmanuel Vadot&uart4 {
509*f126890aSEmmanuel Vadot	status = "okay";
510*f126890aSEmmanuel Vadot};
511*f126890aSEmmanuel Vadot
512*f126890aSEmmanuel Vadot&usbphy {
513*f126890aSEmmanuel Vadot	status = "okay";
514*f126890aSEmmanuel Vadot};
515*f126890aSEmmanuel Vadot
516*f126890aSEmmanuel Vadot&usb_host0_ehci {
517*f126890aSEmmanuel Vadot	status = "okay";
518*f126890aSEmmanuel Vadot};
519*f126890aSEmmanuel Vadot
520*f126890aSEmmanuel Vadot&usb_host1 {
521*f126890aSEmmanuel Vadot	status = "okay";
522*f126890aSEmmanuel Vadot};
523*f126890aSEmmanuel Vadot
524*f126890aSEmmanuel Vadot&usb_otg {
525*f126890aSEmmanuel Vadot	status = "okay";
526*f126890aSEmmanuel Vadot};
527*f126890aSEmmanuel Vadot
528*f126890aSEmmanuel Vadot&vopb {
529*f126890aSEmmanuel Vadot	status = "okay";
530*f126890aSEmmanuel Vadot};
531*f126890aSEmmanuel Vadot
532*f126890aSEmmanuel Vadot&vopb_mmu {
533*f126890aSEmmanuel Vadot	status = "okay";
534*f126890aSEmmanuel Vadot};
535*f126890aSEmmanuel Vadot
536*f126890aSEmmanuel Vadot&vopl {
537*f126890aSEmmanuel Vadot	status = "okay";
538*f126890aSEmmanuel Vadot};
539*f126890aSEmmanuel Vadot
540*f126890aSEmmanuel Vadot&vopl_mmu {
541*f126890aSEmmanuel Vadot	status = "okay";
542*f126890aSEmmanuel Vadot};
543*f126890aSEmmanuel Vadot
544*f126890aSEmmanuel Vadot&wdt {
545*f126890aSEmmanuel Vadot	status = "okay";
546*f126890aSEmmanuel Vadot};
547