GNU Linux-libre 4.19.263-gnu1
[releases.git] / arch / arm64 / boot / dts / rockchip / rk3328-roc-cc.dts
1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2 /*
3  * Copyright (c) 2017 T-Chip Intelligent Technology Co., Ltd
4  */
5
6 /dts-v1/;
7 #include "rk3328.dtsi"
8
9 / {
10         model = "Firefly roc-rk3328-cc";
11         compatible = "firefly,roc-rk3328-cc", "rockchip,rk3328";
12
13         chosen {
14                 stdout-path = "serial2:1500000n8";
15         };
16
17         gmac_clkin: external-gmac-clock {
18                 compatible = "fixed-clock";
19                 clock-frequency = <125000000>;
20                 clock-output-names = "gmac_clkin";
21                 #clock-cells = <0>;
22         };
23
24         dc_12v: dc-12v {
25                 compatible = "regulator-fixed";
26                 regulator-name = "dc_12v";
27                 regulator-always-on;
28                 regulator-boot-on;
29                 regulator-min-microvolt = <12000000>;
30                 regulator-max-microvolt = <12000000>;
31         };
32
33         vcc_sd: sdmmc-regulator {
34                 compatible = "regulator-fixed";
35                 gpio = <&gpio0 RK_PD6 GPIO_ACTIVE_LOW>;
36                 pinctrl-names = "default";
37                 pinctrl-0 = <&sdmmc0m1_gpio>;
38                 regulator-name = "vcc_sd";
39                 regulator-min-microvolt = <3300000>;
40                 regulator-max-microvolt = <3300000>;
41                 vin-supply = <&vcc_io>;
42         };
43
44         vcc_host1_5v: vcc_otg_5v: vcc-host1-5v-regulator {
45                 compatible = "regulator-fixed";
46                 enable-active-high;
47                 gpio = <&gpio1 RK_PD2 GPIO_ACTIVE_HIGH>;
48                 pinctrl-names = "default";
49                 pinctrl-0 = <&usb20_host_drv>;
50                 regulator-name = "vcc_host1_5v";
51                 regulator-always-on;
52                 vin-supply = <&vcc_sys>;
53         };
54
55         vcc_sys: vcc-sys {
56                 compatible = "regulator-fixed";
57                 regulator-name = "vcc_sys";
58                 regulator-always-on;
59                 regulator-boot-on;
60                 regulator-min-microvolt = <5000000>;
61                 regulator-max-microvolt = <5000000>;
62                 vin-supply = <&dc_12v>;
63         };
64
65         vcc_phy: vcc-phy-regulator {
66                 compatible = "regulator-fixed";
67                 regulator-name = "vcc_phy";
68                 regulator-always-on;
69                 regulator-boot-on;
70         };
71 };
72
73 &cpu0 {
74         cpu-supply = <&vdd_arm>;
75 };
76
77 &emmc {
78         bus-width = <8>;
79         cap-mmc-highspeed;
80         non-removable;
81         pinctrl-names = "default";
82         pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>;
83         status = "okay";
84 };
85
86 &gmac2io {
87         assigned-clocks = <&cru SCLK_MAC2IO>, <&cru SCLK_MAC2IO_EXT>;
88         assigned-clock-parents = <&gmac_clkin>, <&gmac_clkin>;
89         clock_in_out = "input";
90         phy-supply = <&vcc_phy>;
91         phy-mode = "rgmii";
92         pinctrl-names = "default";
93         pinctrl-0 = <&rgmiim1_pins>;
94         snps,reset-gpio = <&gpio1 RK_PC2 GPIO_ACTIVE_LOW>;
95         snps,reset-active-low;
96         snps,reset-delays-us = <0 10000 50000>;
97         tx_delay = <0x24>;
98         rx_delay = <0x18>;
99         status = "okay";
100 };
101
102 &i2c1 {
103         status = "okay";
104
105         rk805: pmic@18 {
106                 compatible = "rockchip,rk805";
107                 reg = <0x18>;
108                 interrupt-parent = <&gpio1>;
109                 interrupts = <24 IRQ_TYPE_LEVEL_LOW>;
110                 #clock-cells = <1>;
111                 clock-output-names = "xin32k", "rk805-clkout2";
112                 gpio-controller;
113                 #gpio-cells = <2>;
114                 pinctrl-names = "default";
115                 pinctrl-0 = <&pmic_int_l>;
116                 rockchip,system-power-controller;
117                 wakeup-source;
118
119                 vcc1-supply = <&vcc_sys>;
120                 vcc2-supply = <&vcc_sys>;
121                 vcc3-supply = <&vcc_sys>;
122                 vcc4-supply = <&vcc_sys>;
123                 vcc5-supply = <&vcc_io>;
124                 vcc6-supply = <&vcc_io>;
125
126                 regulators {
127                         vdd_logic: DCDC_REG1 {
128                                 regulator-name = "vdd_logic";
129                                 regulator-min-microvolt = <712500>;
130                                 regulator-max-microvolt = <1450000>;
131                                 regulator-always-on;
132                                 regulator-boot-on;
133                                 regulator-state-mem {
134                                         regulator-on-in-suspend;
135                                         regulator-suspend-microvolt = <1000000>;
136                                 };
137                         };
138
139                         vdd_arm: DCDC_REG2 {
140                                 regulator-name = "vdd_arm";
141                                 regulator-min-microvolt = <712500>;
142                                 regulator-max-microvolt = <1450000>;
143                                 regulator-always-on;
144                                 regulator-boot-on;
145                                 regulator-state-mem {
146                                         regulator-on-in-suspend;
147                                         regulator-suspend-microvolt = <950000>;
148                                 };
149                         };
150
151                         vcc_ddr: DCDC_REG3 {
152                                 regulator-name = "vcc_ddr";
153                                 regulator-always-on;
154                                 regulator-boot-on;
155                                 regulator-state-mem {
156                                         regulator-on-in-suspend;
157                                 };
158                         };
159
160                         vcc_io: DCDC_REG4 {
161                                 regulator-name = "vcc_io";
162                                 regulator-min-microvolt = <3300000>;
163                                 regulator-max-microvolt = <3300000>;
164                                 regulator-always-on;
165                                 regulator-boot-on;
166                                 regulator-state-mem {
167                                         regulator-on-in-suspend;
168                                         regulator-suspend-microvolt = <3300000>;
169                                 };
170                         };
171
172                         vcc_18: LDO_REG1 {
173                                 regulator-name = "vcc_18";
174                                 regulator-min-microvolt = <1800000>;
175                                 regulator-max-microvolt = <1800000>;
176                                 regulator-always-on;
177                                 regulator-boot-on;
178                                 regulator-state-mem {
179                                         regulator-on-in-suspend;
180                                         regulator-suspend-microvolt = <1800000>;
181                                 };
182                         };
183
184                         vcc18_emmc: LDO_REG2 {
185                                 regulator-name = "vcc18_emmc";
186                                 regulator-min-microvolt = <1800000>;
187                                 regulator-max-microvolt = <1800000>;
188                                 regulator-always-on;
189                                 regulator-boot-on;
190                                 regulator-state-mem {
191                                         regulator-on-in-suspend;
192                                         regulator-suspend-microvolt = <1800000>;
193                                 };
194                         };
195
196                         vdd_10: LDO_REG3 {
197                                 regulator-name = "vdd_10";
198                                 regulator-min-microvolt = <1000000>;
199                                 regulator-max-microvolt = <1000000>;
200                                 regulator-always-on;
201                                 regulator-boot-on;
202                                 regulator-state-mem {
203                                         regulator-on-in-suspend;
204                                         regulator-suspend-microvolt = <1000000>;
205                                 };
206                         };
207                 };
208         };
209 };
210
211 &pinctrl {
212         pmic {
213                 pmic_int_l: pmic-int-l {
214                         rockchip,pins = <1 RK_PD0 RK_FUNC_GPIO &pcfg_pull_up>;
215                 };
216         };
217
218         usb2 {
219                 usb20_host_drv: usb20-host-drv {
220                         rockchip,pins = <1 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
221                 };
222         };
223 };
224
225 &sdmmc {
226         bus-width = <4>;
227         cap-mmc-highspeed;
228         cap-sd-highspeed;
229         disable-wp;
230         max-frequency = <150000000>;
231         pinctrl-names = "default";
232         pinctrl-0 = <&sdmmc0_clk &sdmmc0_cmd &sdmmc0_dectn &sdmmc0_bus4>;
233         vmmc-supply = <&vcc_sd>;
234         status = "okay";
235 };
236
237 &tsadc {
238         status = "okay";
239 };
240
241 &u2phy {
242         status = "okay";
243 };
244
245 &u2phy_host {
246         status = "okay";
247 };
248
249 &u2phy_otg {
250         status = "okay";
251 };
252
253 &uart2 {
254         status = "okay";
255 };
256
257 &usb20_otg {
258         dr_mode = "host";
259         status = "okay";
260 };
261
262 &usb_host0_ehci {
263         status = "okay";
264 };
265
266 &usb_host0_ohci {
267         status = "okay";
268 };