Merge tag 'perf-tools-for-v5.14-2021-07-10' of git://git.kernel.org/pub/scm/linux...
[linux-2.6-microblaze.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         aliases {
14                 mmc0 = &sdmmc;
15                 mmc1 = &emmc;
16         };
17
18         chosen {
19                 stdout-path = "serial2:1500000n8";
20         };
21
22         gmac_clkin: external-gmac-clock {
23                 compatible = "fixed-clock";
24                 clock-frequency = <125000000>;
25                 clock-output-names = "gmac_clkin";
26                 #clock-cells = <0>;
27         };
28
29         dc_12v: dc-12v {
30                 compatible = "regulator-fixed";
31                 regulator-name = "dc_12v";
32                 regulator-always-on;
33                 regulator-boot-on;
34                 regulator-min-microvolt = <12000000>;
35                 regulator-max-microvolt = <12000000>;
36         };
37
38         vcc_sd: sdmmc-regulator {
39                 compatible = "regulator-fixed";
40                 gpio = <&gpio0 RK_PD6 GPIO_ACTIVE_LOW>;
41                 pinctrl-names = "default";
42                 pinctrl-0 = <&sdmmc0m1_pin>;
43                 regulator-boot-on;
44                 regulator-name = "vcc_sd";
45                 regulator-min-microvolt = <3300000>;
46                 regulator-max-microvolt = <3300000>;
47                 vin-supply = <&vcc_io>;
48         };
49
50         vcc_sdio: sdmmcio-regulator {
51                 compatible = "regulator-gpio";
52                 gpios = <&grf_gpio 0 GPIO_ACTIVE_HIGH>;
53                 states = <1800000 0x1>,
54                          <3300000 0x0>;
55                 regulator-name = "vcc_sdio";
56                 regulator-type = "voltage";
57                 regulator-min-microvolt = <1800000>;
58                 regulator-max-microvolt = <3300000>;
59                 regulator-always-on;
60                 vin-supply = <&vcc_sys>;
61         };
62
63         vcc_host1_5v: vcc_otg_5v: vcc-host1-5v-regulator {
64                 compatible = "regulator-fixed";
65                 enable-active-high;
66                 gpio = <&gpio1 RK_PD2 GPIO_ACTIVE_HIGH>;
67                 pinctrl-names = "default";
68                 pinctrl-0 = <&usb20_host_drv>;
69                 regulator-name = "vcc_host1_5v";
70                 regulator-always-on;
71                 vin-supply = <&vcc_sys>;
72         };
73
74         vcc_sys: vcc-sys {
75                 compatible = "regulator-fixed";
76                 regulator-name = "vcc_sys";
77                 regulator-always-on;
78                 regulator-boot-on;
79                 regulator-min-microvolt = <5000000>;
80                 regulator-max-microvolt = <5000000>;
81                 vin-supply = <&dc_12v>;
82         };
83
84         vcc_phy: vcc-phy-regulator {
85                 compatible = "regulator-fixed";
86                 regulator-name = "vcc_phy";
87                 regulator-always-on;
88                 regulator-boot-on;
89         };
90
91         leds {
92                 compatible = "gpio-leds";
93
94                 power_led: led-0 {
95                         label = "firefly:blue:power";
96                         linux,default-trigger = "heartbeat";
97                         gpios = <&rk805 1 GPIO_ACTIVE_LOW>;
98                         default-state = "on";
99                         mode = <0x23>;
100                 };
101
102                 user_led: led-1 {
103                         label = "firefly:yellow:user";
104                         linux,default-trigger = "mmc1";
105                         gpios = <&rk805 0 GPIO_ACTIVE_LOW>;
106                         default-state = "off";
107                         mode = <0x05>;
108                 };
109         };
110 };
111
112 &analog_sound {
113         status = "okay";
114 };
115
116 &codec {
117         status = "okay";
118 };
119
120 &cpu0 {
121         cpu-supply = <&vdd_arm>;
122 };
123
124 &cpu1 {
125         cpu-supply = <&vdd_arm>;
126 };
127
128 &cpu2 {
129         cpu-supply = <&vdd_arm>;
130 };
131
132 &cpu3 {
133         cpu-supply = <&vdd_arm>;
134 };
135
136 &emmc {
137         bus-width = <8>;
138         cap-mmc-highspeed;
139         max-frequency = <150000000>;
140         mmc-ddr-1_8v;
141         mmc-hs200-1_8v;
142         non-removable;
143         pinctrl-names = "default";
144         pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>;
145         vmmc-supply = <&vcc_io>;
146         vqmmc-supply = <&vcc18_emmc>;
147         status = "okay";
148 };
149
150 &gmac2io {
151         assigned-clocks = <&cru SCLK_MAC2IO>, <&cru SCLK_MAC2IO_EXT>;
152         assigned-clock-parents = <&gmac_clkin>, <&gmac_clkin>;
153         clock_in_out = "input";
154         phy-supply = <&vcc_phy>;
155         phy-mode = "rgmii";
156         pinctrl-names = "default";
157         pinctrl-0 = <&rgmiim1_pins>;
158         snps,aal;
159         snps,reset-gpio = <&gpio1 RK_PC2 GPIO_ACTIVE_LOW>;
160         snps,reset-active-low;
161         snps,reset-delays-us = <0 10000 50000>;
162         snps,rxpbl = <0x4>;
163         snps,txpbl = <0x4>;
164         tx_delay = <0x24>;
165         rx_delay = <0x18>;
166         status = "okay";
167 };
168
169 &hdmi {
170         status = "okay";
171 };
172
173 &hdmiphy {
174         status = "okay";
175 };
176
177 &hdmi_sound {
178         status = "okay";
179 };
180
181 &i2c1 {
182         status = "okay";
183
184         rk805: pmic@18 {
185                 compatible = "rockchip,rk805";
186                 reg = <0x18>;
187                 interrupt-parent = <&gpio1>;
188                 interrupts = <24 IRQ_TYPE_LEVEL_LOW>;
189                 #clock-cells = <1>;
190                 clock-output-names = "xin32k", "rk805-clkout2";
191                 gpio-controller;
192                 #gpio-cells = <2>;
193                 pinctrl-names = "default";
194                 pinctrl-0 = <&pmic_int_l>;
195                 rockchip,system-power-controller;
196                 wakeup-source;
197
198                 vcc1-supply = <&vcc_sys>;
199                 vcc2-supply = <&vcc_sys>;
200                 vcc3-supply = <&vcc_sys>;
201                 vcc4-supply = <&vcc_sys>;
202                 vcc5-supply = <&vcc_io>;
203                 vcc6-supply = <&vcc_io>;
204
205                 regulators {
206                         vdd_logic: DCDC_REG1 {
207                                 regulator-name = "vdd_logic";
208                                 regulator-min-microvolt = <712500>;
209                                 regulator-max-microvolt = <1450000>;
210                                 regulator-always-on;
211                                 regulator-boot-on;
212                                 regulator-state-mem {
213                                         regulator-on-in-suspend;
214                                         regulator-suspend-microvolt = <1000000>;
215                                 };
216                         };
217
218                         vdd_arm: DCDC_REG2 {
219                                 regulator-name = "vdd_arm";
220                                 regulator-min-microvolt = <712500>;
221                                 regulator-max-microvolt = <1450000>;
222                                 regulator-always-on;
223                                 regulator-boot-on;
224                                 regulator-state-mem {
225                                         regulator-on-in-suspend;
226                                         regulator-suspend-microvolt = <950000>;
227                                 };
228                         };
229
230                         vcc_ddr: DCDC_REG3 {
231                                 regulator-name = "vcc_ddr";
232                                 regulator-always-on;
233                                 regulator-boot-on;
234                                 regulator-state-mem {
235                                         regulator-on-in-suspend;
236                                 };
237                         };
238
239                         vcc_io: DCDC_REG4 {
240                                 regulator-name = "vcc_io";
241                                 regulator-min-microvolt = <3300000>;
242                                 regulator-max-microvolt = <3300000>;
243                                 regulator-always-on;
244                                 regulator-boot-on;
245                                 regulator-state-mem {
246                                         regulator-on-in-suspend;
247                                         regulator-suspend-microvolt = <3300000>;
248                                 };
249                         };
250
251                         vcc_18: LDO_REG1 {
252                                 regulator-name = "vcc_18";
253                                 regulator-min-microvolt = <1800000>;
254                                 regulator-max-microvolt = <1800000>;
255                                 regulator-always-on;
256                                 regulator-boot-on;
257                                 regulator-state-mem {
258                                         regulator-on-in-suspend;
259                                         regulator-suspend-microvolt = <1800000>;
260                                 };
261                         };
262
263                         vcc18_emmc: LDO_REG2 {
264                                 regulator-name = "vcc18_emmc";
265                                 regulator-min-microvolt = <1800000>;
266                                 regulator-max-microvolt = <1800000>;
267                                 regulator-always-on;
268                                 regulator-boot-on;
269                                 regulator-state-mem {
270                                         regulator-on-in-suspend;
271                                         regulator-suspend-microvolt = <1800000>;
272                                 };
273                         };
274
275                         vdd_10: LDO_REG3 {
276                                 regulator-name = "vdd_10";
277                                 regulator-min-microvolt = <1000000>;
278                                 regulator-max-microvolt = <1000000>;
279                                 regulator-always-on;
280                                 regulator-boot-on;
281                                 regulator-state-mem {
282                                         regulator-on-in-suspend;
283                                         regulator-suspend-microvolt = <1000000>;
284                                 };
285                         };
286                 };
287         };
288 };
289
290 &i2s0 {
291         status = "okay";
292 };
293
294 &i2s1 {
295         status = "okay";
296 };
297
298 &io_domains {
299         status = "okay";
300
301         vccio1-supply = <&vcc_io>;
302         vccio2-supply = <&vcc18_emmc>;
303         vccio3-supply = <&vcc_sdio>;
304         vccio4-supply = <&vcc_18>;
305         vccio5-supply = <&vcc_io>;
306         vccio6-supply = <&vcc_io>;
307         pmuio-supply = <&vcc_io>;
308 };
309
310 &pinctrl {
311         pmic {
312                 pmic_int_l: pmic-int-l {
313                         rockchip,pins = <1 RK_PD0 RK_FUNC_GPIO &pcfg_pull_up>;
314                 };
315         };
316
317         usb2 {
318                 usb20_host_drv: usb20-host-drv {
319                         rockchip,pins = <1 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
320                 };
321         };
322 };
323
324 &sdmmc {
325         bus-width = <4>;
326         cap-mmc-highspeed;
327         cap-sd-highspeed;
328         disable-wp;
329         max-frequency = <150000000>;
330         pinctrl-names = "default";
331         pinctrl-0 = <&sdmmc0_clk &sdmmc0_cmd &sdmmc0_dectn &sdmmc0_bus4>;
332         sd-uhs-sdr12;
333         sd-uhs-sdr25;
334         sd-uhs-sdr50;
335         sd-uhs-sdr104;
336         vmmc-supply = <&vcc_sd>;
337         vqmmc-supply = <&vcc_sdio>;
338         status = "okay";
339 };
340
341 &tsadc {
342         status = "okay";
343 };
344
345 &u2phy {
346         status = "okay";
347 };
348
349 &u2phy_host {
350         status = "okay";
351 };
352
353 &u2phy_otg {
354         status = "okay";
355 };
356
357 &uart2 {
358         status = "okay";
359 };
360
361 &usb20_otg {
362         dr_mode = "host";
363         status = "okay";
364 };
365
366 &usbdrd3 {
367         dr_mode = "host";
368         status = "okay";
369 };
370
371 &usb_host0_ehci {
372         status = "okay";
373 };
374
375 &usb_host0_ohci {
376         status = "okay";
377 };
378
379 &vop {
380         status = "okay";
381 };
382
383 &vop_mmu {
384         status = "okay";
385 };