[openwrt/openwrt] realtek: ethernet/dsa: Reduce mach include dependency
LEDE Commits
lede-commits at lists.infradead.org
Mon Dec 29 02:11:34 PST 2025
robimarko pushed a commit to openwrt/openwrt.git, branch main:
https://git.openwrt.org/349040eeb5a6504e953eb94f7ab84379564fdfb5
commit 349040eeb5a6504e953eb94f7ab84379564fdfb5
Author: Markus Stockhausen <markus.stockhausen at gmx.de>
AuthorDate: Tue Dec 23 22:35:49 2025 +0100
realtek: ethernet/dsa: Reduce mach include dependency
The ethernet and dsa drivers still rely on several defines from
the central mach include. Move important defines over to the
driver specific includes as a first decoupling step.
Signed-off-by: Markus Stockhausen <markus.stockhausen at gmx.de>
Link: https://github.com/openwrt/openwrt/pull/21263
Signed-off-by: Robert Marko <robimarko at gmail.com>
---
.../mips/include/asm/mach-rtl838x/mach-rtl83xx.h | 70 ----------------------
.../files-6.12/drivers/net/dsa/rtl83xx/rtl838x.h | 52 ++++++++++++++++
.../files-6.12/drivers/net/ethernet/rtl838x_eth.h | 12 ++++
3 files changed, 64 insertions(+), 70 deletions(-)
diff --git a/target/linux/realtek/files-6.12/arch/mips/include/asm/mach-rtl838x/mach-rtl83xx.h b/target/linux/realtek/files-6.12/arch/mips/include/asm/mach-rtl838x/mach-rtl83xx.h
index 364b66b73a..0a98399591 100644
--- a/target/linux/realtek/files-6.12/arch/mips/include/asm/mach-rtl838x/mach-rtl83xx.h
+++ b/target/linux/realtek/files-6.12/arch/mips/include/asm/mach-rtl838x/mach-rtl83xx.h
@@ -26,78 +26,8 @@
#define RTL93XX_MODEL_NAME_INFO (0x0004)
#define RTL93XX_CHIP_INFO (0x0008)
-#define RTL838X_LED_GLB_CTRL (0xA000)
-#define RTL839X_LED_GLB_CTRL (0x00E4)
-#define RTL930X_LED_GLB_CTRL (0xCC00)
-#define RTL931X_LED_GLB_CTRL (0x0600)
-
#define RTL838X_INT_RW_CTRL (0x0058)
#define RTL838X_EXT_VERSION (0x00D0)
-#define RTL838X_PLL_CML_CTRL (0x0FF8)
-
-/*
- * Reset
- */
-#define RTL838X_RST_GLB_CTRL_0 (0x003c)
-#define RTL838X_RST_GLB_CTRL_1 (0x0040)
-#define RTL839X_RST_GLB_CTRL (0x0014)
-#define RTL930X_RST_GLB_CTRL_0 (0x000c)
-#define RTL931X_RST_GLB_CTRL (0x0400)
-
-/* LED control by switch */
-#define RTL838X_LED_MODE_SEL (0x1004)
-#define RTL838X_LED_MODE_CTRL (0xA004)
-#define RTL838X_LED_P_EN_CTRL (0xA008)
-
-/* LED control by software */
-#define RTL838X_LED_SW_CTRL (0xA00C)
-#define RTL839X_LED_SW_CTRL (0xA00C)
-#define RTL838X_LED_SW_P_EN_CTRL (0xA010)
-#define RTL839X_LED_SW_P_EN_CTRL (0x012C)
-#define RTL838X_LED0_SW_P_EN_CTRL (0xA010)
-#define RTL839X_LED0_SW_P_EN_CTRL (0x012C)
-#define RTL838X_LED1_SW_P_EN_CTRL (0xA014)
-#define RTL839X_LED1_SW_P_EN_CTRL (0x0130)
-#define RTL838X_LED2_SW_P_EN_CTRL (0xA018)
-#define RTL839X_LED2_SW_P_EN_CTRL (0x0134)
-#define RTL838X_LED_SW_P_CTRL (0xA01C)
-#define RTL838X_LED_SW_P_CTRL_PORT(p) (RTL838X_LED_SW_P_CTRL + (((p) << 2)))
-#define RTL839X_LED_SW_P_CTRL (0x0144)
-
-#define RTL839X_MAC_EFUSE_CTRL (0x02ac)
-
-/*
- * MDIO via Realtek's SMI interface
- */
-#define RTL838X_SMI_GLB_CTRL (0xa100)
-#define RTL838X_SMI_POLL_CTRL (0xa17c)
-
-#define RTL839X_SMI_GLB_CTRL (0x03f8)
-#define RTL839X_SMI_PORT_POLLING_CTRL (0x03fc)
-
-#define RTL930X_SMI_POLL_CTRL (0xca90)
-#define RTL931X_SMI_PORT_POLLING_CTRL (0x0CCC)
-
-/* Switch interrupts */
-#define RTL838X_IMR_GLB (0x1100)
-#define RTL838X_IMR_PORT_LINK_STS_CHG (0x1104)
-#define RTL838X_ISR_GLB_SRC (0x1148)
-#define RTL838X_ISR_PORT_LINK_STS_CHG (0x114C)
-
-#define RTL839X_IMR_GLB (0x0064)
-#define RTL839X_IMR_PORT_LINK_STS_CHG (0x0068)
-#define RTL839X_ISR_GLB_SRC (0x009c)
-#define RTL839X_ISR_PORT_LINK_STS_CHG (0x00a0)
-
-#define RTL930X_IMR_GLB (0xC628)
-#define RTL930X_IMR_PORT_LINK_STS_CHG (0xC62C)
-#define RTL930X_ISR_GLB (0xC658)
-#define RTL930X_ISR_PORT_LINK_STS_CHG (0xC660)
-
-/* IMR_GLB does not exit on RTL931X */
-#define RTL931X_IMR_PORT_LINK_STS_CHG (0x126C)
-#define RTL931X_ISR_GLB_SRC (0x12B4)
-#define RTL931X_ISR_PORT_LINK_STS_CHG (0x12B8)
/* Definition of family IDs */
#define RTL8380_FAMILY_ID (0x8380)
diff --git a/target/linux/realtek/files-6.12/drivers/net/dsa/rtl83xx/rtl838x.h b/target/linux/realtek/files-6.12/drivers/net/dsa/rtl83xx/rtl838x.h
index 95ccfba639..4d1283cd6a 100644
--- a/target/linux/realtek/files-6.12/drivers/net/dsa/rtl83xx/rtl838x.h
+++ b/target/linux/realtek/files-6.12/drivers/net/dsa/rtl83xx/rtl838x.h
@@ -417,6 +417,58 @@
#define RTL930X_INGRESS_FC_CTRL(port) (0x81CC + ((port / 29) * 4))
#define RTL930X_INGRESS_FC_CTRL_EN(port) BIT(port % 29)
+/* Switch interrupts */
+#define RTL838X_IMR_GLB (0x1100)
+#define RTL838X_IMR_PORT_LINK_STS_CHG (0x1104)
+#define RTL838X_ISR_GLB_SRC (0x1148)
+#define RTL838X_ISR_PORT_LINK_STS_CHG (0x114C)
+
+#define RTL839X_IMR_GLB (0x0064)
+#define RTL839X_IMR_PORT_LINK_STS_CHG (0x0068)
+#define RTL839X_ISR_GLB_SRC (0x009c)
+#define RTL839X_ISR_PORT_LINK_STS_CHG (0x00a0)
+
+#define RTL930X_IMR_GLB (0xC628)
+#define RTL930X_IMR_PORT_LINK_STS_CHG (0xC62C)
+#define RTL930X_ISR_GLB (0xC658)
+#define RTL930X_ISR_PORT_LINK_STS_CHG (0xC660)
+
+/* IMR_GLB does not exit on RTL931X */
+#define RTL931X_IMR_PORT_LINK_STS_CHG (0x126C)
+#define RTL931X_ISR_GLB_SRC (0x12B4)
+#define RTL931X_ISR_PORT_LINK_STS_CHG (0x12B8)
+
+/*
+ * MDIO via Realtek's SMI interface
+ */
+#define RTL838X_SMI_GLB_CTRL (0xa100)
+#define RTL838X_SMI_POLL_CTRL (0xa17c)
+
+#define RTL839X_SMI_GLB_CTRL (0x03f8)
+#define RTL839X_SMI_PORT_POLLING_CTRL (0x03fc)
+
+#define RTL930X_SMI_POLL_CTRL (0xca90)
+#define RTL931X_SMI_PORT_POLLING_CTRL (0x0CCC)
+
+#define RTL838X_LED_GLB_CTRL (0xA000)
+#define RTL839X_LED_GLB_CTRL (0x00E4)
+#define RTL930X_LED_GLB_CTRL (0xCC00)
+#define RTL931X_LED_GLB_CTRL (0x0600)
+
+/* LED control by switch */
+#define RTL838X_LED_MODE_SEL (0x1004)
+#define RTL838X_LED_MODE_CTRL (0xA004)
+#define RTL838X_LED_P_EN_CTRL (0xA008)
+
+/* LED control by software */
+#define RTL838X_LED_SW_CTRL (0xA00C)
+#define RTL838X_LED0_SW_P_EN_CTRL (0xA010)
+#define RTL838X_LED1_SW_P_EN_CTRL (0xA014)
+#define RTL838X_LED2_SW_P_EN_CTRL (0xA018)
+#define RTL838X_LED_SW_P_CTRL (0xA01C)
+#define RTL838X_LED_SW_P_CTRL_PORT(p) (RTL838X_LED_SW_P_CTRL + (((p) << 2)))
+
+
/* special port action controls */
/* values:
* 0 = FORWARD (default)
diff --git a/target/linux/realtek/files-6.12/drivers/net/ethernet/rtl838x_eth.h b/target/linux/realtek/files-6.12/drivers/net/ethernet/rtl838x_eth.h
index 835bd742b4..eceb6960b6 100644
--- a/target/linux/realtek/files-6.12/drivers/net/ethernet/rtl838x_eth.h
+++ b/target/linux/realtek/files-6.12/drivers/net/ethernet/rtl838x_eth.h
@@ -5,6 +5,18 @@
/* Register definition */
+/*
+ * Reset
+ */
+#define RTL838X_RST_GLB_CTRL_0 (0x003c)
+#define RTL839X_RST_GLB_CTRL (0x0014)
+#define RTL930X_RST_GLB_CTRL_0 (0x000c)
+#define RTL931X_RST_GLB_CTRL (0x0400)
+
+/* Switch interrupts */
+#define RTL839X_IMR_PORT_LINK_STS_CHG (0x0068)
+#define RTL839X_ISR_PORT_LINK_STS_CHG (0x00a0)
+
/* Per port MAC control */
#define RTL838X_MAC_PORT_CTRL (0xd560)
#define RTL839X_MAC_PORT_CTRL (0x8004)
More information about the lede-commits
mailing list