kernel: 5.10: backport at803x internal QCA8327 PHY support
authorMatthew Hagan <mnhagan88@gmail.com>
Tue, 14 Sep 2021 08:09:40 +0000 (08:09 +0000)
committerHauke Mehrtens <hauke@hauke-m.de>
Sun, 24 Oct 2021 14:56:17 +0000 (16:56 +0200)
Add support for qca8327 internal phy needed for correct init of the
switch port. It does use the same qca8337 function and reg just with a
different id.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
Signed-off-by: Matthew Hagan <mnhagan88@gmail.com>
target/linux/generic/backport-5.10/792-v5.16-net-phy-at803x-add-support-for-qca-8327-internal-phy.patch [new file with mode: 0644]

diff --git a/target/linux/generic/backport-5.10/792-v5.16-net-phy-at803x-add-support-for-qca-8327-internal-phy.patch b/target/linux/generic/backport-5.10/792-v5.16-net-phy-at803x-add-support-for-qca-8327-internal-phy.patch
new file mode 100644 (file)
index 0000000..16aa071
--- /dev/null
@@ -0,0 +1,48 @@
+From 0ccf8511182436183c031e8a2f740ae91a02c625 Mon Sep 17 00:00:00 2001
+From: Ansuel Smith <ansuelsmth@gmail.com>
+Date: Tue, 14 Sep 2021 14:33:45 +0200
+Subject: net: phy: at803x: add support for qca 8327 internal phy
+
+Add support for qca8327 internal phy needed for correct init of the
+switch port. It does use the same qca8337 function and reg just with a
+different id.
+
+Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
+Tested-by: Rosen Penev <rosenp@gmail.com>
+Tested-by: Andrew Lunn <andrew@lunn.ch>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+---
+ drivers/net/phy/at803x.c | 15 +++++++++++++++
+ 1 file changed, 15 insertions(+)
+
+--- a/drivers/net/phy/at803x.c
++++ b/drivers/net/phy/at803x.c
+@@ -1328,6 +1328,19 @@ static struct phy_driver at803x_driver[]
+       .get_sset_count = at803x_get_sset_count,
+       .get_strings = at803x_get_strings,
+       .get_stats = at803x_get_stats,
++}, {
++      /* QCA8327 */
++      .phy_id = QCA8327_PHY_ID,
++      .phy_id_mask = QCA8K_PHY_ID_MASK,
++      .name = "QCA PHY 8327",
++      /* 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,
+ }, };
+ module_phy_driver(at803x_driver);
+@@ -1338,6 +1351,8 @@ static struct mdio_device_id __maybe_unu
+       { PHY_ID_MATCH_EXACT(ATH8032_PHY_ID) },
+       { 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) },
+       { }
+ };