Use the new INTERNAL_PHY_SDS() helper to describe the SFP ports. With this change the driver now knows that ports 24/26 are driven by serdes 4/5. For the RTL838x devices this is currently only an additional information for the mdio bus. It is not evaluated further because everything is hardcoded. Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de> Link: https://github.com/openwrt/openwrt/pull/18851 Signed-off-by: Robert Marko <robimarko@gmail.com>
93 lines
2 KiB
Text
93 lines
2 KiB
Text
// SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
#include "rtl8380_zyxel_gs1900.dtsi"
|
|
#include "rtl8380_zyxel_gs1900_gpio.dtsi"
|
|
|
|
/ {
|
|
compatible = "zyxel,gs1900-10hp", "realtek,rtl838x-soc";
|
|
model = "Zyxel GS1900-10HP Switch";
|
|
|
|
/* i2c of the left SFP cage: port 9 */
|
|
i2c0: i2c-gpio-0 {
|
|
compatible = "i2c-gpio";
|
|
sda-gpios = <&gpio1 24 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
|
scl-gpios = <&gpio1 25 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
|
i2c-gpio,delay-us = <2>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
};
|
|
|
|
sfp0: sfp-p9 {
|
|
compatible = "sff,sfp";
|
|
i2c-bus = <&i2c0>;
|
|
los-gpio = <&gpio1 27 GPIO_ACTIVE_HIGH>;
|
|
tx-fault-gpio = <&gpio1 22 GPIO_ACTIVE_HIGH>;
|
|
mod-def0-gpio = <&gpio1 26 GPIO_ACTIVE_LOW>;
|
|
tx-disable-gpio = <&gpio1 23 GPIO_ACTIVE_HIGH>;
|
|
#thermal-sensor-cells = <0>;
|
|
};
|
|
|
|
/* i2c of the right SFP cage: port 10 */
|
|
i2c1: i2c-gpio-1 {
|
|
compatible = "i2c-gpio";
|
|
sda-gpios = <&gpio1 30 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
|
scl-gpios = <&gpio1 31 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
|
i2c-gpio,delay-us = <2>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
};
|
|
|
|
sfp1: sfp-p10 {
|
|
compatible = "sff,sfp";
|
|
i2c-bus = <&i2c1>;
|
|
los-gpio = <&gpio1 33 GPIO_ACTIVE_HIGH>;
|
|
tx-fault-gpio = <&gpio1 28 GPIO_ACTIVE_HIGH>;
|
|
mod-def0-gpio = <&gpio1 32 GPIO_ACTIVE_LOW>;
|
|
tx-disable-gpio = <&gpio1 29 GPIO_ACTIVE_HIGH>;
|
|
#thermal-sensor-cells = <0>;
|
|
};
|
|
};
|
|
|
|
&uart1 {
|
|
status = "okay";
|
|
};
|
|
|
|
&mdio {
|
|
INTERNAL_PHY_SDS(24, 4)
|
|
INTERNAL_PHY_SDS(26, 5)
|
|
};
|
|
|
|
&switch0 {
|
|
ports {
|
|
port@24 {
|
|
reg = <24>;
|
|
label = "lan9";
|
|
phy-mode = "1000base-x";
|
|
managed = "in-band-status";
|
|
sfp = <&sfp0>;
|
|
};
|
|
|
|
port@26 {
|
|
reg = <26>;
|
|
label = "lan10";
|
|
phy-mode = "1000base-x";
|
|
managed = "in-band-status";
|
|
sfp = <&sfp1>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&thermal_zones {
|
|
sfp-thermal {
|
|
polling-delay-passive = <10000>;
|
|
polling-delay = <10000>;
|
|
thermal-sensors = <&sfp0>, <&sfp1>;
|
|
trips {
|
|
sfp-crit {
|
|
temperature = <110000>;
|
|
hysteresis = <1000>;
|
|
type = "critical";
|
|
};
|
|
};
|
|
};
|
|
};
|