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>
This commit is contained in:
Sander Vanheule 2025-01-22 12:25:18 +01:00
parent efffcfa436
commit 7322d3266d
4 changed files with 30 additions and 8 deletions

View File

@ -13,7 +13,8 @@ case "$(board_name)" in
hpe,1920-24g-poe-370w) hpe,1920-24g-poe-370w)
ucidef_set_compat_version "1.1" ucidef_set_compat_version "1.1"
;; ;;
zyxel,gs1900-8 | \ zyxel,gs1900-8-v1 | \
zyxel,gs1900-8-v2 | \
zyxel,gs1900-8hp-v1 | \ zyxel,gs1900-8hp-v1 | \
zyxel,gs1900-8hp-v2 | \ zyxel,gs1900-8hp-v2 | \
zyxel,gs1900-10hp | \ zyxel,gs1900-10hp | \

View File

@ -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;
};

View File

@ -4,8 +4,8 @@
#include "rtl8380_zyxel_gs1900_gpio.dtsi" #include "rtl8380_zyxel_gs1900_gpio.dtsi"
/ { / {
compatible = "zyxel,gs1900-8", "realtek,rtl838x-soc"; compatible = "zyxel,gs1900-8-v2", "realtek,rtl838x-soc";
model = "Zyxel GS1900-8v1/v2 Switch"; model = "Zyxel GS1900-8 v2 Switch";
}; };
&gpio1 { &gpio1 {

View File

@ -360,17 +360,25 @@ define Device/zyxel_gs1900-16
endef endef
TARGET_DEVICES += zyxel_gs1900-16 TARGET_DEVICES += zyxel_gs1900-16
define Device/zyxel_gs1900-8 define Device/zyxel_gs1900-8-v1
$(Device/zyxel_gs1900) $(Device/zyxel_gs1900)
SOC := rtl8380 SOC := rtl8380
DEVICE_MODEL := GS1900-8 DEVICE_MODEL := GS1900-8
DEVICE_VARIANT := v1 DEVICE_VARIANT := v1
DEVICE_ALT0_VENDOR := Zyxel
DEVICE_ALT0_MODEL := GS1900-8
DEVICE_ALT0_VARIANT := v2
ZYXEL_VERS := AAHH ZYXEL_VERS := AAHH
SUPPORTED_DEVICES += zyxel,gs1900-8
endef 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 define Device/zyxel_gs1900-8hp-v1
$(Device/zyxel_gs1900) $(Device/zyxel_gs1900)