- Add reference to clock.yaml, and switch to unevaluatedProperties, to stop complaining about the presence of "assigned-clock-rates" and "assigned-clocks" in board DTS files, - Fix typo in "idt,voltage-microvolts" property name, to match example and driver code, - Add missing reference for "idt,voltage-microvolts", - Add missing "additionalProperties: false" for subnodes, to catch typos in properties, - There is no reason to wrap the (single) if condition in an allOf block, - Fix obsolete property names in example. Fixes: 45c940184b501fc6 ("dt-bindings: clk: versaclock5: convert to yaml") Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> --- Notes: 1. The use of "idt,voltage-microvolts" (with trailing S) is a bit unfortunate, as Documentation/devicetree/bindings/property-units.txt suggests to not have the trailing edge. Can we still fix the driver and bindings? While this entered uptstream in v5.9, there are no users in next-20201216. 2. Due to "clock-output-names" being part of dt-schema/schemas/clock/clock.yaml, the presence of this property does not trigger an error. Adding "clock-output-names: false" can fix that. But given this property is deprecated, except for very specific use cases, explicitly allowing it for those few use cases would be better. --- .../bindings/clock/idt,versaclock5.yaml | 53 ++++++++++--------- 1 file changed, 29 insertions(+), 24 deletions(-) diff --git a/Documentation/devicetree/bindings/clock/idt,versaclock5.yaml b/Documentation/devicetree/bindings/clock/idt,versaclock5.yaml index 2ac1131fd9222a86..14851e76f6342095 100644 --- a/Documentation/devicetree/bindings/clock/idt,versaclock5.yaml +++ b/Documentation/devicetree/bindings/clock/idt,versaclock5.yaml @@ -33,6 +33,9 @@ description: | maintainers: - Luca Ceresoli <luca@xxxxxxxxxxxxxxxx> +allOf: + - $ref: clock.yaml# + properties: compatible: enum: @@ -73,40 +76,42 @@ patternProperties: $ref: /schemas/types.yaml#/definitions/uint32 minimum: 0 maximum: 6 - idt,voltage-microvolt: + idt,voltage-microvolts: description: The output drive voltage. + $ref: /schemas/types.yaml#/definitions/uint32 enum: [ 1800000, 2500000, 3300000 ] idt,slew-percent: description: The Slew rate control for CMOS single-ended. $ref: /schemas/types.yaml#/definitions/uint32 enum: [ 80, 85, 90, 100 ] + additionalProperties: false + required: - compatible - reg - '#clock-cells' -allOf: - - if: - properties: - compatible: - enum: - - idt,5p49v5933 - - idt,5p49v5935 - then: - # Devices with builtin crystal + optional external input - properties: - clock-names: - const: clkin - clocks: - maxItems: 1 - else: - # Devices without builtin crystal - required: - - clock-names - - clocks - -additionalProperties: false +if: + properties: + compatible: + enum: + - idt,5p49v5933 + - idt,5p49v5935 +then: + # Devices with builtin crystal + optional external input + properties: + clock-names: + const: clkin + clocks: + maxItems: 1 +else: + # Devices without builtin crystal + required: + - clock-names + - clocks + +unevaluatedProperties: false examples: - | @@ -135,13 +140,13 @@ examples: clock-names = "xin"; OUT1 { - idt,drive-mode = <VC5_CMOSD>; + idt,mode = <VC5_CMOSD>; idt,voltage-microvolts = <1800000>; idt,slew-percent = <80>; }; OUT4 { - idt,drive-mode = <VC5_LVDS>; + idt,mode = <VC5_LVDS>; }; }; }; -- 2.25.1