[PATCH] mips: econet: add EN751627 SoC Kconfig entry

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


The EN751627 family (EN7516 DSL, EN7527 xPON) is a big-endian dual-core
MIPS 1004Kc SoC (2 VPEs per core, NR_CPUS=4) used in DSL/WiFi gateway
devices such as the ZyXEL EX3301-T0. It shares the MIPS GIC interrupt
controller with EN7528 but is big-endian.

Key differences from existing SoCs:
- EN751221: BE, single-core 34Kc, custom INTC
- EN7528:   LE, dual-core 1004Kc, MIPS GIC
- EN751627: BE, dual-core 2-VPE 1004Kc, MIPS GIC

The SMP plumbing (CM/CPC probe + CPS SMP ops) is shared with EN7528 and
lives in patch 100 (device_tree_init). This patch adds only the Kconfig
entry.

Note: on EN751627, mips_cpc_probe() must be called before
register_cps_smp_ops(). Without it, core 1 never comes online because
write_gcr_co_reset_release(0) is insufficient on this SoC. This is
different from EN7528 where CPC probe behaves identically. Both SoCs
are covered by the shared #if in device_tree_init().

Signed-off-by: Kervin Pursoty <kpursoty at proton.me>
---
 arch/mips/econet/Kconfig | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/arch/mips/econet/Kconfig b/arch/mips/econet/Kconfig
--- a/arch/mips/econet/Kconfig
+++ b/arch/mips/econet/Kconfig
@@ -41,3 +41,28 @@ choice
 		  The EN7528 family with dual-core MIPS 1004Kc.
 		  Requires MIPS_RAW_APPENDED_DTB=y for boot.
+
+	config SOC_ECONET_EN751627
+		bool "EN751627 family"
+		select COMMON_CLK
+		select CPU_BIG_ENDIAN
+		select HAVE_PCI
+		select IRQ_MIPS_CPU
+		select MIPS_CM
+		select MIPS_CPC
+		select MIPS_CPS
+		select MIPS_CPU_SCACHE
+		select MIPS_GIC
+		select MIPS_MT_SMP
+		select PCI_DRIVERS_GENERIC
+		select SMP
+		select SMP_UP
+		select SYS_SUPPORTS_HIGHMEM
+		select SYS_SUPPORTS_MIPS_CPS
+		select SYS_SUPPORTS_MULTITHREADING
+		select SYS_SUPPORTS_SMP
+		help
+		  The EN751627 family (EN7516 DSL, EN7527 xPON) with big-endian
+		  dual-core, 2-VPE-per-core MIPS 1004Kc and MIPS GIC. Used in
+		  DSL+WiFi gateways. Requires MIPS_RAW_APPENDED_DTB=y for boot.
 endchoice




More information about the openwrt-devel mailing list