* [PATCH v8 0/4] Add support for NetCube Systems Kumquat
@ 2025-01-28 20:03 Lukas Schmid
2025-01-28 20:03 ` [PATCH v8 1/4] dt-bindings: vendor-prefixes: Add NetCube Systems Austria name Lukas Schmid
` (3 more replies)
0 siblings, 4 replies; 6+ messages in thread
From: Lukas Schmid @ 2025-01-28 20:03 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai,
Jernej Skrabec, Samuel Holland, Maxime Ripard
Cc: Lukas Schmid, devicetree, linux-arm-kernel, linux-sunxi,
linux-kernel
This series adds dt-bindings and dt's for the NetCube Systems Kumquat board
Changes in v2:
- Fix the devicetrees according to the "dt-schema" and
"make dtbs_check W=1"
- Fix the License of the devicetree as requested
- Create a cover letter for the patch series
Changes in v3:
- Disable rtc inside the SoC again, as the rtc does not work on the board
- Add the gpio-reserved-ranges property to the pinctrl bindings
- Reorder the nodes in the devicetree to match the order of the nodes in
the sun8i-v3s.dtsi file
Changes in v4:
- Moved the dtsi change into a sperate patch
- Update commit messages to include better descriptions
- Add descriptions to the uarts and mmc nodes in the dts file
- Add missing newline at the end of the dts file
- Removed the gpio-reserved-ranges property from the dts and from the
pinctrl bindings
- Remove the rtc status property from the dts file
Changes in v5:
- Remove the unused lradc node and it's regualtor, as they are not used
on the board
- Add another alias for the SoC's rtc as 'rtc1'
Changes in v6:
- Add reason why DS3232+ is preferred over internal rtc
- Remove redundant pinctrls from mmc0, mmc1 and i2c0
- Reordered eeprom0 and spi0/flash@0 properties
- Reordered nodes by their node name alias+
Changes in v7:
- Disable the external 32kHz crystal oscillator, as it does not work on
the board
Changes in v8:
- Update the commit messages and cover letter according to the Linux
coding style
Signed-off-by: Lukas Schmid <lukas.schmid@netcube.li>
---
Lukas Schmid (4):
dt-bindings: vendor-prefixes: Add NetCube Systems Austria name
dt-bindings: arm: sunxi: Add NetCube Systems Kumquat board
ARM: dts: sunxi: add uart1_pe pinctrl for sun8i-v3s
ARM: dts: sunxi: add support for NetCube Systems Kumquat
.../devicetree/bindings/arm/sunxi.yaml | 5 +
.../devicetree/bindings/vendor-prefixes.yaml | 2 +
arch/arm/boot/dts/allwinner/Makefile | 2 +
.../allwinner/sun8i-v3s-netcube-kumquat.dts | 278 ++++++++++++++++++
arch/arm/boot/dts/allwinner/sun8i-v3s.dtsi | 6 +
5 files changed, 293 insertions(+)
create mode 100644 arch/arm/boot/dts/allwinner/sun8i-v3s-netcube-kumquat.dts
--
2.39.5
^ permalink raw reply [flat|nested] 6+ messages in thread* [PATCH v8 1/4] dt-bindings: vendor-prefixes: Add NetCube Systems Austria name 2025-01-28 20:03 [PATCH v8 0/4] Add support for NetCube Systems Kumquat Lukas Schmid @ 2025-01-28 20:03 ` Lukas Schmid 2025-01-28 20:03 ` [PATCH v8 2/4] dt-bindings: arm: sunxi: Add NetCube Systems Kumquat board Lukas Schmid ` (2 subsequent siblings) 3 siblings, 0 replies; 6+ messages in thread From: Lukas Schmid @ 2025-01-28 20:03 UTC (permalink / raw) To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai, Jernej Skrabec, Samuel Holland, Maxime Ripard Cc: Lukas Schmid, Krzysztof Kozlowski, devicetree, linux-arm-kernel, linux-sunxi, linux-kernel NetCube Systems Austria builds Embedded Systems for use in IoT, IIoT, or Smart Home scenarios. Website is still WIP, but the Links on it are active: https://netcubesystems.at/ Signed-off-by: Lukas Schmid <lukas.schmid@netcube.li> Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> --- Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml index 5079ca6ce1d1..499ab972f9d2 100644 --- a/Documentation/devicetree/bindings/vendor-prefixes.yaml +++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml @@ -1031,6 +1031,8 @@ patternProperties: description: Neofidelity Inc. "^neonode,.*": description: Neonode Inc. + "^netcube,.*": + description: NetCube Systems Austria "^netgear,.*": description: NETGEAR "^netlogic,.*": -- 2.39.5 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH v8 2/4] dt-bindings: arm: sunxi: Add NetCube Systems Kumquat board 2025-01-28 20:03 [PATCH v8 0/4] Add support for NetCube Systems Kumquat Lukas Schmid 2025-01-28 20:03 ` [PATCH v8 1/4] dt-bindings: vendor-prefixes: Add NetCube Systems Austria name Lukas Schmid @ 2025-01-28 20:03 ` Lukas Schmid 2025-01-28 20:03 ` [PATCH v8 3/4] ARM: dts: sunxi: add uart1_pe pinctrl for sun8i-v3s Lukas Schmid 2025-01-28 20:03 ` [PATCH v8 4/4] ARM: dts: sunxi: add support for NetCube Systems Kumquat Lukas Schmid 3 siblings, 0 replies; 6+ messages in thread From: Lukas Schmid @ 2025-01-28 20:03 UTC (permalink / raw) To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai, Jernej Skrabec, Samuel Holland, Maxime Ripard Cc: Lukas Schmid, Krzysztof Kozlowski, devicetree, linux-arm-kernel, linux-sunxi, linux-kernel The NetCube Systems Kumquat is an Embedded Controller based on the Allwinner V3s SoC. It is intended for Smart Home or Industrial automation without the need for a traditional PLC Signed-off-by: Lukas Schmid <lukas.schmid@netcube.li> Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> --- Documentation/devicetree/bindings/arm/sunxi.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Documentation/devicetree/bindings/arm/sunxi.yaml b/Documentation/devicetree/bindings/arm/sunxi.yaml index 046536d02706..f536cdd2c1a6 100644 --- a/Documentation/devicetree/bindings/arm/sunxi.yaml +++ b/Documentation/devicetree/bindings/arm/sunxi.yaml @@ -589,6 +589,11 @@ properties: - const: emlid,neutis-n5h3 - const: allwinner,sun8i-h3 + - description: NetCube Systems Kumquat + items: + - const: netcube,kumquat + - const: allwinner,sun8i-v3s + - description: NextThing Co. CHIP items: - const: nextthing,chip -- 2.39.5 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH v8 3/4] ARM: dts: sunxi: add uart1_pe pinctrl for sun8i-v3s 2025-01-28 20:03 [PATCH v8 0/4] Add support for NetCube Systems Kumquat Lukas Schmid 2025-01-28 20:03 ` [PATCH v8 1/4] dt-bindings: vendor-prefixes: Add NetCube Systems Austria name Lukas Schmid 2025-01-28 20:03 ` [PATCH v8 2/4] dt-bindings: arm: sunxi: Add NetCube Systems Kumquat board Lukas Schmid @ 2025-01-28 20:03 ` Lukas Schmid 2025-01-28 20:03 ` [PATCH v8 4/4] ARM: dts: sunxi: add support for NetCube Systems Kumquat Lukas Schmid 3 siblings, 0 replies; 6+ messages in thread From: Lukas Schmid @ 2025-01-28 20:03 UTC (permalink / raw) To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai, Jernej Skrabec, Samuel Holland, Maxime Ripard Cc: Lukas Schmid, Andre Przywara, devicetree, linux-arm-kernel, linux-sunxi, linux-kernel Added the uart1_pe_pins pinctrl for use by the NetCube Systems Kumquat board Signed-off-by: Lukas Schmid <lukas.schmid@netcube.li> Reviewed-by: Andre Przywara <andre.przywara@arm.com> --- arch/arm/boot/dts/allwinner/sun8i-v3s.dtsi | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/arch/arm/boot/dts/allwinner/sun8i-v3s.dtsi b/arch/arm/boot/dts/allwinner/sun8i-v3s.dtsi index 9e13c2aa8911..f909b1d4dbca 100644 --- a/arch/arm/boot/dts/allwinner/sun8i-v3s.dtsi +++ b/arch/arm/boot/dts/allwinner/sun8i-v3s.dtsi @@ -416,6 +416,12 @@ uart0_pb_pins: uart0-pb-pins { function = "uart0"; }; + /omit-if-no-ref/ + uart1_pe_pins: uart1-pe-pins { + pins = "PE21", "PE22"; + function = "uart1"; + }; + uart2_pins: uart2-pins { pins = "PB0", "PB1"; function = "uart2"; -- 2.39.5 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH v8 4/4] ARM: dts: sunxi: add support for NetCube Systems Kumquat 2025-01-28 20:03 [PATCH v8 0/4] Add support for NetCube Systems Kumquat Lukas Schmid ` (2 preceding siblings ...) 2025-01-28 20:03 ` [PATCH v8 3/4] ARM: dts: sunxi: add uart1_pe pinctrl for sun8i-v3s Lukas Schmid @ 2025-01-28 20:03 ` Lukas Schmid 2025-02-05 16:29 ` Chen-Yu Tsai 3 siblings, 1 reply; 6+ messages in thread From: Lukas Schmid @ 2025-01-28 20:03 UTC (permalink / raw) To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai, Jernej Skrabec, Samuel Holland, Maxime Ripard Cc: Lukas Schmid, devicetree, linux-arm-kernel, linux-sunxi, linux-kernel NetCube Systems Kumquat is a board based on the Allwinner V3s SoC, including: - 64MB DDR2 included in SoC - 10/100 Mbps Ethernet - USB-C DRD - Audio Codec - Isolated CAN-FD - ESP32 over SDIO - 8MB SPI-NOR Flash for bootloader - I2C EEPROM for MAC addresses - SDIO Connector for eMMC or SD-Card - 8x 12/24V IOs, 4x normally open relays - DS3232 RTC with Battery Backup - QWIIC connectors for external I2C devices Signed-off-by: Lukas Schmid <lukas.schmid@netcube.li> --- arch/arm/boot/dts/allwinner/Makefile | 2 + .../allwinner/sun8i-v3s-netcube-kumquat.dts | 278 ++++++++++++++++++ 2 files changed, 280 insertions(+) create mode 100644 arch/arm/boot/dts/allwinner/sun8i-v3s-netcube-kumquat.dts diff --git a/arch/arm/boot/dts/allwinner/Makefile b/arch/arm/boot/dts/allwinner/Makefile index 48666f73e638..d799ad153b37 100644 --- a/arch/arm/boot/dts/allwinner/Makefile +++ b/arch/arm/boot/dts/allwinner/Makefile @@ -199,6 +199,7 @@ DTC_FLAGS_sun8i-h3-nanopi-r1 := -@ DTC_FLAGS_sun8i-h3-orangepi-pc := -@ DTC_FLAGS_sun8i-h3-bananapi-m2-plus-v1.2 := -@ DTC_FLAGS_sun8i-h3-orangepi-pc-plus := -@ +DTC_FLAGS_sun8i-v3s-netcube-kumquat := -@ dtb-$(CONFIG_MACH_SUN8I) += \ sun8i-a23-evb.dtb \ sun8i-a23-gt90h-v4.dtb \ @@ -261,6 +262,7 @@ dtb-$(CONFIG_MACH_SUN8I) += \ sun8i-v3s-anbernic-rg-nano.dtb \ sun8i-v3s-licheepi-zero.dtb \ sun8i-v3s-licheepi-zero-dock.dtb \ + sun8i-v3s-netcube-kumquat.dtb \ sun8i-v40-bananapi-m2-berry.dtb dtb-$(CONFIG_MACH_SUN9I) += \ sun9i-a80-optimus.dtb \ diff --git a/arch/arm/boot/dts/allwinner/sun8i-v3s-netcube-kumquat.dts b/arch/arm/boot/dts/allwinner/sun8i-v3s-netcube-kumquat.dts new file mode 100644 index 000000000000..e4e98ddfbd96 --- /dev/null +++ b/arch/arm/boot/dts/allwinner/sun8i-v3s-netcube-kumquat.dts @@ -0,0 +1,278 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright (C) 2025 Lukas Schmid <lukas.schmid@netcube.li> + */ + +/dts-v1/; +#include "sun8i-v3s.dtsi" + +#include <dt-bindings/input/input.h> +#include <dt-bindings/leds/common.h> +#include <dt-bindings/gpio/gpio.h> + +/{ + model = "NetCube Systems Kumquat"; + compatible = "netcube,kumquat", "allwinner,sun8i-v3s"; + + aliases { + serial0 = &uart0; + ethernet0 = &emac; + rtc0 = &ds3232; + rtc1 = &rtc; /* not battery backed */ + }; + + chosen { + stdout-path = "serial0:115200n8"; + }; + + /* 40 MHz Crystal Oscillator on PCB */ + clk_can0: clock-can0 { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <40000000>; + }; + + gpio-keys { + compatible = "gpio-keys"; + autorepeat; + + key-user { + label = "GPIO Key User"; + linux,code = <KEY_PROG1>; + gpios = <&pio 1 2 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* PB2 */ + }; + }; + + leds { + compatible = "gpio-leds"; + + led-heartbeat { + gpios = <&pio 4 4 GPIO_ACTIVE_HIGH>; /* PE4 */ + linux,default-trigger = "heartbeat"; + color = <LED_COLOR_ID_GREEN>; + function = LED_FUNCTION_HEARTBEAT; + }; + + led-mmc0-act { + gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; /* PF6 */ + linux,default-trigger = "mmc0"; + color = <LED_COLOR_ID_GREEN>; + function = LED_FUNCTION_DISK; + }; + }; + + /* EA3036C Switching 3 Channel Regulator - Channel 2 */ + reg_vcc3v3: regulator-3v3 { + compatible = "regulator-fixed"; + regulator-name = "vcc3v3"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + vin-supply = <®_vcc5v0>; + }; + + /* K7805-1000R3 Switching Regulator supplied from main 12/24V terminal block */ + reg_vcc5v0: regulator-5v0 { + compatible = "regulator-fixed"; + regulator-name = "vcc5v0"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + }; +}; + +&codec { + allwinner,audio-routing = + "Headphone", "HP", + "Headphone", "HPCOM", + "MIC1", "Mic", + "Mic", "HBIAS"; + status = "okay"; +}; + +&ehci { + status = "okay"; +}; + +&emac { + allwinner,leds-active-low; + nvmem-cells = <ð0_macaddress>; + nvmem-cell-names = "mac-address"; + status = "okay"; +}; + +&i2c0 { + status = "okay"; + + ds3232: rtc@68 { + compatible = "dallas,ds3232"; + reg = <0x68>; + }; + + eeprom0: eeprom@50 { + compatible = "atmel,24c02"; /* actually it's a 24AA02E48 */ + reg = <0x50>; + pagesize = <16>; + read-only; + vcc-supply = <®_vcc3v3>; + + #address-cells = <1>; + #size-cells = <1>; + + eth0_macaddress: macaddress@fa { + reg = <0xfa 0x06>; + }; + }; + + tusb320: typec@60 { + compatible = "ti,tusb320"; + reg = <0x60>; + interrupt-parent = <&pio>; + interrupts = <1 5 IRQ_TYPE_EDGE_FALLING>; + }; +}; + +/* Exposed as the Flash/SD Header on the board */ +&mmc0 { + vmmc-supply = <®_vcc3v3>; + bus-width = <4>; + broken-cd; + status = "okay"; +}; + +/* Connected to the on-board ESP32 */ +&mmc1 { + vmmc-supply = <®_vcc3v3>; + bus-width = <4>; + broken-cd; + status = "okay"; +}; + +&ohci { + status = "okay"; +}; + +/* Disable external 32k osc as it is broken on current revision */ +&osc32k { + status = "disabled"; +}; + +&pio { + vcc-pb-supply = <®_vcc3v3>; + vcc-pc-supply = <®_vcc3v3>; + vcc-pe-supply = <®_vcc3v3>; + vcc-pf-supply = <®_vcc3v3>; + vcc-pg-supply = <®_vcc3v3>; + + gpio-line-names = "", "", "", "", // PA + "", "", "", "", + "", "", "", "", + "", "", "", "", + "", "", "", "", + "", "", "", "", + "", "", "", "", + "", "", "", "", + "CAN_nCS", "CAN_nINT", "USER_SW", "PB3", // PB + "USB_ID", "USBC_nINT", "I2C0_SCL", "I2C0_SDA", + "UART0_TX", "UART0_RX", "", "", + "", "", "", "", + "", "", "", "", + "", "", "", "", + "", "", "", "", + "", "", "", "", + "SPI_MISO", "SPI_SCK", "FLASH_nCS", "SPI_MOSI", // PC + "", "", "", "", + "", "", "", "", + "", "", "", "", + "", "", "", "", + "", "", "", "", + "", "", "", "", + "", "", "", "", + "", "", "", "", // PD + "", "", "", "", + "", "", "", "", + "", "", "", "", + "", "", "", "", + "", "", "", "", + "", "", "", "", + "", "", "", "", + "Q12", "Q11", "Q10", "Q9", // PE + "LED_SYS0", "I1", "Q1", "Q2", + "I2", "I3", "Q3", "Q4", + "I4", "I5", "Q5", "Q6", + "I6", "I7", "Q7", "Q8", + "I8", "UART1_TXD", "UART1_RXD", "ESP_nRST", + "ESP_nBOOT", "", "", "", + "", "", "", "", + "SD_D1", "SD_D0", "SD_CLK", "SD_CMD", // PF + "SD_D3", "SD_D2", "LED_SYS1", "", + "", "", "", "", + "", "", "", "", + "", "", "", "", + "", "", "", "", + "", "", "", "", + "", "", "", "", + "ESP_CLK", "ESP_CMD", "ESP_D0", "ESP_D1", // PG + "ESP_D2", "ESP_D3", "", "", + "", "", "", "", + "", "", "", "", + "", "", "", "", + "", "", "", "", + "", "", "", "", + "", "", "", ""; +}; + +/* Disable external 32k osc as it is broken on current revision */ +&rtc { + /delete-property/ clocks; +}; + +/* Exposed as a USB-C connector with USB-Serial converter */ +&uart0 { + pinctrl-0 = <&uart0_pb_pins>; + pinctrl-names = "default"; + status = "okay"; +}; + +/* Connected to the Bootloader/Console of the ESP32 */ +&uart1 { + pinctrl-0 = <&uart1_pe_pins>; + pinctrl-names = "default"; + status = "okay"; +}; + +&usb_otg { + extcon = <&tusb320 0>; + dr_mode = "otg"; + status = "okay"; +}; + +&usbphy { + usb0_id_det-gpios = <&pio 1 4 GPIO_ACTIVE_HIGH>; /* PB4 */ + status = "okay"; +}; + +&spi0 { + #address-cells = <1>; + #size-cells = <0>; + cs-gpios = <0>, <&pio 1 0 GPIO_ACTIVE_LOW>; /* PB0 */ + status = "okay"; + + flash@0 { + compatible = "jedec,spi-nor"; + reg = <0>; + #address-cells = <1>; + #size-cells = <1>; + label = "firmware"; + spi-max-frequency = <40000000>; + }; + + can@1 { + compatible = "microchip,mcp2518fd"; + reg = <1>; + clocks = <&clk_can0>; + interrupt-parent = <&pio>; + interrupts = <1 1 IRQ_TYPE_LEVEL_LOW>; /* PB1 */ + spi-max-frequency = <20000000>; + vdd-supply = <®_vcc3v3>; + xceiver-supply = <®_vcc3v3>; + }; +}; -- 2.39.5 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH v8 4/4] ARM: dts: sunxi: add support for NetCube Systems Kumquat 2025-01-28 20:03 ` [PATCH v8 4/4] ARM: dts: sunxi: add support for NetCube Systems Kumquat Lukas Schmid @ 2025-02-05 16:29 ` Chen-Yu Tsai 0 siblings, 0 replies; 6+ messages in thread From: Chen-Yu Tsai @ 2025-02-05 16:29 UTC (permalink / raw) To: Lukas Schmid Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Jernej Skrabec, Samuel Holland, Maxime Ripard, devicetree, linux-arm-kernel, linux-sunxi, linux-kernel Hi, On Wed, Jan 29, 2025 at 4:05 AM Lukas Schmid <lukas.schmid@netcube.li> wrote: > > NetCube Systems Kumquat is a board based on the Allwinner V3s SoC, > including: > > - 64MB DDR2 included in SoC > - 10/100 Mbps Ethernet > - USB-C DRD > - Audio Codec > - Isolated CAN-FD > - ESP32 over SDIO > - 8MB SPI-NOR Flash for bootloader > - I2C EEPROM for MAC addresses > - SDIO Connector for eMMC or SD-Card > - 8x 12/24V IOs, 4x normally open relays > - DS3232 RTC with Battery Backup > - QWIIC connectors for external I2C devices > > Signed-off-by: Lukas Schmid <lukas.schmid@netcube.li> > --- > arch/arm/boot/dts/allwinner/Makefile | 2 + > .../allwinner/sun8i-v3s-netcube-kumquat.dts | 278 ++++++++++++++++++ > 2 files changed, 280 insertions(+) > create mode 100644 arch/arm/boot/dts/allwinner/sun8i-v3s-netcube-kumquat.dts > > diff --git a/arch/arm/boot/dts/allwinner/Makefile b/arch/arm/boot/dts/allwinner/Makefile > index 48666f73e638..d799ad153b37 100644 > --- a/arch/arm/boot/dts/allwinner/Makefile > +++ b/arch/arm/boot/dts/allwinner/Makefile > @@ -199,6 +199,7 @@ DTC_FLAGS_sun8i-h3-nanopi-r1 := -@ > DTC_FLAGS_sun8i-h3-orangepi-pc := -@ > DTC_FLAGS_sun8i-h3-bananapi-m2-plus-v1.2 := -@ > DTC_FLAGS_sun8i-h3-orangepi-pc-plus := -@ > +DTC_FLAGS_sun8i-v3s-netcube-kumquat := -@ > dtb-$(CONFIG_MACH_SUN8I) += \ > sun8i-a23-evb.dtb \ > sun8i-a23-gt90h-v4.dtb \ > @@ -261,6 +262,7 @@ dtb-$(CONFIG_MACH_SUN8I) += \ > sun8i-v3s-anbernic-rg-nano.dtb \ > sun8i-v3s-licheepi-zero.dtb \ > sun8i-v3s-licheepi-zero-dock.dtb \ > + sun8i-v3s-netcube-kumquat.dtb \ > sun8i-v40-bananapi-m2-berry.dtb > dtb-$(CONFIG_MACH_SUN9I) += \ > sun9i-a80-optimus.dtb \ > diff --git a/arch/arm/boot/dts/allwinner/sun8i-v3s-netcube-kumquat.dts b/arch/arm/boot/dts/allwinner/sun8i-v3s-netcube-kumquat.dts > new file mode 100644 > index 000000000000..e4e98ddfbd96 > --- /dev/null > +++ b/arch/arm/boot/dts/allwinner/sun8i-v3s-netcube-kumquat.dts > @@ -0,0 +1,278 @@ > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) > +/* > + * Copyright (C) 2025 Lukas Schmid <lukas.schmid@netcube.li> > + */ > + > +/dts-v1/; > +#include "sun8i-v3s.dtsi" > + > +#include <dt-bindings/input/input.h> > +#include <dt-bindings/leds/common.h> > +#include <dt-bindings/gpio/gpio.h> > + > +/{ > + model = "NetCube Systems Kumquat"; > + compatible = "netcube,kumquat", "allwinner,sun8i-v3s"; > + > + aliases { > + serial0 = &uart0; > + ethernet0 = &emac; > + rtc0 = &ds3232; > + rtc1 = &rtc; /* not battery backed */ > + }; > + > + chosen { > + stdout-path = "serial0:115200n8"; > + }; > + > + /* 40 MHz Crystal Oscillator on PCB */ > + clk_can0: clock-can0 { > + compatible = "fixed-clock"; > + #clock-cells = <0>; > + clock-frequency = <40000000>; > + }; > + > + gpio-keys { > + compatible = "gpio-keys"; > + autorepeat; > + > + key-user { > + label = "GPIO Key User"; > + linux,code = <KEY_PROG1>; > + gpios = <&pio 1 2 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* PB2 */ > + }; > + }; > + > + leds { > + compatible = "gpio-leds"; > + > + led-heartbeat { > + gpios = <&pio 4 4 GPIO_ACTIVE_HIGH>; /* PE4 */ > + linux,default-trigger = "heartbeat"; > + color = <LED_COLOR_ID_GREEN>; > + function = LED_FUNCTION_HEARTBEAT; > + }; > + > + led-mmc0-act { > + gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; /* PF6 */ > + linux,default-trigger = "mmc0"; > + color = <LED_COLOR_ID_GREEN>; > + function = LED_FUNCTION_DISK; > + }; > + }; > + > + /* EA3036C Switching 3 Channel Regulator - Channel 2 */ > + reg_vcc3v3: regulator-3v3 { > + compatible = "regulator-fixed"; > + regulator-name = "vcc3v3"; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + vin-supply = <®_vcc5v0>; > + }; > + > + /* K7805-1000R3 Switching Regulator supplied from main 12/24V terminal block */ > + reg_vcc5v0: regulator-5v0 { > + compatible = "regulator-fixed"; > + regulator-name = "vcc5v0"; > + regulator-min-microvolt = <5000000>; > + regulator-max-microvolt = <5000000>; > + }; > +}; > + > +&codec { > + allwinner,audio-routing = > + "Headphone", "HP", > + "Headphone", "HPCOM", > + "MIC1", "Mic", > + "Mic", "HBIAS"; > + status = "okay"; > +}; > + > +&ehci { > + status = "okay"; > +}; > + > +&emac { > + allwinner,leds-active-low; > + nvmem-cells = <ð0_macaddress>; > + nvmem-cell-names = "mac-address"; > + status = "okay"; > +}; > + > +&i2c0 { > + status = "okay"; > + > + ds3232: rtc@68 { Nodes on an addressed bus should be ordered by their address, not the name of the label. > + compatible = "dallas,ds3232"; > + reg = <0x68>; > + }; > + > + eeprom0: eeprom@50 { > + compatible = "atmel,24c02"; /* actually it's a 24AA02E48 */ > + reg = <0x50>; > + pagesize = <16>; > + read-only; > + vcc-supply = <®_vcc3v3>; > + > + #address-cells = <1>; > + #size-cells = <1>; > + > + eth0_macaddress: macaddress@fa { > + reg = <0xfa 0x06>; > + }; > + }; > + > + tusb320: typec@60 { > + compatible = "ti,tusb320"; > + reg = <0x60>; > + interrupt-parent = <&pio>; > + interrupts = <1 5 IRQ_TYPE_EDGE_FALLING>; > + }; > +}; > + > +/* Exposed as the Flash/SD Header on the board */ > +&mmc0 { > + vmmc-supply = <®_vcc3v3>; > + bus-width = <4>; > + broken-cd; > + status = "okay"; > +}; > + > +/* Connected to the on-board ESP32 */ > +&mmc1 { > + vmmc-supply = <®_vcc3v3>; > + bus-width = <4>; > + broken-cd; > + status = "okay"; > +}; > + > +&ohci { > + status = "okay"; > +}; > + > +/* Disable external 32k osc as it is broken on current revision */ > +&osc32k { > + status = "disabled"; > +}; > + > +&pio { > + vcc-pb-supply = <®_vcc3v3>; > + vcc-pc-supply = <®_vcc3v3>; > + vcc-pe-supply = <®_vcc3v3>; > + vcc-pf-supply = <®_vcc3v3>; > + vcc-pg-supply = <®_vcc3v3>; > + > + gpio-line-names = "", "", "", "", // PA > + "", "", "", "", > + "", "", "", "", > + "", "", "", "", > + "", "", "", "", > + "", "", "", "", > + "", "", "", "", > + "", "", "", "", > + "CAN_nCS", "CAN_nINT", "USER_SW", "PB3", // PB > + "USB_ID", "USBC_nINT", "I2C0_SCL", "I2C0_SDA", > + "UART0_TX", "UART0_RX", "", "", > + "", "", "", "", > + "", "", "", "", > + "", "", "", "", > + "", "", "", "", > + "", "", "", "", > + "SPI_MISO", "SPI_SCK", "FLASH_nCS", "SPI_MOSI", // PC > + "", "", "", "", > + "", "", "", "", > + "", "", "", "", > + "", "", "", "", > + "", "", "", "", > + "", "", "", "", > + "", "", "", "", > + "", "", "", "", // PD > + "", "", "", "", > + "", "", "", "", > + "", "", "", "", > + "", "", "", "", > + "", "", "", "", > + "", "", "", "", > + "", "", "", "", > + "Q12", "Q11", "Q10", "Q9", // PE > + "LED_SYS0", "I1", "Q1", "Q2", > + "I2", "I3", "Q3", "Q4", > + "I4", "I5", "Q5", "Q6", > + "I6", "I7", "Q7", "Q8", > + "I8", "UART1_TXD", "UART1_RXD", "ESP_nRST", > + "ESP_nBOOT", "", "", "", > + "", "", "", "", > + "SD_D1", "SD_D0", "SD_CLK", "SD_CMD", // PF > + "SD_D3", "SD_D2", "LED_SYS1", "", > + "", "", "", "", > + "", "", "", "", > + "", "", "", "", > + "", "", "", "", > + "", "", "", "", > + "", "", "", "", > + "ESP_CLK", "ESP_CMD", "ESP_D0", "ESP_D1", // PG > + "ESP_D2", "ESP_D3", "", "", > + "", "", "", "", > + "", "", "", "", > + "", "", "", "", > + "", "", "", "", > + "", "", "", "", > + "", "", "", ""; > +}; > + > +/* Disable external 32k osc as it is broken on current revision */ > +&rtc { > + /delete-property/ clocks; > +}; > + > +/* Exposed as a USB-C connector with USB-Serial converter */ > +&uart0 { > + pinctrl-0 = <&uart0_pb_pins>; > + pinctrl-names = "default"; > + status = "okay"; > +}; > + > +/* Connected to the Bootloader/Console of the ESP32 */ > +&uart1 { > + pinctrl-0 = <&uart1_pe_pins>; > + pinctrl-names = "default"; > + status = "okay"; > +}; > + > +&usb_otg { > + extcon = <&tusb320 0>; > + dr_mode = "otg"; > + status = "okay"; > +}; > + > +&usbphy { > + usb0_id_det-gpios = <&pio 1 4 GPIO_ACTIVE_HIGH>; /* PB4 */ > + status = "okay"; > +}; > + > +&spi0 { > + #address-cells = <1>; > + #size-cells = <0>; > + cs-gpios = <0>, <&pio 1 0 GPIO_ACTIVE_LOW>; /* PB0 */ > + status = "okay"; > + > + flash@0 { > + compatible = "jedec,spi-nor"; > + reg = <0>; > + #address-cells = <1>; > + #size-cells = <1>; > + label = "firmware"; > + spi-max-frequency = <40000000>; > + }; > + > + can@1 { > + compatible = "microchip,mcp2518fd"; > + reg = <1>; > + clocks = <&clk_can0>; > + interrupt-parent = <&pio>; > + interrupts = <1 1 IRQ_TYPE_LEVEL_LOW>; /* PB1 */ Please use interrupts-extended instead. ChenYu > + spi-max-frequency = <20000000>; > + vdd-supply = <®_vcc3v3>; > + xceiver-supply = <®_vcc3v3>; > + }; > +}; > -- > 2.39.5 > > ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2025-02-05 16:30 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2025-01-28 20:03 [PATCH v8 0/4] Add support for NetCube Systems Kumquat Lukas Schmid 2025-01-28 20:03 ` [PATCH v8 1/4] dt-bindings: vendor-prefixes: Add NetCube Systems Austria name Lukas Schmid 2025-01-28 20:03 ` [PATCH v8 2/4] dt-bindings: arm: sunxi: Add NetCube Systems Kumquat board Lukas Schmid 2025-01-28 20:03 ` [PATCH v8 3/4] ARM: dts: sunxi: add uart1_pe pinctrl for sun8i-v3s Lukas Schmid 2025-01-28 20:03 ` [PATCH v8 4/4] ARM: dts: sunxi: add support for NetCube Systems Kumquat Lukas Schmid 2025-02-05 16:29 ` Chen-Yu Tsai
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox