Re: [PATCH net-next v7 3/3] dpll: add SiTime SiT9531x DPLL clock driver

From: Ivan Vecera

Date: Thu Aug 20 2026 - 13:35:06 EST


On 8/19/26 11:16 PM, Vadim Fedorenko wrote:
On 15/08/2026 23:19, Ali Rouhi wrote:
Add a DPLL subsystem driver for the SiTime SiT95316 and SiT95317
clock generators. These devices provide low-jitter clock outputs
commonly used in telecom, networking, and data center timing
applications.

The driver exposes all inputs and outputs through the Linux DPLL
subsystem, supporting:
  - Lock status monitoring via register polling or optional INTRB IRQ
  - Input priority management for automatic reference switchover
  - Per-output frequency readback from hardware state
  - Phase offset measurement via TDC (time-to-digital converter)
  - Phase adjustment for fine output alignment
  - Embedded sync (esync) pulse control on outputs
  - Fractional frequency offset of the selected reference
  - Optional reset-gpios for hardware reset

The driver reads all configuration from the device's on-chip NVM
at probe time -- no firmware loading is required.

Co-developed-by: Oleg Zadorozhnyi <Oleg.Zadorozhnyi@xxxxxxxxxxxxxxxxx>
Signed-off-by: Oleg Zadorozhnyi <Oleg.Zadorozhnyi@xxxxxxxxxxxxxxxxx>
Assisted-by: Claude:claude-4-opus [chat]
Signed-off-by: Ali Rouhi <arouhi@xxxxxxxxxx>
---
  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   | 3111 ++++++++++++++++++++++++++++++++
  drivers/dpll/sit9531x/core.h   |  372 ++++
  drivers/dpll/sit9531x/dpll.c   | 1232 +++++++++++++
  drivers/dpll/sit9531x/dpll.h   |   69 +
  drivers/dpll/sit9531x/prop.c   |  397 ++++
  drivers/dpll/sit9531x/prop.h   |   39 +
  drivers/dpll/sit9531x/regs.h   |  371 ++++
  12 files changed, 5621 insertions(+)

as the new version is need, could you please think of how it can be
split. reviewing if 5.6k lines of code in one go is quite tough
+1 ... Reviewing single patch with the whole driver is really annoying.
Next time, please split the driver into logical parts (e.g. low-level
ops, core ops, features one-by one)...

Due to the fact that the source is very similar with zl3073x, please
look at its git history to see how it was submitted in past.

...and please do not forget to include me in the CC list ;-)

Thanks,
Ivan