[PATCH v2] ath79: add Zyxel EMG2926-Q10A

Alex Henrie alexhenrie24 at gmail.com
Sun Feb 20 17:21:38 PST 2022


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 <alexhenrie24 at gmail.com>
---
v2: Avoid duplication in nand.mk
---
 .../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 at eth0" "1:lan:4" "2:lan:3" "3:lan:2" "5:lan:1"
 		;;
+	zyxel,emg2926-q10a|\
 	zyxel,nbg6716)
 		ucidef_add_switch "switch0" \
 			"0 at eth0" "1:lan" "2:lan" "3:lan" "4:lan" "5:wan" "6 at 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)
-- 
2.35.1




More information about the openwrt-devel mailing list