[PATCH net-next v6 0/3] dpll: add SiTime SiT9531x DPLL clock driver
From: Ali Rouhi
Date: Wed Aug 12 2026 - 13:56:32 EST
This series adds a DPLL subsystem driver for the SiTime SiT95316 and
SiT95317 I2C clock generators. Each device integrates four PLLs with
automatic/manual reference selection and on-chip TDC phase-offset
measurement, and is used for synchronization in telecom, networking,
and data-center timing.
The series contains the device-tree binding, the driver under
drivers/dpll/sit9531x/, and the MAINTAINERS entry.
v1: https://lore.kernel.org/netdev/20260511211143.19792-1-arouhi@xxxxxxxxxx/
v2: https://lore.kernel.org/netdev/20260520191943.73938-1-arouhi@xxxxxxxxxx/
v3: https://lore.kernel.org/netdev/20260731180951.65725-1-arouhi@xxxxxxxxxx/
v4: https://lore.kernel.org/netdev/20260806232439.27551-1-arouhi@xxxxxxxxxx/
v5: https://lore.kernel.org/netdev/20260810230439.22866-1-arouhi@xxxxxxxxxx/
Changes since v5 (driver only; the bindings are unchanged):
- Read the input receiver-enabled state back from the device, so inputs
are no longer all reported as disconnected after probe.
- Fix the input priority table handling: it has 11 slots, not 12;
correct the priority-slot to register-nibble mapping; and latch the
table with a small update after a write.
- Do not report an unused PLL as locked.
- Report the reference fractional frequency offset through the .ffo_get
callback (DPLL_FFO_PIN_DEVICE).
- Read the DIVN the loop is actually running, and treat the DIVN
numerator as a signed value.
- Name the debug readback window for what it holds.
Ali Rouhi (3):
dt-bindings: vendor-prefixes: add SiTime Corporation
dt-bindings: dpll: add SiTime SiT95316 clock generator
dpll: add SiTime SiT9531x DPLL clock driver
.../bindings/dpll/sitime,sit95316.yaml | 171 +
.../devicetree/bindings/vendor-prefixes.yaml | 2 +
MAINTAINERS | 7 +
drivers/dpll/Kconfig | 1 +
drivers/dpll/Makefile | 1 +
drivers/dpll/sit9531x/Kconfig | 17 +
drivers/dpll/sit9531x/Makefile | 4 +
drivers/dpll/sit9531x/core.c | 3120 +++++++++++++++++
drivers/dpll/sit9531x/core.h | 372 ++
drivers/dpll/sit9531x/dpll.c | 1202 +++++++
drivers/dpll/sit9531x/dpll.h | 69 +
drivers/dpll/sit9531x/prop.c | 397 +++
drivers/dpll/sit9531x/prop.h | 39 +
drivers/dpll/sit9531x/regs.h | 371 ++
14 files changed, 5773 insertions(+)
create mode 100644 Documentation/devicetree/bindings/dpll/sitime,sit95316.yaml
create mode 100644 drivers/dpll/sit9531x/Kconfig
create mode 100644 drivers/dpll/sit9531x/Makefile
create mode 100644 drivers/dpll/sit9531x/core.c
create mode 100644 drivers/dpll/sit9531x/core.h
create mode 100644 drivers/dpll/sit9531x/dpll.c
create mode 100644 drivers/dpll/sit9531x/dpll.h
create mode 100644 drivers/dpll/sit9531x/prop.c
create mode 100644 drivers/dpll/sit9531x/prop.h
create mode 100644 drivers/dpll/sit9531x/regs.h
base-commit: 001b5d347d8ba39b2dccaefcc57967b18caec8fe
--
2.39.2 (Apple Git-143)