Message ID | 20221214222024.951984-1-alexander.sverdlin@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/2] dt-bindings: iio: adc: ep93xx: Add cirrus,ep9301-adc description | expand |
On 14/12/2022 23:20, Alexander Sverdlin wrote: > Add device tree bindings for Cirrus Logic EP9301/EP9302 internal SoCs' ADC > block. > > Signed-off-by: Alexander Sverdlin <alexander.sverdlin@gmail.com> > --- > .../bindings/iio/adc/cirrus,ep9301-adc.yaml | 58 +++++++++++++++++++ > MAINTAINERS | 2 + > 2 files changed, 60 insertions(+) > create mode 100644 Documentation/devicetree/bindings/iio/adc/cirrus,ep9301-adc.yaml > > diff --git a/Documentation/devicetree/bindings/iio/adc/cirrus,ep9301-adc.yaml b/Documentation/devicetree/bindings/iio/adc/cirrus,ep9301-adc.yaml > new file mode 100644 > index 000000000000..d0fd24d1be04 > --- /dev/null > +++ b/Documentation/devicetree/bindings/iio/adc/cirrus,ep9301-adc.yaml > @@ -0,0 +1,58 @@ > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/iio/adc/cirrus,ep9301-adc.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Cirrus Logic EP930x internal ADC > + > +description: | > + Cirrus Logic EP9301/EP9302 SoCs' internal ADC block. > + > + User's manual: > + https://cdn.embeddedts.com/resource-attachments/ts-7000_ep9301-ug.pdf > + > +maintainers: > + - Alexander Sverdlin <alexander.sverdlin@gmail.com> > + > +properties: > + compatible: > + const: cirrus,ep9301-adc > + > + reg: > + maxItems: 1 > + > + clocks: > + maxItems: 1 > + > + clock-names: > + const: ep93xx-adc One entry with same name as device is not really useful, so maybe just drop it? > + > + interrupts: > + maxItems: 1 > + > +required: > + - compatible > + - reg > + - clocks > + - clock-names > + > +additionalProperties: false > + > +examples: > + - | > + #include <dt-bindings/clock/cirrus,ep93xx-clock.h> > + soc { > + #address-cells = <1>; > + #size-cells = <1>; I think you do not need the soc node as examples are built with address/size-cells=1 Best regards, Krzysztof
On Wed, 14 Dec 2022 23:20:23 +0100, Alexander Sverdlin wrote: > Add device tree bindings for Cirrus Logic EP9301/EP9302 internal SoCs' ADC > block. > > Signed-off-by: Alexander Sverdlin <alexander.sverdlin@gmail.com> > --- > .../bindings/iio/adc/cirrus,ep9301-adc.yaml | 58 +++++++++++++++++++ > MAINTAINERS | 2 + > 2 files changed, 60 insertions(+) > create mode 100644 Documentation/devicetree/bindings/iio/adc/cirrus,ep9301-adc.yaml > My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check' on your patch (DT_CHECKER_FLAGS is new in v5.13): yamllint warnings/errors: dtschema/dtc warnings/errors: Documentation/devicetree/bindings/iio/adc/cirrus,ep9301-adc.example.dts:21:18: fatal error: dt-bindings/clock/cirrus,ep93xx-clock.h: No such file or directory 21 | #include <dt-bindings/clock/cirrus,ep93xx-clock.h> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. make[1]: *** [scripts/Makefile.lib:406: Documentation/devicetree/bindings/iio/adc/cirrus,ep9301-adc.example.dtb] Error 1 make[1]: *** Waiting for unfinished jobs.... make: *** [Makefile:1492: dt_binding_check] Error 2 doc reference errors (make refcheckdocs): See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20221214222024.951984-1-alexander.sverdlin@gmail.com The base for the series is generally the latest rc1. A different dependency should be noted in *this* patch. If you already ran 'make dt_binding_check' and didn't see the above error(s), then make sure 'yamllint' is installed and dt-schema is up to date: pip3 install dtschema --upgrade Please check and re-submit after running the above command yourself. Note that DT_SCHEMA_FILES can be set to your schema file to speed up checking your schema. However, it must be unset to test all examples with your schema.
On Wed, Dec 14, 2022 at 11:20:23PM +0100, Alexander Sverdlin wrote: > Add device tree bindings for Cirrus Logic EP9301/EP9302 internal SoCs' ADC > block. > > Signed-off-by: Alexander Sverdlin <alexander.sverdlin@gmail.com> > --- > .../bindings/iio/adc/cirrus,ep9301-adc.yaml | 58 +++++++++++++++++++ > MAINTAINERS | 2 + > 2 files changed, 60 insertions(+) > create mode 100644 Documentation/devicetree/bindings/iio/adc/cirrus,ep9301-adc.yaml > > diff --git a/Documentation/devicetree/bindings/iio/adc/cirrus,ep9301-adc.yaml b/Documentation/devicetree/bindings/iio/adc/cirrus,ep9301-adc.yaml > new file mode 100644 > index 000000000000..d0fd24d1be04 > --- /dev/null > +++ b/Documentation/devicetree/bindings/iio/adc/cirrus,ep9301-adc.yaml > @@ -0,0 +1,58 @@ > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/iio/adc/cirrus,ep9301-adc.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Cirrus Logic EP930x internal ADC > + > +description: | > + Cirrus Logic EP9301/EP9302 SoCs' internal ADC block. > + > + User's manual: > + https://cdn.embeddedts.com/resource-attachments/ts-7000_ep9301-ug.pdf > + > +maintainers: > + - Alexander Sverdlin <alexander.sverdlin@gmail.com> > + > +properties: > + compatible: > + const: cirrus,ep9301-adc > + > + reg: > + maxItems: 1 > + > + clocks: > + maxItems: 1 > + > + clock-names: > + const: ep93xx-adc Weird name for a clock. Generally is signal name or what it controls (e.g. bus, core, etc.). Perhaps just drop it. > + > + interrupts: > + maxItems: 1 > + > +required: > + - compatible > + - reg > + - clocks > + - clock-names > + > +additionalProperties: false > + > +examples: > + - | > + #include <dt-bindings/clock/cirrus,ep93xx-clock.h> > + soc { > + #address-cells = <1>; > + #size-cells = <1>; > + > + adc: adc@80900000 { > + compatible = "cirrus,ep9301-adc"; > + reg = <0x80900000 0x28>; > + clocks = <&syscon EP93XX_CLK_ADC>; > + clock-names = "ep93xx-adc"; > + interrupt-parent = <&vic1>; > + interrupts = <30>; > + }; > + }; > +... > diff --git a/MAINTAINERS b/MAINTAINERS > index 69565ac0c224..4a914d5bc2e6 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -2027,8 +2027,10 @@ M: Hartley Sweeten <hsweeten@visionengravers.com> > M: Alexander Sverdlin <alexander.sverdlin@gmail.com> > L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) > S: Maintained > +F: Documentation/devicetree/bindings/iio/adc/cirrus,ep9301-adc.yaml > F: arch/arm/mach-ep93xx/ > F: arch/arm/mach-ep93xx/include/mach/ > +F: drivers/iio/adc/ep93xx_adc.c > > ARM/CLKDEV SUPPORT > M: Russell King <linux@armlinux.org.uk> > -- > 2.37.3 > >
Thanks Krzysztof, Rob, I'll incorporate your comments into the next version, but... On Thu, 2022-12-15 at 10:18 -0600, Rob Herring wrote: > > + clock-names: > > + const: ep93xx-adc > > Weird name for a clock. Generally is signal name or what it > controls (e.g. bus, core, etc.). Perhaps just drop it. > > > + > > + interrupts: > > + maxItems: 1 > > + > > +required: > > + - compatible > > + - reg > > + - clocks > > + - clock-names > > + > > +additionalProperties: false > > + > > +examples: > > + - | > > + #include <dt-bindings/clock/cirrus,ep93xx-clock.h> your robot was right, this dependency is missing, I thought I can prepare the ADC driver in advance, but seems it has to go together with the whole DT conversion of the EP93xx series.
On 15/12/2022 17:25, Alexander Sverdlin wrote: >>> + >>> +examples: >>> + - | >>> + #include <dt-bindings/clock/cirrus,ep93xx-clock.h> > > your robot was right, this dependency is missing, I thought I can prepare > the ADC driver in advance, but seems it has to go together with the whole > DT conversion of the EP93xx series. You can hard-code a number in the binding example, to drop dependency on the header. Best regards, Krzysztof
diff --git a/Documentation/devicetree/bindings/iio/adc/cirrus,ep9301-adc.yaml b/Documentation/devicetree/bindings/iio/adc/cirrus,ep9301-adc.yaml new file mode 100644 index 000000000000..d0fd24d1be04 --- /dev/null +++ b/Documentation/devicetree/bindings/iio/adc/cirrus,ep9301-adc.yaml @@ -0,0 +1,58 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/iio/adc/cirrus,ep9301-adc.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Cirrus Logic EP930x internal ADC + +description: | + Cirrus Logic EP9301/EP9302 SoCs' internal ADC block. + + User's manual: + https://cdn.embeddedts.com/resource-attachments/ts-7000_ep9301-ug.pdf + +maintainers: + - Alexander Sverdlin <alexander.sverdlin@gmail.com> + +properties: + compatible: + const: cirrus,ep9301-adc + + reg: + maxItems: 1 + + clocks: + maxItems: 1 + + clock-names: + const: ep93xx-adc + + interrupts: + maxItems: 1 + +required: + - compatible + - reg + - clocks + - clock-names + +additionalProperties: false + +examples: + - | + #include <dt-bindings/clock/cirrus,ep93xx-clock.h> + soc { + #address-cells = <1>; + #size-cells = <1>; + + adc: adc@80900000 { + compatible = "cirrus,ep9301-adc"; + reg = <0x80900000 0x28>; + clocks = <&syscon EP93XX_CLK_ADC>; + clock-names = "ep93xx-adc"; + interrupt-parent = <&vic1>; + interrupts = <30>; + }; + }; +... diff --git a/MAINTAINERS b/MAINTAINERS index 69565ac0c224..4a914d5bc2e6 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -2027,8 +2027,10 @@ M: Hartley Sweeten <hsweeten@visionengravers.com> M: Alexander Sverdlin <alexander.sverdlin@gmail.com> L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) S: Maintained +F: Documentation/devicetree/bindings/iio/adc/cirrus,ep9301-adc.yaml F: arch/arm/mach-ep93xx/ F: arch/arm/mach-ep93xx/include/mach/ +F: drivers/iio/adc/ep93xx_adc.c ARM/CLKDEV SUPPORT M: Russell King <linux@armlinux.org.uk>
Add device tree bindings for Cirrus Logic EP9301/EP9302 internal SoCs' ADC block. Signed-off-by: Alexander Sverdlin <alexander.sverdlin@gmail.com> --- .../bindings/iio/adc/cirrus,ep9301-adc.yaml | 58 +++++++++++++++++++ MAINTAINERS | 2 + 2 files changed, 60 insertions(+) create mode 100644 Documentation/devicetree/bindings/iio/adc/cirrus,ep9301-adc.yaml