Merge tag 'u-boot-imx-20200825' of https://gitlab.denx.de/u-boot/custodians/u-boot-imx
[platform/kernel/u-boot.git] / arch / arm / dts / rk3288-vmarc-som.dtsi
1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2 /*
3  * Copyright (c) 2019 Fuzhou Rockchip Electronics Co., Ltd
4  * Copyright (c) 2019 Vamrs Limited
5  * Copyright (c) 2019 Amarula Solutions(India)
6  */
7
8 #include <dt-bindings/gpio/gpio.h>
9 #include <dt-bindings/pinctrl/rockchip.h>
10
11 / {
12         compatible = "vamrs,rk3288-vmarc-som", "rockchip,rk3288";
13
14         vccio_flash: vccio-flash-regulator {
15                 compatible = "regulator-fixed";
16                 regulator-name = "vccio_flash";
17                 regulator-min-microvolt = <1800000>;
18                 regulator-max-microvolt = <1800000>;
19                 vin-supply = <&vcc_io>;
20         };
21 };
22
23 &emmc {
24         bus-width = <8>;
25         cap-mmc-highspeed;
26         disable-wp;
27         non-removable;
28         pinctrl-names = "default";
29         pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_pwr &emmc_bus8>;
30         vmmc-supply = <&vcc_io>;
31         vqmmc-supply = <&vccio_flash>;
32         status = "okay";
33 };
34
35 &gmac {
36         assigned-clocks = <&cru SCLK_MAC>;
37         phy-supply = <&vcc_io>;
38         snps,reset-gpio = <&gpio4 RK_PA7 GPIO_ACTIVE_HIGH>;
39 };
40
41 &hdmi {
42         ddc-i2c-bus = <&i2c5>;
43         pinctrl-names = "default";
44         pinctrl-0 = <&hdmi_cec_c0>;
45 };
46
47 &i2c0 {
48         clock-frequency = <400000>;
49         status = "okay";
50
51         rk808: pmic@1b {
52                 compatible = "rockchip,rk808";
53                 reg = <0x1b>;
54                 interrupt-parent = <&gpio0>;
55                 interrupts = <RK_PA4 IRQ_TYPE_LEVEL_LOW>;
56                 pinctrl-names = "default";
57                 pinctrl-0 = <&pmic_int &global_pwroff>;
58                 rockchip,system-power-controller;
59                 wakeup-source;
60                 #clock-cells = <1>;
61                 clock-output-names = "rk808-clkout1", "rk808-clkout2";
62
63                 vcc1-supply = <&vcc5v0_sys>;
64                 vcc2-supply = <&vcc5v0_sys>;
65                 vcc3-supply = <&vcc5v0_sys>;
66                 vcc4-supply = <&vcc5v0_sys>;
67                 vcc6-supply = <&vcc5v0_sys>;
68                 vcc7-supply = <&vcc5v0_sys>;
69                 vcc8-supply = <&vcc_io>;
70                 vcc9-supply = <&vcc_io>;
71                 vcc10-supply = <&vcc5v0_sys>;
72                 vcc11-supply = <&vcc5v0_sys>;
73                 vcc12-supply = <&vcc_io>;
74                 vddio-supply = <&vcc_io>;
75
76                 regulators {
77                         vdd_cpu: DCDC_REG1 {
78                                 regulator-name = "vdd_arm";
79                                 regulator-always-on;
80                                 regulator-boot-on;
81                                 regulator-min-microvolt = <750000>;
82                                 regulator-max-microvolt = <1400000>;
83                                 regulator-state-mem {
84                                         regulator-off-in-suspend;
85                                 };
86                         };
87
88                         vdd_gpu: DCDC_REG2 {
89                                 regulator-name = "vdd_gpu";
90                                 regulator-always-on;
91                                 regulator-boot-on;
92                                 regulator-min-microvolt = <850000>;
93                                 regulator-max-microvolt = <1250000>;
94                                 regulator-ramp-delay = <6000>;
95                                 regulator-state-mem {
96                                         regulator-off-in-suspend;
97                                 };
98                         };
99
100                         vcc_ddr: DCDC_REG3 {
101                                 regulator-name = "vcc_ddr";
102                                 regulator-always-on;
103                                 regulator-boot-on;
104                                 regulator-state-mem {
105                                         regulator-on-in-suspend;
106                                 };
107                         };
108
109                         vcc_io: DCDC_REG4 {
110                                 regulator-name = "vcc_io";
111                                 regulator-always-on;
112                                 regulator-boot-on;
113                                 regulator-min-microvolt = <3300000>;
114                                 regulator-max-microvolt = <3300000>;
115                                 regulator-state-mem {
116                                         regulator-on-in-suspend;
117                                         regulator-suspend-microvolt = <3300000>;
118                                 };
119                         };
120
121                         vcc_tp: LDO_REG1 {
122                                 regulator-name = "vcc_tp";
123                                 regulator-always-on;
124                                 regulator-boot-on;
125                                 regulator-min-microvolt = <3300000>;
126                                 regulator-max-microvolt = <3300000>;
127                                 regulator-state-mem {
128                                         regulator-off-in-suspend;
129                                 };
130                         };
131
132                         vcca_codec: LDO_REG2 {
133                                 regulator-name = "vcca_codec";
134                                 regulator-always-on;
135                                 regulator-boot-on;
136                                 regulator-min-microvolt = <3300000>;
137                                 regulator-max-microvolt = <3300000>;
138                                 regulator-state-mem {
139                                         regulator-on-in-suspend;
140                                         regulator-suspend-microvolt = <3300000>;
141                                 };
142                         };
143
144                         vdd_10: LDO_REG3 {
145                                 regulator-name = "vdd_10";
146                                 regulator-always-on;
147                                 regulator-boot-on;
148                                 regulator-min-microvolt = <1000000>;
149                                 regulator-max-microvolt = <1000000>;
150                                 regulator-state-mem {
151                                         regulator-on-in-suspend;
152                                         regulator-suspend-microvolt = <1000000>;
153                                 };
154                         };
155
156                         vcc_wl: LDO_REG4 {
157                                 regulator-name = "vcc_wl";
158                                 regulator-always-on;
159                                 regulator-boot-on;
160                                 regulator-min-microvolt = <1800000>;
161                                 regulator-max-microvolt = <1800000>;
162                                 regulator-state-mem {
163                                         regulator-on-in-suspend;
164                                 };
165                         };
166
167                         vccio_sd: LDO_REG5 {
168                                 regulator-name = "vccio_sd";
169                                 regulator-always-on;
170                                 regulator-boot-on;
171                                 regulator-min-microvolt = <1800000>;
172                                 regulator-max-microvolt = <3300000>;
173                                 regulator-state-mem {
174                                         regulator-on-in-suspend;
175                                         regulator-suspend-microvolt = <3300000>;
176                                 };
177                         };
178
179                         vdd10_lcd: LDO_REG6 {
180                                 regulator-name = "vdd10_lcd";
181                                 regulator-always-on;
182                                 regulator-boot-on;
183                                 regulator-min-microvolt = <1000000>;
184                                 regulator-max-microvolt = <1000000>;
185                                 regulator-state-mem {
186                                         regulator-off-in-suspend;
187                                 };
188                         };
189
190                         vcc_18: LDO_REG7 {
191                                 regulator-name = "vcc_18";
192                                 regulator-always-on;
193                                 regulator-boot-on;
194                                 regulator-min-microvolt = <1800000>;
195                                 regulator-max-microvolt = <1800000>;
196                                 regulator-state-mem {
197                                         regulator-on-in-suspend;
198                                         regulator-suspend-microvolt = <1800000>;
199                                 };
200                         };
201
202                         vcc18_lcd: LDO_REG8 {
203                                 regulator-name = "vcc18_lcd";
204                                 regulator-always-on;
205                                 regulator-boot-on;
206                                 regulator-min-microvolt = <1800000>;
207                                 regulator-max-microvolt = <1800000>;
208                                 regulator-state-mem {
209                                         regulator-off-in-suspend;
210                                 };
211                         };
212
213                         vcc_sd: SWITCH_REG1 {
214                                 regulator-name = "vcc_sd";
215                                 regulator-always-on;
216                                 regulator-boot-on;
217                                 regulator-state-mem {
218                                         regulator-off-in-suspend;
219                                 };
220                         };
221
222                         vcc_lcd: SWITCH_REG2 {
223                                 regulator-name = "vcc_lcd";
224                                 regulator-always-on;
225                                 regulator-boot-on;
226                                 regulator-state-mem {
227                                         regulator-off-in-suspend;
228                                 };
229                         };
230                 };
231         };
232 };
233
234 &i2c5 {
235         status = "okay";
236 };
237
238 &pinctrl {
239         pcfg_pull_none_drv_8ma: pcfg-pull-none-drv-8ma {
240                 drive-strength = <8>;
241         };
242
243         pcfg_pull_up_drv_8ma: pcfg-pull-up-drv-8ma {
244                 bias-pull-up;
245                 drive-strength = <8>;
246         };
247
248         pmic {
249                 pmic_int: pmic-int {
250                         rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>;
251                 };
252         };
253
254         sdmmc {
255                 sdmmc_bus4: sdmmc-bus4 {
256                         rockchip,pins =
257                                 <6 RK_PC0 1 &pcfg_pull_up_drv_8ma>,
258                                 <6 RK_PC1 1 &pcfg_pull_up_drv_8ma>,
259                                 <6 RK_PC2 1 &pcfg_pull_up_drv_8ma>,
260                                 <6 RK_PC3 1 &pcfg_pull_up_drv_8ma>;
261                 };
262
263                 sdmmc_clk: sdmmc-clk {
264                         rockchip,pins = <6 RK_PC4 1 &pcfg_pull_none_drv_8ma>;
265                 };
266
267                 sdmmc_cmd: sdmmc-cmd {
268                         rockchip,pins = <6 RK_PC5 1 &pcfg_pull_up_drv_8ma>;
269                 };
270         };
271
272         vbus_host {
273                 usb1_en_oc: usb1-en-oc {
274                         rockchip,pins = <0 RK_PC1 RK_FUNC_GPIO &pcfg_pull_up>;
275                 };
276         };
277
278         vbus_typec {
279                 usb0_en_oc: usb0-en-oc {
280                         rockchip,pins = <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_up>;
281                 };
282         };
283 };
284
285 &usbphy {
286         status = "okay";
287 };
288
289 &usb_host0_ehci {
290         status = "okay";
291 };
292
293 &usb_host0_ohci {
294         status = "okay";
295 };
296
297 &usb_host1 {
298         status = "okay";
299 };
300
301 &usb_otg {
302         status = "okay";
303 };
304
305 &vbus_host {
306         enable-active-high;
307         gpio = <&gpio0 RK_PC1 GPIO_ACTIVE_HIGH>; /* USB1_EN_OC# */
308 };
309
310 &vbus_typec {
311         enable-active-high;
312         gpio = <&gpio0 RK_PB5 GPIO_ACTIVE_HIGH>; /* USB0_EN_OC# */
313 };