702-phy-Add-2.5G-SGMII-interface-mode.patch 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. From c918c472546afa83a619ae3cb1a9d7d346c6e288 Mon Sep 17 00:00:00 2001
  2. From: Bhaskar Upadhaya <[email protected]>
  3. Date: Wed, 29 Nov 2017 15:27:57 +0530
  4. Subject: [PATCH 154/173] phy: Add 2.5G SGMII interface mode
  5. Add 2.5G SGMII interface mode(PHY_INTERFACE_MODE_2500SGMII)
  6. in existing phy_interface list
  7. Signed-off-by: Bhaskar Upadhaya <[email protected]>
  8. ---
  9. include/linux/phy.h | 3 +++
  10. 1 file changed, 3 insertions(+)
  11. --- a/drivers/net/phy/phy-core.c
  12. +++ b/drivers/net/phy/phy-core.c
  13. @@ -136,6 +136,7 @@ int phy_interface_num_ports(phy_interfac
  14. case PHY_INTERFACE_MODE_RXAUI:
  15. case PHY_INTERFACE_MODE_XAUI:
  16. case PHY_INTERFACE_MODE_1000BASEKX:
  17. + case PHY_INTERFACE_MODE_2500SGMII:
  18. return 1;
  19. case PHY_INTERFACE_MODE_QSGMII:
  20. case PHY_INTERFACE_MODE_QUSGMII:
  21. --- a/drivers/net/phy/phylink.c
  22. +++ b/drivers/net/phy/phylink.c
  23. @@ -400,6 +400,7 @@ void phylink_get_linkmodes(unsigned long
  24. caps |= MAC_1000FD;
  25. break;
  26. + case PHY_INTERFACE_MODE_2500SGMII:
  27. case PHY_INTERFACE_MODE_2500BASEX:
  28. caps |= MAC_2500FD;
  29. break;
  30. @@ -654,6 +655,10 @@ static int phylink_parse_mode(struct phy
  31. phylink_set(pl->supported, 2500baseX_Full);
  32. break;
  33. + case PHY_INTERFACE_MODE_2500SGMII:
  34. + phylink_set(pl->supported, 2500baseT_Full);
  35. + break;
  36. +
  37. case PHY_INTERFACE_MODE_5GBASER:
  38. phylink_set(pl->supported, 5000baseT_Full);
  39. break;
  40. --- a/include/linux/phy.h
  41. +++ b/include/linux/phy.h
  42. @@ -157,6 +157,7 @@ typedef enum {
  43. PHY_INTERFACE_MODE_10GKR,
  44. PHY_INTERFACE_MODE_QUSGMII,
  45. PHY_INTERFACE_MODE_1000BASEKX,
  46. + PHY_INTERFACE_MODE_2500SGMII,
  47. PHY_INTERFACE_MODE_MAX,
  48. } phy_interface_t;
  49. @@ -276,6 +277,8 @@ static inline const char *phy_modes(phy_
  50. return "100base-x";
  51. case PHY_INTERFACE_MODE_QUSGMII:
  52. return "qusgmii";
  53. + case PHY_INTERFACE_MODE_2500SGMII:
  54. + return "sgmii-2500";
  55. default:
  56. return "unknown";
  57. }