[PATCH net-next 0/6] dpll: zl3073x: add PTP periodic output support
From: Ivan Vecera <ivecera@redhat.com>
Date: 2026-09-28 18:56:03
Also in:
lkml
This series extends the zl3073x output pin support and finally adds PTP periodic output (perout) support on top of it. Each zl3073x output exposes a P-pin and an N-pin that share a single HW output and most of its configuration registers. Patch 1 makes a change requested on one pin notify the sibling pin as well, so userspace on the sibling is told when its effective frequency, esync or phase adjustment changed. Patches 2 and 3 add the plumbing to control an individual output pin: GPO override registers and a clean stop/restart of an output (patch 2), and then per-pin enable/disable through the state_on_dpll_get/set callbacks - differential pins via the output stop condition, CMOS pins via the GPO override bracketed by a glitch-free stop/restart (patch 3). Patches 4 and 5 are preparatory: the per-pin 'esync_control' boolean is replaced by an extensible 'caps' bitmap, and the divisor/N-division computation is factored out of frequency_set() into a helper that updates a struct zl3073x_out without committing it. Patch 6 registers a PTP periodic output pin for each output pin that supports step-time and declares 1 PPS support in firmware. Any perout channel can be assigned to any such pin; only 1 PPS is supported. Enabling a channel programs its pin for 1 Hz and connects it, disabling disconnects it, reusing the helper and connect/disconnect primitive introduced earlier in the series. Ivan Vecera (6): dpll: zl3073x: notify sibling pin when shared output config changes dpll: zl3073x: add GPO support for output pins dpll: zl3073x: allow enabling/disabling output pins dpll: zl3073x: consolidate pin capabilities into bitmap dpll: zl3073x: factor out output pin frequency helper dpll: zl3073x: add PTP periodic output support drivers/dpll/zl3073x/core.c | 117 ++++++++ drivers/dpll/zl3073x/core.h | 30 ++ drivers/dpll/zl3073x/dpll.c | 539 +++++++++++++++++++++++++++++++----- drivers/dpll/zl3073x/dpll.h | 4 + drivers/dpll/zl3073x/out.c | 50 +++- drivers/dpll/zl3073x/out.h | 138 ++++++++- drivers/dpll/zl3073x/prop.c | 2 + drivers/dpll/zl3073x/prop.h | 21 ++ drivers/dpll/zl3073x/regs.h | 20 ++ 9 files changed, 834 insertions(+), 87 deletions(-) base-commit: 014d795c73837ea2339a4ea8e8f82c6e959b845d -- 2.55.0