[PATCH] econet: add EN751627 subtarget and ZyXEL EX3301-T0 support

kpursoty at proton.me kpursoty at proton.me
Wed Apr 15 12:48:25 PDT 2026


This adds support for the ZyXEL EX3301-T0, a DSL+WiFi gateway based on
the EcoNet EN751627 (big-endian dual-core, 2-VPE-per-core MIPS 1004Kc SoC).
The device has two MT7915/MT7916 PCIe WiFi cards, a QDMA Ethernet
controller, NAND flash, and boots via the EcoNet ZHAL bootloader using
TRX images.

New files:
  target/linux/econet/dts/en751627.dtsi
  target/linux/econet/dts/en751627_zyxel_ex3301-t0.dts
  target/linux/econet/en751627/config-6.12
  target/linux/econet/en751627/target.mk           (CPU_TYPE=1004kc -> -mips32r2)
  target/linux/econet/image/en751627.mk
  target/linux/econet/files/drivers/net/ethernet/econet/   (EcoNet SoC Ethernet driver)
  target/linux/generic/files/drivers/mtd/mtdsplit/mtdsplit_tclinux.c

Modified upstream files:
  target/linux/econet/Makefile                  (register en751627 subtarget)
  target/linux/econet/image/Makefile            (tclinux-trx build integration)
  target/linux/econet/image/tclinux-trx.sh      (JAMCRC header writer)
  target/linux/generic/files/drivers/mtd/mtdsplit/Kconfig
  target/linux/generic/files/drivers/mtd/mtdsplit/Makefile
  include/target.mk                             (CPU_CFLAGS_1004kc = -mips32r2 -mtune=1004kc)

Patches carried until upstream kernel merges land:
  018: dt-bindings: clock: airoha: update EN7523 binding for reset (v6.19-rc1 backport)
  020: dt-bindings: clock: airoha: add reset support to EN7523 clock (v6.19-rc1 backport)
  102: mips: econet: add EN751627 SoC Kconfig entry
  104: clocksource: fix timer block mapping at boot (submitted upstream)
  104b: clocksource: fix IRQ ack storm on interrupt handler (submitted upstream)
  310: mips: econet: enable subsystem drivers (|| ECONET in Kconfigs + DMA_NONCOHERENT)
  888: serial: base: console TX guard (submitted upstream)
  930: net: econet: add EcoNet SoC Ethernet driver

Upstream kernel patches 104 and 104b were sent to linux-kernel on
2026-04-15 and have received Reviewed-by / Tested-by from Caleb James
DeLisle. Patch 888 was sent to linux-serial on the same date.

A note on CPU_TYPE: the EN751627 is a MIPS 1004Kc. CPU_TYPE must be set to
1004kc (not 24kc) to get -mips32r2 -mtune=1004kc compiler flags. Without
this, userspace is compiled as MIPS I baseline and every binary causes
SIGILL on boot. The companion patch to include/target.mk adds the missing
CPU_CFLAGS_1004kc entry (consistent with the existing 4kec, 24kc, 74kc
entries) and is included in this series.

Build verified on vanilla upstream openwrt/openwrt main (368f49ff85):
  TRX VERDICT: PASS. Device booted to SSH, 4 CPUs online, LAN1-4 up,
  PCIe WiFi enumerated, UBIFS overlay mounted.

Branch: econet/zyxel-ex3301-t0-pr (198thread/openwrt.git)

Signed-off-by: Kervin Pursoty <kpursoty at proton.me>




More information about the openwrt-devel mailing list