]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - sys/gnu/dts/arm64/rockchip/rk3328-a1.dts
Add liblutok a lightweight C++ API for lua.
[FreeBSD/FreeBSD.git] / sys / gnu / dts / 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         status = "okay";
64 };
65
66 &cpu0 {
67         cpu-supply = <&vdd_arm>;
68 };
69
70 &cpu1 {
71         cpu-supply = <&vdd_arm>;
72 };
73
74 &cpu2 {
75         cpu-supply = <&vdd_arm>;
76 };
77
78 &cpu3 {
79         cpu-supply = <&vdd_arm>;
80 };
81
82 &emmc {
83         bus-width = <8>;
84         cap-mmc-highspeed;
85         mmc-ddr-1_8v;
86         mmc-hs200-1_8v;
87         no-sd;
88         no-sdio;
89         non-removable;
90         pinctrl-names = "default";
91         pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>;
92         vmmc-supply = <&vcc_io>;
93         vqmmc-supply = <&vcc18_emmc>;
94         status = "okay";
95 };
96
97 &gmac2io {
98         assigned-clocks = <&cru SCLK_MAC2IO>, <&cru SCLK_MAC2IO_EXT>;
99         assigned-clock-parents = <&gmac_clkin>, <&gmac_clkin>;
100         clock_in_out = "input";
101         phy-handle = <&rtl8211f>;
102         phy-mode = "rgmii";
103         phy-supply = <&vcc_io>;
104         pinctrl-names = "default";
105         pinctrl-0 = <&rgmiim1_pins>;
106         snps,aal;
107         snps,pbl = <0x4>;
108         tx_delay = <0x26>;
109         rx_delay = <0x11>;
110         status = "okay";
111
112         mdio {
113                 compatible = "snps,dwmac-mdio";
114                 #address-cells = <1>;
115                 #size-cells = <0>;
116
117                 rtl8211f: phy@0 {
118                         reg = <0>;
119                         reset-assert-us = <10000>;
120                         reset-deassert-us = <30000>;
121                         reset-gpios = <&gpio2 RK_PC1 GPIO_ACTIVE_LOW>;
122                 };
123         };
124 };
125
126 &gpu {
127         mali-supply = <&vdd_logic>;
128 };
129
130 &hdmi {
131         status = "okay";
132 };
133
134 &hdmiphy {
135         status = "okay";
136 };
137
138 &hdmi_sound {
139         status = "okay";
140 };
141
142 &i2c1 {
143         clock-frequency = <1000000>;
144         i2c-scl-falling-time-ns = <5>;
145         i2c-scl-rising-time-ns = <83>;
146         status = "okay";
147
148         pmic@18 {
149                 compatible = "rockchip,rk805";
150                 reg = <0x18>;
151                 interrupt-parent = <&gpio2>;
152                 interrupts = <RK_PA6 IRQ_TYPE_LEVEL_LOW>;
153                 pinctrl-names = "default";
154                 pinctrl-0 = <&pmic_int_l>;
155                 rockchip,system-power-controller;
156                 wakeup-source;
157
158                 vcc1-supply = <&vcc_sys>;
159                 vcc2-supply = <&vcc_sys>;
160                 vcc3-supply = <&vcc_sys>;
161                 vcc4-supply = <&vcc_sys>;
162                 vcc5-supply = <&vcc_io>;
163                 vcc6-supply = <&vcc_io>;
164
165                 regulators {
166                         vdd_logic: DCDC_REG1 {
167                                 regulator-name = "vdd_logic";
168                                 regulator-min-microvolt = <700000>;
169                                 regulator-max-microvolt = <1350000>;
170                                 regulator-always-on;
171                                 regulator-boot-on;
172                                 regulator-state-mem {
173                                         regulator-on-in-suspend;
174                                         regulator-suspend-microvolt = <1000000>;
175                                 };
176                         };
177
178                         vdd_arm: DCDC_REG2 {
179                                 regulator-name = "vdd_arm";
180                                 regulator-min-microvolt = <700000>;
181                                 regulator-max-microvolt = <1350000>;
182                                 regulator-always-on;
183                                 regulator-boot-on;
184                                 regulator-state-mem {
185                                         regulator-on-in-suspend;
186                                         regulator-suspend-microvolt = <950000>;
187                                 };
188                         };
189
190                         vcc_ddr: DCDC_REG3 {
191                                 regulator-name = "vcc_ddr";
192                                 regulator-always-on;
193                                 regulator-boot-on;
194                                 regulator-state-mem {
195                                         regulator-on-in-suspend;
196                                 };
197                         };
198
199                         vcc_io: DCDC_REG4 {
200                                 regulator-name = "vcc_io";
201                                 regulator-min-microvolt = <3300000>;
202                                 regulator-max-microvolt = <3300000>;
203                                 regulator-always-on;
204                                 regulator-boot-on;
205                                 regulator-state-mem {
206                                         regulator-on-in-suspend;
207                                         regulator-suspend-microvolt = <3300000>;
208                                 };
209                         };
210
211                         vdd_18: LDO_REG1 {
212                                 regulator-name = "vdd_18";
213                                 regulator-min-microvolt = <1800000>;
214                                 regulator-max-microvolt = <1800000>;
215                                 regulator-always-on;
216                                 regulator-boot-on;
217                                 regulator-state-mem {
218                                         regulator-on-in-suspend;
219                                         regulator-suspend-microvolt = <1800000>;
220                                 };
221                         };
222
223                         vcc18_emmc: LDO_REG2 {
224                                 regulator-name = "vcc_18emmc";
225                                 regulator-min-microvolt = <1800000>;
226                                 regulator-max-microvolt = <1800000>;
227                                 regulator-always-on;
228                                 regulator-boot-on;
229                                 regulator-state-mem {
230                                         regulator-on-in-suspend;
231                                         regulator-suspend-microvolt = <1800000>;
232                                 };
233                         };
234
235                         vdd_11: LDO_REG3 {
236                                 regulator-name = "vdd_11";
237                                 regulator-min-microvolt = <1100000>;
238                                 regulator-max-microvolt = <1100000>;
239                                 regulator-always-on;
240                                 regulator-boot-on;
241                                 regulator-state-mem {
242                                         regulator-on-in-suspend;
243                                         regulator-suspend-microvolt = <1100000>;
244                                 };
245                         };
246                 };
247         };
248 };
249
250 &i2s0 {
251         status = "okay";
252 };
253
254 &i2s1 {
255         status = "okay";
256 };
257
258 &io_domains {
259         vccio1-supply = <&vcc_io>;
260         vccio2-supply = <&vcc18_emmc>;
261         vccio3-supply = <&vcc_io>;
262         vccio4-supply = <&vdd_18>;
263         vccio5-supply = <&vcc_io>;
264         vccio6-supply = <&vdd_18>;
265         pmuio-supply = <&vcc_io>;
266         status = "okay";
267 };
268
269 &pinctrl {
270         pmic {
271                 pmic_int_l: pmic-int-l {
272                         rockchip,pins = <2 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>;
273                 };
274         };
275
276         usb3 {
277                 usb30_host_drv: usb30-host-drv {
278                         rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
279                 };
280         };
281
282         wifi {
283                 bt_dis: bt-dis {
284                         rockchip,pins = <2 RK_PC5 RK_FUNC_GPIO &pcfg_output_low>;
285                 };
286
287                 bt_wake_host: bt-wake-host {
288                         rockchip,pins = <2 RK_PC0 RK_FUNC_GPIO &pcfg_pull_up>;
289                 };
290
291                 chip_en: chip-en {
292                         rockchip,pins = <2 RK_PC3 RK_FUNC_GPIO &pcfg_output_low>;
293                 };
294
295                 host_wake_bt: host-wake-bt {
296                         rockchip,pins = <2 RK_PB7 RK_FUNC_GPIO &pcfg_output_high>;
297                 };
298
299                 wl_dis: wl-dis {
300                         rockchip,pins = <3 RK_PB0 RK_FUNC_GPIO &pcfg_output_low>;
301                 };
302
303                 wl_wake_host: wl-wake-host {
304                         rockchip,pins = <3 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up>;
305                 };
306         };
307 };
308
309 &sdmmc {
310         bus-width = <4>;
311         cap-mmc-highspeed;
312         cap-sd-highspeed;
313         disable-wp;
314         pinctrl-names = "default";
315         pinctrl-0 = <&sdmmc0_clk &sdmmc0_cmd &sdmmc0_dectn &sdmmc0_bus4>;
316         vmmc-supply = <&vcc_io>;
317         vqmmc-supply = <&vcc_io>;
318         status = "okay";
319 };
320
321 &tsadc {
322         rockchip,hw-tshut-mode = <0>;
323         rockchip,hw-tshut-polarity = <0>;
324         status = "okay";
325 };
326
327 &uart2 {
328         status = "okay";
329 };
330
331 &u2phy {
332         status = "okay";
333 };
334
335 &u2phy_host {
336         status = "okay";
337 };
338
339 &u2phy_otg {
340         status = "okay";
341 };
342
343 &usb20_otg {
344         dr_mode = "host";
345         status = "okay";
346 };
347
348 &usb_host0_ehci {
349         pinctrl-names = "default";
350         pinctrl-0 = <&bt_dis &bt_wake_host &chip_en &host_wake_bt &wl_dis &wl_wake_host>;
351         status = "okay";
352 };
353
354 &vop {
355         status = "okay";
356 };
357
358 &vop_mmu {
359         status = "okay";
360 };