745-v5.16-01-net-phy-at803x-add-support-for-qca-8327-A-variant.patch 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. From b4df02b562f4aa14ff6811f30e1b4d2159585c59 Mon Sep 17 00:00:00 2001
  2. From: Ansuel Smith <[email protected]>
  3. Date: Sun, 19 Sep 2021 18:28:15 +0200
  4. Subject: net: phy: at803x: add support for qca 8327 A variant internal phy
  5. For qca8327 internal phy there are 2 different switch variant with 2
  6. different phy id. Add this missing variant so the internal phy can be
  7. correctly identified and fixed.
  8. Signed-off-by: Ansuel Smith <[email protected]>
  9. Reviewed-by: Andrew Lunn <[email protected]>
  10. Signed-off-by: David S. Miller <[email protected]>
  11. ---
  12. drivers/net/phy/at803x.c | 25 ++++++++++++++++++++-----
  13. 1 file changed, 20 insertions(+), 5 deletions(-)
  14. --- a/drivers/net/phy/at803x.c
  15. +++ b/drivers/net/phy/at803x.c
  16. @@ -150,7 +150,8 @@
  17. #define ATH8035_PHY_ID 0x004dd072
  18. #define AT8030_PHY_ID_MASK 0xffffffef
  19. -#define QCA8327_PHY_ID 0x004dd034
  20. +#define QCA8327_A_PHY_ID 0x004dd033
  21. +#define QCA8327_B_PHY_ID 0x004dd034
  22. #define QCA8337_PHY_ID 0x004dd036
  23. #define QCA8K_PHY_ID_MASK 0xffffffff
  24. @@ -1413,10 +1414,23 @@ static struct phy_driver at803x_driver[]
  25. .get_strings = at803x_get_strings,
  26. .get_stats = at803x_get_stats,
  27. }, {
  28. - /* QCA8327 */
  29. - .phy_id = QCA8327_PHY_ID,
  30. + /* QCA8327-A from switch QCA8327-AL1A */
  31. + .phy_id = QCA8327_A_PHY_ID,
  32. .phy_id_mask = QCA8K_PHY_ID_MASK,
  33. - .name = "QCA PHY 8327",
  34. + .name = "QCA PHY 8327-A",
  35. + /* PHY_GBIT_FEATURES */
  36. + .probe = at803x_probe,
  37. + .flags = PHY_IS_INTERNAL,
  38. + .config_init = qca83xx_config_init,
  39. + .soft_reset = genphy_soft_reset,
  40. + .get_sset_count = at803x_get_sset_count,
  41. + .get_strings = at803x_get_strings,
  42. + .get_stats = at803x_get_stats,
  43. +}, {
  44. + /* QCA8327-B from switch QCA8327-BL1A */
  45. + .phy_id = QCA8327_B_PHY_ID,
  46. + .phy_id_mask = QCA8K_PHY_ID_MASK,
  47. + .name = "QCA PHY 8327-B",
  48. /* PHY_GBIT_FEATURES */
  49. .probe = at803x_probe,
  50. .flags = PHY_IS_INTERNAL,
  51. @@ -1436,7 +1450,8 @@ static struct mdio_device_id __maybe_unu
  52. { PHY_ID_MATCH_EXACT(ATH8035_PHY_ID) },
  53. { PHY_ID_MATCH_EXACT(ATH9331_PHY_ID) },
  54. { PHY_ID_MATCH_EXACT(QCA8337_PHY_ID) },
  55. - { PHY_ID_MATCH_EXACT(QCA8327_PHY_ID) },
  56. + { PHY_ID_MATCH_EXACT(QCA8327_A_PHY_ID) },
  57. + { PHY_ID_MATCH_EXACT(QCA8327_B_PHY_ID) },
  58. { }
  59. };