mirror of
https://github.com/torvalds/linux.git
synced 2026-04-18 06:44:00 -04:00
Add ref-sync-sources phandle-array property to the dpll-pin schema allowing board designers to declare which input pins can serve as sync sources in a Reference-Sync pair. A Ref-Sync pair consists of a clock reference and a low-frequency sync signal where the DPLL locks to the clock but phase-aligns to the sync reference. Update both examples in the Microchip ZL3073x binding to demonstrate the new property with a 1 PPS sync source paired to a clock source. Reviewed-by: Petr Oros <poros@redhat.com> Reviewed-by: Prathosh Satish <Prathosh.Satish@microchip.com> Reviewed-by: Rob Herring (Arm) <robh@kernel.org> Signed-off-by: Ivan Vecera <ivecera@redhat.com> Link: https://patch.msgid.link/20260408102716.443099-5-ivecera@redhat.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
132 lines
3.1 KiB
YAML
132 lines
3.1 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/dpll/microchip,zl30731.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Microchip Azurite DPLL device
|
|
|
|
maintainers:
|
|
- Ivan Vecera <ivecera@redhat.com>
|
|
|
|
description:
|
|
Microchip Azurite DPLL (ZL3073x) is a family of DPLL devices that
|
|
provides up to 5 independent DPLL channels, up to 10 differential or
|
|
single-ended inputs and 10 differential or 20 single-ended outputs.
|
|
These devices support both I2C and SPI interfaces.
|
|
|
|
properties:
|
|
compatible:
|
|
enum:
|
|
- microchip,zl30731
|
|
- microchip,zl30732
|
|
- microchip,zl30733
|
|
- microchip,zl30734
|
|
- microchip,zl30735
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
|
|
allOf:
|
|
- $ref: /schemas/dpll/dpll-device.yaml#
|
|
- $ref: /schemas/spi/spi-peripheral-props.yaml#
|
|
|
|
unevaluatedProperties: false
|
|
|
|
examples:
|
|
- |
|
|
i2c {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
dpll@70 {
|
|
compatible = "microchip,zl30732";
|
|
reg = <0x70>;
|
|
dpll-types = "pps", "eec";
|
|
|
|
input-pins {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
sync0: pin@0 { /* REF0P - 1 PPS sync source */
|
|
reg = <0>;
|
|
connection-type = "ext";
|
|
label = "SMA1";
|
|
supported-frequencies-hz = /bits/ 64 <1>;
|
|
};
|
|
|
|
pin@1 { /* REF0N - clock source, can pair with sync0 */
|
|
reg = <1>;
|
|
connection-type = "ext";
|
|
label = "SMA2";
|
|
supported-frequencies-hz = /bits/ 64 <10000 10000000>;
|
|
ref-sync-sources = <&sync0>;
|
|
};
|
|
};
|
|
|
|
output-pins {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
pin@3 { /* OUT1N */
|
|
reg = <3>;
|
|
connection-type = "gnss";
|
|
esync-control;
|
|
label = "Output 1";
|
|
supported-frequencies-hz = /bits/ 64 <1 10000>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
- |
|
|
spi {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
dpll@70 {
|
|
compatible = "microchip,zl30731";
|
|
reg = <0x70>;
|
|
spi-max-frequency = <12500000>;
|
|
|
|
dpll-types = "pps";
|
|
|
|
input-pins {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
sync1: pin@0 { /* REF0P - 1 PPS sync source */
|
|
reg = <0>;
|
|
connection-type = "gnss";
|
|
label = "GNSS_1PPS_IN";
|
|
supported-frequencies-hz = /bits/ 64 <1>;
|
|
};
|
|
|
|
pin@1 { /* REF0N - clock source */
|
|
reg = <1>;
|
|
connection-type = "gnss";
|
|
label = "GNSS_10M_IN";
|
|
supported-frequencies-hz = /bits/ 64 <10000000>;
|
|
ref-sync-sources = <&sync1>;
|
|
};
|
|
};
|
|
|
|
output-pins {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
pin@3 { /* OUT1N */
|
|
reg = <3>;
|
|
connection-type = "gnss";
|
|
esync-control;
|
|
label = "Output 1";
|
|
supported-frequencies-hz = /bits/ 64 <1 10000>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
...
|