a48767931af6fa074e4cb2a5f39af0fb1714a709
[linux-2.6-microblaze.git] / arch / arm64 / boot / dts / rockchip / rk3328-evb.dts
1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2 /*
3  * Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd
4  */
5
6 /dts-v1/;
7 #include "rk3328.dtsi"
8
9 / {
10         model = "Rockchip RK3328 EVB";
11         compatible = "rockchip,rk3328-evb", "rockchip,rk3328";
12
13         chosen {
14                 stdout-path = "serial2:1500000n8";
15         };
16
17         dc_12v: dc-12v {
18                 compatible = "regulator-fixed";
19                 regulator-name = "dc_12v";
20                 regulator-always-on;
21                 regulator-boot-on;
22                 regulator-min-microvolt = <12000000>;
23                 regulator-max-microvolt = <12000000>;
24         };
25
26         sdio_pwrseq: sdio-pwrseq {
27                 compatible = "mmc-pwrseq-simple";
28                 pinctrl-names = "default";
29                 pinctrl-0 = <&wifi_enable_h>;
30
31                 /*
32                  * On the module itself this is one of these (depending
33                  * on the actual card populated):
34                  * - SDIO_RESET_L_WL_REG_ON
35                  * - PDN (power down when low)
36                  */
37                 reset-gpios = <&gpio1 18 GPIO_ACTIVE_LOW>;
38         };
39
40         vcc_sd: sdmmc-regulator {
41                 compatible = "regulator-fixed";
42                 gpio = <&gpio0 30 GPIO_ACTIVE_LOW>;
43                 pinctrl-names = "default";
44                 pinctrl-0 = <&sdmmc0m1_pin>;
45                 regulator-name = "vcc_sd";
46                 regulator-min-microvolt = <3300000>;
47                 regulator-max-microvolt = <3300000>;
48                 vin-supply = <&vcc_io>;
49         };
50
51         vcc_sys: vcc-sys {
52                 compatible = "regulator-fixed";
53                 regulator-name = "vcc_sys";
54                 regulator-always-on;
55                 regulator-boot-on;
56                 regulator-min-microvolt = <5000000>;
57                 regulator-max-microvolt = <5000000>;
58                 vin-supply = <&dc_12v>;
59         };
60
61         vcc_phy: vcc-phy-regulator {
62                 compatible = "regulator-fixed";
63                 regulator-name = "vcc_phy";
64                 regulator-always-on;
65                 regulator-boot-on;
66         };
67 };
68
69 &cpu0 {
70         cpu-supply = <&vdd_arm>;
71 };
72
73 &cpu1 {
74         cpu-supply = <&vdd_arm>;
75 };
76
77 &cpu2 {
78         cpu-supply = <&vdd_arm>;
79 };
80
81 &cpu3 {
82         cpu-supply = <&vdd_arm>;
83 };
84
85 &emmc {
86         bus-width = <8>;
87         cap-mmc-highspeed;
88         non-removable;
89         pinctrl-names = "default";
90         pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>;
91         status = "okay";
92 };
93
94 &gmac2phy {
95         phy-supply = <&vcc_phy>;
96         clock_in_out = "output";
97         assigned-clock-rate = <50000000>;
98         assigned-clocks = <&cru SCLK_MAC2PHY>;
99         assigned-clock-parents = <&cru SCLK_MAC2PHY_SRC>;
100         status = "okay";
101 };
102
103 &i2c1 {
104         status = "okay";
105
106         rk805: pmic@18 {
107                 compatible = "rockchip,rk805";
108                 reg = <0x18>;
109                 interrupt-parent = <&gpio2>;
110                 interrupts = <6 IRQ_TYPE_LEVEL_LOW>;
111                 #clock-cells = <1>;
112                 clock-output-names = "xin32k", "rk805-clkout2";
113                 gpio-controller;
114                 #gpio-cells = <2>;
115                 pinctrl-names = "default";
116                 pinctrl-0 = <&pmic_int_l>;
117                 rockchip,system-power-controller;
118                 wakeup-source;
119
120                 vcc1-supply = <&vcc_sys>;
121                 vcc2-supply = <&vcc_sys>;
122                 vcc3-supply = <&vcc_sys>;
123                 vcc4-supply = <&vcc_sys>;
124                 vcc5-supply = <&vcc_io>;
125                 vcc6-supply = <&vcc_io>;
126
127                 regulators {
128                         vdd_logic: DCDC_REG1 {
129                                 regulator-name = "vdd_logic";
130                                 regulator-min-microvolt = <712500>;
131                                 regulator-max-microvolt = <1450000>;
132                                 regulator-always-on;
133                                 regulator-boot-on;
134                                 regulator-state-mem {
135                                         regulator-on-in-suspend;
136                                         regulator-suspend-microvolt = <1000000>;
137                                 };
138                         };
139
140                         vdd_arm: DCDC_REG2 {
141                                 regulator-name = "vdd_arm";
142                                 regulator-min-microvolt = <712500>;
143                                 regulator-max-microvolt = <1450000>;
144                                 regulator-always-on;
145                                 regulator-boot-on;
146                                 regulator-state-mem {
147                                         regulator-on-in-suspend;
148                                         regulator-suspend-microvolt = <950000>;
149                                 };
150                         };
151
152                         vcc_ddr: DCDC_REG3 {
153                                 regulator-name = "vcc_ddr";
154                                 regulator-always-on;
155                                 regulator-boot-on;
156                                 regulator-state-mem {
157                                         regulator-on-in-suspend;
158                                 };
159                         };
160
161                         vcc_io: DCDC_REG4 {
162                                 regulator-name = "vcc_io";
163                                 regulator-min-microvolt = <3300000>;
164                                 regulator-max-microvolt = <3300000>;
165                                 regulator-always-on;
166                                 regulator-boot-on;
167                                 regulator-state-mem {
168                                         regulator-on-in-suspend;
169                                         regulator-suspend-microvolt = <3300000>;
170                                 };
171                         };
172
173                         vcc_18: LDO_REG1 {
174                                 regulator-name = "vcc_18";
175                                 regulator-min-microvolt = <1800000>;
176                                 regulator-max-microvolt = <1800000>;
177                                 regulator-always-on;
178                                 regulator-boot-on;
179                                 regulator-state-mem {
180                                         regulator-on-in-suspend;
181                                         regulator-suspend-microvolt = <1800000>;
182                                 };
183                         };
184
185                         vcc18_emmc: LDO_REG2 {
186                                 regulator-name = "vcc18_emmc";
187                                 regulator-min-microvolt = <1800000>;
188                                 regulator-max-microvolt = <1800000>;
189                                 regulator-always-on;
190                                 regulator-boot-on;
191                                 regulator-state-mem {
192                                         regulator-on-in-suspend;
193                                         regulator-suspend-microvolt = <1800000>;
194                                 };
195                         };
196
197                         vdd_10: LDO_REG3 {
198                                 regulator-name = "vdd_10";
199                                 regulator-min-microvolt = <1000000>;
200                                 regulator-max-microvolt = <1000000>;
201                                 regulator-always-on;
202                                 regulator-boot-on;
203                                 regulator-state-mem {
204                                         regulator-on-in-suspend;
205                                         regulator-suspend-microvolt = <1000000>;
206                                 };
207                         };
208                 };
209         };
210 };
211
212 &pinctrl {
213         pmic {
214                 pmic_int_l: pmic-int-l {
215                         rockchip,pins = <2 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>;
216                 };
217         };
218
219         sdio-pwrseq {
220                 wifi_enable_h: wifi-enable-h {
221                 rockchip,pins =
222                         <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>;
223                 };
224         };
225 };
226
227 &sdio {
228         bus-width = <4>;
229         cap-sd-highspeed;
230         cap-sdio-irq;
231         keep-power-in-suspend;
232         max-frequency = <150000000>;
233         mmc-pwrseq = <&sdio_pwrseq>;
234         non-removable;
235         pinctrl-names = "default";
236         pinctrl-0 = <&sdmmc1_bus4 &sdmmc1_cmd &sdmmc1_clk>;
237         status = "okay";
238 };
239
240 &sdmmc {
241         bus-width = <4>;
242         cap-mmc-highspeed;
243         cap-sd-highspeed;
244         disable-wp;
245         max-frequency = <150000000>;
246         pinctrl-names = "default";
247         pinctrl-0 = <&sdmmc0_clk &sdmmc0_cmd &sdmmc0_dectn &sdmmc0_bus4>;
248         vmmc-supply = <&vcc_sd>;
249         status = "okay";
250 };
251
252 &tsadc {
253         status = "okay";
254 };
255
256 &uart2 {
257         status = "okay";
258 };
259
260 &u2phy {
261         status = "okay";
262 };
263
264 &u2phy_host {
265         status = "okay";
266 };
267
268 &u2phy_otg {
269         status = "okay";
270 };
271
272 &usb20_otg {
273         status = "okay";
274 };
275
276 &usb_host0_ehci {
277         status = "okay";
278 };
279
280 &usb_host0_ohci {
281         status = "okay";
282 };