All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 1/2] dt-bindings: iio: adc: ep93xx: Add cirrus,ep9301-adc description
@ 2022-12-19 17:36 ` Alexander Sverdlin
  0 siblings, 0 replies; 8+ messages in thread
From: Alexander Sverdlin @ 2022-12-19 17:36 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>
---
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>
-- 
2.39.0


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

* [PATCH v2 1/2] dt-bindings: iio: adc: ep93xx: Add cirrus,ep9301-adc description
@ 2022-12-19 17:36 ` Alexander Sverdlin
  0 siblings, 0 replies; 8+ messages in thread
From: Alexander Sverdlin @ 2022-12-19 17:36 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>
---
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>
-- 
2.39.0


_______________________________________________
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] 8+ messages in thread

* [PATCH v2 2/2] iio: adc: ep93xx: Add OF support
  2022-12-19 17:36 ` Alexander Sverdlin
@ 2022-12-19 17:36   ` Alexander Sverdlin
  -1 siblings, 0 replies; 8+ messages in thread
From: Alexander Sverdlin @ 2022-12-19 17:36 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.39.0


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

* [PATCH v2 2/2] iio: adc: ep93xx: Add OF support
@ 2022-12-19 17:36   ` Alexander Sverdlin
  0 siblings, 0 replies; 8+ messages in thread
From: Alexander Sverdlin @ 2022-12-19 17:36 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.39.0


_______________________________________________
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] 8+ messages in thread

* Re: [PATCH v2 1/2] dt-bindings: iio: adc: ep93xx: Add cirrus,ep9301-adc description
  2022-12-19 17:36 ` Alexander Sverdlin
@ 2022-12-20 10:54   ` Krzysztof Kozlowski
  -1 siblings, 0 replies; 8+ messages in thread
From: Krzysztof Kozlowski @ 2022-12-20 10:54 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 19/12/2022 18:36, 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>
> ---
> Changelog:
> v2: removed clock-names property, soc node and include as Krzysztof suggested
> 


Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

Best regards,
Krzysztof


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

* Re: [PATCH v2 1/2] dt-bindings: iio: adc: ep93xx: Add cirrus,ep9301-adc description
@ 2022-12-20 10:54   ` Krzysztof Kozlowski
  0 siblings, 0 replies; 8+ messages in thread
From: Krzysztof Kozlowski @ 2022-12-20 10:54 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 19/12/2022 18:36, 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>
> ---
> Changelog:
> v2: removed clock-names property, soc node and include as Krzysztof suggested
> 


Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

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] 8+ messages in thread

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

On Mon, 19 Dec 2022 18:36:18 +0100
Alexander Sverdlin <alexander.sverdlin@gmail.com> wrote:

> Prepare for EP93xx conversion to DT.
> 
> Signed-off-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>
Hi Alexander,

Comments inline,

Jonathan

> ---
>  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" },
> +	{},

No comma needed for 'NULL' terminator of the array.

> +};
> +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),
drop the of_match_ptr() protection and the ifdefs.
They only save a tiny amount of space, and add complexity that outweighs it.
The other normal reason we don't like these is that there are ACPI paths
that use of_match_table and this breaks them.  Not likely to be relevant
here though I guess.

Jonathan




>  	},
>  	.probe = ep93xx_adc_probe,
>  	.remove = ep93xx_adc_remove,


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

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

On Mon, 19 Dec 2022 18:36:18 +0100
Alexander Sverdlin <alexander.sverdlin@gmail.com> wrote:

> Prepare for EP93xx conversion to DT.
> 
> Signed-off-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>
Hi Alexander,

Comments inline,

Jonathan

> ---
>  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" },
> +	{},

No comma needed for 'NULL' terminator of the array.

> +};
> +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),
drop the of_match_ptr() protection and the ifdefs.
They only save a tiny amount of space, and add complexity that outweighs it.
The other normal reason we don't like these is that there are ACPI paths
that use of_match_table and this breaks them.  Not likely to be relevant
here though I guess.

Jonathan




>  	},
>  	.probe = ep93xx_adc_probe,
>  	.remove = ep93xx_adc_remove,


_______________________________________________
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] 8+ messages in thread

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

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-12-19 17:36 [PATCH v2 1/2] dt-bindings: iio: adc: ep93xx: Add cirrus,ep9301-adc description Alexander Sverdlin
2022-12-19 17:36 ` Alexander Sverdlin
2022-12-19 17:36 ` [PATCH v2 2/2] iio: adc: ep93xx: Add OF support Alexander Sverdlin
2022-12-19 17:36   ` Alexander Sverdlin
2022-12-23 16:20   ` Jonathan Cameron
2022-12-23 16:20     ` Jonathan Cameron
2022-12-20 10:54 ` [PATCH v2 1/2] dt-bindings: iio: adc: ep93xx: Add cirrus,ep9301-adc description Krzysztof Kozlowski
2022-12-20 10:54   ` 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.