xref: /freebsd/sys/contrib/device-tree/src/arm/rockchip/rk3188-px3-evb.dts (revision f126890ac5386406dadf7c4cfa9566cbb56537c5)
1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2*f126890aSEmmanuel Vadot/*
3*f126890aSEmmanuel Vadot * Copyright (c) 2016 Andy Yan <andy.yan@rock-chips.com>
4*f126890aSEmmanuel Vadot */
5*f126890aSEmmanuel Vadot
6*f126890aSEmmanuel Vadot/dts-v1/;
7*f126890aSEmmanuel Vadot#include <dt-bindings/input/input.h>
8*f126890aSEmmanuel Vadot#include "rk3188.dtsi"
9*f126890aSEmmanuel Vadot
10*f126890aSEmmanuel Vadot/ {
11*f126890aSEmmanuel Vadot	model = "Rockchip PX3-EVB";
12*f126890aSEmmanuel Vadot	compatible = "rockchip,px3-evb", "rockchip,px3", "rockchip,rk3188";
13*f126890aSEmmanuel Vadot
14*f126890aSEmmanuel Vadot	aliases {
15*f126890aSEmmanuel Vadot		mmc0 = &mmc0;
16*f126890aSEmmanuel Vadot		mmc1 = &emmc;
17*f126890aSEmmanuel Vadot	};
18*f126890aSEmmanuel Vadot
19*f126890aSEmmanuel Vadot	chosen {
20*f126890aSEmmanuel Vadot		stdout-path = "serial2:115200n8";
21*f126890aSEmmanuel Vadot	};
22*f126890aSEmmanuel Vadot
23*f126890aSEmmanuel Vadot	memory@60000000 {
24*f126890aSEmmanuel Vadot		reg = <0x60000000 0x80000000>;
25*f126890aSEmmanuel Vadot		device_type = "memory";
26*f126890aSEmmanuel Vadot	};
27*f126890aSEmmanuel Vadot
28*f126890aSEmmanuel Vadot	gpio-keys {
29*f126890aSEmmanuel Vadot		compatible = "gpio-keys";
30*f126890aSEmmanuel Vadot		autorepeat;
31*f126890aSEmmanuel Vadot
32*f126890aSEmmanuel Vadot		key-power {
33*f126890aSEmmanuel Vadot			gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>;
34*f126890aSEmmanuel Vadot			linux,code = <KEY_POWER>;
35*f126890aSEmmanuel Vadot			label = "GPIO Key Power";
36*f126890aSEmmanuel Vadot			linux,input-type = <1>;
37*f126890aSEmmanuel Vadot			wakeup-source;
38*f126890aSEmmanuel Vadot			debounce-interval = <100>;
39*f126890aSEmmanuel Vadot		};
40*f126890aSEmmanuel Vadot	};
41*f126890aSEmmanuel Vadot
42*f126890aSEmmanuel Vadot	vcc_sys: vsys-regulator {
43*f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
44*f126890aSEmmanuel Vadot		regulator-name = "vsys";
45*f126890aSEmmanuel Vadot		regulator-min-microvolt = <5000000>;
46*f126890aSEmmanuel Vadot		regulator-max-microvolt = <5000000>;
47*f126890aSEmmanuel Vadot		regulator-boot-on;
48*f126890aSEmmanuel Vadot	};
49*f126890aSEmmanuel Vadot};
50*f126890aSEmmanuel Vadot
51*f126890aSEmmanuel Vadot&cpu0 {
52*f126890aSEmmanuel Vadot	cpu-supply = <&vdd_cpu>;
53*f126890aSEmmanuel Vadot};
54*f126890aSEmmanuel Vadot
55*f126890aSEmmanuel Vadot&cpu1 {
56*f126890aSEmmanuel Vadot	cpu-supply = <&vdd_cpu>;
57*f126890aSEmmanuel Vadot};
58*f126890aSEmmanuel Vadot
59*f126890aSEmmanuel Vadot&cpu2 {
60*f126890aSEmmanuel Vadot	cpu-supply = <&vdd_cpu>;
61*f126890aSEmmanuel Vadot};
62*f126890aSEmmanuel Vadot
63*f126890aSEmmanuel Vadot&cpu3 {
64*f126890aSEmmanuel Vadot	cpu-supply = <&vdd_cpu>;
65*f126890aSEmmanuel Vadot};
66*f126890aSEmmanuel Vadot
67*f126890aSEmmanuel Vadot&emmc {
68*f126890aSEmmanuel Vadot	bus-width = <8>;
69*f126890aSEmmanuel Vadot	cap-mmc-highspeed;
70*f126890aSEmmanuel Vadot	non-removable;
71*f126890aSEmmanuel Vadot	pinctrl-names = "default";
72*f126890aSEmmanuel Vadot	pinctrl-0 = <&emmc_clk>, <&emmc_cmd>, <&emmc_rst>;
73*f126890aSEmmanuel Vadot	status = "okay";
74*f126890aSEmmanuel Vadot};
75*f126890aSEmmanuel Vadot
76*f126890aSEmmanuel Vadot&i2c0 {
77*f126890aSEmmanuel Vadot	status = "okay";
78*f126890aSEmmanuel Vadot
79*f126890aSEmmanuel Vadot	accelerometer@18 {
80*f126890aSEmmanuel Vadot		compatible = "bosch,bma250";
81*f126890aSEmmanuel Vadot		reg = <0x18>;
82*f126890aSEmmanuel Vadot		interrupt-parent = <&gpio0>;
83*f126890aSEmmanuel Vadot		interrupts = <RK_PB7 IRQ_TYPE_LEVEL_LOW>;
84*f126890aSEmmanuel Vadot	};
85*f126890aSEmmanuel Vadot};
86*f126890aSEmmanuel Vadot
87*f126890aSEmmanuel Vadot&i2c1 {
88*f126890aSEmmanuel Vadot	status = "okay";
89*f126890aSEmmanuel Vadot	clock-frequency = <400000>;
90*f126890aSEmmanuel Vadot
91*f126890aSEmmanuel Vadot	rk808: pmic@1c {
92*f126890aSEmmanuel Vadot		compatible = "rockchip,rk818";
93*f126890aSEmmanuel Vadot		reg = <0x1c>;
94*f126890aSEmmanuel Vadot		interrupt-parent = <&gpio0>;
95*f126890aSEmmanuel Vadot		interrupts = <RK_PB3 IRQ_TYPE_LEVEL_LOW>;
96*f126890aSEmmanuel Vadot		rockchip,system-power-controller;
97*f126890aSEmmanuel Vadot		wakeup-source;
98*f126890aSEmmanuel Vadot		#clock-cells = <1>;
99*f126890aSEmmanuel Vadot		clock-output-names = "xin32k", "rk808-clkout2";
100*f126890aSEmmanuel Vadot
101*f126890aSEmmanuel Vadot		vcc1-supply = <&vcc_sys>;
102*f126890aSEmmanuel Vadot		vcc2-supply = <&vcc_sys>;
103*f126890aSEmmanuel Vadot		vcc3-supply = <&vcc_sys>;
104*f126890aSEmmanuel Vadot		vcc4-supply = <&vcc_sys>;
105*f126890aSEmmanuel Vadot		vcc6-supply = <&vcc_sys>;
106*f126890aSEmmanuel Vadot		vcc7-supply = <&vcc_sys>;
107*f126890aSEmmanuel Vadot		vcc8-supply = <&vcc_io>;
108*f126890aSEmmanuel Vadot		vcc9-supply = <&vcc_io>;
109*f126890aSEmmanuel Vadot
110*f126890aSEmmanuel Vadot		regulators {
111*f126890aSEmmanuel Vadot			vdd_cpu: DCDC_REG1 {
112*f126890aSEmmanuel Vadot				regulator-always-on;
113*f126890aSEmmanuel Vadot				regulator-boot-on;
114*f126890aSEmmanuel Vadot				regulator-min-microvolt = <750000>;
115*f126890aSEmmanuel Vadot				regulator-max-microvolt = <1350000>;
116*f126890aSEmmanuel Vadot				regulator-name = "vdd_arm";
117*f126890aSEmmanuel Vadot				regulator-state-mem {
118*f126890aSEmmanuel Vadot					regulator-off-in-suspend;
119*f126890aSEmmanuel Vadot				};
120*f126890aSEmmanuel Vadot			};
121*f126890aSEmmanuel Vadot
122*f126890aSEmmanuel Vadot			vdd_gpu: DCDC_REG2 {
123*f126890aSEmmanuel Vadot				regulator-always-on;
124*f126890aSEmmanuel Vadot				regulator-boot-on;
125*f126890aSEmmanuel Vadot				regulator-min-microvolt = <850000>;
126*f126890aSEmmanuel Vadot				regulator-max-microvolt = <1250000>;
127*f126890aSEmmanuel Vadot				regulator-name = "vdd_gpu";
128*f126890aSEmmanuel Vadot				regulator-state-mem {
129*f126890aSEmmanuel Vadot					regulator-on-in-suspend;
130*f126890aSEmmanuel Vadot					regulator-suspend-microvolt = <1000000>;
131*f126890aSEmmanuel Vadot				};
132*f126890aSEmmanuel Vadot			};
133*f126890aSEmmanuel Vadot
134*f126890aSEmmanuel Vadot			vcc_ddr: DCDC_REG3 {
135*f126890aSEmmanuel Vadot				regulator-always-on;
136*f126890aSEmmanuel Vadot				regulator-boot-on;
137*f126890aSEmmanuel Vadot				regulator-name = "vcc_ddr";
138*f126890aSEmmanuel Vadot				regulator-state-mem {
139*f126890aSEmmanuel Vadot					regulator-on-in-suspend;
140*f126890aSEmmanuel Vadot				};
141*f126890aSEmmanuel Vadot			};
142*f126890aSEmmanuel Vadot
143*f126890aSEmmanuel Vadot			vcc_io: DCDC_REG4 {
144*f126890aSEmmanuel Vadot				regulator-always-on;
145*f126890aSEmmanuel Vadot				regulator-boot-on;
146*f126890aSEmmanuel Vadot				regulator-min-microvolt = <3300000>;
147*f126890aSEmmanuel Vadot				regulator-max-microvolt = <3300000>;
148*f126890aSEmmanuel Vadot				regulator-name = "vcc_io";
149*f126890aSEmmanuel Vadot				regulator-state-mem {
150*f126890aSEmmanuel Vadot					regulator-on-in-suspend;
151*f126890aSEmmanuel Vadot					regulator-suspend-microvolt = <3300000>;
152*f126890aSEmmanuel Vadot				};
153*f126890aSEmmanuel Vadot			};
154*f126890aSEmmanuel Vadot
155*f126890aSEmmanuel Vadot			vcc_cif: LDO_REG1 {
156*f126890aSEmmanuel Vadot				 regulator-min-microvolt = <3300000>;
157*f126890aSEmmanuel Vadot				 regulator-max-microvolt = <3300000>;
158*f126890aSEmmanuel Vadot				 regulator-name = "vcc_cif";
159*f126890aSEmmanuel Vadot			};
160*f126890aSEmmanuel Vadot
161*f126890aSEmmanuel Vadot			vcc_jetta33: LDO_REG2 {
162*f126890aSEmmanuel Vadot				regulator-always-on;
163*f126890aSEmmanuel Vadot				regulator-boot-on;
164*f126890aSEmmanuel Vadot				regulator-min-microvolt = <3300000>;
165*f126890aSEmmanuel Vadot				regulator-max-microvolt = <3300000>;
166*f126890aSEmmanuel Vadot				regulator-name = "vcc_jetta33";
167*f126890aSEmmanuel Vadot			};
168*f126890aSEmmanuel Vadot
169*f126890aSEmmanuel Vadot			vdd_10: LDO_REG3 {
170*f126890aSEmmanuel Vadot				regulator-always-on;
171*f126890aSEmmanuel Vadot				regulator-boot-on;
172*f126890aSEmmanuel Vadot				regulator-min-microvolt = <1000000>;
173*f126890aSEmmanuel Vadot				regulator-max-microvolt = <1000000>;
174*f126890aSEmmanuel Vadot				regulator-name = "vdd_10";
175*f126890aSEmmanuel Vadot				regulator-state-mem {
176*f126890aSEmmanuel Vadot					regulator-on-in-suspend;
177*f126890aSEmmanuel Vadot					regulator-suspend-microvolt = <1000000>;
178*f126890aSEmmanuel Vadot				};
179*f126890aSEmmanuel Vadot			};
180*f126890aSEmmanuel Vadot
181*f126890aSEmmanuel Vadot			lvds_12: LDO_REG4 {
182*f126890aSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
183*f126890aSEmmanuel Vadot				regulator-max-microvolt = <1800000>;
184*f126890aSEmmanuel Vadot				regulator-name = "lvds_12";
185*f126890aSEmmanuel Vadot			};
186*f126890aSEmmanuel Vadot
187*f126890aSEmmanuel Vadot			lvds_25: LDO_REG5 {
188*f126890aSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
189*f126890aSEmmanuel Vadot				regulator-max-microvolt = <3300000>;
190*f126890aSEmmanuel Vadot				regulator-name = "lvds_25";
191*f126890aSEmmanuel Vadot			};
192*f126890aSEmmanuel Vadot
193*f126890aSEmmanuel Vadot			cif_18: LDO_REG6 {
194*f126890aSEmmanuel Vadot				regulator-min-microvolt = <1000000>;
195*f126890aSEmmanuel Vadot				regulator-max-microvolt = <1000000>;
196*f126890aSEmmanuel Vadot				regulator-name = "cif_18";
197*f126890aSEmmanuel Vadot			};
198*f126890aSEmmanuel Vadot
199*f126890aSEmmanuel Vadot			vcc_sd: LDO_REG7 {
200*f126890aSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
201*f126890aSEmmanuel Vadot				regulator-max-microvolt = <3300000>;
202*f126890aSEmmanuel Vadot				regulator-name = "vcc_sd";
203*f126890aSEmmanuel Vadot				regulator-state-mem {
204*f126890aSEmmanuel Vadot					regulator-on-in-suspend;
205*f126890aSEmmanuel Vadot					regulator-suspend-microvolt = <3300000>;
206*f126890aSEmmanuel Vadot				};
207*f126890aSEmmanuel Vadot			};
208*f126890aSEmmanuel Vadot
209*f126890aSEmmanuel Vadot			wl_18: LDO_REG8 {
210*f126890aSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
211*f126890aSEmmanuel Vadot				regulator-max-microvolt = <3300000>;
212*f126890aSEmmanuel Vadot				regulator-name = "wl_18";
213*f126890aSEmmanuel Vadot			};
214*f126890aSEmmanuel Vadot
215*f126890aSEmmanuel Vadot			lcd_33: SWITCH_REG {
216*f126890aSEmmanuel Vadot				regulator-name = "lcd_33";
217*f126890aSEmmanuel Vadot			};
218*f126890aSEmmanuel Vadot		};
219*f126890aSEmmanuel Vadot	};
220*f126890aSEmmanuel Vadot
221*f126890aSEmmanuel Vadot};
222*f126890aSEmmanuel Vadot
223*f126890aSEmmanuel Vadot&i2c2 {
224*f126890aSEmmanuel Vadot	gsl1680: touchscreen@40 {
225*f126890aSEmmanuel Vadot		compatible = "silead,gsl1680";
226*f126890aSEmmanuel Vadot		reg = <0x40>;
227*f126890aSEmmanuel Vadot		interrupt-parent = <&gpio1>;
228*f126890aSEmmanuel Vadot		interrupts = <RK_PB7 IRQ_TYPE_EDGE_FALLING>;
229*f126890aSEmmanuel Vadot		power-gpios = <&gpio0 RK_PB6 GPIO_ACTIVE_HIGH>;
230*f126890aSEmmanuel Vadot		touchscreen-size-x = <800>;
231*f126890aSEmmanuel Vadot		touchscreen-size-y = <1280>;
232*f126890aSEmmanuel Vadot		silead,max-fingers = <5>;
233*f126890aSEmmanuel Vadot	};
234*f126890aSEmmanuel Vadot};
235*f126890aSEmmanuel Vadot
236*f126890aSEmmanuel Vadot&mmc0 {
237*f126890aSEmmanuel Vadot	status = "okay";
238*f126890aSEmmanuel Vadot	pinctrl-names = "default";
239*f126890aSEmmanuel Vadot	pinctrl-0 = <&sd0_clk>, <&sd0_cmd>, <&sd0_cd>, <&sd0_bus4>;
240*f126890aSEmmanuel Vadot	vmmc-supply = <&vcc_sd>;
241*f126890aSEmmanuel Vadot
242*f126890aSEmmanuel Vadot	bus-width = <4>;
243*f126890aSEmmanuel Vadot	cap-mmc-highspeed;
244*f126890aSEmmanuel Vadot	cap-sd-highspeed;
245*f126890aSEmmanuel Vadot	disable-wp;
246*f126890aSEmmanuel Vadot};
247*f126890aSEmmanuel Vadot
248*f126890aSEmmanuel Vadot&pinctrl {
249*f126890aSEmmanuel Vadot	pcfg_output_low: pcfg-output-low {
250*f126890aSEmmanuel Vadot		output-low;
251*f126890aSEmmanuel Vadot	};
252*f126890aSEmmanuel Vadot
253*f126890aSEmmanuel Vadot	usb {
254*f126890aSEmmanuel Vadot		host_vbus_drv: host-vbus-drv {
255*f126890aSEmmanuel Vadot			rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>;
256*f126890aSEmmanuel Vadot		};
257*f126890aSEmmanuel Vadot		otg_vbus_drv: otg-vbus-drv {
258*f126890aSEmmanuel Vadot			rockchip,pins = <2 RK_PD7 RK_FUNC_GPIO &pcfg_pull_none>;
259*f126890aSEmmanuel Vadot		};
260*f126890aSEmmanuel Vadot	};
261*f126890aSEmmanuel Vadot};
262*f126890aSEmmanuel Vadot
263*f126890aSEmmanuel Vadot&pwm1 {
264*f126890aSEmmanuel Vadot	status = "okay";
265*f126890aSEmmanuel Vadot};
266*f126890aSEmmanuel Vadot
267*f126890aSEmmanuel Vadot&pwm2 {
268*f126890aSEmmanuel Vadot	status = "okay";
269*f126890aSEmmanuel Vadot};
270*f126890aSEmmanuel Vadot
271*f126890aSEmmanuel Vadot&pwm3 {
272*f126890aSEmmanuel Vadot	status = "okay";
273*f126890aSEmmanuel Vadot};
274*f126890aSEmmanuel Vadot
275*f126890aSEmmanuel Vadot&uart0 {
276*f126890aSEmmanuel Vadot	status = "okay";
277*f126890aSEmmanuel Vadot};
278*f126890aSEmmanuel Vadot
279*f126890aSEmmanuel Vadot&uart1 {
280*f126890aSEmmanuel Vadot	status = "okay";
281*f126890aSEmmanuel Vadot};
282*f126890aSEmmanuel Vadot
283*f126890aSEmmanuel Vadot&uart2 {
284*f126890aSEmmanuel Vadot	status = "okay";
285*f126890aSEmmanuel Vadot};
286*f126890aSEmmanuel Vadot
287*f126890aSEmmanuel Vadot&uart3 {
288*f126890aSEmmanuel Vadot	status = "okay";
289*f126890aSEmmanuel Vadot};
290*f126890aSEmmanuel Vadot
291*f126890aSEmmanuel Vadot&usbphy {
292*f126890aSEmmanuel Vadot	status = "okay";
293*f126890aSEmmanuel Vadot};
294*f126890aSEmmanuel Vadot
295*f126890aSEmmanuel Vadot&usb_host {
296*f126890aSEmmanuel Vadot	status = "okay";
297*f126890aSEmmanuel Vadot};
298*f126890aSEmmanuel Vadot
299*f126890aSEmmanuel Vadot&usb_otg {
300*f126890aSEmmanuel Vadot	status = "okay";
301*f126890aSEmmanuel Vadot};
302*f126890aSEmmanuel Vadot
303*f126890aSEmmanuel Vadot&wdt {
304*f126890aSEmmanuel Vadot	status = "okay";
305*f126890aSEmmanuel Vadot};
306