709-net-phy-Add-Qualcom-QCA807x-driver.patch 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. From 876bb5b69c1e083be526c0ea261982d5eb78556f Mon Sep 17 00:00:00 2001
  2. From: Robert Marko <[email protected]>
  3. Date: Fri, 9 Sep 2022 23:44:42 +0200
  4. Subject: [PATCH] net: phy: Add Qualcom QCA807x driver
  5. This adds driver for the Qualcomm QCA8072 and QCA8075 PHY-s.
  6. They are 2 or 5 port IEEE 802.3 clause 22 compliant 10BASE-Te, 100BASE-TX and 1000BASE-T PHY-s.
  7. They feature 2 SerDes, one for PSGMII or QSGMII connection with MAC, while second one is SGMII for connection to MAC or fiber.
  8. Both models have a combo port that supports 1000BASE-X and 100BASE-FX fiber.
  9. Each PHY inside of QCA807x series has 4 digitally controlled output only pins that natively drive LED-s.
  10. But some vendors used these to driver generic LED-s controlled by userspace,
  11. so lets enable registering each PHY as GPIO controller and add driver for it.
  12. These are commonly used in Qualcomm IPQ40xx, IPQ60xx and IPQ807x boards.
  13. Signed-off-by: Robert Marko <[email protected]>
  14. ---
  15. drivers/net/phy/Kconfig | 7 +++++++
  16. drivers/net/phy/Makefile | 1 +
  17. 2 files changed, 8 insertions(+)
  18. --- a/drivers/net/phy/Kconfig
  19. +++ b/drivers/net/phy/Kconfig
  20. @@ -369,6 +369,13 @@ config AT803X_PHY
  21. Currently supports the AR8030, AR8031, AR8033, AR8035 and internal
  22. QCA8337(Internal qca8k PHY) model
  23. +config QCA807X_PHY
  24. + tristate "Qualcomm QCA807x PHYs"
  25. + depends on OF_MDIO
  26. + help
  27. + Currently supports the Qualcomm QCA8072, QCA8075 and the PSGMII
  28. + control PHY.
  29. +
  30. config QSEMI_PHY
  31. tristate "Quality Semiconductor PHYs"
  32. help
  33. --- a/drivers/net/phy/Makefile
  34. +++ b/drivers/net/phy/Makefile
  35. @@ -94,6 +94,7 @@ obj-$(CONFIG_MOTORCOMM_PHY) += motorcomm
  36. obj-$(CONFIG_NATIONAL_PHY) += national.o
  37. obj-$(CONFIG_NXP_C45_TJA11XX_PHY) += nxp-c45-tja11xx.o
  38. obj-$(CONFIG_NXP_TJA11XX_PHY) += nxp-tja11xx.o
  39. +obj-$(CONFIG_QCA807X_PHY) += qca807x.o
  40. obj-$(CONFIG_QSEMI_PHY) += qsemi.o
  41. obj-$(CONFIG_REALTEK_PHY) += realtek.o
  42. obj-$(CONFIG_RENESAS_PHY) += uPD60620.o