1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (c) 2016 Fuzhou Rockchip Electronics Co., Ltd
4 */
5
6/dts-v1/;
7#include "rk3368.dtsi"
8#include <dt-bindings/input/input.h>
9
10/ {
11	model = "Rockchip PX5 EVB";
12	compatible = "rockchip,px5-evb", "rockchip,px5", "rockchip,rk3368";
13
14	aliases {
15		mmc0 = &sdmmc;
16		mmc1 = &emmc;
17	};
18
19	chosen {
20		stdout-path = "serial4:115200n8";
21	};
22
23	memory@0 {
24		reg = <0x0 0x0 0x0 0x40000000>;
25		device_type = "memory";
26	};
27
28	keys: gpio-keys {
29		compatible = "gpio-keys";
30		pinctrl-names = "default";
31		pinctrl-0 = <&pwr_key>;
32
33		power {
34			gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_LOW>;
35			label = "GPIO Power";
36			linux,code = <KEY_POWER>;
37			wakeup-source;
38		};
39	};
40
41	vcc_sys: vcc-sys-regulator {
42		compatible = "regulator-fixed";
43		regulator-name = "vcc_sys";
44		regulator-min-microvolt = <5000000>;
45		regulator-max-microvolt = <5000000>;
46		regulator-always-on;
47		regulator-boot-on;
48	};
49};
50
51&emmc {
52	status = "okay";
53	bus-width = <8>;
54	cap-mmc-highspeed;
55	clock-frequency = <150000000>;
56	mmc-hs200-1_8v;
57	no-sdio;
58	no-sd;
59	non-removable;
60	pinctrl-names = "default";
61	pinctrl-0 = <&emmc_clk>, <&emmc_cmd>, <&emmc_bus8>;
62	vmmc-supply = <&vcc_io>;
63	vqmmc-supply = <&vcc18_flash>;
64};
65
66&i2c0 {
67	status = "okay";
68
69	rk808: pmic@1b {
70		compatible = "rockchip,rk808";
71		reg = <0x1b>;
72		interrupt-parent = <&gpio0>;
73		interrupts = <RK_PA5 IRQ_TYPE_LEVEL_LOW>;
74		pinctrl-names = "default";
75		pinctrl-0 = <&pmic_int>, <&pmic_sleep>;
76		rockchip,system-power-controller;
77		vcc1-supply = <&vcc_sys>;
78		vcc2-supply = <&vcc_sys>;
79		vcc3-supply = <&vcc_sys>;
80		vcc4-supply = <&vcc_sys>;
81		vcc6-supply = <&vcc_sys>;
82		vcc7-supply = <&vcc_sys>;
83		vcc8-supply = <&vcc_io>;
84		vcc9-supply = <&vcc_sys>;
85		vcc10-supply = <&vcc_sys>;
86		vcc11-supply = <&vcc_sys>;
87		vcc12-supply = <&vcc_io>;
88		clock-output-names = "xin32k", "rk808-clkout2";
89		#clock-cells = <1>;
90
91		regulators {
92			vdd_cpu: DCDC_REG1 {
93				regulator-always-on;
94				regulator-boot-on;
95				regulator-min-microvolt = <700000>;
96				regulator-max-microvolt = <1500000>;
97				regulator-name = "vdd_cpu";
98			};
99
100			vdd_log: DCDC_REG2 {
101				regulator-always-on;
102				regulator-boot-on;
103				regulator-min-microvolt = <700000>;
104				regulator-max-microvolt = <1500000>;
105				regulator-name = "vdd_log";
106			};
107
108			vcc_ddr: DCDC_REG3 {
109				regulator-always-on;
110				regulator-boot-on;
111				regulator-name = "vcc_ddr";
112			};
113
114			vcc_io: DCDC_REG4 {
115				regulator-always-on;
116				regulator-boot-on;
117				regulator-min-microvolt = <3300000>;
118				regulator-max-microvolt = <3300000>;
119				regulator-name = "vcc_io";
120			};
121
122			vcc18_flash: LDO_REG1 {
123				regulator-always-on;
124				regulator-boot-on;
125				regulator-min-microvolt = <1800000>;
126				regulator-max-microvolt = <1800000>;
127				regulator-name = "vcc18_flash";
128			};
129
130			vcca_33: LDO_REG2 {
131				regulator-always-on;
132				regulator-boot-on;
133				regulator-min-microvolt = <3300000>;
134				regulator-max-microvolt = <3300000>;
135				regulator-name = "vcca_33";
136			};
137
138			vdd_10: LDO_REG3 {
139				regulator-always-on;
140				regulator-boot-on;
141				regulator-min-microvolt = <1000000>;
142				regulator-max-microvolt = <1000000>;
143				regulator-name = "vdd_10";
144			};
145
146			avdd_33: LDO_REG4 {
147				regulator-min-microvolt = <3300000>;
148				regulator-max-microvolt = <3300000>;
149				regulator-name = "avdd_33";
150			};
151
152			vccio_sd: LDO_REG5 {
153				regulator-always-on;
154				regulator-boot-on;
155				regulator-min-microvolt = <1800000>;
156				regulator-max-microvolt = <3300000>;
157				regulator-name = "vccio_sd";
158			};
159
160			vdd10_lcd: LDO_REG6 {
161				regulator-always-on;
162				regulator-boot-on;
163				regulator-min-microvolt = <1000000>;
164				regulator-max-microvolt = <1000000>;
165				regulator-name = "vdd10_lcd";
166			};
167
168			vcc_18: LDO_REG7 {
169				regulator-always-on;
170				regulator-boot-on;
171				regulator-min-microvolt = <1800000>;
172				regulator-max-microvolt = <1800000>;
173				regulator-name = "vcc_18";
174			};
175
176			vcc18_lcd: LDO_REG8 {
177				regulator-always-on;
178				regulator-boot-on;
179				regulator-min-microvolt = <1800000>;
180				regulator-max-microvolt = <1800000>;
181				regulator-name = "vcc18_lcd";
182			};
183
184			vcc_sd: SWITCH_REG1 {
185				regulator-name = "vcc_sd";
186			};
187
188			vcc33_lcd: SWITCH_REG2 {
189				regulator-always-on;
190				regulator-boot-on;
191				regulator-name = "vcc33_lcd";
192			};
193		};
194	};
195};
196
197&i2c1 {
198	status = "okay";
199
200	accelerometer@18 {
201		compatible = "bosch,bma250";
202		reg = <0x18>;
203		interrupt-parent = <&gpio2>;
204		interrupts = <RK_PC1 IRQ_TYPE_LEVEL_LOW>;
205	};
206};
207
208&i2c2 {
209	status = "okay";
210
211	gsl1680: touchscreen@40 {
212		compatible = "silead,gsl1680";
213		reg = <0x40>;
214		interrupt-parent = <&gpio3>;
215		interrupts = <RK_PD4 IRQ_TYPE_EDGE_FALLING>;
216		power-gpios = <&gpio3 RK_PB7 GPIO_ACTIVE_HIGH>;
217		touchscreen-size-x = <800>;
218		touchscreen-size-y = <1280>;
219		silead,max-fingers = <5>;
220	};
221};
222
223&pinctrl {
224	keys {
225		pwr_key: pwr-key {
226			rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
227		};
228	};
229
230	pmic {
231		pmic_sleep: pmic-sleep {
232			rockchip,pins = <0 RK_PA0 2 &pcfg_pull_none>;
233		};
234
235		pmic_int: pmic-int {
236			rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>;
237		};
238	};
239};
240
241&sdmmc {
242	status = "okay";
243	bus-width = <4>;
244	cap-mmc-highspeed;
245	cap-sd-highspeed;
246	card-detect-delay = <200>;
247	no-sdio;
248	sd-uhs-sdr12;
249	sd-uhs-sdr25;
250	pinctrl-names = "default";
251	pinctrl-0 = <&sdmmc_clk>, <&sdmmc_cmd>, <&sdmmc_bus4>, <&sdmmc_cd>;
252	rockchip,default-sample-phase = <90>;
253	vmmc-supply = <&vcc_sd>;
254	vqmmc-supply = <&vccio_sd>;
255};
256
257&tsadc {
258	status = "okay";
259	rockchip,hw-tshut-mode = <0>; /* CRU */
260	rockchip,hw-tshut-polarity = <1>; /* high */
261};
262
263&uart4 {
264	status = "okay";
265};
266
267&usb_host0_ehci {
268	status = "okay";
269};
270
271&usb_otg {
272	status = "okay";
273};
274
275&wdt {
276	status = "okay";
277};
278