Skip to content

Commit 877fb9a

Browse files
committed
Merge tag 'sunxi-dt-for-6.15' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into soc/dt
Allwinner device tree changes for 6.15 - New board support: NetCube Systems Kumquat - Enable USB and LED on Anbernic RG35XX - Fix reboot GPIO detection logic on Anbernic RG35XX - Disable (non-existent) battery thermistor on Anbernic RG35XX - Add CPU OPP table for A100 * tag 'sunxi-dt-for-6.15' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux: arm64: dts: allwinner: a100: Add CPU Operating Performance Points table arm64: dts: allwinner: rg35xx: Add no-thermistor property for battery arm64: dts: allwinner: h700: Add USB Host for RG35XX-H arm64: dts: allwinner: h700: Add LED1 for Anbernic RG35XX arm64: dts: allwinner: h700: Set cpusldo to always-on for RG35XX ARM: dts: sunxi: add support for NetCube Systems Kumquat ARM: dts: sunxi: add uart1_pe pinctrl for sun8i-v3s dt-bindings: arm: sunxi: Add NetCube Systems Kumquat board dt-bindings: vendor-prefixes: Add NetCube Systems Austria name Link: https://lore.kernel.org/r/Z9LTOHJDY2p0lNG0@wens.tw Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2 parents 3ef47a0 + a8181e6 commit 877fb9a

10 files changed

Lines changed: 434 additions & 1 deletion

File tree

Documentation/devicetree/bindings/arm/sunxi.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -589,6 +589,11 @@ properties:
589589
- const: emlid,neutis-n5h3
590590
- const: allwinner,sun8i-h3
591591

592+
- description: NetCube Systems Kumquat
593+
items:
594+
- const: netcube,kumquat
595+
- const: allwinner,sun8i-v3s
596+
592597
- description: NextThing Co. CHIP
593598
items:
594599
- const: nextthing,chip

Documentation/devicetree/bindings/vendor-prefixes.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1033,6 +1033,8 @@ patternProperties:
10331033
description: Neofidelity Inc.
10341034
"^neonode,.*":
10351035
description: Neonode Inc.
1036+
"^netcube,.*":
1037+
description: NetCube Systems Austria
10361038
"^netgear,.*":
10371039
description: NETGEAR
10381040
"^netlogic,.*":

