Loading...
Note: File does not exist in v6.2.
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (C) 2024 Icenowy Zheng <uwu@icenowy.me>
4 */
5
6/dts-v1/;
7#include "sun8i-a33-vstar-core1.dtsi"
8
9#include <dt-bindings/gpio/gpio.h>
10#include <dt-bindings/input/input.h>
11
12/ {
13 model = "Rervision A33-Vstar";
14 compatible = "rervision,a33-vstar",
15 "rervision,a33-core1",
16 "allwinner,sun8i-a33";
17
18 aliases {
19 serial0 = &uart0;
20 ethernet0 = &r8152;
21 };
22
23 chosen {
24 stdout-path = "serial0:115200n8";
25 };
26
27 reg_usb1_vbus: regulator-usb1-vbus {
28 compatible = "regulator-fixed";
29 regulator-name = "usb1-vbus";
30 regulator-min-microvolt = <5000000>;
31 regulator-max-microvolt = <5000000>;
32 regulator-boot-on;
33 enable-active-high;
34 gpio = <&pio 1 2 GPIO_ACTIVE_HIGH>; /* PB2 */
35 };
36
37 wifi_pwrseq: pwrseq {
38 compatible = "mmc-pwrseq-simple";
39 reset-gpios = <&r_pio 0 6 GPIO_ACTIVE_LOW>; /* PL6 */
40 clocks = <&rtc CLK_OSC32K_FANOUT>;
41 clock-names = "ext_clock";
42 };
43};
44
45&ac_power_supply {
46 status = "okay";
47};
48
49&codec {
50 status = "okay";
51};
52
53&dai {
54 status = "okay";
55};
56
57&ehci0 {
58 #address-cells = <1>;
59 #size-cells = <0>;
60 status = "okay";
61
62 hub@1 {
63 /* Onboard GL850G hub which needs no extra power sequence */
64 compatible = "usb5e3,608";
65 reg = <1>;
66 #address-cells = <1>;
67 #size-cells = <0>;
68
69 r8152: ethernet@4 {
70 /*
71 * Onboard Realtek RTL8152 USB Ethernet,
72 * with no MAC address programmed
73 */
74 compatible = "usbbda,8152";
75 reg = <4>;
76 };
77 };
78};
79
80&lradc {
81 vref-supply = <®_aldo3>;
82 status = "okay";
83
84 button-191 {
85 label = "V+";
86 linux,code = <KEY_VOLUMEUP>;
87 channel = <0>;
88 voltage = <191011>;
89 };
90
91 button-391 {
92 label = "V-";
93 linux,code = <KEY_VOLUMEDOWN>;
94 channel = <0>;
95 voltage = <391304>;
96 };
97
98 button-600 {
99 label = "BACK";
100 linux,code = <KEY_BACK>;
101 channel = <0>;
102 voltage = <600000>;
103 };
104};
105
106&mmc0 {
107 vmmc-supply = <®_dcdc1>;
108 bus-width = <4>;
109 cd-gpios = <&pio 1 4 GPIO_ACTIVE_LOW>; /* PB4 */
110 status = "okay";
111};
112
113&mmc1 {
114 pinctrl-names = "default";
115 pinctrl-0 = <&mmc1_pg_pins>;
116 vmmc-supply = <®_dldo1>;
117 mmc-pwrseq = <&wifi_pwrseq>;
118 bus-width = <4>;
119 non-removable;
120 status = "okay";
121
122 brcmf: wifi@1 {
123 reg = <1>;
124 compatible = "brcm,bcm4329-fmac";
125 interrupt-parent = <&r_pio>;
126 interrupts = <0 7 IRQ_TYPE_LEVEL_LOW>; /* PL7 */
127 interrupt-names = "host-wake";
128 };
129};
130
131/*
132 * Our WiFi chip needs both DLDO1 and DLDO2 to be powered at the same
133 * time, with the two being in sync. Since this is not really
134 * supported right now, just use the two as always on, and we will fix
135 * it later.
136 */
137®_dldo1 {
138 regulator-always-on;
139 regulator-min-microvolt = <3300000>;
140 regulator-max-microvolt = <3300000>;
141 regulator-name = "vcc-wifi0";
142};
143
144®_dldo2 {
145 regulator-always-on;
146 regulator-min-microvolt = <3300000>;
147 regulator-max-microvolt = <3300000>;
148 regulator-name = "vcc-wifi1";
149};
150
151®_drivevbus {
152 regulator-name = "usb0-vbus";
153 status = "okay";
154};
155
156&sound {
157 /* TODO: on-board microphone */
158
159 simple-audio-card,widgets = "Headphone", "Headphone Jack";
160 simple-audio-card,routing =
161 "Left DAC", "DACL",
162 "Right DAC", "DACR",
163 "Headphone Jack", "HP";
164 status = "okay";
165};
166
167&uart0 {
168 pinctrl-names = "default";
169 pinctrl-0 = <&uart0_pb_pins>;
170 status = "okay";
171};
172
173&uart1 {
174 pinctrl-names = "default";
175 pinctrl-0 = <&uart1_pg_pins>, <&uart1_cts_rts_pg_pins>;
176 uart-has-rtscts;
177 status = "okay";
178
179 bluetooth {
180 compatible = "brcm,bcm43438-bt";
181 clocks = <&rtc CLK_OSC32K_FANOUT>;
182 clock-names = "lpo";
183 vbat-supply = <®_dldo1>;
184 device-wakeup-gpios = <&r_pio 0 10 GPIO_ACTIVE_HIGH>; /* PL10 */
185 host-wakeup-gpios = <&r_pio 0 9 GPIO_ACTIVE_HIGH>; /* PL9 */
186 shutdown-gpios = <&r_pio 0 8 GPIO_ACTIVE_HIGH>; /* PL8 */
187 };
188};
189
190&usb_otg {
191 dr_mode = "otg";
192 status = "okay";
193};
194
195&usb_power_supply {
196 status = "okay";
197};
198
199&usbphy {
200 usb0_id_det-gpios = <&pio 7 8 GPIO_ACTIVE_HIGH>; /* PH8 */
201 usb0_vbus_power-supply = <&usb_power_supply>;
202 usb0_vbus-supply = <®_drivevbus>;
203 usb1_vbus-supply = <®_usb1_vbus>;
204 status = "okay";
205};