Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion config/sources/families/sun55iw3.conf
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ source "${BASH_SOURCE%/*}/include/sunxi64_common.inc"
declare -g ATFSOURCE='https://github.com/jernejsk/arm-trusted-firmware'
declare -g ATF_TARGET_MAP="PLAT=sun55i_a523 DEBUG=1 bl31;;build/sun55i_a523/debug/bl31.bin"
declare -g ATFBRANCH="branch:a523-v4"
declare -g BOOTPATCHDIR="sunxi-dev-u-boot-a523"
declare -g BOOTBRANCH="tag:v2026.01"
declare -g BOOTPATCHDIR="v2026.01"

write_uboot_platform() {
dd if=$1/u-boot-sunxi-with-spl.bin of=$2 bs=512 seek=256 status=noxfer > /dev/null 2>&1
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ Signed-off-by: Marvin Wewer <mwewer37@proton.me>
---
drivers/clk/sunxi-ng/ccu-sun55i-a523.c | 13 +++++++++-
include/dt-bindings/clock/sun55i-a523-ccu.h | 1 +
3 files changed, 13 insertions(+), 1 deletion(-)
2 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/drivers/clk/sunxi-ng/ccu-sun55i-a523.c b/drivers/clk/sunxi-ng/ccu-sun55i-a523.c
index 111111111111..222222222222 100644
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2264,11 +2264,6 @@ index 000000000000..111111111111
+
+subsys_initcall(sunxi_iommu_init);
+module_exit(sunxi_iommu_exit);
+
+MODULE_LICENSE("GPL v2");
+MODULE_VERSION("1.5.1");
+MODULE_AUTHOR("huangshuosheng<huangshuosheng@allwinnertech.com>");
+MODULE_AUTHOR("ouayngkun<ouyangkun@allwinnertech.com>");
diff --git a/drivers/iommu/sun55i-iommu.h b/drivers/iommu/sun55i-iommu.h
new file mode 100644
index 000000000000..111111111111
Expand Down Expand Up @@ -2391,3 +2386,4 @@ index 000000000000..111111111111
\ No newline at end of file
--
Armbian

Original file line number Diff line number Diff line change
Expand Up @@ -3282,3 +3282,4 @@ index 000000000000..111111111111
+#endif
--
Armbian

Original file line number Diff line number Diff line change
Expand Up @@ -1236,3 +1236,4 @@ index 000000000000..111111111111
+MODULE_LICENSE("GPL v2");
--
Armbian

Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c
index 111111111111..222222222222 100644
--- a/drivers/usb/serial/option.c
+++ b/drivers/usb/serial/option.c
@@ -2536,6 +2536,7 @@ static struct usb_serial_driver option_1port_device = {
@@ -2537,6 +2537,7 @@ static struct usb_serial_driver option_1port_device = {
#ifdef CONFIG_PM
.suspend = usb_wwan_suspend,
.resume = usb_wwan_resume,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,15 +13,15 @@ diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
index 111111111111..222222222222 100644
--- a/drivers/usb/dwc3/core.c
+++ b/drivers/usb/dwc3/core.c
@@ -2425,7 +2425,6 @@ static int dwc3_suspend_common(struct dwc3 *dwc, pm_message_t msg)
@@ -2427,7 +2427,6 @@ static int dwc3_suspend_common(struct dwc3 *dwc, pm_message_t msg)
{
u32 reg;
int i;
- int ret;

if (!pm_runtime_suspended(dwc->dev) && !PMSG_IS_AUTO(msg)) {
dwc->susphy_state = (dwc3_readl(dwc->regs, DWC3_GUSB2PHYCFG(0)) &
@@ -2444,9 +2443,7 @@ static int dwc3_suspend_common(struct dwc3 *dwc, pm_message_t msg)
@@ -2446,9 +2445,7 @@ static int dwc3_suspend_common(struct dwc3 *dwc, pm_message_t msg)
case DWC3_GCTL_PRTCAP_DEVICE:
if (pm_runtime_suspended(dwc->dev))
break;
Expand All @@ -32,7 +32,7 @@ index 111111111111..222222222222 100644
synchronize_irq(dwc->irq_gadget);
dwc3_core_exit(dwc);
break;
@@ -2481,9 +2478,7 @@ static int dwc3_suspend_common(struct dwc3 *dwc, pm_message_t msg)
@@ -2483,9 +2480,7 @@ static int dwc3_suspend_common(struct dwc3 *dwc, pm_message_t msg)
break;

if (dwc->current_otg_role == DWC3_OTG_ROLE_DEVICE) {
Expand Down
14 changes: 7 additions & 7 deletions patch/kernel/archive/sunxi-6.18/series.conf
Original file line number Diff line number Diff line change
Expand Up @@ -465,6 +465,9 @@
patches.armbian/arm64-dts-sun50i-h6-pine-h64-add-wifi-rtl8723cs.patch
patches.armbian/arm64-dts-sun50i-h6-pine-h64-enable-usb3.patch
patches.armbian/arm64-dts-sun50i-h6-tanix-enable-ethernet.patch
patches.armbian/arm64-dts-sun55i-a527-cubie-a5e-enable-usbc-pcie-combophy.patch
patches.armbian/arm64-dts-sun55i-dtsi-add-iommu-usbc-pcie-combophy-nodes.patch
patches.armbian/arm64-dts-sun55i-t527-orangepi-4a-enable-pcie-combophy.patch
patches.armbian/arm-arm64-dts-axp209-axp22x-axp81x-axp803-add-led-charger.patch
patches.armbian/arm-dts-h3-nanopi-neo-Add-regulator-leds-mmc2.patch
patches.armbian/arm-dts-h3-nanopi-neo-air-Add-regulator-camera-wifi-bluetooth-o.patch
Expand Down Expand Up @@ -514,6 +517,7 @@
patches.armbian/drv-asoc-sunxi-sun8i-codec-analog-enable-sound.patch
patches.armbian/drv-char-add-dump-reg-sysinfo-drivers.patch
patches.armbian/drv-clk-gate-add-regmap-gate-support.patch
patches.armbian/drv-clk-sunxi-ng-fix-clock-handling-for-ccu-sun55i-a523.patch
patches.armbian/drv-clocksource-timer-fix-a64-timejump.patch
patches.armbian/drv-devfreq-sun8i-a33-mbus-disable-autorefresh.patch
patches.armbian/drv-drm-gem-dma-export-handle-allocator.patch
Expand All @@ -524,6 +528,7 @@
patches.armbian/drv-input-axp20x-pek-enable-wakeup-shutdown.patch
patches.armbian/drv-input-touchscreen-sun4i-ts-Enable-parsing.patch
patches.armbian/drv-input-tsc2007-add-polling-method.patch
patches.armbian/drv-iommu-sunxi-add-iommu-driver.patch
patches.armbian/drv-leds-ws2812-add-h616-driver.patch
patches.armbian/drv-media-dvb-frontends-si2168-fix-cmd-timeout.patch
patches.armbian/drv-mfd-ac200-add-ephy-syscon.patch
Expand All @@ -537,6 +542,8 @@
patches.armbian/drv-nvmem-sunxi-add-chipid-serial-helpers.patch
patches.armbian/drv-nvmem-sunxi-add-h616-support.patch
patches.armbian/drv-of-add-overlay-configfs-interface.patch
patches.armbian/drv-pci-sunxi-enable-pcie-support.patch
patches.armbian/drv-phy-allwinner-add-pcie-usb3-driver.patch
patches.armbian/drv-phy-sun4i-usb-Allow-reset-line-to-be-shared.patch
patches.armbian/drv-pinctrl-sun50i-a64-disable-strict-mode.patch
patches.armbian/drv-pinctrl-sun50i-h6-disable-strict-mode.patch
Expand All @@ -550,10 +557,3 @@
patches.armbian/drv-usb-gadget-composite-rename-serial-manufacturer.patch
patches.armbian/drv-video-st7796s-fb-tft-driver.patch
patches.armbian/include-uapi-drm_fourcc-add-ARM-tiled-format-modifier.patch
patches.armbian/drv-clk-sunxi-ng-fix-clock-handling-for-ccu-sun55i-a523.patch
patches.armbian/drv-pci-sunxi-enable-pcie-support.patch
patches.armbian/drv-phy-allwinner-add-pcie-usb3-driver.patch
patches.armbian/drv-iommu-sunxi-add-iommu-driver.patch
patches.armbian/arm64-dts-sun55i-t527-orangepi-4a-enable-pcie-combophy.patch
patches.armbian/arm64-dts-sun55i-a527-cubie-a5e-enable-usbc-pcie-combophy.patch
patches.armbian/arm64-dts-sun55i-dtsi-add-iommu-usbc-pcie-combophy-nodes.patch
Original file line number Diff line number Diff line change
Expand Up @@ -5,27 +5,22 @@ Subject: arm64: dts: allwinner: sun55i-a523: Add SPI0, PCIe and Combophy nodes

Signed-off-by: Marvin Wewer <mwewer37@proton.me>
---
dts/upstream/src/arm64/allwinner/sun55i-a523.dtsi | 66 ++++++++++
1 file changed, 66 insertions(+)
dts/upstream/src/arm64/allwinner/sun55i-a523.dtsi | 65 ++++++++++
1 file changed, 65 insertions(+)

diff --git a/dts/upstream/src/arm64/allwinner/sun55i-a523.dtsi b/dts/upstream/src/arm64/allwinner/sun55i-a523.dtsi
index 111111111111..222222222222 100644
--- a/dts/upstream/src/arm64/allwinner/sun55i-a523.dtsi
+++ b/dts/upstream/src/arm64/allwinner/sun55i-a523.dtsi
@@ -1,9 +1,10 @@
// SPDX-License-Identifier: (GPL-2.0-only OR MIT)
@@ -2,6 +2,7 @@
// Copyright (C) 2023-2024 Arm Ltd.

#include <dt-bindings/interrupt-controller/arm-gic.h>
+#include <dt-bindings/phy/phy.h>
#include <dt-bindings/clock/sun6i-rtc.h>
#include <dt-bindings/clock/sun55i-a523-ccu.h>
#include <dt-bindings/clock/sun55i-a523-r-ccu.h>
#include <dt-bindings/reset/sun55i-a523-ccu.h>
#include <dt-bindings/reset/sun55i-a523-r-ccu.h>
@@ -607,10 +608,38 @@
clocks = <&r_ccu CLK_BUS_R_PPU1>;
resets = <&r_ccu RST_BUS_R_PPU1>;
@@ -609,6 +610,34 @@
#power-domain-cells = <1>;
};

Expand Down Expand Up @@ -60,11 +55,7 @@ index 111111111111..222222222222 100644
r_ccu: clock-controller@7010000 {
compatible = "allwinner,sun55i-a523-r-ccu";
reg = <0x7010000 0x250>;
clocks = <&osc24M>,
<&rtc CLK_OSC32K>,
@@ -624,10 +653,46 @@
"pll-audio";
#clock-cells = <1>;
@@ -626,6 +655,42 @@
#reset-cells = <1>;
};

Expand Down Expand Up @@ -107,8 +98,6 @@ index 111111111111..222222222222 100644
nmi_intc: interrupt-controller@7010320 {
compatible = "allwinner,sun55i-a523-nmi";
reg = <0x07010320 0xc>;
interrupt-controller;
#interrupt-cells = <2>;
--
Armbian

Original file line number Diff line number Diff line change
@@ -1,20 +1,19 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Marvin Wewer <mwewer37@proton.me>
Date: Sun, 4 Jan 2026 21:16:16 +0000
Subject: arm64: dts: allwinner: sun55i-t527-orangepi-4a: Enable SPI0 and PCIe with ComboPHY
Subject: arm64: dts: allwinner: sun55i-t527-orangepi-4a: Enable SPI0 and PCIe
with ComboPHY

Signed-off-by: Marvin Wewer <mwewer37@proton.me>
---
dts/upstream/src/arm64/allwinner/sun55i-t527-orangepi-4a.dts | 38 ++++++++--
1 file changed, 38 insertions(+)
dts/upstream/src/arm64/allwinner/sun55i-t527-orangepi-4a.dts | 39 ++++++++++
1 file changed, 39 insertions(+)

diff --git a/dts/upstream/src/arm64/allwinner/sun55i-t527-orangepi-4a.dts b/dts/upstream/src/arm64/allwinner/sun55i-t527-orangepi-4a.dts
index 111111111111..222222222222 100644
--- a/dts/upstream/src/arm64/allwinner/sun55i-t527-orangepi-4a.dts
+++ b/dts/upstream/src/arm64/allwinner/sun55i-t527-orangepi-4a.dts
@@ -152,10 +152,22 @@
vcc-pg-supply = <&reg_bldo1>;
vcc-ph-supply = <&reg_cldo3>; /* via VCC-IO */
@@ -154,6 +154,18 @@
vcc-pi-supply = <&reg_cldo3>;
vcc-pj-supply = <&reg_cldo1>;
vcc-pk-supply = <&reg_cldo1>;
Expand All @@ -33,11 +32,7 @@ index 111111111111..222222222222 100644
};

&r_i2c0 {
status = "okay";

@@ -368,10 +390,36 @@
host-wakeup-gpios = <&r_pio 1 4 GPIO_ACTIVE_HIGH>; /* PM4 */
shutdown-gpios = <&r_pio 1 2 GPIO_ACTIVE_HIGH>; /* PM2 */
@@ -370,6 +382,32 @@
};
};

Expand Down Expand Up @@ -70,11 +65,7 @@ index 111111111111..222222222222 100644
&usb_otg {
/*
* The OTG controller is connected to one of the type-A ports.
* There is a regulator, controlled by a GPIO, to provide VBUS power
* to the port, and a VBUSDET GPIO, to detect externally provided
@@ -386,5 +414,6 @@
usb0_vbus-supply = <&reg_otg_vbus>;
usb0_vbus_det-gpios = <&r_pio 0 7 GPIO_ACTIVE_HIGH>; /* PL7 */
@@ -388,3 +426,4 @@
usb1_vbus-supply = <&reg_usb_vbus>;
status = "okay";
};
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Marvin Wewer <mwewer37@proton.me>
Date: Mon, 12 Jan 2026 13:45:24 +0000
Subject: Enable PCIe, NVMe, SPI and additional commands in orangepi_4a_defconfig
Subject: Enable PCIe, NVMe, SPI and additional commands in
orangepi_4a_defconfig

Signed-off-by: Marvin Wewer <mwewer37@proton.me>
---
Expand All @@ -12,9 +13,7 @@ diff --git a/configs/orangepi_4a_defconfig b/configs/orangepi_4a_defconfig
index 111111111111..222222222222 100644
--- a/configs/orangepi_4a_defconfig
+++ b/configs/orangepi_4a_defconfig
@@ -28,5 +28,25 @@ CONFIG_AXP717_POWER=y
CONFIG_AXP_I2C_ADDRESS=0x35
CONFIG_AXP_DCDC2_VOLT=920
@@ -30,3 +30,23 @@ CONFIG_AXP_DCDC2_VOLT=920
CONFIG_AXP_DCDC3_VOLT=1160
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_OHCI_HCD=y
Expand Down
Original file line number Diff line number Diff line change
@@ -1,20 +1,19 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Marvin Wewer <mwewer37@proton.me>
Date: Sat, 25 Oct 2025 16:50:43 +0000
Subject: arm64: dts: allwinner: sun55i-a527-cubie-a5e: Enable SPI0 and PCIe with ComboPHY
Subject: arm64: dts: allwinner: sun55i-a527-cubie-a5e: Enable SPI0 and PCIe
with ComboPHY

Signed-off-by: Marvin Wewer <mwewer37@proton.me>
---
dts/upstream/src/arm64/allwinner/sun55i-a527-cubie-a5e.dts | 84 ++++++++++
1 file changed, 84 insertions(+)
dts/upstream/src/arm64/allwinner/sun55i-a527-cubie-a5e.dts | 83 ++++++++++
1 file changed, 83 insertions(+)

diff --git a/dts/upstream/src/arm64/allwinner/sun55i-a527-cubie-a5e.dts b/dts/upstream/src/arm64/allwinner/sun55i-a527-cubie-a5e.dts
index 111111111111..222222222222 100644
--- a/dts/upstream/src/arm64/allwinner/sun55i-a527-cubie-a5e.dts
+++ b/dts/upstream/src/arm64/allwinner/sun55i-a527-cubie-a5e.dts
@@ -43,10 +43,34 @@
regulator-max-microvolt = <5000000>;
vin-supply = <&reg_vcc5v>;
@@ -45,6 +45,30 @@
gpio = <&r_pio 0 8 GPIO_ACTIVE_HIGH>; /* PL8 */
enable-active-high;
};
Expand Down Expand Up @@ -45,11 +44,7 @@ index 111111111111..222222222222 100644
};

&ehci0 {
status = "okay";
};
@@ -102,10 +126,34 @@
vcc-pg-supply = <&reg_bldo1>;
vcc-ph-supply = <&reg_cldo3>; /* via VCC-IO */
@@ -104,6 +128,30 @@
vcc-pi-supply = <&reg_cldo3>;
vcc-pj-supply = <&reg_cldo4>;
vcc-pk-supply = <&reg_cldo1>;
Expand Down Expand Up @@ -80,11 +75,7 @@ index 111111111111..222222222222 100644
};

&r_i2c0 {
status = "okay";

@@ -280,18 +328,53 @@
* Specifying the supply would create a circular dependency.
*
@@ -282,6 +330,14 @@
* vcc-pl-supply = <&reg_aldo3>;
*/
vcc-pm-supply = <&reg_aldo3>;
Expand All @@ -99,8 +90,7 @@ index 111111111111..222222222222 100644
};

&uart0 {
pinctrl-names = "default";
pinctrl-0 = <&uart0_pb_pins>;
@@ -290,6 +346,33 @@
status = "okay";
};

Expand Down Expand Up @@ -134,8 +124,6 @@ index 111111111111..222222222222 100644
&usb_otg {
/*
* The USB-C port is the primary power supply, so in this configuration
* relies on the other end of the USB cable to supply the VBUS power.
* So use this port in peripheral mode.
--
Armbian

Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,14 @@ Subject: Enable PCIe, NVMe, SPI and GPIO support in radxa-cubie-a5e_defconfig

Signed-off-by: Marvin Wewer <mwewer37@proton.me>
---
configs/radxa-cubie-a5e_defconfig | 55 ++++++++++
1 file changed, 55 insertions(+)
configs/radxa-cubie-a5e_defconfig | 20 ++++++++++
1 file changed, 20 insertions(+)

diff --git a/configs/radxa-cubie-a5e_defconfig b/configs/radxa-cubie-a5e_defconfig
index 111111111111..222222222222 100644
--- a/configs/radxa-cubie-a5e_defconfig
+++ b/configs/radxa-cubie-a5e_defconfig
@@ -28,5 +28,25 @@ CONFIG_REGULATOR_AXP=y
CONFIG_AXP717_POWER=y
CONFIG_AXP_DCDC2_VOLT=920
@@ -30,3 +30,23 @@ CONFIG_AXP_DCDC2_VOLT=920
CONFIG_AXP_DCDC3_VOLT=1100
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_OHCI_HCD=y
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Marvin Wewer <mwewer37@proton.me>
Date: Sat, 25 Oct 2025 10:54:53 +0000
Subject: clk: sunxi: Add USB3 and PCIe clock gates and reset for A523
Subject: clk: sunxi: Add PCIe and USB3 clock support for SUN55I A523

Signed-off-by: Marvin Wewer <mwewer37@proton.me>
---
Expand All @@ -13,9 +13,7 @@ diff --git a/drivers/clk/sunxi/clk_a523.c b/drivers/clk/sunxi/clk_a523.c
index 111111111111..222222222222 100644
--- a/drivers/clk/sunxi/clk_a523.c
+++ b/drivers/clk/sunxi/clk_a523.c
@@ -44,10 +44,12 @@ static struct ccu_clk_gate a523_gates[] = {
[CLK_BUS_OHCI0] = GATE(0xa8c, BIT(0)),
[CLK_BUS_OHCI1] = GATE(0xa8c, BIT(1)),
@@ -46,6 +46,8 @@ static struct ccu_clk_gate a523_gates[] = {
[CLK_BUS_EHCI0] = GATE(0xa8c, BIT(4)),
[CLK_BUS_EHCI1] = GATE(0xa8c, BIT(5)),
[CLK_BUS_OTG] = GATE(0xa8c, BIT(8)),
Expand All @@ -24,27 +22,19 @@ index 111111111111..222222222222 100644
};

static struct ccu_reset a523_resets[] = {
[RST_BUS_MMC0] = RESET(0x84c, BIT(16)),
[RST_BUS_MMC1] = RESET(0x84c, BIT(17)),
@@ -73,10 +75,11 @@ static struct ccu_reset a523_resets[] = {
[RST_BUS_OHCI0] = RESET(0xa8c, BIT(16)),
[RST_BUS_OHCI1] = RESET(0xa8c, BIT(17)),
@@ -75,6 +77,7 @@ static struct ccu_reset a523_resets[] = {
[RST_BUS_EHCI0] = RESET(0xa8c, BIT(20)),
[RST_BUS_EHCI1] = RESET(0xa8c, BIT(21)),
[RST_BUS_OTG] = RESET(0xa8c, BIT(24)),
+ [RST_BUS_PCIE_USB3] = RESET(0xaac, BIT(24)),
};

const struct ccu_desc a523_ccu_desc = {
.gates = a523_gates,
.resets = a523_resets,
diff --git a/dts/upstream/include/dt-bindings/clock/sun55i-a523-ccu.h b/dts/upstream/include/dt-bindings/clock/sun55i-a523-ccu.h
index 111111111111..222222222222 100644
--- a/dts/upstream/include/dt-bindings/clock/sun55i-a523-ccu.h
+++ b/dts/upstream/include/dt-bindings/clock/sun55i-a523-ccu.h
@@ -183,7 +183,8 @@
#define CLK_FANOUT_27M 174
#define CLK_FANOUT_PCLK 175
@@ -185,5 +185,6 @@
#define CLK_FANOUT0 176
#define CLK_FANOUT1 177
#define CLK_FANOUT2 178
Expand Down
Loading