[PATCH 0/7] Add PTP support for BCM53128 switch
From: Martin Kaistra
Date: Thu Nov 04 2021 - 09:32:43 EST
Hi,
this series adds PTP support to the b53 DSA driver for the BCM53128
switch using the BroadSync HD feature.
As there seems to be only one filter (either by Ethertype or DA) for
timestamping incoming packets, only L2 is supported.
To be able to use the timecounter infrastructure with a counter that
wraps around at a non-power of two point, patch 2 adds support for such
a custom point. Alternatively I could fix up the delta every time a
wrap-around occurs in the driver itself, but this way it can also be
useful for other hardware.
Thanks,
Martin
Kurt Kanzenbach (1):
net: dsa: b53: Add BroadSync HD register definitions
Martin Kaistra (6):
net: dsa: b53: Move struct b53_device to include/linux/dsa/b53.h
timecounter: allow for non-power of two overflow
net: dsa: b53: Add PHC clock support
net: dsa: b53: Add logic for RX timestamping
net: dsa: b53: Add logic for TX timestamping
net: dsa: b53: Expose PTP timestamping ioctls to userspace
drivers/net/dsa/b53/Kconfig | 7 +
drivers/net/dsa/b53/Makefile | 1 +
drivers/net/dsa/b53/b53_common.c | 21 ++
drivers/net/dsa/b53/b53_priv.h | 90 +-------
drivers/net/dsa/b53/b53_ptp.c | 366 +++++++++++++++++++++++++++++++
drivers/net/dsa/b53/b53_ptp.h | 68 ++++++
drivers/net/dsa/b53/b53_regs.h | 38 ++++
include/linux/dsa/b53.h | 144 ++++++++++++
include/linux/timecounter.h | 3 +
kernel/time/timecounter.c | 3 +
net/dsa/tag_brcm.c | 85 ++++++-
11 files changed, 727 insertions(+), 99 deletions(-)
create mode 100644 drivers/net/dsa/b53/b53_ptp.c
create mode 100644 drivers/net/dsa/b53/b53_ptp.h
create mode 100644 include/linux/dsa/b53.h
--
2.20.1