]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - src/arm64/rockchip/rk3328-roc-cc.dts
Import device-tree files from Linux 6.2
[FreeBSD/FreeBSD.git] / src / arm64 / 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                 };
100
101                 user_led: led-1 {
102                         label = "firefly:yellow:user";
103                         linux,default-trigger = "mmc1";
104                         gpios = <&rk805 0 GPIO_ACTIVE_LOW>;
105                         default-state = "off";
106                 };
107         };
108 };
109
110 &analog_sound {
111         status = "okay";
112 };
113
114 &codec {
115         status = "okay";
116 };
117
118 &cpu0 {
119         cpu-supply = <&vdd_arm>;
120 };
121
122 &cpu1 {
123         cpu-supply = <&vdd_arm>;
124 };
125
126 &cpu2 {
127         cpu-supply = <&vdd_arm>;
128 };
129
130 &cpu3 {
131         cpu-supply = <&vdd_arm>;
132 };
133
134 &emmc {
135         bus-width = <8>;
136         cap-mmc-highspeed;
137         max-frequency = <150000000>;
138         mmc-ddr-1_8v;
139         mmc-hs200-1_8v;
140         non-removable;
141         pinctrl-names = "default";
142         pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>;
143         vmmc-supply = <&vcc_io>;
144         vqmmc-supply = <&vcc18_emmc>;
145         status = "okay";
146 };
147
148 &gmac2io {
149         assigned-clocks = <&cru SCLK_MAC2IO>, <&cru SCLK_MAC2IO_EXT>;
150         assigned-clock-parents = <&gmac_clkin>, <&gmac_clkin>;
151         clock_in_out = "input";
152         phy-supply = <&vcc_phy>;
153         phy-mode = "rgmii";
154         pinctrl-names = "default";
155         pinctrl-0 = <&rgmiim1_pins>;
156         snps,aal;
157         snps,reset-gpio = <&gpio1 RK_PC2 GPIO_ACTIVE_LOW>;
158         snps,reset-active-low;
159         snps,reset-delays-us = <0 10000 50000>;
160         snps,rxpbl = <0x4>;
161         snps,txpbl = <0x4>;
162         tx_delay = <0x24>;
163         rx_delay = <0x18>;
164         status = "okay";
165 };
166
167 &hdmi {
168         status = "okay";
169 };
170
171 &hdmiphy {
172         status = "okay";
173 };
174
175 &hdmi_sound {
176         status = "okay";
177 };
178
179 &i2c1 {
180         status = "okay";
181
182         rk805: pmic@18 {
183                 compatible = "rockchip,rk805";
184                 reg = <0x18>;
185                 interrupt-parent = <&gpio1>;
186                 interrupts = <24 IRQ_TYPE_LEVEL_LOW>;
187                 #clock-cells = <1>;
188                 clock-output-names = "xin32k", "rk805-clkout2";
189                 gpio-controller;
190                 #gpio-cells = <2>;
191                 pinctrl-names = "default";
192                 pinctrl-0 = <&pmic_int_l>;
193                 rockchip,system-power-controller;
194                 wakeup-source;
195
196                 vcc1-supply = <&vcc_sys>;
197                 vcc2-supply = <&vcc_sys>;
198                 vcc3-supply = <&vcc_sys>;
199                 vcc4-supply = <&vcc_sys>;
200                 vcc5-supply = <&vcc_io>;
201                 vcc6-supply = <&vcc_io>;
202
203                 regulators {
204                         vdd_logic: DCDC_REG1 {
205                                 regulator-name = "vdd_logic";
206                                 regulator-min-microvolt = <712500>;
207                                 regulator-max-microvolt = <1450000>;
208                                 regulator-always-on;
209                                 regulator-boot-on;
210                                 regulator-state-mem {
211                                         regulator-on-in-suspend;
212                                         regulator-suspend-microvolt = <1000000>;
213                                 };
214                         };
215
216                         vdd_arm: DCDC_REG2 {
217                                 regulator-name = "vdd_arm";
218                                 regulator-min-microvolt = <712500>;
219                                 regulator-max-microvolt = <1450000>;
220                                 regulator-always-on;
221                                 regulator-boot-on;
222                                 regulator-state-mem {
223                                         regulator-on-in-suspend;
224                                         regulator-suspend-microvolt = <950000>;
225                                 };
226                         };
227
228                         vcc_ddr: DCDC_REG3 {
229                                 regulator-name = "vcc_ddr";
230                                 regulator-always-on;
231                                 regulator-boot-on;
232                                 regulator-state-mem {
233                                         regulator-on-in-suspend;
234                                 };
235                         };
236
237                         vcc_io: DCDC_REG4 {
238                                 regulator-name = "vcc_io";
239                                 regulator-min-microvolt = <3300000>;
240                                 regulator-max-microvolt = <3300000>;
241                                 regulator-always-on;
242                                 regulator-boot-on;
243                                 regulator-state-mem {
244                                         regulator-on-in-suspend;
245                                         regulator-suspend-microvolt = <3300000>;
246                                 };
247                         };
248
249                         vcc_18: LDO_REG1 {
250                                 regulator-name = "vcc_18";
251                                 regulator-min-microvolt = <1800000>;
252                                 regulator-max-microvolt = <1800000>;
253                                 regulator-always-on;
254                                 regulator-boot-on;
255                                 regulator-state-mem {
256                                         regulator-on-in-suspend;
257                                         regulator-suspend-microvolt = <1800000>;
258                                 };
259                         };
260
261                         vcc18_emmc: LDO_REG2 {
262                                 regulator-name = "vcc18_emmc";
263                                 regulator-min-microvolt = <1800000>;
264                                 regulator-max-microvolt = <1800000>;
265                                 regulator-always-on;
266                                 regulator-boot-on;
267                                 regulator-state-mem {
268                                         regulator-on-in-suspend;
269                                         regulator-suspend-microvolt = <1800000>;
270                                 };
271                         };
272
273                         vdd_10: LDO_REG3 {
274                                 regulator-name = "vdd_10";
275                                 regulator-min-microvolt = <1000000>;
276                                 regulator-max-microvolt = <1000000>;
277                                 regulator-always-on;
278                                 regulator-boot-on;
279                                 regulator-state-mem {
280                                         regulator-on-in-suspend;
281                                         regulator-suspend-microvolt = <1000000>;
282                                 };
283                         };
284                 };
285         };
286 };
287
288 &i2s0 {
289         status = "okay";
290 };
291
292 &i2s1 {
293         status = "okay";
294 };
295
296 &io_domains {
297         status = "okay";
298
299         vccio1-supply = <&vcc_io>;
300         vccio2-supply = <&vcc18_emmc>;
301         vccio3-supply = <&vcc_sdio>;
302         vccio4-supply = <&vcc_18>;
303         vccio5-supply = <&vcc_io>;
304         vccio6-supply = <&vcc_io>;
305         pmuio-supply = <&vcc_io>;
306 };
307
308 &pinctrl {
309         pmic {
310                 pmic_int_l: pmic-int-l {
311                         rockchip,pins = <1 RK_PD0 RK_FUNC_GPIO &pcfg_pull_up>;
312                 };
313         };
314
315         usb2 {
316                 usb20_host_drv: usb20-host-drv {
317                         rockchip,pins = <1 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
318                 };
319         };
320 };
321
322 &sdmmc {
323         bus-width = <4>;
324         cap-mmc-highspeed;
325         cap-sd-highspeed;
326         disable-wp;
327         max-frequency = <150000000>;
328         pinctrl-names = "default";
329         pinctrl-0 = <&sdmmc0_clk &sdmmc0_cmd &sdmmc0_dectn &sdmmc0_bus4>;
330         sd-uhs-sdr12;
331         sd-uhs-sdr25;
332         sd-uhs-sdr50;
333         sd-uhs-sdr104;
334         vmmc-supply = <&vcc_sd>;
335         vqmmc-supply = <&vcc_sdio>;
336         status = "okay";
337 };
338
339 &tsadc {
340         status = "okay";
341 };
342
343 &u2phy {
344         status = "okay";
345 };
346
347 &u2phy_host {
348         status = "okay";
349 };
350
351 &u2phy_otg {
352         status = "okay";
353 };
354
355 &uart2 {
356         status = "okay";
357 };
358
359 &usb20_otg {
360         dr_mode = "host";
361         status = "okay";
362 };
363
364 &usbdrd3 {
365         dr_mode = "host";
366         status = "okay";
367 };
368
369 &usb_host0_ehci {
370         status = "okay";
371 };
372
373 &usb_host0_ohci {
374         status = "okay";
375 };
376
377 &vop {
378         status = "okay";
379 };
380
381 &vop_mmu {
382         status = "okay";
383 };