diff mbox series

[v2] dt-bindings: iio: afe: voltage-divider: Add io-channel-cells

Message ID 20240130111830.4016002-1-naresh.solanki@9elements.com (mailing list archive)
State Changes Requested
Headers show
Series [v2] dt-bindings: iio: afe: voltage-divider: Add io-channel-cells | expand

Commit Message

Naresh Solanki Jan. 30, 2024, 11:18 a.m. UTC
voltage-divider is always an iio consumer at the same time it is
optionally an iio provider.
Hence add #io-channel-cells
Also update example.

Signed-off-by: Naresh Solanki <naresh.solanki@9elements.com>
---
 .../bindings/iio/afe/voltage-divider.yaml          | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)


base-commit: 861c0981648f5b64c86fd028ee622096eb7af05a

Comments

Peter Rosin Jan. 30, 2024, 11:42 a.m. UTC | #1
Hi!

2024-01-30 at 12:18, Naresh Solanki wrote:
> voltage-divider is always an iio consumer at the same time it is
> optionally an iio provider.
> Hence add #io-channel-cells
> Also update example.
> 
> Signed-off-by: Naresh Solanki <naresh.solanki@9elements.com>
> ---
>  .../bindings/iio/afe/voltage-divider.yaml          | 14 +++++++++++++-
>  1 file changed, 13 insertions(+), 1 deletion(-)
> 
> diff --git a/Documentation/devicetree/bindings/iio/afe/voltage-divider.yaml b/Documentation/devicetree/bindings/iio/afe/voltage-divider.yaml
> index dddf97b50549..09f10d7c4e02 100644
> --- a/Documentation/devicetree/bindings/iio/afe/voltage-divider.yaml
> +++ b/Documentation/devicetree/bindings/iio/afe/voltage-divider.yaml
> @@ -39,6 +39,13 @@ properties:
>      description: |
>        Channel node of a voltage io-channel.
>  
> +  '#io-channel-cells':
> +    description:
> +      In addition to consuming the measurement services of an ADC,

It doesn't really need to be an ADC. Anything with a voltage output
channel works (in theory). But sure, normally it would be an ADC...

> +      the voltage divider can act as an provider of measurement

a provider

Cheers,
Peter

> +      services to other devices.
> +    const: 1
> +
>    output-ohms:
...
Naresh Solanki Jan. 30, 2024, 11:48 a.m. UTC | #2
Hi Peter,


On Tue, 30 Jan 2024 at 17:12, Peter Rosin <peda@axentia.se> wrote:
>
> Hi!
>
> 2024-01-30 at 12:18, Naresh Solanki wrote:
> > voltage-divider is always an iio consumer at the same time it is
> > optionally an iio provider.
> > Hence add #io-channel-cells
> > Also update example.
> >
> > Signed-off-by: Naresh Solanki <naresh.solanki@9elements.com>
> > ---
> >  .../bindings/iio/afe/voltage-divider.yaml          | 14 +++++++++++++-
> >  1 file changed, 13 insertions(+), 1 deletion(-)
> >
> > diff --git a/Documentation/devicetree/bindings/iio/afe/voltage-divider.yaml b/Documentation/devicetree/bindings/iio/afe/voltage-divider.yaml
> > index dddf97b50549..09f10d7c4e02 100644
> > --- a/Documentation/devicetree/bindings/iio/afe/voltage-divider.yaml
> > +++ b/Documentation/devicetree/bindings/iio/afe/voltage-divider.yaml
> > @@ -39,6 +39,13 @@ properties:
> >      description: |
> >        Channel node of a voltage io-channel.
> >
> > +  '#io-channel-cells':
> > +    description:
> > +      In addition to consuming the measurement services of an ADC,
>
> It doesn't really need to be an ADC. Anything with a voltage output
> channel works (in theory). But sure, normally it would be an ADC...
Ack
>
> > +      the voltage divider can act as an provider of measurement
>
> a provider
Ack

Will update as:
  '#io-channel-cells':
    description:
      In addition to consuming the measurement services of an a voltage output
      channel the voltage divider can act as a provider of measurement
      services to other devices.
    const: 1

Regards,
Naresh
>
> Cheers,
> Peter
>
> > +      services to other devices.
> > +    const: 1
> > +
> >    output-ohms:
> ...
Jonathan Cameron Jan. 30, 2024, 4:16 p.m. UTC | #3
On Tue, 30 Jan 2024 17:18:53 +0530
Naresh Solanki <naresh.solanki@9elements.com> wrote:

