Skip to content

Commit 36255ab

Browse files
committed
Merge tag 'sunxi-dt-for-6.13-2' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into soc/dt
Allwinner Device Tree changes for 6.13 part 2 - Remove accidental suniv duplicates in Makefile - Add second source magnetometer for Pine Phone - Add orientation (mount matrix) for Pine Phone's accelerometer and magnetometer - Enable eMMC and MMC on A100 Perf1 * tag 'sunxi-dt-for-6.13-2' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux: arm64: dts: allwinner: a100: perf1: Add eMMC and MMC node arm64: dts: allwinner: pinephone: Add mount matrix to accelerometer arm64: dts: sun50i-a64-pinephone: Add mount-matrix for PinePhone magnetometers arm64: dts: sun50i-a64-pinephone: Add AF8133J to PinePhone ARM: dts: allwinner: Remove accidental suniv duplicates arm64: allwinner: a100: Add MMC related nodes arm64: dts: allwinner: a100: add usb related nodes dt-bindings: usb: sunxi-musb: Add A100 compatible string dt-bindings: usb: Add A100 compatible string dt-bindings: phy: sun50i-a64: add a100 compatible arm64: dts: allwinner: a100: add watchdog node arm64: dts: allwinner: A100: Add PMU mode ARM: dts: sunxi: add support for RerVision A33-Vstar board dt-bindings: arm: sunxi: document RerVision A33-Vstar board arm64: dts: allwinner: Add disable-wp for boards with micro SD card arm64: dts: allwinner: h313/h616/h618/h700: Enable audio codec for all supported boards arm64: dts: allwinner: h616: Add audio codec node Link: https://lore.kernel.org/r/ZzC-OF57MT_yCeWH@wens.tw Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2 parents 6660a12 + af1ad56 commit 36255ab

31 files changed

Lines changed: 620 additions & 27 deletions

Documentation/devicetree/bindings/arm/sunxi.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -846,6 +846,12 @@ properties:
846846
- const: allwinner,sun50i-h64
847847
- const: allwinner,sun50i-a64
848848

849+
- description: RerVision A33-Vstar (with A33-Core1 SoM)
850+
items:
851+
- const: rervision,a33-vstar
852+
- const: rervision,a33-core1
853+
- const: allwinner,sun8i-a33
854+
849855
- description: RerVision H3-DVK
850856
items:
851857
- const: rervision,h3-dvk

Documentation/devicetree/bindings/phy/allwinner,sun50i-a64-usb-phy.yaml

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,13 @@ properties:
1515
const: 1
1616

1717
compatible:
18-
enum:
19-
- allwinner,sun20i-d1-usb-phy
20-
- allwinner,sun50i-a64-usb-phy
18+
oneOf:
19+
- enum:
20+
- allwinner,sun20i-d1-usb-phy
21+
- allwinner,sun50i-a64-usb-phy
22+
- items:
23+
- const: allwinner,sun50i-a100-usb-phy
24+
- const: allwinner,sun20i-d1-usb-phy
2125

2226
reg:
2327
items:

Documentation/devicetree/bindings/usb/allwinner,sun4i-a10-musb.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ properties:
2323
- enum:
2424
- allwinner,sun8i-a83t-musb
2525
- allwinner,sun20i-d1-musb
26+
- allwinner,sun50i-a100-musb
2627
- allwinner,sun50i-h6-musb
2728
- const: allwinner,sun8i-a33-musb
2829
- items:

Documentation/devicetree/bindings/usb/generic-ehci.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ properties:
2828
- items:
2929
- enum:
3030
- allwinner,sun4i-a10-ehci
31+
- allwinner,sun50i-a100-ehci
3132
- allwinner,sun50i-a64-ehci
3233
- allwinner,sun50i-h6-ehci
3334
- allwinner,sun50i-h616-ehci

Documentation/devicetree/bindings/usb/generic-ohci.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ properties:
1515
- items:
1616
- enum:
1717
- allwinner,sun4i-a10-ohci
18+
- allwinner,sun50i-a100-ohci
1819
- allwinner,sun50i-a64-ohci
1920
- allwinner,sun50i-h6-ohci
2021
- allwinner,sun50i-h616-ohci

