Message ID | 20240323-rtc-yaml-v1-1-0c5d12b1b89d@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | dt-bindings: rtc: convert multiple devices to dtschema | expand |
On 23/03/2024 23:46:13+0100, Javier Carrasco wrote: > Convert existing binding to dtschema to support validation. > > This is a direct conversion with no additions. > > Signed-off-by: Javier Carrasco <javier.carrasco.cruz@gmail.com> > --- > .../devicetree/bindings/rtc/armada-380-rtc.txt | 24 ----------- > .../bindings/rtc/marvell,armada-380-rtc.yaml | 48 ++++++++++++++++++++++ > 2 files changed, 48 insertions(+), 24 deletions(-) > > diff --git a/Documentation/devicetree/bindings/rtc/armada-380-rtc.txt b/Documentation/devicetree/bindings/rtc/armada-380-rtc.txt > deleted file mode 100644 > index c3c9a1226f9a..000000000000 > --- a/Documentation/devicetree/bindings/rtc/armada-380-rtc.txt > +++ /dev/null > @@ -1,24 +0,0 @@ > -* Real Time Clock of the Armada 38x/7K/8K SoCs > - > -RTC controller for the Armada 38x, 7K and 8K SoCs > - > -Required properties: > -- compatible : Should be one of the following: > - "marvell,armada-380-rtc" for Armada 38x SoC > - "marvell,armada-8k-rtc" for Aramda 7K/8K SoCs > -- reg: a list of base address and size pairs, one for each entry in > - reg-names > -- reg names: should contain: > - * "rtc" for the RTC registers > - * "rtc-soc" for the SoC related registers and among them the one > - related to the interrupt. > -- interrupts: IRQ line for the RTC. > - > -Example: > - > -rtc@a3800 { > - compatible = "marvell,armada-380-rtc"; > - reg = <0xa3800 0x20>, <0x184a0 0x0c>; > - reg-names = "rtc", "rtc-soc"; > - interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>; > -}; > diff --git a/Documentation/devicetree/bindings/rtc/marvell,armada-380-rtc.yaml b/Documentation/devicetree/bindings/rtc/marvell,armada-380-rtc.yaml > new file mode 100644 > index 000000000000..388c7d7a044d > --- /dev/null > +++ b/Documentation/devicetree/bindings/rtc/marvell,armada-380-rtc.yaml > @@ -0,0 +1,48 @@ > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/rtc/marvell,armada-380-rtc.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: RTC controller for the Armada 38x, 7K and 8K SoCs > + > +maintainers: > + - Javier Carrasco <javier.carrasco.cruz@gmail.com> > + > +properties: > + compatible: > + enum: > + - marvell,armada-380-rtc > + - marvell,armada-8k-rtc > + > + reg: > + items: > + - description: RTC base address size > + - description: Base address and size of SoC related registers > + > + reg-names: > + items: > + - const: rtc > + - const: rtc-soc > + > + interrupts: > + maxItems: 1 > + > +required: > + - compatible > + - reg > + - reg-names > + - interrupts > + > +additionalProperties: false This is not correct because at least start-year is supported. Please check for all your other submissions too. > + > +examples: > + - | > + #include <dt-bindings/interrupt-controller/arm-gic.h> > + > + rtc@a3800 { > + compatible = "marvell,armada-380-rtc"; > + reg = <0xa3800 0x20>, <0x184a0 0x0c>; > + reg-names = "rtc", "rtc-soc"; > + interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>; > + }; > > -- > 2.40.1 >
On 3/24/24 00:37, Alexandre Belloni wrote: > On 23/03/2024 23:46:13+0100, Javier Carrasco wrote: >> Convert existing binding to dtschema to support validation. >> >> +required: >> + - compatible >> + - reg >> + - reg-names >> + - interrupts >> + >> +additionalProperties: false > > This is not correct because at least start-year is supported. Please > check for all your other submissions too. > allOf: - $ref: rtc.yaml# is missing, and then unvealuatedProperties: false to account for that. "start-year" is read in the RTC base class, so I wonder why so many RTC bindings add a reference to rtc.yaml, but then use additionalProperties: false >> + >> +examples: >> + - | >> + #include <dt-bindings/interrupt-controller/arm-gic.h> >> + >> + rtc@a3800 { >> + compatible = "marvell,armada-380-rtc"; >> + reg = <0xa3800 0x20>, <0x184a0 0x0c>; >> + reg-names = "rtc", "rtc-soc"; >> + interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>; >> + }; >> >> -- >> 2.40.1 >> > Thanks and best regards, Javier Carrasco
On Sun, Mar 24, 2024 at 01:02:31AM +0100, Javier Carrasco wrote: > On 3/24/24 00:37, Alexandre Belloni wrote: > > On 23/03/2024 23:46:13+0100, Javier Carrasco wrote: > >> Convert existing binding to dtschema to support validation. > >> > >> +required: > >> + - compatible > >> + - reg > >> + - reg-names > >> + - interrupts > >> + > >> +additionalProperties: false > > > > This is not correct because at least start-year is supported. Please > > check for all your other submissions too. > > > > allOf: > - $ref: rtc.yaml# > > is missing, and then > > unvealuatedProperties: false > > to account for that. > > "start-year" is read in the RTC base class, so I wonder why so many RTC > bindings add a reference to rtc.yaml, but then use > > additionalProperties: false They may have pre-dated support for 'unevaluatedProperties', or you can list out which properties are used from a referenced schema which disallows unlisted properties. There's no hard rule here. Either way is fine. Other than this and my 1 other comment, this series looks fine to me. Rob
diff --git a/Documentation/devicetree/bindings/rtc/armada-380-rtc.txt b/Documentation/devicetree/bindings/rtc/armada-380-rtc.txt deleted file mode 100644 index c3c9a1226f9a..000000000000 --- a/Documentation/devicetree/bindings/rtc/armada-380-rtc.txt +++ /dev/null @@ -1,24 +0,0 @@ -* Real Time Clock of the Armada 38x/7K/8K SoCs - -RTC controller for the Armada 38x, 7K and 8K SoCs - -Required properties: -- compatible : Should be one of the following: - "marvell,armada-380-rtc" for Armada 38x SoC - "marvell,armada-8k-rtc" for Aramda 7K/8K SoCs -- reg: a list of base address and size pairs, one for each entry in - reg-names -- reg names: should contain: - * "rtc" for the RTC registers - * "rtc-soc" for the SoC related registers and among them the one - related to the interrupt. -- interrupts: IRQ line for the RTC. - -Example: - -rtc@a3800 { - compatible = "marvell,armada-380-rtc"; - reg = <0xa3800 0x20>, <0x184a0 0x0c>; - reg-names = "rtc", "rtc-soc"; - interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>; -}; diff --git a/Documentation/devicetree/bindings/rtc/marvell,armada-380-rtc.yaml b/Documentation/devicetree/bindings/rtc/marvell,armada-380-rtc.yaml new file mode 100644 index 000000000000..388c7d7a044d --- /dev/null +++ b/Documentation/devicetree/bindings/rtc/marvell,armada-380-rtc.yaml @@ -0,0 +1,48 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/rtc/marvell,armada-380-rtc.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: RTC controller for the Armada 38x, 7K and 8K SoCs + +maintainers: + - Javier Carrasco <javier.carrasco.cruz@gmail.com> + +properties: + compatible: + enum: + - marvell,armada-380-rtc + - marvell,armada-8k-rtc + + reg: + items: + - description: RTC base address size + - description: Base address and size of SoC related registers + + reg-names: + items: + - const: rtc + - const: rtc-soc + + interrupts: + maxItems: 1 + +required: + - compatible + - reg + - reg-names + - interrupts + +additionalProperties: false + +examples: + - | + #include <dt-bindings/interrupt-controller/arm-gic.h> + + rtc@a3800 { + compatible = "marvell,armada-380-rtc"; + reg = <0xa3800 0x20>, <0x184a0 0x0c>; + reg-names = "rtc", "rtc-soc"; + interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>; + };
Convert existing binding to dtschema to support validation. This is a direct conversion with no additions. Signed-off-by: Javier Carrasco <javier.carrasco.cruz@gmail.com> --- .../devicetree/bindings/rtc/armada-380-rtc.txt | 24 ----------- .../bindings/rtc/marvell,armada-380-rtc.yaml | 48 ++++++++++++++++++++++ 2 files changed, 48 insertions(+), 24 deletions(-)