Re: [PATCH v2 02/14] dt-bindings: dpll: Add support for Microchip Azurite chip family

Ivan Vecera
2025-04-10T07:46:01Z

On 10. 04. 25 9:06 dop., Krzysztof Kozlowski wrote:
> On Wed, Apr 09, 2025 at 04:42:38PM GMT, Ivan Vecera wrote:
>> Add DT bindings for Microchip Azurite DPLL chip family. These chips
>> provides 2 independent DPLL channels, up to 10 differential or
>> single-ended inputs and up to 20 differential or 20 single-ended outputs.
>> It can be connected via I2C or SPI busses.
>>
>> Signed-off-by: Ivan Vecera <ivecera@redhat.com>
>> ---
>> .../bindings/dpll/microchip,zl3073x-i2c.yaml | 74 ++++++++++++++++++
>> .../bindings/dpll/microchip,zl3073x-spi.yaml | 77 +++++++++++++++++++
>
> No, you do not get two files. No such bindings were accepted since some
> years.
>
>> 2 files changed, 151 insertions(+)
>> create mode 100644 Documentation/devicetree/bindings/dpll/microchip,zl3073x-i2c.yaml
>> create mode 100644 Documentation/devicetree/bindings/dpll/microchip,zl3073x-spi.yaml
>>
>> diff --git a/Documentation/devicetree/bindings/dpll/microchip,zl3073x-i2c.yaml b/Documentation/devicetree/bindings/dpll/microchip,zl3073x-i2c.yaml
>> new file mode 100644
>> index 0000000000000..d9280988f9eb7
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/dpll/microchip,zl3073x-i2c.yaml
>> @@ -0,0 +1,74 @@
>> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/dpll/microchip,zl3073x-i2c.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: I2C-attached Microchip Azurite DPLL device
>> +
>> +maintainers:
>> + - Ivan Vecera <ivecera@redhat.com>
>> +
>> +description:
>> + Microchip Azurite DPLL (ZL3073x) is a family of DPLL devices that
>> + provides 2 independent DPLL channels, up to 10 differential or
>> + single-ended inputs and up to 20 differential or 20 single-ended outputs.
>> + It can be connected via multiple busses, one of them being I2C.
>> +
>> +properties:
>> + compatible:
>> + enum:
>> + - microchip,zl3073x-i2c
>
> I already said: you have one compatible, not two. One.

Ah, you mean something like:
iio/accel/adi,adxl313.yaml

Do you?

> Also, still wildcard, so still a no.

This is not wildcard, Microchip uses this to designate DPLL devices with
the same characteristics.

But I can use microchip,azurite, is it more appropriate?

>> +
>> + reg:
>> + maxItems: 1
>> +
>> +required:
>> + - compatible
>> + - reg
>> +
>> +allOf:
>> + - $ref: /schemas/dpll/dpll-device.yaml#
>> +
>> +unevaluatedProperties: false
>> +
>> +examples:
>> + - |
>> + i2c {
>> + #address-cells = <1>;
>> + #size-cells = <0>;
>> +
>> + dpll@70 {
>> + compatible = "microchip,zl3073x-i2c";
>> + reg = <0x70>;
>> + #address-cells = <0>;
>> + #size-cells = <0>;
>
> Again, not used. Drop.

Sorry, will do.

>> + dpll-types = "pps", "eec";
>> +
>> + input-pins {
>> + #address-cells = <1>;
>> + #size-cells = <0>;
>> +
>> + pin@0 { /* REF0P */
>> + reg = <0>;
>> + label = "Input 0";
>> + supported-frequencies = /bits/ 64 <1 1000>;
>> + type = "ext";
>> + };
>> + };
>> +
>> + output-pins {
>> + #address-cells = <1>;
>> + #size-cells = <0>;
>> +
>> + pin@3 { /* OUT1N */
>> + reg = <3>;
>> + esync-control;
>> + label = "Output 1";
>> + supported-frequencies = /bits/ 64 <1 10000>;
>> + type = "gnss";
>> + };
>> + };
>> + };
>> + };
>> +...
>> diff --git a/Documentation/devicetree/bindings/dpll/microchip,zl3073x-spi.yaml b/Documentation/devicetree/bindings/dpll/microchip,zl3073x-spi.yaml
>> new file mode 100644
>> index 0000000000000..7bd6e5099e1ce
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/dpll/microchip,zl3073x-spi.yaml
>
> No, you do not get two files. Neither two compatibles, nor two files.
> Please look at existing bindings how they do it for such devices.

Thanks Krzysztof for comments.

Ivan