This series aims to add periodic output support for the KSZ8463. The
way the KSZ8463 handles periodic output differs from that of the other
KSZ switches. It therefore needs its own set of perout callbacks
(configure, start, reset, enable, restart).
Patch 1 saves the full request to be able to retrieve all its
information in case of restart
Patches 2 to 4 prepare the driver to accept different kinds of periodic
output settings.
Patches 5 to 10 extract a set of functions from the existing periodic
output support that can be reused by the KSZ8463, avoiding code
duplication as much as possible.
Patch 11 adds periodic output support for the KSZ8463.
Signed-off-by: Bastien Curutchet (Schneider Electric) <bastien.curutchet@bootlin.com>
---
Changes in v4:
- Add PATCH 1 to fix request configuration at restarts
- PATCH 7: Add checks on the period to ensure divide by zero won't
happen later. It addresses a corner case spotted by Sashiko on v3
- Link to v3: https://lore.kernel.org/r/20260908-ksz-perout-v3-0-6722a3f1ca75@bootlin.com
Changes in v3:
- PATCH 10: Fix build error when CONFIG_NET_DSA_MICROCHIP_KSZ_PTP=n
- Link to v2: https://lore.kernel.org/r/20260902-ksz-perout-v2-0-6f277fcc9e68@bootlin.com
Changes in v2:
- PATCH 1: Init n_pins for all PTP capable switches
- PATCH 2: Init n_per_out for all PTP capable switches
- Link to v1: https://lore.kernel.org/r/20260831-ksz-perout-v1-0-14202db763b3@bootlin.com
---
Bastien Curutchet (Schneider Electric) (11):
net: dsa: microchip: fully save the periodic output request
net: dsa: microchip: add the number of pins to chip infos
net: dsa: microchip: add the number of periodic signals to chip infos
net: dsa: microchip: use dynamic mask to check pulse width validity
net: dsa: microchip: extract PTP callbacks configuration from PTP registration
net: dsa: microchip: extract ptp_get_pin
net: dsa: microchip: extract compute_width
net: dsa: microchip: extract prepare reset
net: dsa: microchip: extract time update
net: dsa: microchip: extract time adjustment
net: dsa: microchip: add periodic output support for the KSZ8463
drivers/net/dsa/microchip/ksz8.c | 2 +
drivers/net/dsa/microchip/ksz9477.c | 1 +
drivers/net/dsa/microchip/ksz_common.c | 22 ++
drivers/net/dsa/microchip/ksz_common.h | 2 +
drivers/net/dsa/microchip/ksz_ptp.c | 490 ++++++++++++++++++++++++++-----
drivers/net/dsa/microchip/ksz_ptp.h | 9 +-
drivers/net/dsa/microchip/ksz_ptp_reg.h | 16 +
drivers/net/dsa/microchip/lan937x_main.c | 1 +
8 files changed, 467 insertions(+), 76 deletions(-)
---
base-commit: 42a9fb3382fc2573e92f41d203b095d9a372cfc9
change-id: 20260825-ksz-perout-af9813e12158
Best regards,
--
Bastien Curutchet (Schneider Electric) <bastien.curutchet@bootlin.com>