• Russell King's avatar
    net: phy: marvell10g: select host interface configuration · d6d29292
    Russell King authored
    Select the host interface configuration according to the capabilities of
    the host if the host provided them. This is currently provided only when
    connecting PHY that is inside a SFP.
    
    The PHY supports several configurations of host communication:
    - always communicate with host in 10gbase-r, even if copper speed is
      lower (rate matching mode),
    - the same as above but use xaui/rxaui instead of 10gbase-r,
    - switch host SerDes mode between 10gbase-r, 5gbase-r, 2500base-x and
      sgmii according to copper speed,
    - the same as above but use xaui/rxaui instead of 10gbase-r.
    
    This mode of host communication, called MACTYPE, is by default selected
    by strapping pins, but it can be changed in software.
    
    This adds support for selecting this mode according to which modes are
    supported by the host.
    
    This allows the kernel to:
    - support SFP modules with 88X33X0 or 88E21X0 inside them
    
    Note: we use mv3310_select_mactype() for both 88X3310 and 88X3340,
    although 88X3340 does not support XAUI. This is not a problem because
    88X3340 does not declare XAUI in it's supported_interfaces, and so this
    function will never choose that MACTYPE.
    Signed-off-by: default avatarRussell King <rmk+kernel@armlinux.org.uk>
    [ rebase, updated, also added support for 88E21X0 ]
    Signed-off-by: default avatarMarek Behún <kabel@kernel.org>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    d6d29292
marvell10g.c 37.4 KB