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