| b.liu | e958203 | 2025-04-17 19:18:16 +0800 | [diff] [blame] | 1 | From f825cdc8bfde7616a14e2163f16303a8973031d2 Mon Sep 17 00:00:00 2001 |
| 2 | From: Robert Marko <robert.marko@sartura.hr> |
| 3 | Date: Wed, 7 Oct 2020 17:38:48 +0200 |
| 4 | Subject: [PATCH] net: phy: Add Qualcom QCA807x driver |
| 5 | |
| 6 | This adds driver for the Qualcomm QCA8072 and QCA8075 PHY-s. |
| 7 | |
| 8 | They are 2 or 5 port IEEE 802.3 clause 22 compliant 10BASE-Te, 100BASE-TX and 1000BASE-T PHY-s. |
| 9 | |
| 10 | They feature 2 SerDes, one for PSGMII or QSGMII connection with MAC, while second one is SGMII for connection to MAC or fiber. |
| 11 | |
| 12 | Both models have a combo port that supports 1000BASE-X and 100BASE-FX fiber. |
| 13 | |
| 14 | Each PHY inside of QCA807x series has 4 digitally controlled output only pins that natively drive LED-s. |
| 15 | But some vendors used these to driver generic LED-s controlled by userspace, |
| 16 | so lets enable registering each PHY as GPIO controller and add driver for it. |
| 17 | |
| 18 | These are commonly used in Qualcomm IPQ40xx, IPQ60xx and IPQ807x boards. |
| 19 | |
| 20 | Signed-off-by: Robert Marko <robert.marko@sartura.hr> |
| 21 | --- |
| 22 | drivers/net/phy/Kconfig | 6 ++++++ |
| 23 | drivers/net/phy/Makefile | 1 + |
| 24 | 2 files changed, 7 insertions(+) |
| 25 | |
| 26 | --- a/drivers/net/phy/Kconfig |
| 27 | +++ b/drivers/net/phy/Kconfig |
| 28 | @@ -537,6 +537,12 @@ config NXP_TJA11XX_PHY |
| 29 | ---help--- |
| 30 | Currently supports the NXP TJA1100 and TJA1101 PHY. |
| 31 | |
| 32 | +config QCA807X_PHY |
| 33 | + tristate "Qualcomm QCA807X PHYs" |
| 34 | + depends on OF_MDIO |
| 35 | + help |
| 36 | + Currently supports the QCA8072 and QCA8075 models. |
| 37 | + |
| 38 | config QSEMI_PHY |
| 39 | tristate "Quality Semiconductor PHYs" |
| 40 | ---help--- |
| 41 | --- a/drivers/net/phy/Makefile |
| 42 | +++ b/drivers/net/phy/Makefile |
| 43 | @@ -103,6 +103,7 @@ obj-$(CONFIG_MICROSEMI_PHY) += mscc.o |
| 44 | obj-$(CONFIG_NATIONAL_PHY) += national.o |
| 45 | obj-$(CONFIG_NXP_TJA11XX_PHY) += nxp-tja11xx.o |
| 46 | obj-$(CONFIG_QSEMI_PHY) += qsemi.o |
| 47 | +obj-$(CONFIG_QCA807X_PHY) += qca807x.o |
| 48 | obj-$(CONFIG_REALTEK_PHY) += realtek.o |
| 49 | obj-$(CONFIG_RENESAS_PHY) += uPD60620.o |
| 50 | obj-$(CONFIG_ROCKCHIP_PHY) += rockchip.o |