summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSander Vanheule2025-01-22 11:25:18 +0000
committerSander Vanheule2025-01-25 14:07:13 +0000
commit7322d3266d84ec4062046254792d78ebca3ea26d (patch)
treec5510de10fdd9305185356731a604dc35fffe2ce
parentefffcfa43693b68028a4aed4dea151b82158cc52 (diff)
downloadopenwrt-7322d3266d84ec4062046254792d78ebca3ea26d.tar.gz
realtek: Split Zyxel GS1900-8 into v1 and v2
Zyxel GS1900-8 v2 devices have been produced more recently than v1 devices. As there are v1 boards with RTL8380M rev. C SoCs, it can likely safely be assumed that all v2 devices will also have a recent SoC revision, supporting the hardware auxiliary MDIO controller. Make the GS1900-8 v1 use an emulated auxiliary MDIO bus, for backward compatibility with devices containing an RTL8380M rev. A. Since the devicetrees are otherwise identical, GS1900-8 v1 devices with an RTL8380M rev. B or C will also be able to use the (more efficient) v2 image. This includes any currently functioning device with OpenWrt, so include the old compatible as a supported device for the GS1900-8 v2. Link: https://github.com/openwrt/openwrt/issues/9534 Signed-off-by: Sander Vanheule <sander@svanheule.net>
-rw-r--r--target/linux/realtek/base-files/etc/board.d/05_compat-version3
-rw-r--r--target/linux/realtek/dts/rtl8380_zyxel_gs1900-8-v1.dts13
-rw-r--r--target/linux/realtek/dts/rtl8380_zyxel_gs1900-8-v2.dts (renamed from target/linux/realtek/dts/rtl8380_zyxel_gs1900-8.dts)4
-rw-r--r--target/linux/realtek/image/rtl838x.mk18
4 files changed, 30 insertions, 8 deletions
diff --git a/target/linux/realtek/base-files/etc/board.d/05_compat-version b/target/linux/realtek/base-files/etc/board.d/05_compat-version
index 9c27314b24..52dbdc627e 100644
--- a/target/linux/realtek/base-files/etc/board.d/05_compat-version
+++ b/target/linux/realtek/base-files/etc/board.d/05_compat-version
@@ -13,7 +13,8 @@ case "$(board_name)" in
hpe,1920-24g-poe-370w)
ucidef_set_compat_version "1.1"
;;
- zyxel,gs1900-8 | \
+ zyxel,gs1900-8-v1 | \
+ zyxel,gs1900-8-v2 | \
zyxel,gs1900-8hp-v1 | \
zyxel,gs1900-8hp-v2 | \
zyxel,gs1900-10hp | \
diff --git a/target/linux/realtek/dts/rtl8380_zyxel_gs1900-8-v1.dts b/target/linux/realtek/dts/rtl8380_zyxel_gs1900-8-v1.dts
new file mode 100644
index 0000000000..9838c023da
--- /dev/null
+++ b/target/linux/realtek/dts/rtl8380_zyxel_gs1900-8-v1.dts
@@ -0,0 +1,13 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "rtl8380_zyxel_gs1900.dtsi"
+#include "rtl8380_zyxel_gs1900_gpio_emulated.dtsi"
+
+/ {
+ compatible = "zyxel,gs1900-8-v1", "realtek,rtl838x-soc";
+ model = "Zyxel GS1900-8 v1 Switch";
+};
+
+&gpio1 {
+ /delete-node/ poe_enable;
+};
diff --git a/target/linux/realtek/dts/rtl8380_zyxel_gs1900-8.dts b/target/linux/realtek/dts/rtl8380_zyxel_gs1900-8-v2.dts
index 1d76f55d6a..84f87ea037 100644
--- a/target/linux/realtek/dts/rtl8380_zyxel_gs1900-8.dts
+++ b/target/linux/realtek/dts/rtl8380_zyxel_gs1900-8-v2.dts
@@ -4,8 +4,8 @@
#include "rtl8380_zyxel_gs1900_gpio.dtsi"
/ {
- compatible = "zyxel,gs1900-8", "realtek,rtl838x-soc";
- model = "Zyxel GS1900-8v1/v2 Switch";
+ compatible = "zyxel,gs1900-8-v2", "realtek,rtl838x-soc";
+ model = "Zyxel GS1900-8 v2 Switch";
};
&gpio1 {
diff --git a/target/linux/realtek/image/rtl838x.mk b/target/linux/realtek/image/rtl838x.mk
index 0d6acd483a..3763418233 100644
--- a/target/linux/realtek/image/rtl838x.mk
+++ b/target/linux/realtek/image/rtl838x.mk
@@ -360,17 +360,25 @@ define Device/zyxel_gs1900-16
endef
TARGET_DEVICES += zyxel_gs1900-16
-define Device/zyxel_gs1900-8
+define Device/zyxel_gs1900-8-v1
$(Device/zyxel_gs1900)
SOC := rtl8380
DEVICE_MODEL := GS1900-8
DEVICE_VARIANT := v1
- DEVICE_ALT0_VENDOR := Zyxel
- DEVICE_ALT0_MODEL := GS1900-8
- DEVICE_ALT0_VARIANT := v2
ZYXEL_VERS := AAHH
+ SUPPORTED_DEVICES += zyxel,gs1900-8
endef
-TARGET_DEVICES += zyxel_gs1900-8
+TARGET_DEVICES += zyxel_gs1900-8-v1
+
+define Device/zyxel_gs1900-8-v2
+ $(Device/zyxel_gs1900)
+ SOC := rtl8380
+ DEVICE_MODEL := GS1900-8
+ DEVICE_VARIANT := v2
+ ZYXEL_VERS := AAHH
+ SUPPORTED_DEVICES += zyxel,gs1900-8
+endef
+TARGET_DEVICES += zyxel_gs1900-8-v2
define Device/zyxel_gs1900-8hp-v1
$(Device/zyxel_gs1900)