123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- From 157ac9f52fd9b9a22cf12f7755a905fb34ef72f7 Mon Sep 17 00:00:00 2001
- From: Gabor Juhos <[email protected]>
- 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 <[email protected]>
- ---
- 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:
|