All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] dt-bindings: iio: adc: ep93xx: Add cirrus,ep9301-adc description
@ 2022-12-14 22:20 ` Alexander Sverdlin
  0 siblings, 0 replies; 14+ messages in thread
From: Alexander Sverdlin @ 2022-12-14 22:20 UTC (permalink / raw)
  To: linux-iio
  Cc: Alexander Sverdlin, Hartley Sweeten, Jonathan Cameron,
	Lars-Peter Clausen, Rob Herring, Krzysztof Kozlowski,
	linux-arm-kernel, devicetree, linux-kernel

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
+
+  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


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH 1/2] dt-bindings: iio: adc: ep93xx: Add cirrus,ep9301-adc description
@ 2022-12-14 22:20 ` Alexander Sverdlin
  0 siblings, 0 replies; 14+ messages in thread
From: Alexander Sverdlin @ 2022-12-14 22:20 UTC (permalink / raw)
  To: linux-iio
  Cc: Alexander Sverdlin, Hartley Sweeten, Jonathan Cameron,
	Lars-Peter Clausen, Rob Herring, Krzysztof Kozlowski,
	linux-arm-kernel, devicetree, linux-kernel

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
+
+  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


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH 2/2] iio: adc: ep93xx: Add OF support
  2022-12-14 22:20 ` Alexander Sverdlin
@ 2022-12-14 22:20   ` Alexander Sverdlin
  -1 siblings, 0 replies; 14+ messages in thread
From: Alexander Sverdlin @ 2022-12-14 22:20 UTC (permalink / raw)
  To: linux-iio
  Cc: Alexander Sverdlin, Hartley Sweeten, Jonathan Cameron,
	Lars-Peter Clausen, Rob Herring, Krzysztof Kozlowski,
	linux-arm-kernel, devicetree, linux-kernel

Prepare for EP93xx conversion to DT.

Signed-off-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>
---
 drivers/iio/adc/ep93xx_adc.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/drivers/iio/adc/ep93xx_adc.c b/drivers/iio/adc/ep93xx_adc.c
index fd5a9404c8dc..e530a37180e1 100644
--- a/drivers/iio/adc/ep93xx_adc.c
+++ b/drivers/iio/adc/ep93xx_adc.c
@@ -21,6 +21,7 @@
 #include <linux/module.h>
 #include <linux/mutex.h>
 #include <linux/platform_device.h>
