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