mirror of
https://git.openwrt.org/openwrt/openwrt.git
synced 2024-11-25 14:36:14 +00:00
945a335f66
Although Zyxel XGS1210 devices are not yet officially supported there are several patches floating around to enable them. This is a very imporant one because it fixes a SMI misconfiguration. In the known DTS the SFP+ port settings are set as follows. phy26: ethernet-phy@26 { compatible = "ethernet-phy-ieee802.3-c45"; phy-is-integrated; reg = <26>; sds = < 8 >; }; phy27: ethernet-phy@27 { compatible = "ethernet-phy-ieee802.3-c45"; phy-is-integrated; reg = <27>; sds = < 9 >; }; So these are PHYs linked to an internal SerDes. During initialization rtl838x_mdio_init() generates smi_bus=0 & smi_addr=27/28 for these ports. Although this seems like a valid configuration integrated PHYs attached to an SerDes do not have an SMI bus. Later on the mdio reset wrongly feeds the SMI registers and as a result the PHYs on SMI bus 0 do not work. Without patch (loaded with rtk network on & initramfs): ... mdio_bus mdio-bus: MDIO device at address 0 is missing. mdio_bus mdio-bus: MDIO device at address 1 is missing. mdio_bus mdio-bus: MDIO device at address 2 is missing. mdio_bus mdio-bus: MDIO device at address 3 is missing. mdio_bus mdio-bus: MDIO device at address 4 is missing. mdio_bus mdio-bus: MDIO device at address 5 is missing. mdio_bus mdio-bus: MDIO device at address 6 is missing. mdio_bus mdio-bus: MDIO device at address 7 is missing. ... rtl83xx-switch ... : no phy at 0 rtl83xx-switch ... : failed to connect to PHY: -ENODEV rtl83xx-switch ... : error -19 setting up PHY for tree 0, switch 0, port 0 rtl83xx-switch ... : no phy at 1 rtl83xx-switch ... : failed to connect to PHY: -ENODEV rtl83xx-switch ... : error -19 setting up PHY for tree 0, switch 0, port 1 ... With patch (loaded with rtk network on & initramfs): ... rtl83xx-switch ... : PHY [mdio-bus:00] driver [REALTEK RTL8218D] (irq=POLL) rtl83xx-switch ... : PHY [mdio-bus:01] driver [REALTEK RTL8218D] (irq=POLL) ... Signed-off-by: Birger Koblitz <git@birger-koblitz.de> Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de> Link: https://github.com/openwrt/openwrt/pull/16457 Signed-off-by: Robert Marko <robimarko@gmail.com> |
||
---|---|---|
.. | ||
rtl838x_eth.c | ||
rtl838x_eth.h |