diff --git a/config/boards/radxa-cubie-a5e.csc b/config/boards/radxa-cubie-a5e.csc index 34619beaa018..5eab83359a78 100644 --- a/config/boards/radxa-cubie-a5e.csc +++ b/config/boards/radxa-cubie-a5e.csc @@ -1,4 +1,4 @@ -# Allwinner Cortex-A55 octa core 1/2/4GB RAM SoC +# Allwinner Cortex-A55 octa core 2/4GB RAM SoC BOARD_NAME="radxa cubie a5e" BOARD_VENDOR="radxa" BOARDFAMILY="sun55iw3" @@ -8,12 +8,7 @@ OVERLAY_PREFIX="sun55i-a527" #BOOT_LOGO="desktop" KERNEL_TARGET="edge" BOOT_FDT_FILE="sun55i-a527-cubie-a5e.dtb" -IMAGE_PARTITION_TABLE="gpt" -#IMAGE_PARTITION_TABLE="msdos" -BOOTFS_TYPE="fat" -BOOTSTART="1" -BOOTSIZE="512" -ROOTSTART="513" +HAS_VIDEO_OUTPUT=no PACKAGE_LIST_BOARD="rfkill bluetooth bluez bluez-tools" diff --git a/config/sources/families/sun55iw3.conf b/config/sources/families/sun55iw3.conf index b2b5511b7cd8..03bf437dab45 100644 --- a/config/sources/families/sun55iw3.conf +++ b/config/sources/families/sun55iw3.conf @@ -14,6 +14,3 @@ declare -g ATFBRANCH="branch:a523-v4" 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 -} diff --git a/patch/kernel/archive/sunxi-6.18/patches.backports/20-Add-wifi-to-Radxa-Cubie-A5E.patch b/patch/kernel/archive/sunxi-6.18/patches.backports/20-Add-wifi-to-Radxa-Cubie-A5E.patch deleted file mode 100644 index 1a3210c13eed..000000000000 --- a/patch/kernel/archive/sunxi-6.18/patches.backports/20-Add-wifi-to-Radxa-Cubie-A5E.patch +++ /dev/null @@ -1,66 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Juan Sanchez -Date: Fri, 4 Jul 2025 15:17:54 -0400 -Subject: Add wifi (mmc1) to Radxa Cubie A5E - -Signed-off-by: Juan Sanchez ---- - arch/arm64/boot/dts/allwinner/sun55i-a527-cubie-a5e.dts | 28 ++++++++++ - 1 file changed, 28 insertions(+) - -diff --git a/arch/arm64/boot/dts/allwinner/sun55i-a527-cubie-a5e.dts b/arch/arm64/boot/dts/allwinner/sun55i-a527-cubie-a5e.dts -index 111111111111..222222222222 100644 ---- a/arch/arm64/boot/dts/allwinner/sun55i-a527-cubie-a5e.dts -+++ b/arch/arm64/boot/dts/allwinner/sun55i-a527-cubie-a5e.dts -@@ -15,6 +15,7 @@ / { - aliases { - ethernet0 = &gmac0; - ethernet1 = &gmac1; -+ ethernet2 = &sdio_wifi; - serial0 = &uart0; - }; - -@@ -46,6 +47,16 @@ iio-hwmon { - <&axp717_adc 4>; /* pmic_temp */ - }; - -+ reg_3v3_wifi: 3v3-wifi { -+ compatible = "regulator-fixed"; -+ regulator-name = "3v3-wifi"; -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ vin-supply = <®_vcc5v>; -+ gpio = <&r_pio 0 7 GPIO_ACTIVE_HIGH>; /* PL7 */ -+ enable-active-high; -+ }; -+ - reg_vcc5v: vcc5v { - /* board wide 5V supply from the USB-C connector */ - compatible = "regulator-fixed"; -@@ -128,6 +139,23 @@ &mmc0 { - status = "okay"; - }; - -+&mmc1_pins { -+ drive-strength = <40>; -+}; -+ -+&mmc1 { -+ bus-width = <4>; -+ vmmc-supply = <®_3v3_wifi>; -+ non-removable; -+ // todo: investigate why clock above 40MHz makes data errors -+ max-frequency = <35000000>; -+ status = "okay"; -+ -+ sdio_wifi: wifi@1 { -+ reg = <1>; -+ }; -+}; -+ - &ohci0 { - status = "okay"; - }; --- -Armbian - diff --git a/patch/kernel/archive/sunxi-6.18/patches.backports/21-Enable-uart1-on-Radxa-Cubie-A5E.patch b/patch/kernel/archive/sunxi-6.18/patches.backports/21-Enable-uart1-on-Radxa-Cubie-A5E.patch index d648d34136bd..c6358aa4109d 100644 --- a/patch/kernel/archive/sunxi-6.18/patches.backports/21-Enable-uart1-on-Radxa-Cubie-A5E.patch +++ b/patch/kernel/archive/sunxi-6.18/patches.backports/21-Enable-uart1-on-Radxa-Cubie-A5E.patch @@ -1,40 +1,54 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Juan Sanchez -Date: Tue, 5 Aug 2025 14:55:52 -0400 -Subject: Enable uart1 (bluetooth) on Radxa Cubie A5E +Date: Tue, 31 Mar 2026 22:37:03 -0300 +Subject: Enable BT on Radxa Cubie A5E Signed-off-by: Juan Sanchez --- - arch/arm64/boot/dts/allwinner/sun55i-a527-cubie-a5e.dts | 9 +++++++++ - 1 file changed, 9 insertions(+) + arch/arm64/boot/dts/allwinner/sun55i-a527-cubie-a5e.dts | 15 ++++++++++ + 1 file changed, 15 insertions(+) diff --git a/arch/arm64/boot/dts/allwinner/sun55i-a527-cubie-a5e.dts b/arch/arm64/boot/dts/allwinner/sun55i-a527-cubie-a5e.dts -index 111111111111..222222222222 100644 +index 5df8058e85be..75df77cc2099 100644 --- a/arch/arm64/boot/dts/allwinner/sun55i-a527-cubie-a5e.dts +++ b/arch/arm64/boot/dts/allwinner/sun55i-a527-cubie-a5e.dts -@@ -17,6 +17,7 @@ aliases { +@@ -14,10 +14,11 @@ / { + + aliases { + ethernet0 = &gmac0; ethernet1 = &gmac1; - ethernet2 = &sdio_wifi; serial0 = &uart0; + serial1 = &uart1; }; chosen { -@@ -381,6 +382,14 @@ &uart0 { + stdout-path = "serial0:115200n8"; + }; +@@ -381,10 +382,24 @@ &uart0 { + pinctrl-names = "default"; + pinctrl-0 = <&uart0_pb_pins>; status = "okay"; }; -+/* Bluetooth */ +&uart1 { + pinctrl-names = "default"; + pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>; + uart-has-rtscts; -+ status = "okay"; ++ status= "okay"; ++ ++ bluetooth { ++ compatible = "aic,aic8800-bt"; ++ shutdown-gpios = <&r_pio 1 2 GPIO_ACTIVE_LOW>; ++ host-wakeup-gpios = <&r_pio 1 4 GPIO_ACTIVE_HIGH>; ++ device-wakeup-gpios = <&r_pio 1 3 GPIO_ACTIVE_HIGH>; ++ }; +}; + &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 +Created with Armbian build tools https://github.com/armbian/build diff --git a/patch/kernel/archive/sunxi-6.18/patches.backports/22-Enable-wifi-on-Radxa-Cubie-A5E.patch b/patch/kernel/archive/sunxi-6.18/patches.backports/22-Enable-wifi-on-Radxa-Cubie-A5E.patch new file mode 100644 index 000000000000..fb6934b946c9 --- /dev/null +++ b/patch/kernel/archive/sunxi-6.18/patches.backports/22-Enable-wifi-on-Radxa-Cubie-A5E.patch @@ -0,0 +1,83 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Juan Sanchez +Date: Wed, 1 Apr 2026 17:09:33 -0300 +Subject: Update WiFi patch on Radxa Cubie A5E + +Signed-off-by: Juan Sanchez +--- + arch/arm64/boot/dts/allwinner/sun55i-a527-cubie-a5e.dts | 33 ++++++++++ + 1 file changed, 33 insertions(+) + +diff --git a/arch/arm64/boot/dts/allwinner/sun55i-a527-cubie-a5e.dts b/arch/arm64/boot/dts/allwinner/sun55i-a527-cubie-a5e.dts +index e4fcfb01dab2..2abf6a535a6d 100644 +--- a/arch/arm64/boot/dts/allwinner/sun55i-a527-cubie-a5e.dts ++++ b/arch/arm64/boot/dts/allwinner/sun55i-a527-cubie-a5e.dts +@@ -13,10 +13,11 @@ / { + compatible = "radxa,cubie-a5e", "allwinner,sun55i-a527"; + + aliases { + ethernet0 = &gmac0; + ethernet1 = &gmac1; ++ ethernet2 = &wifi; + serial0 = &uart0; + serial1 = &uart1; + }; + + chosen { +@@ -45,10 +46,25 @@ iio-hwmon { + compatible = "iio-hwmon"; + io-channels = <&axp717_adc 3>, /* vsys_v */ + <&axp717_adc 4>; /* pmic_temp */ + }; + ++ reg_3v3_wifi: 3v3-wifi { ++ compatible = "regulator-fixed"; ++ regulator-name = "3v3-wifi"; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ gpio = <&r_pio 0 7 GPIO_ACTIVE_HIGH>; ++ enable-active-high; ++ }; ++ ++ wifi_pwrseq: wifi-pwrseq { ++ compatible = "mmc-pwrseq-simple"; ++ reset-gpios = <&r_pio 1 1 GPIO_ACTIVE_LOW>; ++ post-power-on-delay-ms = <200>; ++ }; ++ + reg_vcc5v: vcc5v { + /* board wide 5V supply from the USB-C connector */ + compatible = "regulator-fixed"; + regulator-name = "vcc-5v"; + regulator-min-microvolt = <5000000>; +@@ -160,10 +176,27 @@ &mmc0 { + cd-gpios = <&pio 5 6 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* PF6 */ + bus-width = <4>; + status = "okay"; + }; + ++&mmc1 { ++ vmmc-supply = <®_3v3_wifi>; ++ vqmmc-supply = <®_bldo1>; ++ mmc-pwrseq = <&wifi_pwrseq>; ++ bus-width = <4>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&mmc1_pins>; ++ status = "okay"; ++ ++ wifi@1 { ++ reg = <1>; ++ interrupt-parent = <&r_pio>; ++ interrupts = <1 0 IRQ_TYPE_LEVEL_LOW>; ++ interrupt-names = "host-wake"; ++ }; ++}; ++ + &ohci0 { + status = "okay"; + }; + + &ohci1 { +-- +Created with Armbian build tools https://github.com/armbian/build + diff --git a/patch/kernel/archive/sunxi-6.18/patches.backports/30-allwinner-a523-support-spi-controllers.patch b/patch/kernel/archive/sunxi-6.18/patches.backports/30-allwinner-a523-support-spi-controllers.patch index 6ae29832292e..647db7f4d879 100644 --- a/patch/kernel/archive/sunxi-6.18/patches.backports/30-allwinner-a523-support-spi-controllers.patch +++ b/patch/kernel/archive/sunxi-6.18/patches.backports/30-allwinner-a523-support-spi-controllers.patch @@ -152,7 +152,7 @@ index 111111111111..222222222222 100644 + interrupts = ; + clocks = <&r_ccu CLK_BUS_R_SPI>, <&r_ccu CLK_R_SPI>; + clock-names = "ahb", "mod"; -+ dmas = <&dma 53>, <&dma 53>; ++ dmas = <&mcu_dma 13>, <&mcu_dma 13>; + dma-names = "rx", "tx"; + resets = <&r_ccu RST_BUS_R_SPI>; + status = "disabled"; diff --git a/patch/kernel/archive/sunxi-6.18/series.conf b/patch/kernel/archive/sunxi-6.18/series.conf index 760eac49b00d..3a08def8b1e9 100644 --- a/patch/kernel/archive/sunxi-6.18/series.conf +++ b/patch/kernel/archive/sunxi-6.18/series.conf @@ -392,8 +392,8 @@ patches.backports/08-mfd-axp20x-Support-tri-phase-setup.patch patches.backports/09-arm64-dts-allwinner-a523-Mark-dual-phased-regulators.patch patches.backports/10-Allwinner-A523-add-support-for-A523-THS0-1-controllers.patch - patches.backports/20-Add-wifi-to-Radxa-Cubie-A5E.patch patches.backports/21-Enable-uart1-on-Radxa-Cubie-A5E.patch + patches.backports/22-Enable-wifi-on-Radxa-Cubie-A5E.patch patches.backports/30-allwinner-a523-support-spi-controllers.patch diff --git a/patch/kernel/archive/sunxi-7.0/patches.backports/21-Enable-uart1-on-Radxa-Cubie-A5E.patch b/patch/kernel/archive/sunxi-7.0/patches.backports/21-Enable-uart1-on-Radxa-Cubie-A5E.patch index 6932d6900916..c6358aa4109d 100644 --- a/patch/kernel/archive/sunxi-7.0/patches.backports/21-Enable-uart1-on-Radxa-Cubie-A5E.patch +++ b/patch/kernel/archive/sunxi-7.0/patches.backports/21-Enable-uart1-on-Radxa-Cubie-A5E.patch @@ -1,18 +1,20 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Juan Sanchez -Date: Tue, 5 Aug 2025 14:55:52 -0400 -Subject: Enable uart1 (bluetooth) on Radxa Cubie A5E +Date: Tue, 31 Mar 2026 22:37:03 -0300 +Subject: Enable BT on Radxa Cubie A5E Signed-off-by: Juan Sanchez --- - arch/arm64/boot/dts/allwinner/sun55i-a527-cubie-a5e.dts | 9 +++++++++ - 1 file changed, 9 insertions(+) + arch/arm64/boot/dts/allwinner/sun55i-a527-cubie-a5e.dts | 15 ++++++++++ + 1 file changed, 15 insertions(+) diff --git a/arch/arm64/boot/dts/allwinner/sun55i-a527-cubie-a5e.dts b/arch/arm64/boot/dts/allwinner/sun55i-a527-cubie-a5e.dts -index 111111111111..222222222222 100644 +index 5df8058e85be..75df77cc2099 100644 --- a/arch/arm64/boot/dts/allwinner/sun55i-a527-cubie-a5e.dts +++ b/arch/arm64/boot/dts/allwinner/sun55i-a527-cubie-a5e.dts -@@ -16,6 +16,7 @@ aliases { +@@ -14,10 +14,11 @@ / { + + aliases { ethernet0 = &gmac0; ethernet1 = &gmac1; serial0 = &uart0; @@ -20,21 +22,33 @@ index 111111111111..222222222222 100644 }; chosen { -@@ -350,6 +351,14 @@ &uart0 { + stdout-path = "serial0:115200n8"; + }; +@@ -381,10 +382,24 @@ &uart0 { + pinctrl-names = "default"; + pinctrl-0 = <&uart0_pb_pins>; status = "okay"; }; -+/* Bluetooth */ +&uart1 { + pinctrl-names = "default"; + pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>; + uart-has-rtscts; -+ status = "okay"; ++ status= "okay"; ++ ++ bluetooth { ++ compatible = "aic,aic8800-bt"; ++ shutdown-gpios = <&r_pio 1 2 GPIO_ACTIVE_LOW>; ++ host-wakeup-gpios = <&r_pio 1 4 GPIO_ACTIVE_HIGH>; ++ device-wakeup-gpios = <&r_pio 1 3 GPIO_ACTIVE_HIGH>; ++ }; +}; + &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 +Created with Armbian build tools https://github.com/armbian/build diff --git a/patch/kernel/archive/sunxi-7.0/patches.backports/22-Enable-wifi-on-Radxa-Cubie-A5E.patch b/patch/kernel/archive/sunxi-7.0/patches.backports/22-Enable-wifi-on-Radxa-Cubie-A5E.patch new file mode 100644 index 000000000000..89fde1b3c08e --- /dev/null +++ b/patch/kernel/archive/sunxi-7.0/patches.backports/22-Enable-wifi-on-Radxa-Cubie-A5E.patch @@ -0,0 +1,83 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Juan Sanchez +Date: Wed, 1 Apr 2026 17:09:33 -0300 +Subject: Update WiFi patch on Radxa Cubie A5E + +Signed-off-by: Juan Sanchez +--- + arch/arm64/boot/dts/allwinner/sun55i-a527-cubie-a5e.dts | 33 ++++++++++ + 1 file changed, 33 insertions(+) + +diff --git a/arch/arm64/boot/dts/allwinner/sun55i-a527-cubie-a5e.dts b/arch/arm64/boot/dts/allwinner/sun55i-a527-cubie-a5e.dts +index e4fcfb01dab2..2abf6a535a6d 100644 +--- a/arch/arm64/boot/dts/allwinner/sun55i-a527-cubie-a5e.dts ++++ b/arch/arm64/boot/dts/allwinner/sun55i-a527-cubie-a5e.dts +@@ -13,10 +13,11 @@ / { + compatible = "radxa,cubie-a5e", "allwinner,sun55i-a527"; + + aliases { + ethernet0 = &gmac0; + ethernet1 = &gmac1; ++ ethernet2 = &wifi; + serial0 = &uart0; + serial1 = &uart1; + }; + + chosen { +@@ -45,10 +46,25 @@ iio-hwmon { + compatible = "iio-hwmon"; + io-channels = <&axp717_adc 3>, /* vsys_v */ + <&axp717_adc 4>; /* pmic_temp */ + }; + ++ reg_3v3_wifi: 3v3-wifi { ++ compatible = "regulator-fixed"; ++ regulator-name = "3v3-wifi"; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ /* gpio = <&r_pio 0 7 GPIO_ACTIVE_HIGH>; */ ++ vin-supply = <®_vcc5v>; ++ }; ++ ++ wifi_pwrseq: wifi-pwrseq { ++ compatible = "mmc-pwrseq-simple"; ++ reset-gpios = <&r_pio 1 1 GPIO_ACTIVE_HIGH>; ++ post-power-on-delay-ms = <200>; ++ }; ++ + reg_vcc5v: vcc5v { + /* board wide 5V supply from the USB-C connector */ + compatible = "regulator-fixed"; + regulator-name = "vcc-5v"; + regulator-min-microvolt = <5000000>; +@@ -160,10 +176,27 @@ &mmc0 { + cd-gpios = <&pio 5 6 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* PF6 */ + bus-width = <4>; + status = "okay"; + }; + ++&mmc1 { ++ vmmc-supply = <®_3v3_wifi>; ++ mmc-pwrseq = <&wifi_pwrseq>; ++ bus-width = <4>; ++ non-removable; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&mmc1_pins>; ++ status = "okay"; ++ ++ wifi@1 { ++ reg = <1>; ++ interrupt-parent = <&r_pio>; ++ interrupts = <1 0 IRQ_TYPE_LEVEL_LOW>; ++ interrupt-names = "host-wake"; ++ }; ++}; ++ + &ohci0 { + status = "okay"; + }; + + &ohci1 { +-- +Created with Armbian build tools https://github.com/armbian/build + diff --git a/patch/kernel/archive/sunxi-7.0/series.conf b/patch/kernel/archive/sunxi-7.0/series.conf index 9b07fa168018..64b994853fc7 100644 --- a/patch/kernel/archive/sunxi-7.0/series.conf +++ b/patch/kernel/archive/sunxi-7.0/series.conf @@ -349,6 +349,7 @@ ################################################################################ patches.backports/21-Enable-uart1-on-Radxa-Cubie-A5E.patch + patches.backports/22-Enable-wifi-on-Radxa-Cubie-A5E.patch ################################################################################