qualcommax: ipq50xx: add support for GL.iNET GL-B3000

Add support for GL.iNET (AX3000) B3000.

Speficiations:
* SoC: Qualcomm IPQ5018 (64-bit dual-core ARM Cortex-A53 @ 1.0Ghz)
* Memory: Winbond W634GU6NQB-11 (512 MiB DDR3-933)
* Serial Port: 3v3 TTL 115200n8
* Wi-Fi: IPQ5018 (2x2 2.4 Ghz 802.11b/g/n/ax)
* Wi-Fi: QCN6102 (2x2:2 5 Ghz 802.11an/ac/ax)
* Ethernet: IPQ5018 integrated virtual switch connected to an external
            QCA8337 switch (3 Ports 10/100/1000 GBASE-T)
* Flash: Winbond W25N01GWZEIG (128 MiB)
* LEDs: 1x single-color blue LED (GPIO 24 Active High)
        1x single-color white LED (GPIO 23 Active High)
* Buttons: 1x Reset (GPIO 27 Active Low)

Flash Instructions:

*** The .img files are now universal ! ***

Openwrt		--> openwrt-qualcommax-ipq50xx-glinet_gl-b3000-squashfs-factory.img

GL.iNet OEM	--> openwrt-b3000-4.5.18-0731-1722397535.img

Either file can be flashed, in any of the available upgrade options, in both Firmwares.

Pick a file .. pick a method .. and SEND IT !!

Signed-off-by: Scott Mercer <TheRootEd24@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17903
Signed-off-by: Robert Marko <robimarko@gmail.com>
This commit is contained in:
Scott Mercer
2025-03-22 12:46:18 -04:00
committed by Robert Marko
parent 963d320086
commit 3307fe8ee4
11 changed files with 636 additions and 9 deletions

View File

@@ -0,0 +1,47 @@
if test "x$verbose" = "x"; then
failedmsg=\'[failed]\'
else
failedmsg='######################################## Failed'
fi
if test -n $soc_hw_version; then
if test "$soc_hw_version" = "20180100" || test "$soc_hw_version" = "20180101" ; then
echo 'soc_hw_version : Validation success'
else
echo 'soc_hw_version : did not match, aborting upgrade'
exit 1
fi
else
echo 'soc_hw_version : unknown, skipping validation'
fi
if test "$machid" = "8040004" ; then
echo 'machid : Validation success'
else
echo 'machid : unknown, aborting upgrade'
exit 1
fi
if test "x$verbose" = "x"; then
echo \\c'Flashing ubi: '
setenv stdout nulldev
else
echo '######################################## Flashing ubi: Started'
fi
failreason='error: failed on image extraction'
imxtract $imgaddr ubi || setenv stdout serial && echo "$failedmsg" && echo "$failreason" && exit 1
failreason='error: failed on partition erase'
nand device 0 && nand erase 0x00800000 0x07800000 || setenv stdout serial && echo "$failedmsg" && echo "$failreason" && exit 1
failreason='error: failed on partition write'
nand write $fileaddr 0x00800000 rootfs_size || setenv stdout serial && echo "$failedmsg" && echo "$failreason" && exit 1
if test "x$verbose" = "x"; then
setenv stdout serial
echo '[ done ]'
setenv stdout nulldev
setenv stdout serial
else
echo '######################################## Flashing ubi: Done'
fi
exit 0

View File

@@ -1,3 +1,27 @@
DEVICE_VARS += BOOT_SCRIPT
define Device/glinet_gl-b3000
$(call Device/FitImage)
DEVICE_VENDOR := GL.iNet
DEVICE_MODEL := GL-B3000
SOC := ipq5018
KERNEL_LOADADDR := 0x41080000
KERNEL_IN_UBI := 1
BLOCKSIZE := 128k
PAGESIZE := 2048
NAND_SIZE := 128m
DEVICE_DTS_CONFIG := config@mp03.5-c1
SUPPORTED_DEVICES += b3000
BOOT_SCRIPT:= glinet_gl-b3000.bootscript
IMAGES := factory.img sysupgrade.bin
IMAGE/factory.img := append-ubi | gl-qsdk-factory | append-metadata
DEVICE_PACKAGES := \
ath11k-firmware-qcn6122 \
ipq-wifi-glinet_gl-b3000 \
dumpimage
endef
TARGET_DEVICES += glinet_gl-b3000
define Device/linksys_ipq50xx_mx_base
$(call Device/FitImageLzma)
DEVICE_VENDOR := Linksys