From: Rob Herring <robh@kernel.org>
To: Ali Rouhi <arouhi@sitime.com>
Cc: Jiri Pirko <jiri@resnulli.us>,
Vadim Fedorenko <vadim.fedorenko@linux.dev>,
Arkadiusz Kubalewski <arkadiusz.kubalewski@intel.com>,
Ivan Vecera <ivecera@redhat.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>,
Carolina Jubran <cjubran@nvidia.com>,
Oleg Zadorozhnyi <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>
Subject: Re: [PATCH net-next v13 02/12] dt-bindings: dpll: add SiTime SiT95316 clock generator
Date: Wed, 14 Oct 2026 22:31:43 -0500 [thread overview]
Message-ID: <20261015033143.GA485921-robh@kernel.org> (raw)
In-Reply-To: <20261013224131.27149-3-arouhi@sitime.com>
On Tue, Oct 13, 2026 at 10:41:33PM +0000, Ali Rouhi wrote:
> Add a binding for the SiTime SiT9531x family of clock generators: an
> I2C-controlled device with four independent PLLs, up to eight input
> clocks and up to twelve outputs, described as a DPLL provider.
>
> The XO is given either as a clock or, for firmware that describes the
> oscillator as a property rather than as a clock provider, such as ACPI,
> as clock-frequency.
>
> The supplies are described by their pin names: the core and input rails,
> the GPIO rail the SiT95317 has, and one per output-driver pin -- VDDO0 to
> VDDO7 on the SiT95317, VDDO0_1, VDDO2 to VDDO9 and VDDO10_11 on the
> SiT95316. The driver does not enable them, since the boards so far
> power the part permanently; describing them gives a board with
> switchable rails a way to say so.
>
> Signed-off-by: Ali Rouhi <arouhi@sitime.com>
> ---
> .../bindings/dpll/sitime,sit95316.yaml | 213 ++++++++++++++++++
> MAINTAINERS | 6 +
> 2 files changed, 219 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/dpll/sitime,sit95316.yaml
>
> diff --git a/Documentation/devicetree/bindings/dpll/sitime,sit95316.yaml b/Documentation/devicetree/bindings/dpll/sitime,sit95316.yaml
> new file mode 100644
> index 000000000000..200b9f709a57
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/dpll/sitime,sit95316.yaml
> @@ -0,0 +1,213 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/dpll/sitime,sit95316.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: SiTime SiT95316/SiT95317 DPLL Clock Generator
> +
> +maintainers:
> + - Ali Rouhi <arouhi@sitime.com>
> +
> +description: |
> + SiTime SiT95316 and SiT95317 are I2C-controlled programmable clock
> + generators with integrated DPLL for synchronization applications. Both
> + variants contain four PLLs with automatic/manual reference selection,
> + DCO frequency adjustment, and phase offset measurement via an on-chip
> + TDC (Time-to-Digital Converter).
> +
> + Both parts have 4 differential input pairs whose lanes can also be
> + driven independently as single-ended references, so 8 inputs are
> + individually selectable. SiT95317 drives 8 outputs, SiT95316
> + drives 12.
> +
> + Pin numbering. An input pin's reg is its lane: 2k is INkP and 2k + 1
> + is INkN, 0 to 7. A pair the loaded configuration runs differential is
> + one input, described at 2k. An output pin's reg is its physical output
> + OUTn, 0 to 11; the SiT95317 bonds out OUT0, OUT3, OUT4, OUT5, OUT7, OUT8,
> + OUT9 and OUT11.
> +
> +properties:
> + compatible:
> + enum:
> + - sitime,sit95316
> + - sitime,sit95317
> +
> + reg:
> + maxItems: 1
> +
> + clocks:
> + maxItems: 1
> +
> + clock-names:
> + items:
> + - const: xtal
> +
> + clock-frequency:
> + description:
> + XO rate in Hz feeding XIN/XO_CLK, for firmware that describes the
> + oscillator as a property rather than as a clock provider, such as
> + ACPI. Use either this or "clocks", not both.
> +
> + reset-gpios:
> + maxItems: 1
> + description:
> + GPIO connected to the chip's active-low reset pin (RESETB).
> +
> + interrupts:
> + maxItems: 1
> + description:
> + Interrupt from the chip's active-low INTRB output. Asserted when
> + the device detects a status change such as lock acquisition or loss.
> +
> + dpll-types:
> + maxItems: 4
> +
> + vdd-supply:
> + description: Core supply of the PLLs, 1.8 V (the VDD pins).
> +
> + vddin-supply:
> + description:
> + Supply of the input receivers and dividers, 3.3 V (VDDIN).
> +
> + vdds-supply:
> + description:
> + Supply of the two GPIO pins that have their own rail (VDDS). The
> + SiT95316 has no such pin.
> +
> + input-pins:
> + type: object
> + patternProperties:
> + "^pin@[0-9a-f]+$":
> + type: object
> + properties:
> + reg:
> + maximum: 7
> +
> + supported-frequencies-hz:
> + description:
> + The rate wired to the input, in Hz, as a single entry. An
> + input runs at the rate the board feeds it and has no
> + frequency to select, so that entry is what the pin reports
> + as its frequency.
> +
> +patternProperties:
> + "^vddo([0-9]|1[01]|0_1|10_11)-supply$":
> + description: |
> + Supply of an output driver, named after its VDDO pin. The SiT95317
> + has one per output, VDDO0 to VDDO7, numbered as that part's
> + datasheet numbers its outputs; in the pin numbering of this binding
> + those are outputs 0, 3, 4, 5, 7, 8, 9 and 11, in that order. The
> + SiT95316 has VDDO0_1, VDDO2 to VDDO9 and VDDO10_11, the two shared
> + pins each powering the pair of outputs they are named after.
> +
> +required:
> + - compatible
> + - reg
> +
> +dependencies:
> + clocks: [ clock-names ]
> +
> +oneOf:
> + - required:
> + - clocks
> + - required:
> + - clock-frequency
> +
> +allOf:
> + - $ref: /schemas/dpll/dpll-device.yaml#
> + - if:
> + properties:
> + compatible:
> + const: sitime,sit95317
> + then:
> + properties:
> + output-pins:
> + patternProperties:
> + "^pin@[0-9a-f]+$":
> + properties:
> + reg:
> + enum: [0, 3, 4, 5, 7, 8, 9, 11]
> + patternProperties:
> + "^vddo(8|9|1[01]|0_1|10_11)-supply$": false
> + else:
> + properties:
> + vdds-supply: false
> + output-pins:
> + patternProperties:
> + "^pin@[0-9a-f]+$":
> + properties:
> + reg:
> + maximum: 11
> + patternProperties:
> + "^vddo(1[01]|[01])-supply$": false
> +
> +unevaluatedProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/gpio/gpio.h>
> + #include <dt-bindings/interrupt-controller/irq.h>
> +
> + i2c {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + dpll@68 {
> + compatible = "sitime,sit95316";
> + reg = <0x68>;
> + clocks = <&xo2>;
> + clock-names = "xtal";
> + reset-gpios = <&gpio 78 GPIO_ACTIVE_LOW>;
> + interrupts = <12 IRQ_TYPE_LEVEL_LOW>;
> + vdd-supply = <®_1v8>;
> + vddin-supply = <®_3v3>;
> + vddo0_1-supply = <®_3v3>;
> + vddo10_11-supply = <®_1v8>;
> + dpll-types = "eec", "eec", "eec", "eec";
> +
> + input-pins {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + /* IN0P and IN0N: pair 0 runs single-ended */
> + pin@0 {
> + reg = <0>;
> + label = "clkin0";
> + connection-type = "ext";
> + supported-frequencies-hz = /bits/ 64 <10000000>;
-hz is 32-bit.
Rob
next prev parent reply other threads:[~2026-10-15 3:31 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-13 22:41 [PATCH net-next v13 00/12] dpll: add SiTime SiT9531x DPLL clock driver Ali Rouhi
2026-10-13 22:41 ` [PATCH net-next v13 01/12] dt-bindings: vendor-prefixes: add SiTime Corporation Ali Rouhi
2026-10-13 22:41 ` [PATCH net-next v13 03/12] dpll: add basic SiTime SiT9531x support Ali Rouhi
2026-10-13 22:41 ` [PATCH net-next v13 02/12] dt-bindings: dpll: add SiTime SiT95316 clock generator Ali Rouhi
2026-10-14 22:41 ` sashiko-bot
2026-10-15 3:31 ` Rob Herring [this message]
2026-10-13 22:41 ` [PATCH net-next v13 04/12] dpll: sit9531x: read DPLL types and pin properties from system firmware Ali Rouhi
2026-10-14 22:41 ` sashiko-bot
2026-10-13 22:41 ` [PATCH net-next v13 06/12] dpll: sit9531x: implement input pin state on a DPLL Ali Rouhi
2026-10-13 22:41 ` [PATCH net-next v13 05/12] dpll: sit9531x: register DPLL devices and pins Ali Rouhi
2026-10-14 22:41 ` sashiko-bot
2026-10-13 22:41 ` [PATCH net-next v13 08/12] dpll: sit9531x: add support to get and set frequency on pins Ali Rouhi
2026-10-14 22:41 ` sashiko-bot
2026-10-13 22:41 ` [PATCH net-next v13 07/12] dpll: sit9531x: add support to get and set priority on input pins Ali Rouhi
2026-10-13 22:41 ` [PATCH net-next v13 10/12] dpll: sit9531x: add support to adjust output phase Ali Rouhi
2026-10-14 22:41 ` sashiko-bot
2026-10-13 22:41 ` [PATCH net-next v13 09/12] dpll: sit9531x: implement output pin state on a DPLL Ali Rouhi
2026-10-13 22:41 ` [PATCH net-next v13 11/12] dpll: sit9531x: add support to get phase offset on the connected input pin Ali Rouhi
2026-10-13 22:41 ` [PATCH net-next v13 12/12] dpll: sit9531x: model the inter-PLL sync net as a pair of pins Ali Rouhi
2026-10-14 22:41 ` sashiko-bot
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=20261015033143.GA485921-robh@kernel.org \
--to=robh@kernel.org \
--cc=Oleg.Zadorozhnyi@devoxsoftware.com \
--cc=arkadiusz.kubalewski@intel.com \
--cc=arouhi@sitime.com \
--cc=cjubran@nvidia.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=ivecera@redhat.com \
--cc=jiri@resnulli.us \
--cc=krzk+dt@kernel.org \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=prabhakar.mahadev-lad.rj@bp.renesas.com \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.