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