drivers: net: cpsw-phy-sel: Clear RGMII_IDMODE on "rgmii" links
authorAlex <alex.g@adaptrum.com>
Tue, 6 Dec 2016 18:56:51 +0000 (10:56 -0800)
committerDavid S. Miller <davem@davemloft.net>
Wed, 7 Dec 2016 18:12:17 +0000 (13:12 -0500)
Support for setting the RGMII_IDMODE bit was added in the commit
referenced below. However, that commit did not add the symmetrical
clearing of the bit by way of setting it in "mask". Add it here.

Note that the documentation marks clearing this bit as "reserved",
however, according to TI, support for delaying the clock does exist in
the MAC, although it is not officially supported.
We tested this on a board with an RGMII to RGMII link that will not
work unless this bit is cleared.

Fixes: 0fb26c3063ea ("drivers: net: cpsw-phy-sel: add support to configure rgmii internal delay")
Signed-off-by: Alexandru Gagniuc <alex.g@adaptrum.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/ti/cpsw-phy-sel.c

index ba1e45ff6aaec2ed3dcce6a3a4fc089c3be711d4..18013645e76c8be4a460e50d7edd31abda29900f 100644 (file)
@@ -81,6 +81,7 @@ static void cpsw_gmii_sel_am3352(struct cpsw_phy_sel_priv *priv,
        };
 
        mask = GMII_SEL_MODE_MASK << (slave * 2) | BIT(slave + 6);
+       mask |= BIT(slave + 4);
        mode <<= slave * 2;
 
        if (priv->rmii_clock_external) {