• Ioana Ciornei's avatar
    phy: add support for the Layerscape SerDes 28G · 8f73b37c
    Ioana Ciornei authored
    This patch adds a new generic PHY driver to support the Lynx 28G SerDes
    block found on some of the Layerscape SoCs such as LX2160A.
    At the moment, only the following Ethernet protocols are supported:
    SGMII/1000Base-X and 10GBaseR.
    
    SerDes lanes which are not running an Ethernet protocol or a currently
    supported Ethenet protocol will be left as it was configured through the
    RCW (Reset Configuration Word) at boot time.
    
    At probe time, the platform driver will read the current
    configuration of both PLLs found on a SerDes block and will determine
    what protocols are supported using that PLL.
    
    For example, if a PLL is configured to generate a clock net (frate) of
    5GHz the only protocols sustained by that PLL are SGMII/1000Base-X
    (using a quarter of the full clock rate) and QSGMII using the full clock
    net frequency on the lane.
    
    On the .set_mode() callback, the PHY driver will first check if the
    requested operating mode (protocol) is even supported by the current PLL
    configuration and will error out if not.
    Then, the lane is reconfigured to run on the requested protocol.
    Signed-off-by: default avatarIoana Ciornei <ioana.ciornei@nxp.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    8f73b37c
phy-fsl-lynx-28g.c 17.5 KB