ipq40xx: 5.15: refresh kernel patches
[openwrt/staging/dedeckeh.git] / target / linux / ipq40xx / patches-5.15 / 707-net-phy-Add-Qualcom-QCA807x-driver.patch
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 @@ -346,6 +346,12 @@ config AT803X_PHY
29 Currently supports the AR8030, AR8031, AR8033, AR8035 and internal
30 QCA8337(Internal qca8k PHY) model
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 @@ -90,6 +90,7 @@ obj-$(CONFIG_NATIONAL_PHY) += national.o
44 obj-$(CONFIG_NXP_C45_TJA11XX_PHY) += nxp-c45-tja11xx.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