net: dsa: qca8k: limit port5 delay to qca8337
authorAnsuel Smith <ansuelsmth@gmail.com>
Fri, 14 May 2021 21:00:02 +0000 (23:00 +0200)
committerDavid S. Miller <davem@davemloft.net>
Fri, 14 May 2021 22:30:22 +0000 (15:30 -0700)
Limit port5 rx delay to qca8337. This is taken from the legacy QSDK code
that limits the rx delay on port5 to only this particular switch version,
on other switch only the tx and rx delay for port0 are needed.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/dsa/qca8k.c

index 65f27d1..b598930 100644 (file)
@@ -1003,8 +1003,10 @@ qca8k_phylink_mac_config(struct dsa_switch *ds, int port, unsigned int mode,
                            QCA8K_PORT_PAD_RGMII_EN |
                            QCA8K_PORT_PAD_RGMII_TX_DELAY(QCA8K_MAX_DELAY) |
                            QCA8K_PORT_PAD_RGMII_RX_DELAY(QCA8K_MAX_DELAY));
-               qca8k_write(priv, QCA8K_REG_PORT5_PAD_CTRL,
-                           QCA8K_PORT_PAD_RGMII_RX_DELAY_EN);
+               /* QCA8337 requires to set rgmii rx delay */
+               if (priv->switch_id == QCA8K_ID_QCA8337)
+                       qca8k_write(priv, QCA8K_REG_PORT5_PAD_CTRL,
+                                   QCA8K_PORT_PAD_RGMII_RX_DELAY_EN);
                break;
        case PHY_INTERFACE_MODE_SGMII:
        case PHY_INTERFACE_MODE_1000BASEX: