From fe1ecf1fcbc00642b60f00f95640c17787cc9c62 Mon Sep 17 00:00:00 2001 From: Alex Henrie Date: Sun, 20 Feb 2022 18:21:38 -0700 Subject: [PATCH] ath79: add Zyxel EMG2926-Q10A The Zyxel EMG2926-Q10A is 99% the Zyxel NBG6716, but the bootloader expects a different product name when flashing over TFTP. Also, the EMG2926-Q10A always has 128 MiB of NAND flash whereas the NBG6716 reportedly can have either 128 MiB or 256 MiB. Signed-off-by: Alex Henrie --- .../base-files/etc/hotplug.d/ieee80211/00-wifi-migration | 1 + target/linux/ath79/dts/qca9558_zyxel_emg2926_q10a.dts | 8 ++++++++ target/linux/ath79/image/nand.mk | 7 +++++++ target/linux/ath79/nand/base-files/etc/board.d/02_network | 1 + .../base-files/etc/hotplug.d/firmware/11-ath10k-caldata | 1 + .../base-files/etc/hotplug.d/ieee80211/10-fix-wifi-mac | 1 + .../ath79/nand/base-files/lib/preinit/10_fix_eth_mac.sh | 1 + 7 files changed, 20 insertions(+) create mode 100644 target/linux/ath79/dts/qca9558_zyxel_emg2926_q10a.dts diff --git a/target/linux/ath79/base-files/etc/hotplug.d/ieee80211/00-wifi-migration b/target/linux/ath79/base-files/etc/hotplug.d/ieee80211/00-wifi-migration index d2df0533fe..35e7c4452c 100644 --- a/target/linux/ath79/base-files/etc/hotplug.d/ieee80211/00-wifi-migration +++ b/target/linux/ath79/base-files/etc/hotplug.d/ieee80211/00-wifi-migration @@ -16,6 +16,7 @@ migrate_wifi_path() { case "$board" in tplink,archer-c7-v1|\ tplink,archer-c7-v2|\ + zyxel,emg2926-q10a|\ zyxel,nbg6716) path="pci0000:00/0000:00:00.0" WIFI_PATH_CHANGED=1 diff --git a/target/linux/ath79/dts/qca9558_zyxel_emg2926_q10a.dts b/target/linux/ath79/dts/qca9558_zyxel_emg2926_q10a.dts new file mode 100644 index 0000000000..c00109a5b4 --- /dev/null +++ b/target/linux/ath79/dts/qca9558_zyxel_emg2926_q10a.dts @@ -0,0 +1,8 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "qca9558_zyxel_nbg6716.dts" + +/ { + compatible = "zyxel,emg2926-q10a", "zyxel,nbg6716", "qca,qca9558"; + model = "ZyXEL EMG2926-Q10A"; +}; diff --git a/target/linux/ath79/image/nand.mk b/target/linux/ath79/image/nand.mk index 2d7892db94..9f209368e4 100644 --- a/target/linux/ath79/image/nand.mk +++ b/target/linux/ath79/image/nand.mk @@ -344,3 +344,10 @@ define Device/zyxel_nbg6716 UBINIZE_OPTS := -E 5 endef TARGET_DEVICES += zyxel_nbg6716 + +define Device/zyxel_emg2926_q10a + $(Device/zyxel_nbg6716) + DEVICE_MODEL := EMG2926-Q10A + RAS_BOARD := AAVK-EMG2926Q10A +endef +TARGET_DEVICES += zyxel_emg2926_q10a diff --git a/target/linux/ath79/nand/base-files/etc/board.d/02_network b/target/linux/ath79/nand/base-files/etc/board.d/02_network index e26a5e4ddf..2c6e676ae9 100644 --- a/target/linux/ath79/nand/base-files/etc/board.d/02_network +++ b/target/linux/ath79/nand/base-files/etc/board.d/02_network @@ -49,6 +49,7 @@ ath79_setup_interfaces() ucidef_add_switch "switch0" \ "0@eth0" "1:lan:4" "2:lan:3" "3:lan:2" "5:lan:1" ;; + zyxel,emg2926-q10a|\ zyxel,nbg6716) ucidef_add_switch "switch0" \ "0@eth0" "1:lan" "2:lan" "3:lan" "4:lan" "5:wan" "6@eth1" diff --git a/target/linux/ath79/nand/base-files/etc/hotplug.d/firmware/11-ath10k-caldata b/target/linux/ath79/nand/base-files/etc/hotplug.d/firmware/11-ath10k-caldata index d47e296853..e5c26d6bb5 100644 --- a/target/linux/ath79/nand/base-files/etc/hotplug.d/firmware/11-ath10k-caldata +++ b/target/linux/ath79/nand/base-files/etc/hotplug.d/firmware/11-ath10k-caldata @@ -21,6 +21,7 @@ case "$FIRMWARE" in netgear,r6100) caldata_extract "caldata" 0x5000 0x844 ;; + zyxel,emg2926-q10a|\ zyxel,nbg6716) caldata_extract "art" 0x5000 0x844 ath10k_patch_mac $(macaddr_add $(mtd_get_mac_ascii u-boot-env ethaddr) 1) diff --git a/target/linux/ath79/nand/base-files/etc/hotplug.d/ieee80211/10-fix-wifi-mac b/target/linux/ath79/nand/base-files/etc/hotplug.d/ieee80211/10-fix-wifi-mac index 730a5f9943..20974248c1 100644 --- a/target/linux/ath79/nand/base-files/etc/hotplug.d/ieee80211/10-fix-wifi-mac +++ b/target/linux/ath79/nand/base-files/etc/hotplug.d/ieee80211/10-fix-wifi-mac @@ -15,6 +15,7 @@ case $board in [ "$PHYNBR" -eq 0 ] && \ macaddr_add $(mtd_get_mac_binary art 0x0) 2 > /sys${DEVPATH}/macaddress ;; + zyxel,emg2926-q10a|\ zyxel,nbg6716) # Set mac address for 2.4g device [ "$PHYNBR" -eq 1 ] && \ diff --git a/target/linux/ath79/nand/base-files/lib/preinit/10_fix_eth_mac.sh b/target/linux/ath79/nand/base-files/lib/preinit/10_fix_eth_mac.sh index fdd8381f56..4e501496be 100644 --- a/target/linux/ath79/nand/base-files/lib/preinit/10_fix_eth_mac.sh +++ b/target/linux/ath79/nand/base-files/lib/preinit/10_fix_eth_mac.sh @@ -3,6 +3,7 @@ preinit_set_mac_address() { case $(board_name) in + zyxel,emg2926-q10a|\ zyxel,nbg6716) ethaddr=$(mtd_get_mac_ascii u-boot-env ethaddr) ip link set dev eth0 address $(macaddr_add $ethaddr 2)