973c5d4a1d
Changelog: https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.15.127 All patches automatically rebased. Build system: x86_64 Build-tested: ramips/tplink_archer-a6-v3 Run-tested: ramips/tplink_archer-a6-v3 Signed-off-by: John Audia <therealgraysky@proton.me>
66 lines
2.1 KiB
Diff
66 lines
2.1 KiB
Diff
From b4df02b562f4aa14ff6811f30e1b4d2159585c59 Mon Sep 17 00:00:00 2001
|
|
From: Ansuel Smith <ansuelsmth@gmail.com>
|
|
Date: Sun, 19 Sep 2021 18:28:15 +0200
|
|
Subject: net: phy: at803x: add support for qca 8327 A variant internal phy
|
|
|
|
For qca8327 internal phy there are 2 different switch variant with 2
|
|
different phy id. Add this missing variant so the internal phy can be
|
|
correctly identified and fixed.
|
|
|
|
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/phy/at803x.c | 25 ++++++++++++++++++++-----
|
|
1 file changed, 20 insertions(+), 5 deletions(-)
|
|
|
|
--- a/drivers/net/phy/at803x.c
|
|
+++ b/drivers/net/phy/at803x.c
|
|
@@ -150,7 +150,8 @@
|
|
#define ATH8035_PHY_ID 0x004dd072
|
|
#define AT8030_PHY_ID_MASK 0xffffffef
|
|
|
|
-#define QCA8327_PHY_ID 0x004dd034
|
|
+#define QCA8327_A_PHY_ID 0x004dd033
|
|
+#define QCA8327_B_PHY_ID 0x004dd034
|
|
#define QCA8337_PHY_ID 0x004dd036
|
|
#define QCA8K_PHY_ID_MASK 0xffffffff
|
|
|
|
@@ -1411,10 +1412,23 @@ static struct phy_driver at803x_driver[]
|
|
.get_strings = at803x_get_strings,
|
|
.get_stats = at803x_get_stats,
|
|
}, {
|
|
- /* QCA8327 */
|
|
- .phy_id = QCA8327_PHY_ID,
|
|
+ /* QCA8327-A from switch QCA8327-AL1A */
|
|
+ .phy_id = QCA8327_A_PHY_ID,
|
|
.phy_id_mask = QCA8K_PHY_ID_MASK,
|
|
- .name = "QCA PHY 8327",
|
|
+ .name = "QCA PHY 8327-A",
|
|
+ /* PHY_GBIT_FEATURES */
|
|
+ .probe = at803x_probe,
|
|
+ .flags = PHY_IS_INTERNAL,
|
|
+ .config_init = qca83xx_config_init,
|
|
+ .soft_reset = genphy_soft_reset,
|
|
+ .get_sset_count = at803x_get_sset_count,
|
|
+ .get_strings = at803x_get_strings,
|
|
+ .get_stats = at803x_get_stats,
|
|
+}, {
|
|
+ /* QCA8327-B from switch QCA8327-BL1A */
|
|
+ .phy_id = QCA8327_B_PHY_ID,
|
|
+ .phy_id_mask = QCA8K_PHY_ID_MASK,
|
|
+ .name = "QCA PHY 8327-B",
|
|
/* PHY_GBIT_FEATURES */
|
|
.probe = at803x_probe,
|
|
.flags = PHY_IS_INTERNAL,
|
|
@@ -1434,7 +1448,8 @@ static struct mdio_device_id __maybe_unu
|
|
{ PHY_ID_MATCH_EXACT(ATH8035_PHY_ID) },
|
|
{ PHY_ID_MATCH_EXACT(ATH9331_PHY_ID) },
|
|
{ PHY_ID_MATCH_EXACT(QCA8337_PHY_ID) },
|
|
- { PHY_ID_MATCH_EXACT(QCA8327_PHY_ID) },
|
|
+ { PHY_ID_MATCH_EXACT(QCA8327_A_PHY_ID) },
|
|
+ { PHY_ID_MATCH_EXACT(QCA8327_B_PHY_ID) },
|
|
{ }
|
|
};
|
|
|