mediatek: filogic: add build for ASUS ZenWiFi BT8 with OpenWrt's U-Boot
Some checks are pending
Build Kernel / Build all affected Kernels (push) Waiting to run
Build all core packages / Build all core packages for selected target (push) Waiting to run

Add 'ubootmod' variant for the ASUS ZenWiFi BT8.
An out-of-tree installer will be provided in Github to allow users an easy
transition from the stock loader to OpenWrt's bootchain which is built from
source.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
This commit is contained in:
Daniel Golle 2025-03-13 22:22:39 +00:00
parent 52bea8702c
commit 8b27e60c58
4 changed files with 127 additions and 0 deletions

View File

@ -0,0 +1,100 @@
// SPDX-License-Identifier: (GPL-2.0 OR MIT)
#include "mt7988d-asus-zenwifi-bt8.dtsi"
/ {
model = "ASUS ZenWiFi BT8 (U-Boot mod)";
compatible = "asus,zenwifi-bt8-ubootmod", "mediatek,mt7988a";
chosen {
rootdisk = <&ubi_fit_volume>;
stdout-path = "serial0:115200n8";
};
};
&spi0 {
pinctrl-names = "default";
pinctrl-0 = <&spi0_flash_pins>;
status = "okay";
spi_nand: spi_nand@0 {
compatible = "spi-nand";
reg = <0>;
spi-max-frequency = <52000000>;
spi-tx-buswidth = <4>;
spi-rx-buswidth = <4>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
reg = <0x0 0x200000>;
label = "bl2";
read-only;
};
partition@200000 {
reg = <0x200000 0x7e00000>;
compatible = "linux,ubi";
label = "UBI_DEV";
volumes {
ubi_factory: ubi-volume-factory {
volname = "factory";
};
ubi_fit_volume: ubi-volume-fit {
volname = "fit";
};
};
};
};
};
};
&ubi_factory {
ASUS_BT8_NVMEM_LAYOUT;
};
&gmac0 {
nvmem-cells = <&macaddr_factory_4>;
nvmem-cell-names = "mac-address";
};
&gmac1 {
nvmem-cells = <&macaddr_factory_a>;
nvmem-cell-names = "mac-address";
};
&gmac2 {
nvmem-cells = <&macaddr_factory_4>;
nvmem-cell-names = "mac-address";
};
&mt7996_wifi {
nvmem-cells = <&eeprom_factory_0>;
nvmem-cell-names = "eeprom";
band@0 {
/* 2.4 GHz */
reg = <0>;
nvmem-cells = <&macaddr_factory_fffee>;
nvmem-cell-names = "mac-address";
};
band@1 {
/* 5 GHz */
reg = <1>;
nvmem-cells = <&macaddr_factory_ffff4>;
nvmem-cell-names = "mac-address";
};
band@2 {
/* 6 GHz */
reg = <2>;
nvmem-cells = <&macaddr_factory_ffffa>;
nvmem-cell-names = "mac-address";
};
};

View File

@ -30,6 +30,7 @@ mediatek_setup_interfaces()
;;
asus,rt-ax59u|\
asus,zenwifi-bt8|\
asus,zenwifi-bt8-ubootmod|\
cetron,ct3003|\
cmcc,a10-stock|\
cmcc,a10-ubootmod|\

View File

@ -67,6 +67,7 @@ platform_do_upgrade() {
case "$board" in
abt,asr3000|\
asus,zenwifi-bt8-ubootmod|\
bananapi,bpi-r3|\
bananapi,bpi-r3-mini|\
bananapi,bpi-r4|\
@ -191,6 +192,7 @@ platform_check_image() {
[ "$#" -gt 1 ] && return 1
case "$board" in
asus,zenwifi-bt8-ubootmod|\
bananapi,bpi-r3|\
bananapi,bpi-r3-mini|\
bananapi,bpi-r4|\

View File

@ -313,6 +313,30 @@ endif
endef
TARGET_DEVICES += asus_zenwifi-bt8
define Device/asus_zenwifi-bt8-ubootmod
DEVICE_VENDOR := ASUS
DEVICE_MODEL := ZenWiFi BT8
DEVICE_VARIANT := U-Boot mod
DEVICE_DTS := mt7988d-asus-zenwifi-bt8-ubootmod
DEVICE_DTS_DIR := ../dts
DEVICE_DTS_LOADADDR := 0x45f00000
DEVICE_PACKAGES := kmod-usb3 mt7988-2p5g-phy-firmware kmod-mt7996-firmware mt7988-wo-firmware
ARTIFACTS := preloader.bin bl31-uboot.fip
ARTIFACT/preloader.bin := mt7988-bl2 spim-nand-ubi-ddr4
ARTIFACT/bl31-uboot.fip := mt7988-bl31-uboot asus_zenwifi-bt8
KERNEL := kernel-bin | gzip
KERNEL_INITRAMFS := kernel-bin | lzma | \
fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 64k
KERNEL_INITRAMFS_SUFFIX := -recovery.itb
KERNEL_LOADADDR := 0x46000000
KERNEL_IN_UBI := 1
UBOOTENV_IN_UBI := 1
IMAGES := sysupgrade.itb
IMAGE/sysupgrade.itb := append-kernel | fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-with-rootfs | pad-rootfs | append-metadata
endef
TARGET_DEVICES += asus_zenwifi-bt8-ubootmod
define Device/bananapi_bpi-r3
DEVICE_VENDOR := Bananapi
DEVICE_MODEL := BPi-R3