]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - src/arm64/rockchip/rk3328-a1.dts
Import DTS from Linux 5.8
[FreeBSD/FreeBSD.git] / src / arm64 / rockchip / rk3328-a1.dts
1 // SPDX-License-Identifier: (GPL-2.0-only OR MIT)
2 // Copyright (c) 2017-2019 Arm Ltd.
3
4 /dts-v1/;
5 #include "rk3328.dtsi"
6
7 / {
8         model = "Beelink A1";
9         compatible = "azw,beelink-a1", "rockchip,rk3328";
10
11         /*
12          * UART pins, as viewed with bottom of case removed:
13          *
14          *           Front
15          *        /-------
16          *  L    / o <- Gnd
17          *  e   / o <-- Rx
18          *  f  / o <--- Tx
19          *  t / o <---- +3.3v
20          *    |
21          */
22         chosen {
23                 stdout-path = "serial2:1500000n8";
24         };
25
26         gmac_clkin: external-gmac-clock {
27                 compatible = "fixed-clock";
28                 clock-frequency = <125000000>;
29                 clock-output-names = "gmac_clkin";
30                 #clock-cells = <0>;
31         };
32
33         vcc_host_5v: usb3-current-switch {
34                 compatible = "regulator-fixed";
35                 enable-active-high;
36                 gpio = <&gpio0 RK_PA0 GPIO_ACTIVE_HIGH>;
37                 pinctrl-names = "default";
38                 pinctrl-0 = <&usb30_host_drv>;
39                 regulator-name = "vcc_host_5v";
40                 vin-supply = <&vcc_sys>;
41         };
42
43         vcc_sys: vcc-sys {
44                 compatible = "regulator-fixed";
45                 regulator-name = "vcc_sys";
46                 regulator-min-microvolt = <5000000>;
47                 regulator-max-microvolt = <5000000>;
48         };
49
50         ir-receiver {
51                 compatible = "gpio-ir-receiver";
52                 gpios = <&gpio2 RK_PA2 GPIO_ACTIVE_LOW>;
53                 linux,rc-map-name = "rc-beelink-gs1";
54         };
55 };
56
57 &analog_sound {
58         simple-audio-card,name = "Analog A/V";
59         status = "okay";
60 };
61
62 &codec {
63         mute-gpios = <&grf_gpio 0 GPIO_ACTIVE_LOW>;
64         status = "okay";
65 };
66
67 &cpu0 {
68         cpu-supply = <&vdd_arm>;
69 };
70
71 &cpu1 {
72         cpu-supply = <&vdd_arm>;
73 };
74
75 &cpu2 {
76         cpu-supply = <&vdd_arm>;
77 };
78
79 &cpu3 {
80         cpu-supply = <&vdd_arm>;
81 };
82
83 &emmc {
84         bus-width = <8>;
85         cap-mmc-highspeed;
86         mmc-ddr-1_8v;
87         mmc-hs200-1_8v;
88         no-sd;
89         no-sdio;
90         non-removable;
91         pinctrl-names = "default";
92         pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>;
93         vmmc-supply = <&vcc_io>;
94         vqmmc-supply = <&vcc18_emmc>;
95         status = "okay";
96 };
97
98 &gmac2io {
99         assigned-clocks = <&cru SCLK_MAC2IO>, <&cru SCLK_MAC2IO_EXT>;
100         assigned-clock-parents = <&gmac_clkin>, <&gmac_clkin>;
101         clock_in_out = "input";
102         phy-handle = <&rtl8211f>;
103         phy-mode = "rgmii";
104         phy-supply = <&vcc_io>;
105         pinctrl-names = "default";
106         pinctrl-0 = <&rgmiim1_pins>;
107         snps,aal;
108         snps,pbl = <0x4>;
109         tx_delay = <0x26>;
110         rx_delay = <0x11>;
111         status = "okay";
112
113         mdio {
114                 compatible = "snps,dwmac-mdio";
115                 #address-cells = <1>;
116                 #size-cells = <0>;
117
118                 rtl8211f: ethernet-phy@0 {
119                         reg = <0>;
120                         reset-assert-us = <10000>;
121                         reset-deassert-us = <30000>;
122                         reset-gpios = <&gpio2 RK_PC1 GPIO_ACTIVE_LOW>;
123                 };
124         };
125 };
126
127 &gpu {
128         mali-supply = <&vdd_logic>;
129 };
130
131 &hdmi {
132         status = "okay";
133 };
134
135 &hdmiphy {
136         status = "okay";
137 };
138
139 &hdmi_sound {
140         status = "okay";
141 };
142
143 &i2c1 {
144         clock-frequency = <1000000>;
145         i2c-scl-falling-time-ns = <5>;
146         i2c-scl-rising-time-ns = <83>;
147         status = "okay";
148
149         pmic@18 {
150                 compatible = "rockchip,rk805";
151                 reg = <0x18>;
152                 interrupt-parent = <&gpio2>;
153                 interrupts = <RK_PA6 IRQ_TYPE_LEVEL_LOW>;
154                 pinctrl-names = "default";
155                 pinctrl-0 = <&pmic_int_l>;
156                 rockchip,system-power-controller;
157                 wakeup-source;
158
159                 vcc1-supply = <&vcc_sys>;
160                 vcc2-supply = <&vcc_sys>;
161                 vcc3-supply = <&vcc_sys>;
162                 vcc4-supply = <&vcc_sys>;
163                 vcc5-supply = <&vcc_io>;
164                 vcc6-supply = <&vcc_io>;
165
166                 regulators {
167                         vdd_logic: DCDC_REG1 {
168                                 regulator-name = "vdd_logic";
169                                 regulator-min-microvolt = <700000>;
170                                 regulator-max-microvolt = <1350000>;
171                                 regulator-always-on;
172                                 regulator-boot-on;
173                                 regulator-state-mem {
174                                         regulator-on-in-suspend;
175                                         regulator-suspend-microvolt = <1000000>;
176                                 };
177                         };
178
179                         vdd_arm: DCDC_REG2 {
180                                 regulator-name = "vdd_arm";
181                                 regulator-min-microvolt = <700000>;
182                                 regulator-max-microvolt = <1350000>;
183                                 regulator-always-on;
184                                 regulator-boot-on;
185                                 regulator-state-mem {
186                                         regulator-on-in-suspend;
187                                         regulator-suspend-microvolt = <950000>;
188                                 };
189                         };
190
191                         vcc_ddr: DCDC_REG3 {
192                                 regulator-name = "vcc_ddr";
193                                 regulator-always-on;
194                                 regulator-boot-on;
195                                 regulator-state-mem {
196                                         regulator-on-in-suspend;
197                                 };
198                         };
199
200                         vcc_io: DCDC_REG4 {
201                                 regulator-name = "vcc_io";
202                                 regulator-min-microvolt = <3300000>;
203                                 regulator-max-microvolt = <3300000>;
204                                 regulator-always-on;
205                                 regulator-boot-on;
206                                 regulator-state-mem {
207                                         regulator-on-in-suspend;
208                                         regulator-suspend-microvolt = <3300000>;
209                                 };
210                         };
211
212                         vdd_18: LDO_REG1 {
213                                 regulator-name = "vdd_18";
214                                 regulator-min-microvolt = <1800000>;
215                                 regulator-max-microvolt = <1800000>;
216                                 regulator-always-on;
217                                 regulator-boot-on;
218                                 regulator-state-mem {
219                                         regulator-on-in-suspend;
220                                         regulator-suspend-microvolt = <1800000>;
221                                 };
222                         };
223
224                         vcc18_emmc: LDO_REG2 {
225                                 regulator-name = "vcc_18emmc";
226                                 regulator-min-microvolt = <1800000>;
227                                 regulator-max-microvolt = <1800000>;
228                                 regulator-always-on;
229                                 regulator-boot-on;
230                                 regulator-state-mem {
231                                         regulator-on-in-suspend;
232                                         regulator-suspend-microvolt = <1800000>;
233                                 };
234                         };
235
236                         vdd_11: LDO_REG3 {
237                                 regulator-name = "vdd_11";
238                                 regulator-min-microvolt = <1100000>;
239                                 regulator-max-microvolt = <1100000>;
240                                 regulator-always-on;
241                                 regulator-boot-on;
242                                 regulator-state-mem {
243                                         regulator-on-in-suspend;
244                                         regulator-suspend-microvolt = <1100000>;
245                                 };
246                         };
247                 };
248         };
249 };
250
251 &i2s0 {
252         status = "okay";
253 };
254
255 &i2s1 {
256         status = "okay";
257 };
258
259 &io_domains {
260         vccio1-supply = <&vcc_io>;
261         vccio2-supply = <&vcc18_emmc>;
262         vccio3-supply = <&vcc_io>;
263         vccio4-supply = <&vdd_18>;
264         vccio5-supply = <&vcc_io>;
265         vccio6-supply = <&vdd_18>;
266         pmuio-supply = <&vcc_io>;
267         status = "okay";
268 };
269
270 &pinctrl {
271         pmic {
272                 pmic_int_l: pmic-int-l {
273                         rockchip,pins = <2 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>;
274                 };
275         };
276
277         usb3 {
278                 usb30_host_drv: usb30-host-drv {
279                         rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
280                 };
281         };
282
283         wifi {
284                 bt_dis: bt-dis {
285                         rockchip,pins = <2 RK_PC5 RK_FUNC_GPIO &pcfg_output_low>;
286                 };
287
288                 bt_wake_host: bt-wake-host {
289                         rockchip,pins = <2 RK_PC0 RK_FUNC_GPIO &pcfg_pull_up>;
290                 };
291
292                 chip_en: chip-en {
293                         rockchip,pins = <2 RK_PC3 RK_FUNC_GPIO &pcfg_output_low>;
294                 };
295
296                 host_wake_bt: host-wake-bt {
297                         rockchip,pins = <2 RK_PB7 RK_FUNC_GPIO &pcfg_output_high>;
298                 };
299
300                 wl_dis: wl-dis {
301                         rockchip,pins = <3 RK_PB0 RK_FUNC_GPIO &pcfg_output_low>;
302                 };
303
304                 wl_wake_host: wl-wake-host {
305                         rockchip,pins = <3 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up>;
306                 };
307         };
308 };
309
310 &sdmmc {
311         bus-width = <4>;
312         cap-mmc-highspeed;
313         cap-sd-highspeed;
314         disable-wp;
315         pinctrl-names = "default";
316         pinctrl-0 = <&sdmmc0_clk &sdmmc0_cmd &sdmmc0_dectn &sdmmc0_bus4>;
317         vmmc-supply = <&vcc_io>;
318         vqmmc-supply = <&vcc_io>;
319         status = "okay";
320 };
321
322 &tsadc {
323         rockchip,hw-tshut-mode = <0>;
324         rockchip,hw-tshut-polarity = <0>;
325         status = "okay";
326 };
327
328 &uart2 {
329         status = "okay";
330 };
331
332 &u2phy {
333         status = "okay";
334 };
335
336 &u2phy_host {
337         status = "okay";
338 };
339
340 &u2phy_otg {
341         status = "okay";
342 };
343
344 &usb20_otg {
345         dr_mode = "host";
346         status = "okay";
347 };
348
349 &usb_host0_ehci {
350         pinctrl-names = "default";
351         pinctrl-0 = <&bt_dis &bt_wake_host &chip_en &host_wake_bt &wl_dis &wl_wake_host>;
352         status = "okay";
353 };
354
355 &vop {
356         status = "okay";
357 };
358
359 &vop_mmu {
360         status = "okay";
361 };