> Hi Peter,
> 
> 
> On Tue, 30 Jan 2024 at 17:12, Peter Rosin <peda@axentia.se> wrote:
> >
> > Hi!
> >
> > 2024-01-30 at 12:18, Naresh Solanki wrote:  
> > > voltage-divider is always an iio consumer at the same time it is
> > > optionally an iio provider.
> > > Hence add #io-channel-cells
> > > Also update example.
> > >
> > > Signed-off-by: Naresh Solanki <naresh.solanki@9elements.com>
> > > ---
> > >  .../bindings/iio/afe/voltage-divider.yaml          | 14 +++++++++++++-
> > >  1 file changed, 13 insertions(+), 1 deletion(-)
> > >
> > > diff --git a/Documentation/devicetree/bindings/iio/afe/voltage-divider.yaml b/Documentation/devicetree/bindings/iio/afe/voltage-divider.yaml
> > > index dddf97b50549..09f10d7c4e02 100644
> > > --- a/Documentation/devicetree/bindings/iio/afe/voltage-divider.yaml
> > > +++ b/Documentation/devicetree/bindings/iio/afe/voltage-divider.yaml
> > > @@ -39,6 +39,13 @@ properties:
> > >      description: |
> > >        Channel node of a voltage io-channel.
> > >
> > > +  '#io-channel-cells':
> > > +    description:
> > > +      In addition to consuming the measurement services of an ADC,  
> >
> > It doesn't really need to be an ADC. Anything with a voltage output
> > channel works (in theory). But sure, normally it would be an ADC...  
> Ack
> >  
> > > +      the voltage divider can act as an provider of measurement  
> >
> > a provider  
> Ack
> 
> Will update as:
>   '#io-channel-cells':
>     description:
>       In addition to consuming the measurement services of an a voltage output

That sounds like a DAC.  It's an input voltage to that device.
Just go with voltage channel and rely on measurement services to make it clear what
it is.

>       channel the voltage divider can act as a provider of measurement
>       services to other devices.
>     const: 1
> 
> Regards,
> Naresh
> >
> > Cheers,
> > Peter
> >  
> > > +      services to other devices.
> > > +    const: 1
> > > +
> > >    output-ohms:  
> > ...  
>
Krzysztof Kozlowski Jan. 31, 2024, 8:28 a.m. UTC | #4
On 30/01/2024 12:18, Naresh Solanki wrote:
> voltage-divider is always an iio consumer at the same time it is
> optionally an iio provider.
> Hence add #io-channel-cells
> Also update example.

>    output-ohms:
>      description:
>        Resistance Rout over which the output voltage is measured. See full-ohms.
> @@ -75,12 +82,17 @@ examples:
>              spi-max-frequency = <1000000>;
>          };
>      };
> -    sysv {
> +    p12v_vd: sysv {
>          compatible = "voltage-divider";
>          io-channels = <&maxadc 1>;
> +        #io-channel-cells = <1>;
>  
>          /* Scale the system voltage by 22/222 to fit the ADC range. */
>          output-ohms = <22>;
>          full-ohms = <222>; /* 200 + 22 */
>      };
> +    iio-hwmon {
> +        compatible = "iio-hwmon";
> +        io-channels = <&p12v_vd 0>;

Why do you add unrelated example?

Best regards,
Krzysztof
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/iio/afe/voltage-divider.yaml b/Documentation/devicetree/bindings/iio/afe/voltage-divider.yaml
index dddf97b50549..09f10d7c4e02 100644
--- a/Documentation/devicetree/bindings/iio/afe/voltage-divider.yaml
+++ b/Documentation/devicetree/bindings/iio/afe/voltage-divider.yaml
@@ -39,6 +39,13 @@  properties:
     description: |
       Channel node of a voltage io-channel.
 
+  '#io-channel-cells':
+    description:
+      In addition to consuming the measurement services of an ADC,
+      the voltage divider can act as an provider of measurement
+      services to other devices.
+    const: 1
+
   output-ohms:
     description:
       Resistance Rout over which the output voltage is measured. See full-ohms.
@@ -75,12 +82,17 @@  examples:
             spi-max-frequency = <1000000>;
         };
     };
-    sysv {
+    p12v_vd: sysv {
         compatible = "voltage-divider";
         io-channels = <&maxadc 1>;
+        #io-channel-cells = <1>;
 
         /* Scale the system voltage by 22/222 to fit the ADC range. */
         output-ohms = <22>;
         full-ohms = <222>; /* 200 + 22 */
     };
+    iio-hwmon {
+        compatible = "iio-hwmon";
+        io-channels = <&p12v_vd 0>;
+    };
 ...