Re: [PATCH 1/2] dt-bindings: rtc: ds1307: Convert to json-schema

Rob Herring
2022-01-04T19:22:15Z

On Fri, Dec 17, 2021 at 06:03:10PM +0100, Thierry Reding wrote:
> From: Thierry Reding <treding@nvidia.com>
>
> Convert the DS1307 (and compatible) RTC bindings from the free-form text
> format to json-schema.
>
> Signed-off-by: Thierry Reding <treding@nvidia.com>
> ---
> .../devicetree/bindings/rtc/rtc-ds1307.txt | 52 ---------
> .../devicetree/bindings/rtc/rtc-ds1307.yaml | 104 ++++++++++++++++++
> 2 files changed, 104 insertions(+), 52 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/rtc/rtc-ds1307.txt
> create mode 100644 Documentation/devicetree/bindings/rtc/rtc-ds1307.yaml
>
> diff --git a/Documentation/devicetree/bindings/rtc/rtc-ds1307.txt b/Documentation/devicetree/bindings/rtc/rtc-ds1307.txt
> deleted file mode 100644
> index 36f610bb051e..000000000000
> --- a/Documentation/devicetree/bindings/rtc/rtc-ds1307.txt
> +++ /dev/null
> @@ -1,52 +0,0 @@
> -Dallas DS1307 and compatible RTC
> -
> -Required properties:
> -- compatible: should be one of:
> - "dallas,ds1307",
> - "dallas,ds1308",
> - "dallas,ds1337",
> - "dallas,ds1338",
> - "dallas,ds1339",
> - "dallas,ds1388",
> - "dallas,ds1340",
> - "dallas,ds1341",
> - "maxim,ds3231",
> - "st,m41t0",
> - "st,m41t00",
> - "st,m41t11",
> - "microchip,mcp7940x",
> - "microchip,mcp7941x",
> - "pericom,pt7c4338",
> - "epson,rx8025",
> - "isil,isl12057"
> - "epson,rx8130"
> -- reg: I2C bus address of the device
> -
> -Optional properties:
> -- interrupts: rtc alarm interrupt.
> -- clock-output-names: From common clock binding to override the default output
> - clock name
> -- wakeup-source: Enables wake up of host system on alarm
> -- trickle-resistor-ohms : ds1339, ds1340 and ds 1388 only
> - Selected resistor for trickle charger
> - Possible values are 250, 2000, 4000
> - Should be given if trickle charger should be enabled
> -- aux-voltage-chargeable: ds1339, ds1340, ds1388 and rx8130 only
> - Tells whether the battery/supercap of the RTC (if any) is
> - chargeable or not.
> - Possible values are 0 (not chargeable), 1 (chargeable)
> -
> -Deprecated properties:
> -- trickle-diode-disable : ds1339, ds1340 and ds1388 only
> - Do not use internal trickle charger diode
> - Should be given if internal trickle charger diode should be disabled
> - (superseded by aux-voltage-chargeable)
> -
> -Example:
> - ds1339: rtc@68 {
> - compatible = "dallas,ds1339";
> - reg = <0x68>;
> - interrupt-parent = <&gpio4>;
> - interrupts = <20 0>;
> - trickle-resistor-ohms = <250>;
> - };
> diff --git a/Documentation/devicetree/bindings/rtc/rtc-ds1307.yaml b/Documentation/devicetree/bindings/rtc/rtc-ds1307.yaml
> new file mode 100644
> index 000000000000..df0b55938bda
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/rtc/rtc-ds1307.yaml
> @@ -0,0 +1,104 @@
> +# SPDX-License-Identifier: GPL-2.0
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/rtc/rtc-ds1307.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Dallas DS1307 and compatible RTC
> +
> +maintainers:
> + - Alexandre Belloni <alexandre.belloni@bootlin.com>
> +
> +properties:
> + compatible:
> + enum:
> + - dallas,ds1307
> + - dallas,ds1308
> + - dallas,ds1337
> + - dallas,ds1338
> + - dallas,ds1339
> + - dallas,ds1388
> + - dallas,ds1340
> + - dallas,ds1341
> + - maxim,ds3231
> + - st,m41t0
> + - st,m41t00
> + - st,m41t11
> + - microchip,mcp7940x
> + - microchip,mcp7941x
> + - pericom,pt7c4338
> + - epson,rx8025
> + - isil,isl12057
> + - epson,rx8130
> +
> + reg:
> + maxItems: 1
> +
> + interrupts:
> + maxItems: 1

Looks like some platforms have 2 interrupts?

> +
> + "#clock-cells":
> + const: 1
> +
> + clock-output-names:
> + description: From common clock binding to override the default output clock name.
> +
> + wakeup-source:
> + description: Enables wake up of host system on alarm.
> +
> +allOf:
> + - $ref: rtc.yaml
> + - if:
> + properties:
> + compatible:
> + contains:
> + enum:
> + - dallas,ds1339
> + - dallas,ds1340
> + - dallas,ds1388
> + then:
> + properties:
> + trickle-resistor-ohms:
> + description: Selected resistor for trickle charger. Should be specified if trickle
> + charger should be enabled.
> + enum: [ 250, 2000, 4000 ]
> +
> + trickle-diode-disable:
> + description: Do not use internal trickle charger diode. Should be given if internal
> + trickle charger diode should be disabled (superseded by aux-voltage-chargeable)
> + deprecated: true
> +
> +# - if:
> +# properties:
> +# compatible:
> +# not:
> +# contains:
> +# enum:
> +# - dallas,ds1339
> +# - dallas,ds1340
> +# - dallas,ds1388
> +# - epson,rx8130
> +# then:
> +# properties:
> +# aux-voltage-chargeable: false

Why is this commented out?

> +
> +unevaluatedProperties: false
> +
> +required:
> + - compatible
> + - reg
> +
> +examples:
> + - |
> + i2c {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + rtc@68 {
> + compatible = "dallas,ds1337";
> + reg = <0x68>;
> + interrupt-parent = <&gpio4>;
> + interrupts = <20 0>;
> + trickle-resistor-ohms = <250>;
> + };
> + };
> --
> 2.34.1
>
>