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