| From: |
| Ali Rouhi <rouhi.ali-AT-gmail.com> |
| To: |
| jiri-AT-resnulli.us |
| Subject: |
| [PATCH v2 net-next 0/3] dpll: add SiTime SiT9531x DPLL clock driver |
| Date: |
| Wed, 20 May 2026 12:19:40 -0700 |
| Message-ID: |
| <20260520191943.73938-1-arouhi@sitime.com> |
| Cc: |
| vadim.fedorenko-AT-linux.dev, arkadiusz.kubalewski-AT-intel.com, robh-AT-kernel.org, krzk+dt-AT-kernel.org, conor+dt-AT-kernel.org, cjubran-AT-nvidia.com, Oleg.Zadorozhnyi-AT-devoxsoftware.com, devicetree-AT-vger.kernel.org, netdev-AT-vger.kernel.org, linux-kernel-AT-vger.kernel.org, Ali Rouhi <arouhi-AT-sitime.com> |
| Archive-link: |
| Article |
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-aro...
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