+#include <linux/of.h>
 
 /*
  * This code could benefit from real HR Timers, but jiffy granularity would
@@ -227,9 +228,18 @@ static int ep93xx_adc_remove(struct platform_device *pdev)
 	return 0;
 }
 
+#ifdef CONFIG_OF
+static const struct of_device_id ep93xx_adc_of_ids[] = {
+	{ .compatible = "cirrus,ep9301-adc" },
+	{},
+};
+MODULE_DEVICE_TABLE(of, ep93xx_adc_of_ids);
+#endif
+
 static struct platform_driver ep93xx_adc_driver = {
 	.driver = {
 		.name = "ep93xx-adc",
+		.of_match_table = of_match_ptr(ep93xx_adc_of_ids),
 	},
 	.probe = ep93xx_adc_probe,
 	.remove = ep93xx_adc_remove,
-- 
2.37.3


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH 2/2] iio: adc: ep93xx: Add OF support
@ 2022-12-14 22:20   ` Alexander Sverdlin
  0 siblings, 0 replies; 14+ messages in thread
From: Alexander Sverdlin @ 2022-12-14 22:20 UTC (permalink / raw)
  To: linux-iio
  Cc: Alexander Sverdlin, Hartley Sweeten, Jonathan Cameron,
	Lars-Peter Clausen, Rob Herring, Krzysztof Kozlowski,
	linux-arm-kernel, devicetree, linux-kernel

Prepare for EP93xx conversion to DT.

Signed-off-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>
---
 drivers/iio/adc/ep93xx_adc.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/drivers/iio/adc/ep93xx_adc.c b/drivers/iio/adc/ep93xx_adc.c
index fd5a9404c8dc..e530a37180e1 100644
--- a/drivers/iio/adc/ep93xx_adc.c
+++ b/drivers/iio/adc/ep93xx_adc.c
@@ -21,6 +21,7 @@
 #include <linux/module.h>
 #include <linux/mutex.h>
 #include <linux/platform_device.h>
+#include <linux/of.h>
 
 /*
  * This code could benefit from real HR Timers, but jiffy granularity would
@@ -227,9 +228,18 @@ static int ep93xx_adc_remove(struct platform_device *pdev)
 	return 0;
 }
 
+#ifdef CONFIG_OF
+static const struct of_device_id ep93xx_adc_of_ids[] = {
+	{ .compatible = "cirrus,ep9301-adc" },
+	{},
+};
+MODULE_DEVICE_TABLE(of, ep93xx_adc_of_ids);
+#endif
+
 static struct platform_driver ep93xx_adc_driver = {
 	.driver = {
 		.name = "ep93xx-adc",
+		.of_match_table = of_match_ptr(ep93xx_adc_of_ids),
 	},
 	.probe = ep93xx_adc_probe,
 	.remove = ep93xx_adc_remove,
-- 
2.37.3


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* Re: [PATCH 1/2] dt-bindings: iio: adc: ep93xx: Add cirrus,ep9301-adc description
  2022-12-14 22:20 ` Alexander Sverdlin
@ 2022-12-15  8:42   ` Krzysztof Kozlowski
  -1 siblings, 0 replies; 14+ messages in thread
From: Krzysztof Kozlowski @ 2022-12-15  8:42 UTC (permalink / raw)
  To: Alexander Sverdlin, linux-iio
  Cc: Hartley Sweeten, Jonathan Cameron, Lars-Peter Clausen,
	Rob Herring, Krzysztof Kozlowski, linux-arm-kernel, devicetree,
	linux-kernel

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


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 1/2] dt-bindings: iio: adc: ep93xx: Add cirrus,ep9301-adc description
@ 2022-12-15  8:42   ` Krzysztof Kozlowski
  0 siblings, 0 replies; 14+ messages in thread
From: Krzysztof Kozlowski @ 2022-12-15  8:42 UTC (permalink / raw)
  To: Alexander Sverdlin, linux-iio
  Cc: Hartley Sweeten, Jonathan Cameron, Lars-Peter Clausen,
	Rob Herring, Krzysztof Kozlowski, linux-arm-kernel, devicetree,
	linux-kernel

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


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 1/2] dt-bindings: iio: adc: ep93xx: Add cirrus,ep9301-adc description
  2022-12-14 22:20 ` Alexander Sverdlin
@ 2022-12-15 13:24   ` Rob Herring
  -1 siblings, 0 replies; 14+ messages in thread
From: Rob Herring @ 2022-12-15 13:24 UTC (permalink / raw)
  To: Alexander Sverdlin
  Cc: Hartley Sweeten, Lars-Peter Clausen, devicetree,
	Jonathan Cameron, Krzysztof Kozlowski, linux-kernel,
	linux-arm-kernel, Rob Herring, linux-iio


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.


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 1/2] dt-bindings: iio: adc: ep93xx: Add cirrus,ep9301-adc description
@ 2022-12-15 13:24   ` Rob Herring
  0 siblings, 0 replies; 14+ messages in thread
From: Rob Herring @ 2022-12-15 13:24 UTC (permalink / raw)
  To: Alexander Sverdlin
  Cc: Hartley Sweeten, Lars-Peter Clausen, devicetree,
	Jonathan Cameron, Krzysztof Kozlowski, linux-kernel,
	linux-arm-kernel, Rob Herring, linux-iio


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.


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 1/2] dt-bindings: iio: adc: ep93xx: Add cirrus,ep9301-adc description
  2022-12-14 22:20 ` Alexander Sverdlin
@ 2022-12-15 16:18   ` Rob Herring
  -1 siblings, 0 replies; 14+ messages in thread
From: Rob Herring @ 2022-12-15 16:18 UTC (permalink / raw)
  To: Alexander Sverdlin
  Cc: linux-iio, Hartley Sweeten, Jonathan Cameron, Lars-Peter Clausen,
	Krzysztof Kozlowski, linux-arm-kernel, devicetree, linux-kernel

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
> 
> 

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 1/2] dt-bindings: iio: adc: ep93xx: Add cirrus,ep9301-adc description
@ 2022-12-15 16:18   ` Rob Herring
  0 siblings, 0 replies; 14+ messages in thread
From: Rob Herring @ 2022-12-15 16:18 UTC (permalink / raw)
  To: Alexander Sverdlin
  Cc: linux-iio, Hartley Sweeten, Jonathan Cameron, Lars-Peter Clausen,
	Krzysztof Kozlowski, linux-arm-kernel, devicetree, linux-kernel

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
> 
> 

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 1/2] dt-bindings: iio: adc: ep93xx: Add cirrus,ep9301-adc description
  2022-12-15 16:18   ` Rob Herring
@ 2022-12-15 16:25     ` Alexander Sverdlin
  -1 siblings, 0 replies; 14+ messages in thread
From: Alexander Sverdlin @ 2022-12-15 16:25 UTC (permalink / raw)
  To: Rob Herring
  Cc: linux-iio, Hartley Sweeten, Jonathan Cameron, Lars-Peter Clausen,
	Krzysztof Kozlowski, linux-arm-kernel, devicetree, linux-kernel

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.

-- 
Alexander Sverdlin.


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 1/2] dt-bindings: iio: adc: ep93xx: Add cirrus,ep9301-adc description
@ 2022-12-15 16:25     ` Alexander Sverdlin
  0 siblings, 0 replies; 14+ messages in thread
From: Alexander Sverdlin @ 2022-12-15 16:25 UTC (permalink / raw)
  To: Rob Herring
  Cc: linux-iio, Hartley Sweeten, Jonathan Cameron, Lars-Peter Clausen,
	Krzysztof Kozlowski, linux-arm-kernel, devicetree, linux-kernel

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.

-- 
Alexander Sverdlin.


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 1/2] dt-bindings: iio: adc: ep93xx: Add cirrus,ep9301-adc description
  2022-12-15 16:25     ` Alexander Sverdlin
@ 2022-12-16 11:40       ` Krzysztof Kozlowski
  -1 siblings, 0 replies; 14+ messages in thread
From: Krzysztof Kozlowski @ 2022-12-16 11:40 UTC (permalink / raw)
  To: Alexander Sverdlin, Rob Herring
  Cc: linux-iio, Hartley Sweeten, Jonathan Cameron, Lars-Peter Clausen,
	Krzysztof Kozlowski, linux-arm-kernel, devicetree, linux-kernel

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


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 1/2] dt-bindings: iio: adc: ep93xx: Add cirrus,ep9301-adc description
@ 2022-12-16 11:40       ` Krzysztof Kozlowski
  0 siblings, 0 replies; 14+ messages in thread
From: Krzysztof Kozlowski @ 2022-12-16 11:40 UTC (permalink / raw)
  To: Alexander Sverdlin, Rob Herring
  Cc: linux-iio, Hartley Sweeten, Jonathan Cameron, Lars-Peter Clausen,
	Krzysztof Kozlowski, linux-arm-kernel, devicetree, linux-kernel

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


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2022-12-16 11:41 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-12-14 22:20 [PATCH 1/2] dt-bindings: iio: adc: ep93xx: Add cirrus,ep9301-adc description Alexander Sverdlin
2022-12-14 22:20 ` Alexander Sverdlin
2022-12-14 22:20 ` [PATCH 2/2] iio: adc: ep93xx: Add OF support Alexander Sverdlin
2022-12-14 22:20   ` Alexander Sverdlin
2022-12-15  8:42 ` [PATCH 1/2] dt-bindings: iio: adc: ep93xx: Add cirrus,ep9301-adc description Krzysztof Kozlowski
2022-12-15  8:42   ` Krzysztof Kozlowski
2022-12-15 13:24 ` Rob Herring
2022-12-15 13:24   ` Rob Herring
2022-12-15 16:18 ` Rob Herring
2022-12-15 16:18   ` Rob Herring
2022-12-15 16:25   ` Alexander Sverdlin
2022-12-15 16:25     ` Alexander Sverdlin
2022-12-16 11:40     ` Krzysztof Kozlowski
2022-12-16 11:40       ` Krzysztof Kozlowski

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.