[PATCH net-next 0/3] Introduce support for USGMII Inband Extensions

Maxime Chevallier posted 3 patches 1 year, 10 months ago
Documentation/networking/phy.rst              | 70 ++++++++++++++
.../ethernet/microchip/lan966x/lan966x_main.h |  1 +
.../ethernet/microchip/lan966x/lan966x_port.c | 12 +++
.../ethernet/microchip/lan966x/lan966x_ptp.c  | 94 +++++++++++++++++--
.../ethernet/microchip/lan966x/lan966x_regs.h | 64 +++++++++++++
drivers/net/phy/micrel.c                      | 84 ++++++++++++++++-
drivers/net/phy/phy.c                         | 86 +++++++++++++++++
include/linux/phy.h                           | 28 ++++++
8 files changed, 425 insertions(+), 14 deletions(-)
[PATCH net-next 0/3] Introduce support for USGMII Inband Extensions
Posted by Maxime Chevallier 1 year, 10 months ago
Hello everyone,

This series follows (albeit with a lot of delay) the work that was
initiated when USGMII support was added a while ago [1], through the QUSGMII
variant. One of the differences between the QUSGMII mode and QSGMII is
the possibility to pass so-called "Extensions" within the preamble. So
far, the only extension documented in the USGMII standard is to pass
a 32-bits timestamp through the preamble, but the standard mentions
other possible usages in the future, such as a MACSec sectag for
example.

This series aims at adding support for such extensions and proposes a
phylib API to manipulate these.

It includes an example using the lan8814 PHY driver and the LAN966x MAC
driver, where both have to agree on using this mode to convey the
nanoseconds part of a PTP timestamp (the seconds part is still retreived
through MDIO accesses).

Thanks,

Maxime

[1] : https://lore.kernel.org/netdev/20220519135647.465653-1-maxime.chevallier@bootlin.com/

Maxime Chevallier (3):
  net: phy: Add support for inband extensions
  net: lan966x: Allow using PCH extension for PTP
  net: phy: micrel: Add QUSGMII support and PCH extension

 Documentation/networking/phy.rst              | 70 ++++++++++++++
 .../ethernet/microchip/lan966x/lan966x_main.h |  1 +
 .../ethernet/microchip/lan966x/lan966x_port.c | 12 +++
 .../ethernet/microchip/lan966x/lan966x_ptp.c  | 94 +++++++++++++++++--
 .../ethernet/microchip/lan966x/lan966x_regs.h | 64 +++++++++++++
 drivers/net/phy/micrel.c                      | 84 ++++++++++++++++-
 drivers/net/phy/phy.c                         | 86 +++++++++++++++++
 include/linux/phy.h                           | 28 ++++++
 8 files changed, 425 insertions(+), 14 deletions(-)

-- 
2.43.0