Message ID | 20230505080621.96646-1-biju.das.jz@bp.renesas.com |
---|---|
State | Superseded |
Headers | show |
Series | [v2] dt-bindings: rtc: isl1208: Convert to json-schema | expand |
Hi Biju, On Fri, May 5, 2023 at 10:06 AM Biju Das <biju.das.jz@bp.renesas.com> wrote: > Convert the isl1208 RTC device tree binding documentation to json-schema. > > Update the example to match reality. > > Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com> > --- > RFC->v2: > * Updated maintainers list > * Updated description from original bindings > * removed default from isil,ev-evienb properties to match with the original > bindings. > * Added conditional check for interrupts. Thanks for the update! > --- a/Documentation/devicetree/bindings/rtc/isil,isl1208.txt > +++ /dev/null > @@ -1,38 +0,0 @@ > -Intersil ISL1209/19 I2C RTC/Alarm chip with event in > - > -ISL12X9 have additional pins EVIN and #EVDET for tamper detection, while the > -ISL1208 and ISL1218 do not. They are all use the same driver with the bindings > -described here, with chip specific properties as noted. > - > -Required properties supported by the device: > - - "compatible": Should be one of the following: > - - "isil,isl1208" > - - "isil,isl1209" > - - "isil,isl1218" > - - "isil,isl1219" > - - "reg": I2C bus address of the device > - > -Optional properties: > - - "interrupt-names": list which may contains "irq" and "evdet" > - evdet applies to isl1209 and isl1219 only > - - "interrupts": list of interrupts for "irq" and "evdet" > - evdet applies to isl1209 and isl1219 only > - - "isil,ev-evienb": Enable or disable internal pull on EVIN pin > - Applies to isl1209 and isl1219 only > - Possible values are 0 and 1 > - Value 0 enables internal pull-up on evin pin, 1 disables it. > - Default will leave the non-volatile configuration of the pullup > - as is. > - > -Example isl1219 node with #IRQ pin connected to SoC gpio1 pin12 and #EVDET pin > -connected to SoC gpio2 pin 24 and internal pull-up enabled in EVIN pin. > - > - isl1219: rtc@68 { > - compatible = "isil,isl1219"; > - reg = <0x68>; > - interrupt-names = "irq", "evdet"; > - interrupts-extended = <&gpio1 12 IRQ_TYPE_EDGE_FALLING>, > - <&gpio2 24 IRQ_TYPE_EDGE_FALLING>; > - isil,ev-evienb = <1>; > - }; > - > diff --git a/Documentation/devicetree/bindings/rtc/isil,isl1208.yaml b/Documentation/devicetree/bindings/rtc/isil,isl1208.yaml > new file mode 100644 > index 000000000000..ca72f64a655c > --- /dev/null > +++ b/Documentation/devicetree/bindings/rtc/isil,isl1208.yaml > @@ -0,0 +1,86 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/rtc/isil,isl1208.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Intersil ISL1209/19 I2C RTC/Alarm chip with event in > + > +maintainers: > + - Trent Piepho <tpiepho@gmail.com> > + > +description: | > + ISL12X9 have additional pins EVIN and #EVDET for tamper detection, while the > + ISL1208 and ISL1218 do not. > + > +properties: > + compatible: > + oneOf: > + - enum: > + - isil,isl1208 > + - isil,isl1209 > + - isil,isl1218 > + - isil,isl1219 > + > + reg: > + maxItems: 1 > + > + interrupts: > + minItems: 1 > + maxItems: 2 > + > + interrupt-names: true Please keep the list of names here. > + > + isil,ev-evienb: > + $ref: /schemas/types.yaml#/definitions/uint32 > + enum: [ 0, 1 ] > + description: | > + Enable or disable internal pull on EVIN pin > + Default will leave the non-volatile configuration of the pullup > + as is. > + <0> : Enables internal pull-up on evin pin > + <1> : Disables internal pull-up on evin pin > + > +required: > + - compatible > + - reg > + > +allOf: > + - $ref: rtc.yaml# > + - if: > + properties: > + compatible: > + contains: > + enum: > + - isil,isl1209 > + - isil,isl1219 > + then: > + properties: > + interrupts: > + maxItems: 2 > + interrupt-names: > + items: > + - const: irq > + - const: evdet > + required: > + - interrupts > + - interrupt-names Interrupts are not required (may not be wired), and are considered optional by the driver, too. > + - isil,ev-evienb Also not required, as per the default (leave as-is). > + else: > + properties: > + interrupts: > + maxItems: 1 Gr{oetje,eeting}s, Geert
Hi Geert, Thanks for the feedback. > Subject: Re: [PATCH v2] dt-bindings: rtc: isl1208: Convert to json-schema > > Hi Biju, > > On Fri, May 5, 2023 at 10:06 AM Biju Das <biju.das.jz@bp.renesas.com> wrote: > > Convert the isl1208 RTC device tree binding documentation to json-schema. > > > > Update the example to match reality. > > > > Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com> > > --- > > RFC->v2: > > * Updated maintainers list > > * Updated description from original bindings > > * removed default from isil,ev-evienb properties to match with the > original > > bindings. > > * Added conditional check for interrupts. > > Thanks for the update! > > > --- a/Documentation/devicetree/bindings/rtc/isil,isl1208.txt > > +++ /dev/null > > @@ -1,38 +0,0 @@ > > -Intersil ISL1209/19 I2C RTC/Alarm chip with event in > > - > > -ISL12X9 have additional pins EVIN and #EVDET for tamper detection, > > while the > > -ISL1208 and ISL1218 do not. They are all use the same driver with > > the bindings -described here, with chip specific properties as noted. > > - > > -Required properties supported by the device: > > - - "compatible": Should be one of the following: > > - - "isil,isl1208" > > - - "isil,isl1209" > > - - "isil,isl1218" > > - - "isil,isl1219" > > - - "reg": I2C bus address of the device > > - > > -Optional properties: > > - - "interrupt-names": list which may contains "irq" and "evdet" > > - evdet applies to isl1209 and isl1219 only > > - - "interrupts": list of interrupts for "irq" and "evdet" > > - evdet applies to isl1209 and isl1219 only > > - - "isil,ev-evienb": Enable or disable internal pull on EVIN pin > > - Applies to isl1209 and isl1219 only > > - Possible values are 0 and 1 > > - Value 0 enables internal pull-up on evin pin, 1 disables it. > > - Default will leave the non-volatile configuration of the pullup > > - as is. > > - > > -Example isl1219 node with #IRQ pin connected to SoC gpio1 pin12 and > > #EVDET pin -connected to SoC gpio2 pin 24 and internal pull-up enabled in > EVIN pin. > > - > > - isl1219: rtc@68 { > > - compatible = "isil,isl1219"; > > - reg = <0x68>; > > - interrupt-names = "irq", "evdet"; > > - interrupts-extended = <&gpio1 12 IRQ_TYPE_EDGE_FALLING>, > > - <&gpio2 24 IRQ_TYPE_EDGE_FALLING>; > > - isil,ev-evienb = <1>; > > - }; > > - > > diff --git a/Documentation/devicetree/bindings/rtc/isil,isl1208.yaml > > b/Documentation/devicetree/bindings/rtc/isil,isl1208.yaml > > new file mode 100644 > > index 000000000000..ca72f64a655c > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/rtc/isil,isl1208.yaml > > @@ -0,0 +1,86 @@ > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 > > +--- > > +$id: > > + > > +title: Intersil ISL1209/19 I2C RTC/Alarm chip with event in > > + > > +maintainers: > > + - Trent Piepho <tpiepho@gmail.com> > > + > > +description: | > > + ISL12X9 have additional pins EVIN and #EVDET for tamper detection, > > +while the > > + ISL1208 and ISL1218 do not. > > + > > +properties: > > + compatible: > > + oneOf: > > + - enum: > > + - isil,isl1208 > > + - isil,isl1209 > > + - isil,isl1218 > > + - isil,isl1219 > > + > > + reg: > > + maxItems: 1 > > + > > + interrupts: > > + minItems: 1 > > + maxItems: 2 > > + > > + interrupt-names: true > > Please keep the list of names here. OK. > > > + > > + isil,ev-evienb: > > + $ref: /schemas/types.yaml#/definitions/uint32 > > + enum: [ 0, 1 ] > > + description: | > > + Enable or disable internal pull on EVIN pin > > + Default will leave the non-volatile configuration of the pullup > > + as is. > > + <0> : Enables internal pull-up on evin pin > > + <1> : Disables internal pull-up on evin pin > > + > > +required: > > + - compatible > > + - reg > > + > > +allOf: > > + - $ref: rtc.yaml# > > + - if: > > + properties: > > + compatible: > > + contains: > > + enum: > > + - isil,isl1209 > > + - isil,isl1219 > > + then: > > + properties: > > + interrupts: > > + maxItems: 2 > > + interrupt-names: > > + items: > > + - const: irq > > + - const: evdet > > + required: > > + - interrupts > > + - interrupt-names > > Interrupts are not required (may not be wired), and are considered optional > by the driver, too. OK, will remove. > > > + - isil,ev-evienb > > Also not required, as per the default (leave as-is). Agreed. Cheers, Biju > > > + else: > > + properties: > > + interrupts: > > + maxItems: 1 > > Gr{oetje,eeting}s, > > Geert > > -- > Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux- > m68k.org > > In personal conversations with technical people, I call myself a hacker. But > when I'm talking to journalists I just say "programmer" or something like > that. > -- Linus Torvalds
diff --git a/Documentation/devicetree/bindings/rtc/isil,isl1208.txt b/Documentation/devicetree/bindings/rtc/isil,isl1208.txt deleted file mode 100644 index 51f003006f04..000000000000 --- a/Documentation/devicetree/bindings/rtc/isil,isl1208.txt +++ /dev/null @@ -1,38 +0,0 @@ -Intersil ISL1209/19 I2C RTC/Alarm chip with event in - -ISL12X9 have additional pins EVIN and #EVDET for tamper detection, while the -ISL1208 and ISL1218 do not. They are all use the same driver with the bindings -described here, with chip specific properties as noted. - -Required properties supported by the device: - - "compatible": Should be one of the following: - - "isil,isl1208" - - "isil,isl1209" - - "isil,isl1218" - - "isil,isl1219" - - "reg": I2C bus address of the device - -Optional properties: - - "interrupt-names": list which may contains "irq" and "evdet" - evdet applies to isl1209 and isl1219 only - - "interrupts": list of interrupts for "irq" and "evdet" - evdet applies to isl1209 and isl1219 only - - "isil,ev-evienb": Enable or disable internal pull on EVIN pin - Applies to isl1209 and isl1219 only - Possible values are 0 and 1 - Value 0 enables internal pull-up on evin pin, 1 disables it. - Default will leave the non-volatile configuration of the pullup - as is. - -Example isl1219 node with #IRQ pin connected to SoC gpio1 pin12 and #EVDET pin -connected to SoC gpio2 pin 24 and internal pull-up enabled in EVIN pin. - - isl1219: rtc@68 { - compatible = "isil,isl1219"; - reg = <0x68>; - interrupt-names = "irq", "evdet"; - interrupts-extended = <&gpio1 12 IRQ_TYPE_EDGE_FALLING>, - <&gpio2 24 IRQ_TYPE_EDGE_FALLING>; - isil,ev-evienb = <1>; - }; - diff --git a/Documentation/devicetree/bindings/rtc/isil,isl1208.yaml b/Documentation/devicetree/bindings/rtc/isil,isl1208.yaml new file mode 100644 index 000000000000..ca72f64a655c --- /dev/null +++ b/Documentation/devicetree/bindings/rtc/isil,isl1208.yaml @@ -0,0 +1,86 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/rtc/isil,isl1208.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Intersil ISL1209/19 I2C RTC/Alarm chip with event in + +maintainers: + - Trent Piepho <tpiepho@gmail.com> + +description: | + ISL12X9 have additional pins EVIN and #EVDET for tamper detection, while the + ISL1208 and ISL1218 do not. + +properties: + compatible: + oneOf: + - enum: + - isil,isl1208 + - isil,isl1209 + - isil,isl1218 + - isil,isl1219 + + reg: + maxItems: 1 + + interrupts: + minItems: 1 + maxItems: 2 + + interrupt-names: true + + isil,ev-evienb: + $ref: /schemas/types.yaml#/definitions/uint32 + enum: [ 0, 1 ] + description: | + Enable or disable internal pull on EVIN pin + Default will leave the non-volatile configuration of the pullup + as is. + <0> : Enables internal pull-up on evin pin + <1> : Disables internal pull-up on evin pin + +required: + - compatible + - reg + +allOf: + - $ref: rtc.yaml# + - if: + properties: + compatible: + contains: + enum: + - isil,isl1209 + - isil,isl1219 + then: + properties: + interrupts: + maxItems: 2 + interrupt-names: + items: + - const: irq + - const: evdet + required: + - interrupts + - interrupt-names + - isil,ev-evienb + else: + properties: + interrupts: + maxItems: 1 + +unevaluatedProperties: false + +examples: + - | + i2c { + #address-cells = <1>; + #size-cells = <0>; + + rtc_twi: rtc@6f { + compatible = "isil,isl1208"; + reg = <0x6f>; + }; + };
Convert the isl1208 RTC device tree binding documentation to json-schema. Update the example to match reality. Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com> --- RFC->v2: * Updated maintainers list * Updated description from original bindings * removed default from isil,ev-evienb properties to match with the original bindings. * Added conditional check for interrupts. --- .../devicetree/bindings/rtc/isil,isl1208.txt | 38 -------- .../devicetree/bindings/rtc/isil,isl1208.yaml | 86 +++++++++++++++++++ 2 files changed, 86 insertions(+), 38 deletions(-) delete mode 100644 Documentation/devicetree/bindings/rtc/isil,isl1208.txt create mode 100644 Documentation/devicetree/bindings/rtc/isil,isl1208.yaml