On Mon, Jun 22, 2020 at 01:54:42AM +0300, Ioana Ciornei wrote: > Add support for the Lynx PCS as a separate module in drivers/net/phy/. > The advantage of this structure is that multiple ethernet or switch > drivers used on NXP hardware (ENETC, Felix DSA switch etc) can share the > same implementation of PCS configuration and runtime management. > > The PCS is represented as an mdio_device and the callbacks exported are > highly tied with PHYLINK and can't be used without it. > > The first 3 patches add some missing pieces in PHYLINK and the locked > mdiobus write accessor. Next, the Lynx PCS MDIO module is added as a > standalone module. The majority of the code is extracted from the Felix > DSA driver. The last patch makes the necessary changes in the Felix > driver in order to use the new common PCS implementation. > > At the moment, USXGMII (only with in-band AN and speeds up to 2500), > SGMII, QSGMII (with and without in-band AN) and 2500Base-X (only w/o > in-band AN) are supported by the Lynx PCS MDIO module since these were > also supported by Felix and no functional change is intended at this > time.
Overall, I think we need to sort out the remaining changes in phylink before moving forward with this patch set - I've made some progress with Florian and the Broadcom DSA switches late last night. I'm now working on updating the felix DSA driver. There's another reason - having looked at the work I did with this same PHY, I think you are missing configuration of the link timer, which is different in SGMII and 1000BASE-X. Please can you look at the code I came up with? "dpaa2-mac: add 1000BASE-X/SGMII PCS support". Thanks. -- RMK's Patch system: https://www.armlinux.org.uk/developer/patches/ FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!