Re: [Patch net-next v4 00/13] net: dsa: microchip: add PTP support for KSZ9563/KSZ8563 and LAN937x

From: Christian Eggers
Date: Mon Dec 12 2022 - 10:49:07 EST


On Monday, 12 December 2022, 11:26:26 CET, Arun Ramadoss wrote:
> KSZ9563/KSZ8563 and LAN937x switch are capable for supporting IEEE 1588 PTP
> protocol. LAN937x has the same PTP register set similar to KSZ9563, hence the
> implementation has been made common for the KSZ switches. KSZ9563 does not
> support two step timestamping but LAN937x supports both. Tested the 1step &
> 2step p2p timestamping in LAN937x and p2p1step timestamping in KSZ9563.
>
> This patch series is based on the Christian Eggers PTP support for KSZ9563.
> Applied the Christian patch and updated as per the latest refactoring of KSZ
> series code. The features added on top are PTP packet Interrupt
> implementation based on nested handler, LAN937x two step timestamping and
> programmable per_out pins.
>
> Link: https://www.spinics.net/lists/netdev/msg705531.html
>
> Patch v3 -> v4
> - removed IRQF_TRIGGER_FALLING from the request_threaded_irq of ptp msg
> - addressed review comments on patch 10 periodic output
> - added sign off in patch 6 & 9
> - reverted to set PTP_1STEP bit for lan937x which is missed during v3 regression
>
> Patch v2-> v3
> - used port_rxtstamp for reconstructing the absolute timestamp instead of
> tagger function pointer.
> - Reverted to setting of 802.1As bit.
>
> Patch v1 -> v2
> - GPIO perout enable bit is different for LAN937x and KSZ9x. Added new patch
> for configuring LAN937x programmable pins.
> - PTP enabled in hardware based on both tx and rx timestamping of all the user
> ports.
> - Replaced setting of 802.1AS bit with P2P bit in PTP_MSG_CONF1 register.
>
> RFC v2 -> Patch v1
> - Changed the patch author based on past patch submission
> - Changed the commit message prefix as net: dsa: microchip: ptp
> Individual patch changes are listed in correspondig commits.
>
> RFC v1 -> v2
> - Added the p2p1step timestamping and conditional execution of 2 step for
> LAN937x only.
> - Added the periodic output support
>
> Arun Ramadoss (5):
> net: dsa: microchip: ptp: add 4 bytes in tail tag when ptp enabled
> net: dsa: microchip: ptp: enable interrupt for timestamping
> net: dsa: microchip: ptp: add support for perout programmable pins
> net: dsa: microchip: ptp: lan937x: add 2 step timestamping
> net: dsa: microchip: ptp: lan937x: Enable periodic output in LED pins
>
> Christian Eggers (8):
> net: dsa: microchip: ptp: add the posix clock support
> net: dsa: microchip: ptp: Initial hardware time stamping support
> net: dsa: microchip: ptp: manipulating absolute time using ptp hw
> clock
> net: ptp: add helper for one-step P2P clocks
> net: dsa: microchip: ptp: add packet reception timestamping
> net: dsa: microchip: ptp: add packet transmission timestamping
> net: dsa: microchip: ptp: move pdelay_rsp correction field to tail tag
> net: dsa: microchip: ptp: add periodic output signal
>
> MAINTAINERS | 1 +
> drivers/net/dsa/microchip/Kconfig | 11 +
> drivers/net/dsa/microchip/Makefile | 5 +
> drivers/net/dsa/microchip/ksz_common.c | 44 +-
> drivers/net/dsa/microchip/ksz_common.h | 48 +
> drivers/net/dsa/microchip/ksz_ptp.c | 1187 +++++++++++++++++++++++
> drivers/net/dsa/microchip/ksz_ptp.h | 86 ++
> drivers/net/dsa/microchip/ksz_ptp_reg.h | 142 +++
> include/linux/dsa/ksz_common.h | 53 +
> include/linux/ptp_classify.h | 71 ++
> net/dsa/tag_ksz.c | 213 +++-
> 11 files changed, 1843 insertions(+), 18 deletions(-)
> create mode 100644 drivers/net/dsa/microchip/ksz_ptp.c
> create mode 100644 drivers/net/dsa/microchip/ksz_ptp.h
> create mode 100644 drivers/net/dsa/microchip/ksz_ptp_reg.h
> create mode 100644 include/linux/dsa/ksz_common.h
>
>
> base-commit: 6d534ee057b62ca9332b988619323ee99c7847c1
>

For the whole series:
Tested-by: Christian Eggers <ceggers@xxxxxxx> # on KSZ9563 with P2P/BC/L2/1-step