[PATCH net-next v2 01/12] dt-bindings: dpll: support acting as pin provider
From: Ivan Vecera <ivecera@redhat.com>
Date: 2026-01-16 18:46:36
Also in:
intel-wired-lan, linux-devicetree, linux-rdma, lkml
Subsystem:
dpll subsystem, microchip zl3073x driver, open firmware and flattened device tree bindings, the rest · Maintainers:
Vadim Fedorenko, Arkadiusz Kubalewski, Jiri Pirko, Ivan Vecera, Prathosh Satish, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Linus Torvalds
Enable DPLL devices to act as pin providers for consumers (such as Ethernet controllers or PHYs). Add the '#dpll-pin-cells' property to the generic dpll-device.yaml schema and mark it as required. This allows DPLL nodes to define pin specifiers for their connected consumers. Introduce a new header '<dt-bindings/dpll/dpll.h>' to define pin direction macros (`DPLL_PIN_INPUT` and `DPLL_PIN_OUTPUT`). These macros are intended to be used in the DT pin specifiers (inside 'dpll-pins' properties of consumers) to describe the direction of the signal. Update the 'microchip,zl30731.yaml' examples to include the new '#dpll-pin-cells' property. The core schema definitions for these properties are being added to dt-schema in PR #183. Link: https://github.com/devicetree-org/dt-schema/pull/183 Signed-off-by: Ivan Vecera <ivecera@redhat.com> --- v2: * removed dpll-pin-consumer.yaml schema per request * added '#dpll-pin-cells' property into dpll-device.yaml and microchip,zl30731.yaml --- .../devicetree/bindings/dpll/dpll-device.yaml | 10 ++++++++++ .../devicetree/bindings/dpll/microchip,zl30731.yaml | 4 ++++ MAINTAINERS | 1 + include/dt-bindings/dpll/dpll.h | 13 +++++++++++++ 4 files changed, 28 insertions(+) create mode 100644 include/dt-bindings/dpll/dpll.h
diff --git a/Documentation/devicetree/bindings/dpll/dpll-device.yaml b/Documentation/devicetree/bindings/dpll/dpll-device.yaml
index fb8d7a9a3693f..5022cbd77f308 100644
--- a/Documentation/devicetree/bindings/dpll/dpll-device.yaml
+++ b/Documentation/devicetree/bindings/dpll/dpll-device.yaml@@ -27,6 +27,13 @@ properties: "#size-cells": const: 0 + "#dpll-pin-cells": + const: 2 + description: | + - Specified pin index + - Specified pin direction. The macros are defined in + dt-bindings/dpll/dpll.h + dpll-types: description: List of DPLL channel types, one per DPLL instance. $ref: /schemas/types.yaml#/definitions/non-unique-string-array
@@ -73,4 +80,7 @@ properties: - "#address-cells" - "#size-cells" +required: + - "#dpll-pin-cells" + additionalProperties: true
diff --git a/Documentation/devicetree/bindings/dpll/microchip,zl30731.yaml b/Documentation/devicetree/bindings/dpll/microchip,zl30731.yaml
index 17747f754b845..6693151af6ccb 100644
--- a/Documentation/devicetree/bindings/dpll/microchip,zl30731.yaml
+++ b/Documentation/devicetree/bindings/dpll/microchip,zl30731.yaml@@ -44,6 +44,8 @@ examples: #size-cells = <0>; dpll@70 { + #dpll-pin-cells = <2>; + compatible = "microchip,zl30732"; reg = <0x70>; dpll-types = "pps", "eec";
@@ -80,6 +82,8 @@ examples: #size-cells = <0>; dpll@70 { + #dpll-pin-cells = <2>; + compatible = "microchip,zl30731"; reg = <0x70>; spi-max-frequency = <12500000>;
diff --git a/MAINTAINERS b/MAINTAINERS
index afc71089ba09f..d359d42f64223 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS@@ -7655,6 +7655,7 @@ F: Documentation/devicetree/bindings/dpll/dpll-device.yaml F: Documentation/devicetree/bindings/dpll/dpll-pin.yaml F: Documentation/driver-api/dpll.rst F: drivers/dpll/ +F: include/dt-bindings/dpll/dpll.h F: include/linux/dpll.h F: include/uapi/linux/dpll.h
diff --git a/include/dt-bindings/dpll/dpll.h b/include/dt-bindings/dpll/dpll.h
new file mode 100644
index 0000000000000..5fc9815800fc0
--- /dev/null
+++ b/include/dt-bindings/dpll/dpll.h@@ -0,0 +1,13 @@ +/* SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) */ +/* + * This header provides constants for DPLL bindings. + */ + +#ifndef _DT_BINDINGS_DPLL_DPLL_H +#define _DT_BINDINGS_DPLL_DPLL_H + +/* DPLL pin direction */ +#define DPLL_PIN_INPUT 0 +#define DPLL_PIN_OUTPUT 1 + +#endif
--
2.52.0