arch/arm/boot/dts/allwinner/Makefile

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -215,6 +215,7 @@ dtb-$(CONFIG_MACH_SUN8I) += \
215215
sun8i-a33-olinuxino.dtb \
216216
sun8i-a33-q8-tablet.dtb \
217217
sun8i-a33-sinlinx-sina33.dtb \
218+
sun8i-a33-vstar.dtb \
218219
sun8i-a83t-allwinner-h8homlet-v2.dtb \
219220
sun8i-a83t-bananapi-m3.dtb \
220221
sun8i-a83t-cubietruck-plus.dtb \
@@ -268,7 +269,3 @@ dtb-$(CONFIG_MACH_SUNIV) += \
268269
suniv-f1c100s-licheepi-nano.dtb \
269270
suniv-f1c200s-lctech-pi.dtb \
270271
suniv-f1c200s-popstick-v1.1.dtb
271-
dtb-$(CONFIG_MACH_SUNIV) += \
272-
suniv-f1c100s-licheepi-nano.dtb \
273-
suniv-f1c200s-lctech-pi.dtb \
274-
suniv-f1c200s-popstick-v1.1.dtb
Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2+
/*
3+
* Copyright (C) 2024 Icenowy Zheng <uwu@icenowy.me>
4+
*/
5+
6+
#include "sun8i-a33.dtsi"
7+
8+
&mmc2 {
9+
pinctrl-names = "default";
10+
pinctrl-0 = <&mmc2_8bit_pins>;
11+
vmmc-supply = <&reg_dcdc1>;
12+
bus-width = <8>;
13+
non-removable;
14+
cap-mmc-hw-reset;
15+
status = "okay";
16+
};
17+
18+
&mmc2_8bit_pins {
19+
/* Increase drive strength for DDR modes */
20+
drive-strength = <40>;
21+
};
22+
23+
&r_rsb {
24+
status = "okay";
25+
26+
axp22x: pmic@3a3 {
27+
compatible = "x-powers,axp223";
28+
reg = <0x3a3>;
29+
interrupt-parent = <&r_intc>;
30+
interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
31+
eldoin-supply = <&reg_dcdc1>;
32+
x-powers,drive-vbus-en;
33+
};
34+
};
35+
36+
#include "axp223.dtsi"
37+
38+
&reg_aldo1 {
39+
regulator-always-on;
40+
regulator-min-microvolt = <3300000>;
41+
regulator-max-microvolt = <3300000>;
42+
regulator-name = "vcc-io";
43+
};
44+
45+
&reg_aldo2 {
46+
regulator-always-on;
47+
regulator-min-microvolt = <2350000>;
48+
regulator-max-microvolt = <2650000>;
49+
regulator-name = "vdd-dll";
50+
};
51+
52+
&reg_aldo3 {
53+
regulator-always-on;
54+
regulator-min-microvolt = <3300000>;
55+
regulator-max-microvolt = <3300000>;
56+
regulator-name = "vcc-avcc";
57+
};
58+
59+
&reg_dc5ldo {
60+
regulator-always-on;
61+
regulator-min-microvolt = <900000>;
62+
regulator-max-microvolt = <1400000>;
63+
regulator-name = "vdd-cpus";
64+
};
65+
66+
&reg_dcdc1 {
67+
regulator-always-on;
68+
regulator-min-microvolt = <3300000>;
69+
regulator-max-microvolt = <3300000>;
70+
regulator-name = "vcc-3v3";
71+
};
72+
73+
&reg_dcdc2 {
74+
regulator-always-on;
75+
regulator-min-microvolt = <900000>;
76+
regulator-max-microvolt = <1400000>;
77+
regulator-name = "vdd-sys";
78+
};
79+
80+
&reg_dcdc3 {
81+
regulator-always-on;
82+
regulator-min-microvolt = <900000>;
83+
regulator-max-microvolt = <1400000>;
84+
regulator-name = "vdd-cpu";
85+
};
86+
87+
&reg_dcdc5 {
88+
regulator-always-on;
89+
regulator-min-microvolt = <1500000>;
90+
regulator-max-microvolt = <1500000>;
91+
regulator-name = "vcc-dram";
92+
};
93+
94+
&reg_rtc_ldo {
95+
regulator-name = "vcc-rtc";
96+
};
Lines changed: 205 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,205 @@
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 = <&reg_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 = <&reg_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 = <&reg_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+
&reg_dldo1 {
138+
regulator-always-on;
139+
regulator-min-microvolt = <3300000>;
140+
regulator-max-microvolt = <3300000>;
141+
regulator-name = "vcc-wifi0";
142+
};
143+
144+
&reg_dldo2 {
145+
regulator-always-on;
146+
regulator-min-microvolt = <3300000>;
147+
regulator-max-microvolt = <3300000>;
148+
regulator-name = "vcc-wifi1";
149+
};
150+
151+
&reg_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 = <&reg_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 = <&reg_drivevbus>;
203+
usb1_vbus-supply = <&reg_usb1_vbus>;
204+
status = "okay";
205+
};

0 commit comments

Comments
 (0)