A new version of the ZyXEL XGS1210-12 has been discovered in
the wild. It includes at least two known hardware changes
- lan9/lan10 use RTL8221B instead of RTL8226
- lan9/lan10 use different SMI busses
Pave the new device the way by splitting the existing DTS.
According to the vendor website the models are named
- A1 (first version): not explicetly labeled
- B1 (second version): Label Rev. B1 on device
Rename the current OpenWrt device definition to A1 as it was
made for the first version. To stay compatible with older
installations, add the old device name to the list of
supported devices.
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/19908
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
--- /dev/null
+// SPDX-License-Identifier: GPL-2.0-or-later
+/dts-v1/;
+
+#include "rtl9302_zyxel_xgs1210-12-common.dtsi"
+
+/ {
+ compatible = "zyxel,xgs1210-12-a1", "realtek,rtl838x-soc";
+ model = "Zyxel XGS1210-12 A1 Switch";
+};
+
+&mdio {
+ phy24: ethernet-phy@24 {
+ reg = <24>;
+ compatible = "ethernet-phy-ieee802.3-c45";
+ rtl9300,smi-address = <1 8>;
+ sds = < 6 >;
+ // Disabled because we do not know how to bring up again
+ // reset-gpios = <&gpio0 21 GPIO_ACTIVE_LOW>;
+ };
+
+ phy25: ethernet-phy@25 {
+ reg = <25>;
+ compatible = "ethernet-phy-ieee802.3-c45";
+ rtl9300,smi-address = <2 9>;
+ sds = < 7 >;
+ // Disabled because we do not know how to bring up again
+ // reset-gpios = <&gpio0 21 GPIO_ACTIVE_LOW>;
+ };
+};
+
+&switch0 {
+ ports {
+ port@24 {
+ reg = <24>;
+ label = "lan9";
+ phy-mode = "2500base-x";
+ phy-handle = <&phy24>;
+ led-set = <1>;
+ };
+ port@25 {
+ reg = <25>;
+ label = "lan10";
+ phy-mode = "2500base-x";
+ phy-handle = <&phy25>;
+ led-set = <1>;
+ };
+ };
+};
#include <dt-bindings/thermal/thermal.h>
/ {
- compatible = "zyxel,xgs1210-12", "realtek,rtl838x-soc";
- model = "Zyxel XGS1210-12 Switch";
-
aliases {
led-boot = &led_pwr_sys;
led-failsafe = &led_pwr_sys;
rtl9300,smi-address = <0 7>;
};
- /* External RTL8226 PHYs */
- phy24: ethernet-phy@24 {
- reg = <24>;
- compatible = "ethernet-phy-ieee802.3-c45";
- rtl9300,smi-address = <1 8>;
- sds = < 6 >;
- // Disabled because we do not know how to bring up again
- // reset-gpios = <&gpio0 21 GPIO_ACTIVE_LOW>;
- };
-
- phy25: ethernet-phy@25 {
- reg = <25>;
- compatible = "ethernet-phy-ieee802.3-c45";
- rtl9300,smi-address = <2 9>;
- sds = < 7 >;
- // Disabled because we do not know how to bring up again
- // reset-gpios = <&gpio0 21 GPIO_ACTIVE_LOW>;
- };
-
INTERNAL_PHY_SDS(26, 8)
INTERNAL_PHY_SDS(27, 9)
};
led-set = <0>;
};
- port@24 {
- reg = <24>;
- label = "lan9";
- phy-mode = "2500base-x";
- phy-handle = <&phy24>;
- led-set = <1>;
- };
- port@25 {
- reg = <25>;
- label = "lan10";
- phy-mode = "2500base-x";
- phy-handle = <&phy25>;
- led-set = <1>;
- };
-
port@26 {
reg = <26>;
label = "lan11";
endef
TARGET_DEVICES += xikestor_sks8310-8x
-define Device/zyxel_xgs1210-12
+define Device/zyxel_xgs1210-12-a1
SOC := rtl9302
+ SUPPORTED_DEVICES += zyxel,xgs1210-12
UIMAGE_MAGIC := 0x93001210
ZYXEL_VERS := ABTY
DEVICE_VENDOR := Zyxel
DEVICE_MODEL := XGS1210-12
+ DEVICE_VARIANT := A1
IMAGE_SIZE := 13312k
KERNEL_INITRAMFS := \
kernel-bin | \
zyxel-vers | \
uImage gzip
endef
-TARGET_DEVICES += zyxel_xgs1210-12
+TARGET_DEVICES += zyxel_xgs1210-12-a1
define Device/zyxel_xgs1250-12
SOC := rtl9302