arch/arm/boot/dts/allwinner/Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -199,6 +199,7 @@ DTC_FLAGS_sun8i-h3-nanopi-r1 := -@
199199
DTC_FLAGS_sun8i-h3-orangepi-pc := -@
200200
DTC_FLAGS_sun8i-h3-bananapi-m2-plus-v1.2 := -@
201201
DTC_FLAGS_sun8i-h3-orangepi-pc-plus := -@
202+
DTC_FLAGS_sun8i-v3s-netcube-kumquat := -@
202203
dtb-$(CONFIG_MACH_SUN8I) += \
203204
sun8i-a23-evb.dtb \
204205
sun8i-a23-gt90h-v4.dtb \
@@ -261,6 +262,7 @@ dtb-$(CONFIG_MACH_SUN8I) += \
261262
sun8i-v3s-anbernic-rg-nano.dtb \
262263
sun8i-v3s-licheepi-zero.dtb \
263264
sun8i-v3s-licheepi-zero-dock.dtb \
265+
sun8i-v3s-netcube-kumquat.dtb \
264266
sun8i-v40-bananapi-m2-berry.dtb
265267
dtb-$(CONFIG_MACH_SUN9I) += \
266268
sun9i-a80-optimus.dtb \
Lines changed: 276 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,276 @@
1+
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2+
/*
3+
* Copyright (C) 2025 Lukas Schmid <lukas.schmid@netcube.li>
4+
*/
5+
6+
/dts-v1/;
7+
#include "sun8i-v3s.dtsi"
8+
9+
#include <dt-bindings/input/input.h>
10+
#include <dt-bindings/leds/common.h>
11+
#include <dt-bindings/gpio/gpio.h>
12+
13+
/{
14+
model = "NetCube Systems Kumquat";
15+
compatible = "netcube,kumquat", "allwinner,sun8i-v3s";
16+
17+
aliases {
18+
serial0 = &uart0;
19+
ethernet0 = &emac;
20+
rtc0 = &ds3232;
21+
rtc1 = &rtc; /* not battery backed */
22+
};
23+
24+
chosen {
25+
stdout-path = "serial0:115200n8";
26+
};
27+
28+
/* 40 MHz Crystal Oscillator on PCB */
29+
clk_can0: clock-can0 {
30+
compatible = "fixed-clock";
31+
#clock-cells = <0>;
32+
clock-frequency = <40000000>;
33+
};
34+
35+
gpio-keys {
36+
compatible = "gpio-keys";
37+
autorepeat;
38+
39+
key-user {
40+
label = "GPIO Key User";
41+
linux,code = <KEY_PROG1>;
42+
gpios = <&pio 1 2 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* PB2 */
43+
};
44+
};
45+
46+
leds {
47+
compatible = "gpio-leds";
48+
49+
led-heartbeat {
50+
gpios = <&pio 4 4 GPIO_ACTIVE_HIGH>; /* PE4 */
51+
linux,default-trigger = "heartbeat";
52+
color = <LED_COLOR_ID_GREEN>;
53+
function = LED_FUNCTION_HEARTBEAT;
54+
};
55+
56+
led-mmc0-act {
57+
gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; /* PF6 */
58+
linux,default-trigger = "mmc0";
59+
color = <LED_COLOR_ID_GREEN>;
60+
function = LED_FUNCTION_DISK;
61+
};
62+
};
63+
64+
/* EA3036C Switching 3 Channel Regulator - Channel 2 */
65+
reg_vcc3v3: regulator-3v3 {
66+
compatible = "regulator-fixed";
67+
regulator-name = "vcc3v3";
68+
regulator-min-microvolt = <3300000>;
69+
regulator-max-microvolt = <3300000>;
70+
vin-supply = <&reg_vcc5v0>;
71+
};
72+
73+
/* K7805-1000R3 Switching Regulator supplied from main 12/24V terminal block */
74+
reg_vcc5v0: regulator-5v0 {
75+
compatible = "regulator-fixed";
76+
regulator-name = "vcc5v0";
77+
regulator-min-microvolt = <5000000>;
78+
regulator-max-microvolt = <5000000>;
79+
};
80+
};
81+
82+
&codec {
83+
allwinner,audio-routing =
84+
"Headphone", "HP",
85+
"Headphone", "HPCOM",
86+
"MIC1", "Mic",
87+
"Mic", "HBIAS";
88+
status = "okay";
89+
};
90+
91+
&ehci {
92+
status = "okay";
93+
};
94+
95+
&emac {
96+
allwinner,leds-active-low;
97+
nvmem-cells = <&eth0_macaddress>;
98+
nvmem-cell-names = "mac-address";
99+
status = "okay";
100+
};
101+
102+
&i2c0 {
103+
status = "okay";
104+
105+
eeprom0: eeprom@50 {
106+
compatible = "atmel,24c02"; /* actually it's a 24AA02E48 */
107+
reg = <0x50>;
108+
pagesize = <16>;
109+
read-only;
110+
vcc-supply = <&reg_vcc3v3>;
111+
112+
#address-cells = <1>;
113+
#size-cells = <1>;
114+
115+
eth0_macaddress: macaddress@fa {
116+
reg = <0xfa 0x06>;
117+
};
118+
};
119+
120+
tusb320: typec@60 {
121+
compatible = "ti,tusb320";
122+
reg = <0x60>;
123+
interrupts-extended = <&pio 1 5 IRQ_TYPE_LEVEL_LOW>; /* PB5 */
124+
};
125+
126+
ds3232: rtc@68 {
127+
compatible = "dallas,ds3232";
128+
reg = <0x68>;
129+
};
130+
};
131+
132+
/* Exposed as the Flash/SD Header on the board */
133+
&mmc0 {
134+
vmmc-supply = <&reg_vcc3v3>;
135+
bus-width = <4>;
136+
broken-cd;
137+
status = "okay";
138+
};
139+
140+
/* Connected to the on-board ESP32 */
141+
&mmc1 {
142+
vmmc-supply = <&reg_vcc3v3>;
143+
bus-width = <4>;
144+
broken-cd;
145+
status = "okay";
146+
};
147+
148+
&ohci {
149+
status = "okay";
150+
};
151+
152+
/* Disable external 32k osc as it is broken on current revision */
153+
&osc32k {
154+
status = "disabled";
155+
};
156+
157+
&pio {
158+
vcc-pb-supply = <&reg_vcc3v3>;
159+
vcc-pc-supply = <&reg_vcc3v3>;
160+
vcc-pe-supply = <&reg_vcc3v3>;
161+
vcc-pf-supply = <&reg_vcc3v3>;
162+
vcc-pg-supply = <&reg_vcc3v3>;
163+
164+
gpio-line-names = "", "", "", "", // PA
165+
"", "", "", "",
166+
"", "", "", "",
167+
"", "", "", "",
168+
"", "", "", "",
169+
"", "", "", "",
170+
"", "", "", "",
171+
"", "", "", "",
172+
"CAN_nCS", "CAN_nINT", "USER_SW", "PB3", // PB
173+
"USB_ID", "USBC_nINT", "I2C0_SCL", "I2C0_SDA",
174+
"UART0_TX", "UART0_RX", "", "",
175+
"", "", "", "",
176+
"", "", "", "",
177+
"", "", "", "",
178+
"", "", "", "",
179+
"", "", "", "",
180+
"SPI_MISO", "SPI_SCK", "FLASH_nCS", "SPI_MOSI", // PC
181+
"", "", "", "",
182+
"", "", "", "",
183+
"", "", "", "",
184+
"", "", "", "",
185+
"", "", "", "",
186+
"", "", "", "",
187+
"", "", "", "",
188+
"", "", "", "", // PD
189+
"", "", "", "",
190+
"", "", "", "",
191+
"", "", "", "",
192+
"", "", "", "",
193+
"", "", "", "",
194+
"", "", "", "",
195+
"", "", "", "",
196+
"Q12", "Q11", "Q10", "Q9", // PE
197+
"LED_SYS0", "I1", "Q1", "Q2",
198+
"I2", "I3", "Q3", "Q4",
199+
"I4", "I5", "Q5", "Q6",
200+
"I6", "I7", "Q7", "Q8",
201+
"I8", "UART1_TXD", "UART1_RXD", "ESP_nRST",
202+
"ESP_nBOOT", "", "", "",
203+
"", "", "", "",
204+
"SD_D1", "SD_D0", "SD_CLK", "SD_CMD", // PF
205+
"SD_D3", "SD_D2", "LED_SYS1", "",
206+
"", "", "", "",
207+
"", "", "", "",
208+
"", "", "", "",
209+
"", "", "", "",
210+
"", "", "", "",
211+
"", "", "", "",
212+
"ESP_CLK", "ESP_CMD", "ESP_D0", "ESP_D1", // PG
213+
"ESP_D2", "ESP_D3", "", "",
214+
"", "", "", "",
215+
"", "", "", "",
216+
"", "", "", "",
217+
"", "", "", "",
218+
"", "", "", "",
219+
"", "", "", "";
220+
};
221+
222+
/* Disable external 32k osc as it is broken on current revision */
223+
&rtc {
224+
/delete-property/ clocks;
225+
};
226+
227+
/* Exposed as a USB-C connector with USB-Serial converter */
228+
&uart0 {
229+
pinctrl-0 = <&uart0_pb_pins>;
230+
pinctrl-names = "default";
231+
status = "okay";
232+
};
233+
234+
/* Connected to the Bootloader/Console of the ESP32 */
235+
&uart1 {
236+
pinctrl-0 = <&uart1_pe_pins>;
237+
pinctrl-names = "default";
238+
status = "okay";
239+
};
240+
241+
&usb_otg {
242+
extcon = <&tusb320 0>;
243+
dr_mode = "otg";
244+
status = "okay";
245+
};
246+
247+
&usbphy {
248+
usb0_id_det-gpios = <&pio 1 4 GPIO_ACTIVE_HIGH>; /* PB4 */
249+
status = "okay";
250+
};
251+
252+
&spi0 {
253+
#address-cells = <1>;
254+
#size-cells = <0>;
255+
cs-gpios = <0>, <&pio 1 0 GPIO_ACTIVE_LOW>; /* PB0 */
256+
status = "okay";
257+
258+
flash@0 {
259+
compatible = "jedec,spi-nor";
260+
reg = <0>;
261+
#address-cells = <1>;
262+
#size-cells = <1>;
263+
label = "firmware";
264+
spi-max-frequency = <40000000>;
265+
};
266+
267+
can@1 {
268+
compatible = "microchip,mcp2518fd";
269+
reg = <1>;
270+
clocks = <&clk_can0>;
271+
interrupts-extended = <&pio 1 1 IRQ_TYPE_LEVEL_LOW>; /* PB1 */
272+
spi-max-frequency = <20000000>;
273+
vdd-supply = <&reg_vcc3v3>;
274+
xceiver-supply = <&reg_vcc3v3>;
275+
};
276+
};

arch/arm/boot/dts/allwinner/sun8i-v3s.dtsi

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -416,6 +416,12 @@
416416
function = "uart0";
417417
};
418418

419+
/omit-if-no-ref/
420+
uart1_pe_pins: uart1-pe-pins {
421+
pins = "PE21", "PE22";
422+
function = "uart1";
423+
};
424+
419425
uart2_pins: uart2-pins {
420426
pins = "PB0", "PB1";
421427
function = "uart2";

arch/arm64/boot/dts/allwinner/sun50i-a100-allwinner-perf1.dts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
/dts-v1/;
77

88
#include "sun50i-a100.dtsi"
9+
#include "sun50i-a100-cpu-opp.dtsi"
910

1011
#include <dt-bindings/gpio/gpio.h>
1112

@@ -38,6 +39,10 @@
3839
status = "okay";
3940
};
4041

42+
&cpu0 {
43+
cpu-supply = <&reg_dcdc2>;
44+
};
45+
4146
&pio {
4247
vcc-pb-supply = <&reg_dcdc1>;
4348
vcc-pc-supply = <&reg_eldo1>;

0 commit comments

Comments
 (0)