• Vladimir Oltean's avatar
    net: pcs: xpcs: add support for NXP SJA1105 · dd0721ea
    Vladimir Oltean authored
    The NXP SJA1105 DSA switch integrates a Synopsys SGMII XPCS on port 4.
    The generic code works fine, except there is an integration issue which
    needs to be dealt with: in this switch, the XPCS is integrated with a
    PMA that has the TX lane polarity inverted by default (PLUS is MINUS,
    MINUS is PLUS).
    
    To obtain normal non-inverted behavior, the TX lane polarity must be
    inverted in the PCS, via the DIGITAL_CONTROL_2 register.
    
    We introduce a pma_config() method in xpcs_compat which is called by the
    phylink_pcs_config() implementation.
    
    Also, the NXP SJA1105 returns all zeroes in the PHY ID registers 2 and 3.
    We need to hack up an ad-hoc PHY ID (OUI is zero, device ID is 1) in
    order for the XPCS driver to recognize it. This PHY ID is added to the
    public include/linux/pcs/pcs-xpcs.h for that reason (for the sja1105
    driver to be able to use it in a later patch).
    Signed-off-by: default avatarVladimir Oltean <vladimir.oltean@nxp.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    dd0721ea
Makefile 203 Bytes