Message ID | 20221212102639.24415-1-arun.ramadoss@microchip.com (mailing list archive) |
---|---|
Headers | show |
Series | net: dsa: microchip: add PTP support for KSZ9563/KSZ8563 and LAN937x | expand |
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@arri.de> # on KSZ9563 with P2P/BC/L2/1-step
On Mon, 12 Dec 2022 15:56:26 +0530 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. The merge window has now begun, this set is rather large and Linus said that he will be particularly strict about applying patches late: https://lore.kernel.org/all/CAHk-=wj_HcgFZNyZHTLJ7qC2613zphKDtLh6ndciwopZRfH0aQ@mail.gmail.com/ So let's defer this for after 6.2-rc1 is cut. Feed free to switch to RFC postings if you want to keep revising the set and make review progress during the merge window.