On 1/8/26 7:23 PM, Ivan Vecera wrote:
Introduce a common schema for DPLL pin consumers. Devices such as Ethernet
controllers and PHYs may require connections to DPLL pins for Synchronous
Ethernet (SyncE) or other frequency synchronization tasks.
Defining these properties in a shared schema ensures consistency across
different device types that consume DPLL resources.
Signed-off-by: Ivan Vecera <[email protected]>
---
.../bindings/dpll/dpll-pin-consumer.yaml | 30 +++++++++++++++++++
MAINTAINERS | 1 +
2 files changed, 31 insertions(+)
create mode 100644
Documentation/devicetree/bindings/dpll/dpll-pin-consumer.yaml
diff --git a/Documentation/devicetree/bindings/dpll/dpll-pin-consumer.yaml
b/Documentation/devicetree/bindings/dpll/dpll-pin-consumer.yaml
new file mode 100644
index 0000000000000..60c184c18318a
--- /dev/null
+++ b/Documentation/devicetree/bindings/dpll/dpll-pin-consumer.yaml
@@ -0,0 +1,30 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/dpll/dpll-pin-consumer.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: DPLL Pin Consumer
+
+maintainers:
+ - Ivan Vecera <[email protected]>
+
+description: |
+ Common properties for devices that require connection to DPLL (Digital Phase
+ Locked Loop) pins for frequency synchronization (e.g. SyncE).
+
+properties:
+ dpll-pins:
+ $ref: /schemas/types.yaml#/definitions/phandle-array
+ description:
+ List of phandles to the DPLL pin nodes connected to this device.
+
+ dpll-pin-names:
+ $ref: /schemas/types.yaml#/definitions/string-array
+ description:
+ Names for the DPLL pins defined in 'dpll-pins', in the same order.
+
+dependencies:
+ dpll-pin-names: [ dpll-pins ]
+
+additionalProperties: true
diff --git a/MAINTAINERS b/MAINTAINERS
index 765ad2daa2183..f6f58dfb20931 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -7648,6 +7648,7 @@ M: Jiri Pirko <[email protected]>
L: [email protected]
S: Supported
F: Documentation/devicetree/bindings/dpll/dpll-device.yaml
+F: Documentation/devicetree/bindings/dpll/dpll-pin-consumer.yaml
F: Documentation/devicetree/bindings/dpll/dpll-pin.yaml
F: Documentation/driver-api/dpll.rst
F: drivers/dpll/
Based on private discussion with Andrew Lunn (thanks a lot), this is
wrong approach. Referencing directly dpll-pin nodes and using their
phandles in consumers is at least unusual.
The right approach should be referencing dpll-device and use cells
to specify the dpll pin that is used.
Also Krzysztof mentioned there are missing update of supplier_bindings
in drivers/of/property.c to ensure that proper dev_links between
producer and consumer are created.
I will send a v2 of this patch-set with addressed another issues found
by patchwork bot and including the DT schema (this patch) to review
if it is ok.
Thanks,
Ivan