Add PTP hardware clock support to the zl3073x DPLL driver.
Patch 1 adds low-level channel operations for ToD read/write/adjust,
output phase step, delta frequency offset write and TIE write as
building blocks for PTP callbacks.
Patch 2 registers a PTP clock device for each DPLL channel with
gettimex64, settime64, adjtime, adjfine, adjphase, getmaxphase
and perout callbacks. Callback availability adapts to the current
channel state - adjfine requires NCO pin connected, adjphase uses
TIE write when tracking a reference, and adjtime selects the
appropriate mechanism automatically.
Link: https://lore.kernel.org/netdev/20260708170527.916035-1-ivecera@redhat.com/
Changes:
v2:
- Squash low-level ops patches (1+3) into patch 1.
- Squash PTP callback patches (2+4) into patch 2, register PTP
clock regardless of initial channel state.
Ivan Vecera (2):
dpll: zl3073x: add channel ToD, phase step and TIE operations
dpll: zl3073x: add PTP clock support
drivers/dpll/zl3073x/Kconfig | 6 +-
drivers/dpll/zl3073x/chan.c | 307 +++++++++++++++++++
drivers/dpll/zl3073x/chan.h | 48 +++
drivers/dpll/zl3073x/core.c | 8 +
drivers/dpll/zl3073x/core.h | 8 +
drivers/dpll/zl3073x/dpll.c | 575 +++++++++++++++++++++++++++++++++--
drivers/dpll/zl3073x/dpll.h | 6 +
drivers/dpll/zl3073x/regs.h | 56 ++++
8 files changed, 978 insertions(+), 36 deletions(-)
base-commit: 4a13f31a92f35161b499bf29638336885259da78
--
2.53.0