This series adds a DPLL subsystem driver for the SiTime SiT95316 and
SiT95317 programmable clock generators, along with the associated
device tree bindings.
This driver has been through multiple rounds of off-list review with
Jiri Pirko and Carolina Jubran.
v1: https://lore.kernel.org/netdev/20260511211143.19792-1-arouhi@sitime.com/
Changes in v2:
- Patch 2/3 (DT bindings):
- Remove Linux-specific runtime description paragraph (Conor)
- Simplify reset-gpios, interrupts descriptions to hardware behavior (Conor)
- Add allOf: $ref: /schemas/dpll/dpll-device.yaml#, switch to
unevaluatedProperties (Conor)
- Add pin sub-nodes in example 2 (Conor)
- Rename node clock-generator@68 to dpll@68 to match dpll-device.yaml (Sashiko)
- Add clocks/clock-names properties for xtal reference clock
- Patch 3/3 (driver):
- Fix SiT95316 num_inputs: 8 -> 4 (Carolina)
- Initialize xtal_freq at probe via devm_clk_get_optional_enabled
- Move DPLL/kworker init before IRQ registration to prevent NULL deref
- Clear notification latches in periodic worker to prevent IRQ tight loop
- Use clkout_map[] in output_phase_adjust_set() for correct register addressing
Ali Rouhi (3):
dt-bindings: vendor-prefixes: add SiTime Corporation
dt-bindings: dpll: add SiTime SiT9531x clock generator
dpll: add SiTime SiT9531x DPLL clock driver
.../bindings/dpll/sitime,sit9531x.yaml | 145 +
.../devicetree/bindings/vendor-prefixes.yaml | 2 +
MAINTAINERS | 6 +
drivers/dpll/Kconfig | 1 +
drivers/dpll/Makefile | 1 +
drivers/dpll/sit9531x/Kconfig | 17 +
drivers/dpll/sit9531x/Makefile | 4 +
drivers/dpll/sit9531x/core.c | 2636 +++++++++++++++++
drivers/dpll/sit9531x/core.h | 282 ++
drivers/dpll/sit9531x/dpll.c | 1147 +++++++
drivers/dpll/sit9531x/dpll.h | 90 +
drivers/dpll/sit9531x/prop.c | 345 +++
drivers/dpll/sit9531x/prop.h | 39 +
drivers/dpll/sit9531x/regs.h | 359 +++
14 files changed, 5074 insertions(+)
create mode 100644 Documentation/devicetree/bindings/dpll/sitime,sit9531x.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
--
2.43.0