• Claudiu Manoil's avatar
    enetc: Add mdio bus driver for the PCIe MDIO endpoint · 231ece36
    Claudiu Manoil authored
    ENETC ports can manage the MDIO bus via local register
    interface.  However there's also a centralized way
    to manage the MDIO bus, via the MDIO PCIe endpoint
    device integrated by the same root complex that also
    integrates the ENETC ports (eth controllers).
    
    Depending on board design and use case, centralized
    access to MDIO may be better than using local ENETC
    port registers.  For instance, on the LS1028A QDS board
    where MDIO muxing is required.  Also, the LS1028A on-chip
    switch doesn't have a local MDIO register interface.
    
    The current patch registers the above PCIe endpoint as a
    separate MDIO bus and provides a driver for it by re-using
    the code used for local MDIO access.  It also allows the
    ENETC port PHYs to be managed by this driver if the local
    "mdio" node is missing from the ENETC port node.
    Signed-off-by: default avatarClaudiu Manoil <claudiu.manoil@nxp.com>
    Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    231ece36
enetc_pf.c 23.5 KB