• Martin Blumenstingl's avatar
    net: dsa: lantiq_gswip: Configure all remaining GSWIP_MII_CFG bits · 4b592324
    Martin Blumenstingl authored
    There are a few more bits in the GSWIP_MII_CFG register for which we
    did rely on the boot-loader (or the hardware defaults) to set them up
    properly.
    
    For some external RMII PHYs we need to select the GSWIP_MII_CFG_RMII_CLK
    bit and also we should un-set it for non-RMII PHYs. The
    GSWIP_MII_CFG_RMII_CLK bit is ignored for other PHY connection modes.
    
    The GSWIP IP also supports in-band auto-negotiation for RGMII PHYs when
    the GSWIP_MII_CFG_RGMII_IBS bit is set. Clear this bit always as there's
    no known hardware which uses this (so it is not tested yet).
    
    Clear the xMII isolation bit when set at initialization time if it was
    previously set by the bootloader. Not doing so could lead to no traffic
    (neither RX nor TX) on a port with this bit set.
    
    While here, also add the GSWIP_MII_CFG_RESET bit. We don't need to
    manage it because this bit is self-clearning when set. We still add it
    here to get a better overview of the GSWIP_MII_CFG register.
    
    Fixes: 14fceff4 ("net: dsa: Add Lantiq / Intel DSA driver for vrx200")
    Cc: stable@vger.kernel.org
    Suggested-by: default avatarHauke Mehrtens <hauke@hauke-m.de>
    Acked-by: default avatarHauke Mehrtens <hauke@hauke-m.de>
    Signed-off-by: default avatarMartin Blumenstingl <martin.blumenstingl@googlemail.com>
    Reviewed-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    4b592324
lantiq_gswip.c 59.9 KB