devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Ali Rouhi <arouhi@sitime.com>
To: "jiri@resnulli.us" <jiri@resnulli.us>
Cc: "vadim.fedorenko@linux.dev" <vadim.fedorenko@linux.dev>,
	"arkadiusz.kubalewski@intel.com" <arkadiusz.kubalewski@intel.com>,
	"robh@kernel.org" <robh@kernel.org>,
	"krzk+dt@kernel.org" <krzk+dt@kernel.org>,
	"conor+dt@kernel.org" <conor+dt@kernel.org>,
	"cjubran@nvidia.com" <cjubran@nvidia.com>,
	"Oleg.Zadorozhnyi@devoxsoftware.com"
	<Oleg.Zadorozhnyi@devoxsoftware.com>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Ali Rouhi <arouhi@sitime.com>
Subject: [PATCH net-next v5 0/3] dpll: add SiTime SiT9531x DPLL clock driver
Date: Mon, 10 Aug 2026 23:04:40 +0000	[thread overview]
Message-ID: <20260810230439.22866-1-arouhi@sitime.com> (raw)

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@sitime.com/
v2: https://lore.kernel.org/netdev/20260520191943.73938-1-arouhi@sitime.com/
v3: https://lore.kernel.org/netdev/20260731180951.65725-1-arouhi@sitime.com/
v4: https://lore.kernel.org/netdev/20260806232439.27551-1-arouhi@sitime.com/

Changes since v4 (address Krzysztof Kozlowski's review):

  Binding:
  - Rename sitime,sit9531x.yaml to sitime,sit95316.yaml, naming the file
    after the first compatible rather than a wildcard the parts do not
    carry, and drop "SiT9531x" from the title for the same reason.
  - Correct the input count: both parts expose eight selectable
    references (four differential pairs whose lanes can also be driven
    separately as single-ended inputs).
  - Drop the clock-frequency fallback and the schema branch that allowed
    it; the oscillator is always described through the clock framework, so
    clocks/clock-names are now required.
  - Explain why sitime,pll-fvco carries no unit suffix (the values exceed
    the 32 bits "-hz" allows and are not whole megahertz), and add it,
    together with sitime,output-pll-map, to the example.
  - Keep a single example.

  Driver:
  - Drop the debugfs interface and the orphaned DCO steering backend that
    only fed it.
  - Rework the DPLL init/teardown so the error path unwinds explicitly
    instead of probing internal state, registering the managed cleanup
    action only after every field it touches is initialized.
  - Drop the clock-frequency fallback for the XO rate; the clock is
    required, so devm_clk_get_enabled() replaces the _optional_ variant.
  - Drop the i2c_device_id table; the OF table alone suffices.
  - Take dev_err_probe()'s return value directly.
  - Say nothing on success; an unknown dpll-types string becomes a
    warning rather than an info log.
  - Move DPLL registration next to probe, drop the kernel-doc formalism
    from internal helpers, and cut the narration out of the comments.
  - Name the page-0 status registers after what they hold (register 0x06
    is outer loss-of-lock, not holdover) and remove the register defines
    left with nothing to define after the DCO/SYSREF removals.
  - Rebased onto current net-next; base-commit recorded below.


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                  | 2939 +++++++++++++++++
 drivers/dpll/sit9531x/core.h                  |  367 ++
 drivers/dpll/sit9531x/dpll.c                  | 1151 +++++++
 drivers/dpll/sit9531x/dpll.h                  |   69 +
 drivers/dpll/sit9531x/prop.c                  |  397 +++
 drivers/dpll/sit9531x/prop.h                  |   39 +
 drivers/dpll/sit9531x/regs.h                  |  318 ++
 14 files changed, 5483 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.43.0


             reply	other threads:[~2026-08-10 23:04 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-08-10 23:04 Ali Rouhi [this message]
2026-08-10 23:04 ` [PATCH net-next v5 2/3] dt-bindings: dpll: add SiTime SiT95316 clock generator Ali Rouhi
2026-08-10 23:04 ` [PATCH net-next v5 1/3] dt-bindings: vendor-prefixes: add SiTime Corporation Ali Rouhi
2026-08-10 23:04 ` [PATCH net-next v5 3/3] dpll: add SiTime SiT9531x DPLL clock driver Ali Rouhi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260810230439.22866-1-arouhi@sitime.com \
    --to=arouhi@sitime.com \
    --cc=Oleg.Zadorozhnyi@devoxsoftware.com \
    --cc=arkadiusz.kubalewski@intel.com \
    --cc=cjubran@nvidia.com \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=jiri@resnulli.us \
    --cc=krzk+dt@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=robh@kernel.org \
    --cc=vadim.fedorenko@linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).