mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-29 01:59:02 +00:00
0a4b309f41
Backport initial LEDs hw control support. Currently this is limited to only rx/tx and link events for the netdev trigger but the API got accepted and the additional modes are working on and will be backported later. Refresh every patch and add the additional config flag for QCA8K new LEDs support. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
70 lines
2.3 KiB
Diff
70 lines
2.3 KiB
Diff
From 157ac9f52fd9b9a22cf12f7755a905fb34ef72f7 Mon Sep 17 00:00:00 2001
|
|
From: Gabor Juhos <j4g8y7@gmail.com>
|
|
Date: Fri, 25 Dec 2020 08:02:47 +0100
|
|
Subject: [PATCH] net: phy: define PSGMII PHY interface mode
|
|
|
|
The PSGMII interface is similar to QSGMII. The main difference
|
|
is that the PSGMII interface combines five SGMII lines into a
|
|
single link while in QSGMII only four lines are combined.
|
|
|
|
Similarly to the QSGMII, this interface mode might also needs
|
|
special handling within the MAC driver.
|
|
|
|
Add definitions for the PHY layer to allow to express this type
|
|
of connection between the MAC and PHY.
|
|
|
|
Signed-off-by: Gabor Juhos <j4g8y7@gmail.com>
|
|
---
|
|
Documentation/devicetree/bindings/net/ethernet-controller.yaml | 1 +
|
|
drivers/net/phy/phylink.c | 2 ++
|
|
include/linux/phy.h | 3 +++
|
|
3 files changed, 6 insertions(+)
|
|
|
|
--- a/Documentation/devicetree/bindings/net/ethernet-controller.yaml
|
|
+++ b/Documentation/devicetree/bindings/net/ethernet-controller.yaml
|
|
@@ -64,6 +64,7 @@ properties:
|
|
- mii
|
|
- gmii
|
|
- sgmii
|
|
+ - psgmii
|
|
- qsgmii
|
|
- tbi
|
|
- rev-mii
|
|
--- a/drivers/net/phy/phylink.c
|
|
+++ b/drivers/net/phy/phylink.c
|
|
@@ -366,6 +366,7 @@ void phylink_get_linkmodes(unsigned long
|
|
case PHY_INTERFACE_MODE_RGMII_RXID:
|
|
case PHY_INTERFACE_MODE_RGMII_ID:
|
|
case PHY_INTERFACE_MODE_RGMII:
|
|
+ case PHY_INTERFACE_MODE_PSGMII:
|
|
case PHY_INTERFACE_MODE_QSGMII:
|
|
case PHY_INTERFACE_MODE_SGMII:
|
|
case PHY_INTERFACE_MODE_GMII:
|
|
@@ -629,6 +630,7 @@ static int phylink_parse_mode(struct phy
|
|
|
|
switch (pl->link_config.interface) {
|
|
case PHY_INTERFACE_MODE_SGMII:
|
|
+ case PHY_INTERFACE_MODE_PSGMII:
|
|
case PHY_INTERFACE_MODE_QSGMII:
|
|
phylink_set(pl->supported, 10baseT_Half);
|
|
phylink_set(pl->supported, 10baseT_Full);
|
|
--- a/include/linux/phy.h
|
|
+++ b/include/linux/phy.h
|
|
@@ -139,6 +139,7 @@ typedef enum {
|
|
PHY_INTERFACE_MODE_XGMII,
|
|
PHY_INTERFACE_MODE_XLGMII,
|
|
PHY_INTERFACE_MODE_MOCA,
|
|
+ PHY_INTERFACE_MODE_PSGMII,
|
|
PHY_INTERFACE_MODE_QSGMII,
|
|
PHY_INTERFACE_MODE_TRGMII,
|
|
PHY_INTERFACE_MODE_100BASEX,
|
|
@@ -244,6 +245,8 @@ static inline const char *phy_modes(phy_
|
|
return "xlgmii";
|
|
case PHY_INTERFACE_MODE_MOCA:
|
|
return "moca";
|
|
+ case PHY_INTERFACE_MODE_PSGMII:
|
|
+ return "psgmii";
|
|
case PHY_INTERFACE_MODE_QSGMII:
|
|
return "qsgmii";
|
|
case PHY_INTERFACE_MODE_TRGMII:
|