]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
net: dsa: sja1105: SGMII and 2500base-x on the SJA1110 are 'special'
authorVladimir Oltean <vladimir.oltean@nxp.com>
Fri, 11 Jun 2021 20:05:30 +0000 (23:05 +0300)
committerDavid S. Miller <davem@davemloft.net>
Fri, 11 Jun 2021 20:43:56 +0000 (13:43 -0700)
For the xMII Mode Parameters Table to be properly configured for SGMII
mode on SJA1110, we need to set the "special" bit, since SGMII is
officially bitwise coded as 0b0011 in SJA1105 (decimal 3, equal to
XMII_MODE_SGMII), and as 0b1011 in SJA1110 (decimal 11).

Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/dsa/sja1105/sja1105_main.c

index bd1f2686e37ddfde89bb21a9f214fbdf833cee36..3e32b8676fa77d73eb320c0d6976028013c30b41 100644 (file)
@@ -209,12 +209,14 @@ static int sja1105_init_mii_settings(struct sja1105_private *priv)
                                goto unsupported;
 
                        mii->xmii_mode[i] = XMII_MODE_SGMII;
+                       mii->special[i] = true;
                        break;
                case PHY_INTERFACE_MODE_2500BASEX:
                        if (!priv->info->supports_2500basex[i])
                                goto unsupported;
 
                        mii->xmii_mode[i] = XMII_MODE_SGMII;
+                       mii->special[i] = true;
                        break;
 unsupported:
                default: