1*8d13bc63SEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2*8d13bc63SEmmanuel Vadot
3*8d13bc63SEmmanuel Vadot/dts-v1/;
4*8d13bc63SEmmanuel Vadot
5*8d13bc63SEmmanuel Vadot#include <dt-bindings/input/input.h>
6*8d13bc63SEmmanuel Vadot#include <dt-bindings/leds/common.h>
7*8d13bc63SEmmanuel Vadot#include "rk3128.dtsi"
8*8d13bc63SEmmanuel Vadot
9*8d13bc63SEmmanuel Vadot/ {
10*8d13bc63SEmmanuel Vadot	model = "Geniatech XPI-3128";
11*8d13bc63SEmmanuel Vadot	compatible = "geniatech,xpi-3128", "rockchip,rk3128";
12*8d13bc63SEmmanuel Vadot
13*8d13bc63SEmmanuel Vadot	aliases {
14*8d13bc63SEmmanuel Vadot		ethernet0 = &gmac;
15*8d13bc63SEmmanuel Vadot		mmc0 = &emmc;
16*8d13bc63SEmmanuel Vadot		mmc1 = &sdmmc;
17*8d13bc63SEmmanuel Vadot	};
18*8d13bc63SEmmanuel Vadot
19*8d13bc63SEmmanuel Vadot	memory@60000000 {
20*8d13bc63SEmmanuel Vadot		device_type = "memory";
21*8d13bc63SEmmanuel Vadot		reg = <0x60000000 0x40000000>;
22*8d13bc63SEmmanuel Vadot	};
23*8d13bc63SEmmanuel Vadot
24*8d13bc63SEmmanuel Vadot	chosen {
25*8d13bc63SEmmanuel Vadot		stdout-path = &uart1;
26*8d13bc63SEmmanuel Vadot	};
27*8d13bc63SEmmanuel Vadot
28*8d13bc63SEmmanuel Vadot	adc-keys {
29*8d13bc63SEmmanuel Vadot		compatible = "adc-keys";
30*8d13bc63SEmmanuel Vadot		io-channels = <&saradc 1>;
31*8d13bc63SEmmanuel Vadot		io-channel-names = "buttons";
32*8d13bc63SEmmanuel Vadot		keyup-threshold-microvolt = <3300000>;
33*8d13bc63SEmmanuel Vadot
34*8d13bc63SEmmanuel Vadot		button-recovery {
35*8d13bc63SEmmanuel Vadot			label = "Recovery";
36*8d13bc63SEmmanuel Vadot			linux,code = <KEY_VENDOR>;
37*8d13bc63SEmmanuel Vadot			press-threshold-microvolt = <0>;
38*8d13bc63SEmmanuel Vadot		};
39*8d13bc63SEmmanuel Vadot	};
40*8d13bc63SEmmanuel Vadot
41*8d13bc63SEmmanuel Vadot	dc_5v: dc-5v-regulator {
42*8d13bc63SEmmanuel Vadot		compatible = "regulator-fixed";
43*8d13bc63SEmmanuel Vadot		regulator-name = "DC_5V";
44*8d13bc63SEmmanuel Vadot		regulator-min-microvolt = <5000000>;
45*8d13bc63SEmmanuel Vadot		regulator-max-microvolt = <5000000>;
46*8d13bc63SEmmanuel Vadot		regulator-always-on;
47*8d13bc63SEmmanuel Vadot		regulator-boot-on;
48*8d13bc63SEmmanuel Vadot	};
49*8d13bc63SEmmanuel Vadot
50*8d13bc63SEmmanuel Vadot	/*
51*8d13bc63SEmmanuel Vadot	 * This is a vbus-supply, which also supplies the GL852G usb hub,
52*8d13bc63SEmmanuel Vadot	 * thus has to be always-on
53*8d13bc63SEmmanuel Vadot	 */
54*8d13bc63SEmmanuel Vadot	host_pwr_5v: host-pwr-5v-regulator {
55*8d13bc63SEmmanuel Vadot		compatible = "regulator-fixed";
56*8d13bc63SEmmanuel Vadot		gpio = <&gpio3 RK_PC4 GPIO_ACTIVE_HIGH>;
57*8d13bc63SEmmanuel Vadot		startup-delay-us = <1500>;
58*8d13bc63SEmmanuel Vadot		regulator-name = "HOST_PWR_5V";
59*8d13bc63SEmmanuel Vadot		regulator-min-microvolt = <5000000>;
60*8d13bc63SEmmanuel Vadot		regulator-max-microvolt = <5000000>;
61*8d13bc63SEmmanuel Vadot		vin-supply = <&dc_5v>;
62*8d13bc63SEmmanuel Vadot		pinctrl-names = "default";
63*8d13bc63SEmmanuel Vadot		pinctrl-0 = <&host_drv>;
64*8d13bc63SEmmanuel Vadot		enable-active-high;
65*8d13bc63SEmmanuel Vadot		regulator-always-on;
66*8d13bc63SEmmanuel Vadot	};
67*8d13bc63SEmmanuel Vadot
68*8d13bc63SEmmanuel Vadot	ir-receiver {
69*8d13bc63SEmmanuel Vadot		compatible = "gpio-ir-receiver";
70*8d13bc63SEmmanuel Vadot		gpios = <&gpio3 RK_PD2 GPIO_ACTIVE_LOW>;
71*8d13bc63SEmmanuel Vadot		pinctrl-names = "default";
72*8d13bc63SEmmanuel Vadot		pinctrl-0 = <&ir_int>;
73*8d13bc63SEmmanuel Vadot	};
74*8d13bc63SEmmanuel Vadot
75*8d13bc63SEmmanuel Vadot	leds {
76*8d13bc63SEmmanuel Vadot		compatible = "gpio-leds";
77*8d13bc63SEmmanuel Vadot
78*8d13bc63SEmmanuel Vadot		led-power {
79*8d13bc63SEmmanuel Vadot			gpios = <&gpio0 RK_PD2 GPIO_ACTIVE_HIGH>;
80*8d13bc63SEmmanuel Vadot			function = LED_FUNCTION_POWER;
81*8d13bc63SEmmanuel Vadot			color = <LED_COLOR_ID_BLUE>;
82*8d13bc63SEmmanuel Vadot			default-state = "on";
83*8d13bc63SEmmanuel Vadot			pinctrl-names = "default";
84*8d13bc63SEmmanuel Vadot			pinctrl-0 = <&power_led>;
85*8d13bc63SEmmanuel Vadot		};
86*8d13bc63SEmmanuel Vadot
87*8d13bc63SEmmanuel Vadot		led-spd {
88*8d13bc63SEmmanuel Vadot			gpios = <&gpio3 RK_PB3 GPIO_ACTIVE_LOW>;
89*8d13bc63SEmmanuel Vadot			function = LED_FUNCTION_LAN;
90*8d13bc63SEmmanuel Vadot			color = <LED_COLOR_ID_GREEN>;
91*8d13bc63SEmmanuel Vadot			/*
92*8d13bc63SEmmanuel Vadot			 * currently not allowed to be set as per
93*8d13bc63SEmmanuel Vadot			 * https://www.kernel.org/doc/Documentation/devicetree/bindings/leds/common.yaml
94*8d13bc63SEmmanuel Vadot			 * and needs to set in userspace:
95*8d13bc63SEmmanuel Vadot			 *
96*8d13bc63SEmmanuel Vadot			 * linux,default-trigger = "netdev";
97*8d13bc63SEmmanuel Vadot			 */
98*8d13bc63SEmmanuel Vadot			pinctrl-names = "default";
99*8d13bc63SEmmanuel Vadot			pinctrl-0 = <&spd_led>;
100*8d13bc63SEmmanuel Vadot		};
101*8d13bc63SEmmanuel Vadot	};
102*8d13bc63SEmmanuel Vadot
103*8d13bc63SEmmanuel Vadot	mcu3v3: mcu3v3-regulator {
104*8d13bc63SEmmanuel Vadot		compatible = "regulator-fixed";
105*8d13bc63SEmmanuel Vadot		regulator-name = "MCU3V3";
106*8d13bc63SEmmanuel Vadot		regulator-min-microvolt = <3300000>;
107*8d13bc63SEmmanuel Vadot		regulator-max-microvolt = <3300000>;
108*8d13bc63SEmmanuel Vadot		vin-supply = <&vcc_io>;
109*8d13bc63SEmmanuel Vadot		regulator-always-on;
110*8d13bc63SEmmanuel Vadot		regulator-boot-on;
111*8d13bc63SEmmanuel Vadot	};
112*8d13bc63SEmmanuel Vadot
113*8d13bc63SEmmanuel Vadot	vcc_ddr: vcc-ddr-regulator {
114*8d13bc63SEmmanuel Vadot		compatible = "regulator-fixed";
115*8d13bc63SEmmanuel Vadot		regulator-name = "VCC_DDR";
116*8d13bc63SEmmanuel Vadot		regulator-min-microvolt = <1500000>;
117*8d13bc63SEmmanuel Vadot		regulator-max-microvolt = <1500000>;
118*8d13bc63SEmmanuel Vadot		vin-supply = <&vcc_sys>;
119*8d13bc63SEmmanuel Vadot		regulator-always-on;
120*8d13bc63SEmmanuel Vadot		regulator-boot-on;
121*8d13bc63SEmmanuel Vadot	};
122*8d13bc63SEmmanuel Vadot
123*8d13bc63SEmmanuel Vadot	vcc_io: vcc-io-regulator {
124*8d13bc63SEmmanuel Vadot		compatible = "regulator-fixed";
125*8d13bc63SEmmanuel Vadot		regulator-name = "VCC_IO";
126*8d13bc63SEmmanuel Vadot		regulator-min-microvolt = <3300000>;
127*8d13bc63SEmmanuel Vadot		regulator-max-microvolt = <3300000>;
128*8d13bc63SEmmanuel Vadot		vin-supply = <&vcc_sys>;
129*8d13bc63SEmmanuel Vadot		regulator-always-on;
130*8d13bc63SEmmanuel Vadot		regulator-boot-on;
131*8d13bc63SEmmanuel Vadot	};
132*8d13bc63SEmmanuel Vadot
133*8d13bc63SEmmanuel Vadot	vcc_lan: vcc-lan-regulator {
134*8d13bc63SEmmanuel Vadot		compatible = "regulator-fixed";
135*8d13bc63SEmmanuel Vadot		regulator-name = "VCC_LAN";
136*8d13bc63SEmmanuel Vadot		regulator-min-microvolt = <3300000>;
137*8d13bc63SEmmanuel Vadot		regulator-max-microvolt = <3300000>;
138*8d13bc63SEmmanuel Vadot		vin-supply = <&vcc_io>;
139*8d13bc63SEmmanuel Vadot		regulator-always-on;
140*8d13bc63SEmmanuel Vadot		regulator-boot-on;
141*8d13bc63SEmmanuel Vadot	};
142*8d13bc63SEmmanuel Vadot
143*8d13bc63SEmmanuel Vadot	vcc_sd: vcc-sd-regulator {
144*8d13bc63SEmmanuel Vadot		compatible = "regulator-fixed";
145*8d13bc63SEmmanuel Vadot		gpio = <&gpio1 RK_PB6 GPIO_ACTIVE_LOW>;
146*8d13bc63SEmmanuel Vadot		startup-delay-us = <500>;
147*8d13bc63SEmmanuel Vadot		regulator-name = "VCC_SD";
148*8d13bc63SEmmanuel Vadot		regulator-min-microvolt = <3300000>;
149*8d13bc63SEmmanuel Vadot		regulator-max-microvolt = <3300000>;
150*8d13bc63SEmmanuel Vadot		vin-supply = <&vcc_io>;
151*8d13bc63SEmmanuel Vadot		pinctrl-names = "default";
152*8d13bc63SEmmanuel Vadot		pinctrl-0 = <&sdmmc_pwren>;
153*8d13bc63SEmmanuel Vadot	};
154*8d13bc63SEmmanuel Vadot
155*8d13bc63SEmmanuel Vadot	vcc_sys: vcc-sys-regulator {
156*8d13bc63SEmmanuel Vadot		compatible = "regulator-fixed";
157*8d13bc63SEmmanuel Vadot		regulator-name = "VCC_SYS";
158*8d13bc63SEmmanuel Vadot		regulator-min-microvolt = <5000000>;
159*8d13bc63SEmmanuel Vadot		regulator-max-microvolt = <5000000>;
160*8d13bc63SEmmanuel Vadot		vin-supply = <&dc_5v>;
161*8d13bc63SEmmanuel Vadot		regulator-always-on;
162*8d13bc63SEmmanuel Vadot		regulator-boot-on;
163*8d13bc63SEmmanuel Vadot	};
164*8d13bc63SEmmanuel Vadot
165*8d13bc63SEmmanuel Vadot	vcc33_hdmi: vcc33-hdmi-regulator {
166*8d13bc63SEmmanuel Vadot		compatible = "regulator-fixed";
167*8d13bc63SEmmanuel Vadot		regulator-name = "VCC33_HDMI";
168*8d13bc63SEmmanuel Vadot		regulator-min-microvolt = <3300000>;
169*8d13bc63SEmmanuel Vadot		regulator-max-microvolt = <3300000>;
170*8d13bc63SEmmanuel Vadot		vin-supply = <&vcca_33>;
171*8d13bc63SEmmanuel Vadot		regulator-always-on;
172*8d13bc63SEmmanuel Vadot		regulator-boot-on;
173*8d13bc63SEmmanuel Vadot	};
174*8d13bc63SEmmanuel Vadot
175*8d13bc63SEmmanuel Vadot	vcca_33: vcca-33-regulator {
176*8d13bc63SEmmanuel Vadot		compatible = "regulator-fixed";
177*8d13bc63SEmmanuel Vadot		regulator-name = "VCCA_33";
178*8d13bc63SEmmanuel Vadot		regulator-min-microvolt = <3300000>;
179*8d13bc63SEmmanuel Vadot		regulator-max-microvolt = <3300000>;
180*8d13bc63SEmmanuel Vadot		vin-supply = <&vcc_sys>;
181*8d13bc63SEmmanuel Vadot		regulator-always-on;
182*8d13bc63SEmmanuel Vadot		regulator-boot-on;
183*8d13bc63SEmmanuel Vadot	};
184*8d13bc63SEmmanuel Vadot
185*8d13bc63SEmmanuel Vadot	vdd_11: vdd-11-regulator {
186*8d13bc63SEmmanuel Vadot		compatible = "regulator-fixed";
187*8d13bc63SEmmanuel Vadot		regulator-name = "VDD_11";
188*8d13bc63SEmmanuel Vadot		regulator-min-microvolt = <1100000>;
189*8d13bc63SEmmanuel Vadot		regulator-max-microvolt = <1100000>;
190*8d13bc63SEmmanuel Vadot		vin-supply = <&vcc_sys>;
191*8d13bc63SEmmanuel Vadot		regulator-always-on;
192*8d13bc63SEmmanuel Vadot		regulator-boot-on;
193*8d13bc63SEmmanuel Vadot	};
194*8d13bc63SEmmanuel Vadot
195*8d13bc63SEmmanuel Vadot	vdd11_hdmi: vdd11-hdmi-regulator {
196*8d13bc63SEmmanuel Vadot		compatible = "regulator-fixed";
197*8d13bc63SEmmanuel Vadot		regulator-name = "VDD11_HDMI";
198*8d13bc63SEmmanuel Vadot		regulator-min-microvolt = <1100000>;
199*8d13bc63SEmmanuel Vadot		regulator-max-microvolt = <1100000>;
200*8d13bc63SEmmanuel Vadot		vin-supply = <&vdd_11>;
201*8d13bc63SEmmanuel Vadot		regulator-always-on;
202*8d13bc63SEmmanuel Vadot		regulator-boot-on;
203*8d13bc63SEmmanuel Vadot	};
204*8d13bc63SEmmanuel Vadot
205*8d13bc63SEmmanuel Vadot	vdd_arm: vdd-arm-regulator {
206*8d13bc63SEmmanuel Vadot		compatible = "pwm-regulator";
207*8d13bc63SEmmanuel Vadot		regulator-name = "VDD_ARM";
208*8d13bc63SEmmanuel Vadot		pwms = <&pwm1 0 25000 1>;
209*8d13bc63SEmmanuel Vadot		pwm-supply = <&vcc_sys>;
210*8d13bc63SEmmanuel Vadot		regulator-min-microvolt = <900000>;
211*8d13bc63SEmmanuel Vadot		regulator-max-microvolt = <1400000>;
212*8d13bc63SEmmanuel Vadot		regulator-always-on;
213*8d13bc63SEmmanuel Vadot		regulator-boot-on;
214*8d13bc63SEmmanuel Vadot	};
215*8d13bc63SEmmanuel Vadot
216*8d13bc63SEmmanuel Vadot	/*
217*8d13bc63SEmmanuel Vadot	 * As per schematics vdd_log is minimum 900 mV, maximum 1400 mV.
218*8d13bc63SEmmanuel Vadot	 * Since there are HW blocks in PD_LOGIC (which are all driven by
219*8d13bc63SEmmanuel Vadot	 * this supply), that either do not have a driver at all or the
220*8d13bc63SEmmanuel Vadot	 * driver does not implement regulator support we have to make
221*8d13bc63SEmmanuel Vadot	 * sure here that the voltage never drops below 1050 mV.
222*8d13bc63SEmmanuel Vadot	 */
223*8d13bc63SEmmanuel Vadot	vdd_log: vdd-log-regulator {
224*8d13bc63SEmmanuel Vadot		compatible = "pwm-regulator";
225*8d13bc63SEmmanuel Vadot		regulator-name = "VDD_LOG";
226*8d13bc63SEmmanuel Vadot		pwms = <&pwm2 0 25000 1>;
227*8d13bc63SEmmanuel Vadot		pwm-dutycycle-range = <30 100>;
228*8d13bc63SEmmanuel Vadot		pwm-supply = <&vcc_sys>;
229*8d13bc63SEmmanuel Vadot		regulator-min-microvolt = <1050000>;
230*8d13bc63SEmmanuel Vadot		regulator-max-microvolt = <1400000>;
231*8d13bc63SEmmanuel Vadot		regulator-ramp-delay = <4000>;
232*8d13bc63SEmmanuel Vadot		regulator-always-on;
233*8d13bc63SEmmanuel Vadot		regulator-boot-on;
234*8d13bc63SEmmanuel Vadot	};
235*8d13bc63SEmmanuel Vadot
236*8d13bc63SEmmanuel Vadot};
237*8d13bc63SEmmanuel Vadot
238*8d13bc63SEmmanuel Vadot&cpu0 {
239*8d13bc63SEmmanuel Vadot	cpu-supply = <&vdd_arm>;
240*8d13bc63SEmmanuel Vadot};
241*8d13bc63SEmmanuel Vadot
242*8d13bc63SEmmanuel Vadot&emmc {
243*8d13bc63SEmmanuel Vadot	bus-width = <8>;
244*8d13bc63SEmmanuel Vadot	vmmc-supply = <&vcc_io>;
245*8d13bc63SEmmanuel Vadot	pinctrl-names = "default";
246*8d13bc63SEmmanuel Vadot	pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>;
247*8d13bc63SEmmanuel Vadot	cap-mmc-highspeed;
248*8d13bc63SEmmanuel Vadot	mmc-ddr-3_3v;
249*8d13bc63SEmmanuel Vadot	no-sd;
250*8d13bc63SEmmanuel Vadot	no-sdio;
251*8d13bc63SEmmanuel Vadot	status = "okay";
252*8d13bc63SEmmanuel Vadot};
253*8d13bc63SEmmanuel Vadot
254*8d13bc63SEmmanuel Vadot&gmac {
255*8d13bc63SEmmanuel Vadot	clock_in_out = "output";
256*8d13bc63SEmmanuel Vadot	phy-supply = <&vcc_lan>;
257*8d13bc63SEmmanuel Vadot	phy-mode = "rmii";
258*8d13bc63SEmmanuel Vadot	phy-handle = <&phy0>;
259*8d13bc63SEmmanuel Vadot	assigned-clocks = <&cru SCLK_MAC_SRC>;
260*8d13bc63SEmmanuel Vadot	assigned-clock-rates= <50000000>;
261*8d13bc63SEmmanuel Vadot	pinctrl-names = "default";
262*8d13bc63SEmmanuel Vadot	pinctrl-0 = <&rmii_pins>;
263*8d13bc63SEmmanuel Vadot	status = "okay";
264*8d13bc63SEmmanuel Vadot};
265*8d13bc63SEmmanuel Vadot
266*8d13bc63SEmmanuel Vadot&gpio0 {
267*8d13bc63SEmmanuel Vadot	gpio-line-names = /* GPIO0 A0-A7 */
268*8d13bc63SEmmanuel Vadot			  "", "", "HEADER_5", "HEADER_3",
269*8d13bc63SEmmanuel Vadot			  "", "", "", "",
270*8d13bc63SEmmanuel Vadot			  /* GPIO0 B0-B7 */
271*8d13bc63SEmmanuel Vadot			  "HEADER_22", "HEADER_23", "", "HEADER_19",
272*8d13bc63SEmmanuel Vadot			  "HEADER_26", "HEADER_21", "HEADER_24", "",
273*8d13bc63SEmmanuel Vadot			  /* GPIO0 C0-C7 */
274*8d13bc63SEmmanuel Vadot			  "", "HEADER_18", "", "",
275*8d13bc63SEmmanuel Vadot			  "", "", "", "",
276*8d13bc63SEmmanuel Vadot			  /* GPIO0 D0-D7 */
277*8d13bc63SEmmanuel Vadot			  "HEADER_36", "", "", "",
278*8d13bc63SEmmanuel Vadot			  "", "", "HEADER_13", "";
279*8d13bc63SEmmanuel Vadot};
280*8d13bc63SEmmanuel Vadot
281*8d13bc63SEmmanuel Vadot&gpio1 {
282*8d13bc63SEmmanuel Vadot	gpio-line-names = /* GPIO1 A0-A7 */
283*8d13bc63SEmmanuel Vadot			  "HEADER_7", "HEADER_35", "HEADER_33", "HEADER_37",
284*8d13bc63SEmmanuel Vadot			  "HEADER_40", "HEADER_38", "", "",
285*8d13bc63SEmmanuel Vadot			  /* GPIO1 B0-B7 */
286*8d13bc63SEmmanuel Vadot			  "HEADER_11", "", "", "HEADER_29",
287*8d13bc63SEmmanuel Vadot			  "HEADER_31", "", "", "",
288*8d13bc63SEmmanuel Vadot			  /* GPIO1 C0-C7 */
289*8d13bc63SEmmanuel Vadot			  "", "", "", "",
290*8d13bc63SEmmanuel Vadot			  "", "", "", "",
291*8d13bc63SEmmanuel Vadot			  /* GPIO1 D0-D7 */
292*8d13bc63SEmmanuel Vadot			  "", "", "", "",
293*8d13bc63SEmmanuel Vadot			  "", "", "", "";
294*8d13bc63SEmmanuel Vadot};
295*8d13bc63SEmmanuel Vadot
296*8d13bc63SEmmanuel Vadot&gpio2 {
297*8d13bc63SEmmanuel Vadot	gpio-line-names = /* GPIO2 A0-A7 */
298*8d13bc63SEmmanuel Vadot			  "", "", "", "",
299*8d13bc63SEmmanuel Vadot			  "", "", "", "",
300*8d13bc63SEmmanuel Vadot			  /* GPIO2 B0-B7 */
301*8d13bc63SEmmanuel Vadot			  "", "", "", "",
302*8d13bc63SEmmanuel Vadot			  "", "", "", "",
303*8d13bc63SEmmanuel Vadot			  /* GPIO2 C0-C7 */
304*8d13bc63SEmmanuel Vadot			  "", "", "", "",
305*8d13bc63SEmmanuel Vadot			  "HEADER_27", "", "", "",
306*8d13bc63SEmmanuel Vadot			  /* GPIO2 D0-D7 */
307*8d13bc63SEmmanuel Vadot			  "", "", "HEADER_8", "HEADER_10",
308*8d13bc63SEmmanuel Vadot			  "", "", "", "";
309*8d13bc63SEmmanuel Vadot};
310*8d13bc63SEmmanuel Vadot
311*8d13bc63SEmmanuel Vadot&gpio3 {
312*8d13bc63SEmmanuel Vadot	gpio-line-names = /* GPIO3 A0-A7 */
313*8d13bc63SEmmanuel Vadot			  "", "", "", "",
314*8d13bc63SEmmanuel Vadot			  "", "", "", "",
315*8d13bc63SEmmanuel Vadot			  /* GPIO3 B0-B7 */
316*8d13bc63SEmmanuel Vadot			  "", "", "", "",
317*8d13bc63SEmmanuel Vadot			  "", "", "", "",
318*8d13bc63SEmmanuel Vadot			  /* GPIO3 C0-C7 */
319*8d13bc63SEmmanuel Vadot			  "", "HEADER_32", "", "",
320*8d13bc63SEmmanuel Vadot			  "", "", "", "HEADER_12",
321*8d13bc63SEmmanuel Vadot			  /* GPIO3 D0-D7 */
322*8d13bc63SEmmanuel Vadot			  "", "", "", "HEADER_15",
323*8d13bc63SEmmanuel Vadot			  "", "", "", "";
324*8d13bc63SEmmanuel Vadot};
325*8d13bc63SEmmanuel Vadot
326*8d13bc63SEmmanuel Vadot&gpu {
327*8d13bc63SEmmanuel Vadot	mali-supply = <&vdd_log>;
328*8d13bc63SEmmanuel Vadot	status = "okay";
329*8d13bc63SEmmanuel Vadot};
330*8d13bc63SEmmanuel Vadot
331*8d13bc63SEmmanuel Vadot&mdio {
332*8d13bc63SEmmanuel Vadot	phy0: ethernet-phy@1 {
333*8d13bc63SEmmanuel Vadot		compatible = "ethernet-phy-ieee802.3-c22";
334*8d13bc63SEmmanuel Vadot		reg = <1>;
335*8d13bc63SEmmanuel Vadot		max-speed = <100>;
336*8d13bc63SEmmanuel Vadot		/* T2.2.4 min. 1 us */
337*8d13bc63SEmmanuel Vadot		reset-assert-us = <10>;
338*8d13bc63SEmmanuel Vadot		/* T2.2.1 + T2.2.2 + T2.2.3 min. 6.05 us */
339*8d13bc63SEmmanuel Vadot		reset-deassert-us = <20>;
340*8d13bc63SEmmanuel Vadot		reset-gpios = <&gpio2 RK_PD0 GPIO_ACTIVE_LOW>;
341*8d13bc63SEmmanuel Vadot		pinctrl-names = "default";
342*8d13bc63SEmmanuel Vadot		pinctrl-0 = <&dp83848c_rst>;
343*8d13bc63SEmmanuel Vadot	};
344*8d13bc63SEmmanuel Vadot};
345*8d13bc63SEmmanuel Vadot
346*8d13bc63SEmmanuel Vadot&pinctrl {
347*8d13bc63SEmmanuel Vadot	dp83848c {
348*8d13bc63SEmmanuel Vadot		dp83848c_rst: dp83848c-rst {
349*8d13bc63SEmmanuel Vadot			rockchip,pins = <2 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>;
350*8d13bc63SEmmanuel Vadot		};
351*8d13bc63SEmmanuel Vadot	};
352*8d13bc63SEmmanuel Vadot
353*8d13bc63SEmmanuel Vadot	ir-receiver {
354*8d13bc63SEmmanuel Vadot		ir_int: ir-int {
355*8d13bc63SEmmanuel Vadot			rockchip,pins = <3 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
356*8d13bc63SEmmanuel Vadot		};
357*8d13bc63SEmmanuel Vadot	};
358*8d13bc63SEmmanuel Vadot
359*8d13bc63SEmmanuel Vadot	leds {
360*8d13bc63SEmmanuel Vadot		power_led: power-led {
361*8d13bc63SEmmanuel Vadot			rockchip,pins = <0 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
362*8d13bc63SEmmanuel Vadot		};
363*8d13bc63SEmmanuel Vadot
364*8d13bc63SEmmanuel Vadot		spd_led: spd-led {
365*8d13bc63SEmmanuel Vadot			rockchip,pins = <3 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
366*8d13bc63SEmmanuel Vadot		};
367*8d13bc63SEmmanuel Vadot	};
368*8d13bc63SEmmanuel Vadot
369*8d13bc63SEmmanuel Vadot	usb2 {
370*8d13bc63SEmmanuel Vadot		host_drv: host-drv {
371*8d13bc63SEmmanuel Vadot			rockchip,pins = <3 RK_PC4 RK_FUNC_GPIO &pcfg_pull_none>;
372*8d13bc63SEmmanuel Vadot		};
373*8d13bc63SEmmanuel Vadot	};
374*8d13bc63SEmmanuel Vadot};
375*8d13bc63SEmmanuel Vadot
376*8d13bc63SEmmanuel Vadot&pwm1 {
377*8d13bc63SEmmanuel Vadot	status = "okay";
378*8d13bc63SEmmanuel Vadot};
379*8d13bc63SEmmanuel Vadot
380*8d13bc63SEmmanuel Vadot&pwm2 {
381*8d13bc63SEmmanuel Vadot	status = "okay";
382*8d13bc63SEmmanuel Vadot};
383*8d13bc63SEmmanuel Vadot
384*8d13bc63SEmmanuel Vadot&saradc {
385*8d13bc63SEmmanuel Vadot	vref-supply = <&vcc_io>;
386*8d13bc63SEmmanuel Vadot	status = "okay";
387*8d13bc63SEmmanuel Vadot};
388*8d13bc63SEmmanuel Vadot
389*8d13bc63SEmmanuel Vadot&sdmmc {
390*8d13bc63SEmmanuel Vadot	bus-width = <4>;
391*8d13bc63SEmmanuel Vadot	vmmc-supply = <&vcc_sd>;
392*8d13bc63SEmmanuel Vadot	pinctrl-names = "default";
393*8d13bc63SEmmanuel Vadot	pinctrl-0 = <&sdmmc_bus4 &sdmmc_clk &sdmmc_cmd &sdmmc_det>;
394*8d13bc63SEmmanuel Vadot	disable-wp;
395*8d13bc63SEmmanuel Vadot	cap-sd-highspeed;
396*8d13bc63SEmmanuel Vadot	no-mmc;
397*8d13bc63SEmmanuel Vadot	no-sdio;
398*8d13bc63SEmmanuel Vadot	status = "okay";
399*8d13bc63SEmmanuel Vadot};
400*8d13bc63SEmmanuel Vadot
401*8d13bc63SEmmanuel Vadot&uart1 {
402*8d13bc63SEmmanuel Vadot	status = "okay";
403*8d13bc63SEmmanuel Vadot};
404*8d13bc63SEmmanuel Vadot
405*8d13bc63SEmmanuel Vadot&usb_host_ehci {
406*8d13bc63SEmmanuel Vadot	status = "okay";
407*8d13bc63SEmmanuel Vadot};
408*8d13bc63SEmmanuel Vadot
409*8d13bc63SEmmanuel Vadot&usb_otg {
410*8d13bc63SEmmanuel Vadot	vusb_a-supply = <&vcc_io>;
411*8d13bc63SEmmanuel Vadot	vusb_d-supply = <&vdd_11>;
412*8d13bc63SEmmanuel Vadot	status = "okay";
413*8d13bc63SEmmanuel Vadot};
414*8d13bc63SEmmanuel Vadot
415*8d13bc63SEmmanuel Vadot&usb2phy {
416*8d13bc63SEmmanuel Vadot	status = "okay";
417*8d13bc63SEmmanuel Vadot};
418*8d13bc63SEmmanuel Vadot
419*8d13bc63SEmmanuel Vadot&usb2phy_host {
420*8d13bc63SEmmanuel Vadot	status = "okay";
421*8d13bc63SEmmanuel Vadot};
422*8d13bc63SEmmanuel Vadot
423*8d13bc63SEmmanuel Vadot&usb2phy_otg {
424*8d13bc63SEmmanuel Vadot	status = "okay";
425*8d13bc63SEmmanuel Vadot};
426