diff mbox series

[v3,1/2] dt-bindings: iio: adc: ep93xx: Add cirrus,ep9301-adc description

Message ID 20221223162636.6488-1-alexander.sverdlin@gmail.com
State Accepted
Commit 08025a3bd9e0b975c1c2b59e31aa7c18d27786b7
Headers show
Series [v3,1/2] dt-bindings: iio: adc: ep93xx: Add cirrus,ep9301-adc description | expand

Commit Message

Alexander Sverdlin Dec. 23, 2022, 4:26 p.m. UTC
Add device tree bindings for Cirrus Logic EP9301/EP9302 internal SoCs' ADC
block.

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>
---
Changelog:
v2: removed clock-names property, soc node and include as Krzysztof suggested

 .../bindings/iio/adc/cirrus,ep9301-adc.yaml   | 47 +++++++++++++++++++
 MAINTAINERS                                   |  2 +
 2 files changed, 49 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/iio/adc/cirrus,ep9301-adc.yaml

Comments

Jonathan Cameron Dec. 30, 2022, 6:08 p.m. UTC | #1
On Fri, 23 Dec 2022 17:26:35 +0100
Alexander Sverdlin <alexander.sverdlin@gmail.com> wrote:

> Add device tree bindings for Cirrus Logic EP9301/EP9302 internal SoCs' ADC
> block.
> 
> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> Signed-off-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>

Applied to the togreg branch of iio.git and pushed out as testing.

Whilst we are looking at this driver, Alexander, would you mind if we relaxed
the Kconfig dependencies to:

diff --git a/drivers/iio/adc/Kconfig b/drivers/iio/adc/Kconfig
index 46c4fc2fc534..fd1d68dce507 100644
--- a/drivers/iio/adc/Kconfig
+++ b/drivers/iio/adc/Kconfig
@@ -441,7 +441,7 @@ config ENVELOPE_DETECTOR
 
 config EP93XX_ADC
        tristate "Cirrus Logic EP93XX ADC driver"
-       depends on ARCH_EP93XX
+       depends on ARCH_EP93XX || COMPILE_TEST
        help
          Driver for the ADC module on the EP93XX series of SoC from Cirrus Logic.
          It's recommended to switch on CONFIG_HIGH_RES_TIMERS option, in this

I end up doing that locally to build test patches like this one and it doesn't
seem to cause any problems.

Jonathan

> ---
> Changelog:
> v2: removed clock-names property, soc node and include as Krzysztof suggested
> 
>  .../bindings/iio/adc/cirrus,ep9301-adc.yaml   | 47 +++++++++++++++++++
>  MAINTAINERS                                   |  2 +
>  2 files changed, 49 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..6d4fb3e1d2a2
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/iio/adc/cirrus,ep9301-adc.yaml
> @@ -0,0 +1,47 @@
> +# 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
> +
> +  interrupts:
> +    maxItems: 1
> +
> +required:
> +  - compatible
> +  - reg
> +  - clocks
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    adc: adc@80900000 {
> +        compatible = "cirrus,ep9301-adc";
> +        reg = <0x80900000 0x28>;
> +        clocks = <&syscon 24>;
> +        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>
Alexander Sverdlin Dec. 30, 2022, 8:41 p.m. UTC | #2
Hi Jonathan,

On Fri, 2022-12-30 at 18:08 +0000, Jonathan Cameron wrote:
> On Fri, 23 Dec 2022 17:26:35 +0100
> Alexander Sverdlin <alexander.sverdlin@gmail.com> wrote:
> 
> > Add device tree bindings for Cirrus Logic EP9301/EP9302 internal SoCs' ADC
> > block.
> > 
> > Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> > Signed-off-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>
> 
> Applied to the togreg branch of iio.git and pushed out as testing.

Thanks!

> Whilst we are looking at this driver, Alexander, would you mind if we relaxed
> the Kconfig dependencies to:
> 
> diff --git a/drivers/iio/adc/Kconfig b/drivers/iio/adc/Kconfig
> index 46c4fc2fc534..fd1d68dce507 100644
> --- a/drivers/iio/adc/Kconfig
> +++ b/drivers/iio/adc/Kconfig
> @@ -441,7 +441,7 @@ config ENVELOPE_DETECTOR
>  
>  config EP93XX_ADC
>         tristate "Cirrus Logic EP93XX ADC driver"
> -       depends on ARCH_EP93XX
> +       depends on ARCH_EP93XX || COMPILE_TEST
>         help
>           Driver for the ADC module on the EP93XX series of SoC from Cirrus Logic.
>           It's recommended to switch on CONFIG_HIGH_RES_TIMERS option, in this
> 
> I end up doing that locally to build test patches like this one and it doesn't
> seem to cause any problems.

Sure, it's fine with me!
diff mbox series

Patch

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..6d4fb3e1d2a2
--- /dev/null
+++ b/Documentation/devicetree/bindings/iio/adc/cirrus,ep9301-adc.yaml
@@ -0,0 +1,47 @@ 
+# 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
+
+  interrupts:
+    maxItems: 1
+
+required:
+  - compatible
+  - reg
+  - clocks
+
+additionalProperties: false
+
+examples:
+  - |
+    adc: adc@80900000 {
+        compatible = "cirrus,ep9301-adc";
+        reg = <0x80900000 0x28>;
+        clocks = <&syscon 24>;
+        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>