Re: [PATCH v2 2/2] dt-bindings: iio: adc: ad7124: add config nodes

2021-02-08 Thread Rob Herring
On Sat, Feb 6, 2021 at 9:26 AM Jonathan Cameron  wrote:
>
> On Thu, 4 Feb 2021 13:35:51 +0200
>  wrote:
>
> > From: Alexandru Tachici 
> >
> > Document use of configurations in device-tree bindings.
> >
> > Signed-off-by: Alexandru Tachici 
>
> Ignoring discussing in my reply to the cover letter...
>
> This is a breaking change as described.  We can't move properties
> around without some sort of fullback for them being in the old
> location.
>
> > ---
> >  .../bindings/iio/adc/adi,ad7124.yaml  | 72 +++
> >  1 file changed, 57 insertions(+), 15 deletions(-)
> >
> > diff --git a/Documentation/devicetree/bindings/iio/adc/adi,ad7124.yaml 
> > b/Documentation/devicetree/bindings/iio/adc/adi,ad7124.yaml
> > index fb3d0dae9bae..330064461d0a 100644
> > --- a/Documentation/devicetree/bindings/iio/adc/adi,ad7124.yaml
> > +++ b/Documentation/devicetree/bindings/iio/adc/adi,ad7124.yaml
> > @@ -62,20 +62,19 @@ required:
> >- interrupts
> >
> >  patternProperties:
> > -  "^channel@([0-9]|1[0-5])$":
> > -$ref: "adc.yaml"
> > +  "^config@(2[0-7])$":
> >  type: object
> >  description: |
> > -  Represents the external channels which are connected to the ADC.
> > +  Represents a channel configuration.
> > +  See Documentation/devicetree/bindings/iio/adc/adc.txt.
>
> adc.yaml now.
>
>
> >
> >  properties:
> >reg:
> >  description: |
> > -  The channel number. It can have up to 8 channels on ad7124-4
> > -  and 16 channels on ad7124-8, numbered from 0 to 15.
> > +  The config number. It can have up to 8 configuration.
> >  items:
> > -  minimum: 0
> > -  maximum: 15
> > + minimum: 20
> > + maximum: 27
>
> Number then 0-7 please rather than 20-27.

That doesn't work. It would be creating 2 address spaces at one level
with channel@0 and config@0. The way to address this is add a
'configs' node with config@N children.

My question here though is where does 20-27 come from. I suspect it's
made up which isn't good either. Addresses should also be rooted in
something in the h/w.

Rob


Re: [PATCH v2 2/2] dt-bindings: iio: adc: ad7124: add config nodes

2021-02-06 Thread Jonathan Cameron
On Thu, 4 Feb 2021 13:35:51 +0200
 wrote:

> From: Alexandru Tachici 
> 
> Document use of configurations in device-tree bindings.
> 
> Signed-off-by: Alexandru Tachici 

Ignoring discussing in my reply to the cover letter...

This is a breaking change as described.  We can't move properties
around without some sort of fullback for them being in the old
location.

> ---
>  .../bindings/iio/adc/adi,ad7124.yaml  | 72 +++
>  1 file changed, 57 insertions(+), 15 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/iio/adc/adi,ad7124.yaml 
> b/Documentation/devicetree/bindings/iio/adc/adi,ad7124.yaml
> index fb3d0dae9bae..330064461d0a 100644
> --- a/Documentation/devicetree/bindings/iio/adc/adi,ad7124.yaml
> +++ b/Documentation/devicetree/bindings/iio/adc/adi,ad7124.yaml
> @@ -62,20 +62,19 @@ required:
>- interrupts
>  
>  patternProperties:
> -  "^channel@([0-9]|1[0-5])$":
> -$ref: "adc.yaml"
> +  "^config@(2[0-7])$":
>  type: object
>  description: |
> -  Represents the external channels which are connected to the ADC.
> +  Represents a channel configuration.
> +  See Documentation/devicetree/bindings/iio/adc/adc.txt.

adc.yaml now.


>  
>  properties:
>reg:
>  description: |
> -  The channel number. It can have up to 8 channels on ad7124-4
> -  and 16 channels on ad7124-8, numbered from 0 to 15.
> +  The config number. It can have up to 8 configuration.
>  items:
> -  minimum: 0
> -  maximum: 15
> + minimum: 20
> + maximum: 27

Number then 0-7 please rather than 20-27.

>  
>adi,reference-select:
>  description: |
> @@ -88,8 +87,6 @@ patternProperties:
>  $ref: /schemas/types.yaml#/definitions/uint32
>  enum: [0, 1, 3]
>  
> -  diff-channels: true
> -
>bipolar: true
>  
>adi,buffered-positive:
> @@ -100,6 +97,35 @@ patternProperties:
>  description: Enable buffered mode for negative input.
>  type: boolean
>  
> +additionalProperties: false
> +
> +  "^channel@([0-9]|1[0-5])$":
> +type: object
> +description: |
> +  Represents the external channels which are connected to the ADC.
> +  See Documentation/devicetree/bindings/iio/adc/adc.txt.
> +
> +properties:
> +  reg:
> +description: |
> +  The channel number. It can have up to 8 channels on ad7124-4
> +  and 16 channels on ad7124-8, numbered from 0 to 15.
> +items:
> + minimum: 0
> + maximum: 15
> +
> +  diff-channels: true
> +
> +  adi,configuration:
> +description: |
> +  The devices has 8 configuration and ad7124-8 support up to 16 
> unipolar channels.
> +  Each channel can be assigned one configuration. Some channels will 
> be sharing the
> +  same configuration.
> +allOf:
> +  - $ref: /schemas/types.yaml#/definitions/uint32
> +minimum: 20
> +maximum: 27
> +
>  required:
>- reg
>- diff-channels
> @@ -127,30 +153,46 @@ examples:
>  #address-cells = <1>;
>  #size-cells = <0>;
>  
> -channel@0 {
> -  reg = <0>;
> -  diff-channels = <0 1>;
> +config@20 {
> +  reg = <20>;
>adi,reference-select = <0>;
>adi,buffered-positive;
>  };
>  
> -channel@1 {
> -  reg = <1>;
> +config@21 {
> +  reg = <21>;
>bipolar;
> -  diff-channels = <2 3>;
>adi,reference-select = <0>;
>adi,buffered-positive;
>adi,buffered-negative;
>  };
>  
> +config@22 {
> +  reg = <22>;
> +};
> +
> +channel@0 {
> +  reg = <0>;
> +  diff-channels = <0 1>;
> +  adi,configuration = <20>;
> +};
> +
> +channel@1 {
> +  reg = <1>;
> +  diff-channels = <2 3>;
> +  adi,configuration = <21>;
> +};
> +
>  channel@2 {
>reg = <2>;
>diff-channels = <4 5>;
> +  adi,configuration = <22>;
>  };
>  
>  channel@3 {
>reg = <3>;
>diff-channels = <6 7>;
> +  adi,configuration = <22>;
>  };
>};
>  };



Re: [PATCH v2 2/2] dt-bindings: iio: adc: ad7124: add config nodes

2021-02-04 Thread Rob Herring
On Thu, 04 Feb 2021 13:35:51 +0200, alexandru.tach...@analog.com wrote:
> From: Alexandru Tachici 
> 
> Document use of configurations in device-tree bindings.
> 
> Signed-off-by: Alexandru Tachici 
> ---
>  .../bindings/iio/adc/adi,ad7124.yaml  | 72 +++
>  1 file changed, 57 insertions(+), 15 deletions(-)
> 

My bot found errors running 'make dt_binding_check' on your patch:

yamllint warnings/errors:
./Documentation/devicetree/bindings/iio/adc/adi,ad7124.yaml:76:10: [warning] 
wrong indentation: expected 10 but found 9 (indentation)
./Documentation/devicetree/bindings/iio/adc/adi,ad7124.yaml:114:10: [warning] 
wrong indentation: expected 10 but found 9 (indentation)

dtschema/dtc warnings/errors:

See https://patchwork.ozlabs.org/patch/1435965

This check can fail if there are any dependencies. The base for a patch
series is generally the most recent rc1.

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.



[PATCH v2 2/2] dt-bindings: iio: adc: ad7124: add config nodes

2021-02-04 Thread alexandru.tachici
From: Alexandru Tachici 

Document use of configurations in device-tree bindings.

Signed-off-by: Alexandru Tachici 
---
 .../bindings/iio/adc/adi,ad7124.yaml  | 72 +++
 1 file changed, 57 insertions(+), 15 deletions(-)

diff --git a/Documentation/devicetree/bindings/iio/adc/adi,ad7124.yaml 
b/Documentation/devicetree/bindings/iio/adc/adi,ad7124.yaml
index fb3d0dae9bae..330064461d0a 100644
--- a/Documentation/devicetree/bindings/iio/adc/adi,ad7124.yaml
+++ b/Documentation/devicetree/bindings/iio/adc/adi,ad7124.yaml
@@ -62,20 +62,19 @@ required:
   - interrupts
 
 patternProperties:
-  "^channel@([0-9]|1[0-5])$":
-$ref: "adc.yaml"
+  "^config@(2[0-7])$":
 type: object
 description: |
-  Represents the external channels which are connected to the ADC.
+  Represents a channel configuration.
+  See Documentation/devicetree/bindings/iio/adc/adc.txt.
 
 properties:
   reg:
 description: |
-  The channel number. It can have up to 8 channels on ad7124-4
-  and 16 channels on ad7124-8, numbered from 0 to 15.
+  The config number. It can have up to 8 configuration.
 items:
-  minimum: 0
-  maximum: 15
+ minimum: 20
+ maximum: 27
 
   adi,reference-select:
 description: |
@@ -88,8 +87,6 @@ patternProperties:
 $ref: /schemas/types.yaml#/definitions/uint32
 enum: [0, 1, 3]
 
-  diff-channels: true
-
   bipolar: true
 
   adi,buffered-positive:
@@ -100,6 +97,35 @@ patternProperties:
 description: Enable buffered mode for negative input.
 type: boolean
 
+additionalProperties: false
+
+  "^channel@([0-9]|1[0-5])$":
+type: object
+description: |
+  Represents the external channels which are connected to the ADC.
+  See Documentation/devicetree/bindings/iio/adc/adc.txt.
+
+properties:
+  reg:
+description: |
+  The channel number. It can have up to 8 channels on ad7124-4
+  and 16 channels on ad7124-8, numbered from 0 to 15.
+items:
+ minimum: 0
+ maximum: 15
+
+  diff-channels: true
+
+  adi,configuration:
+description: |
+  The devices has 8 configuration and ad7124-8 support up to 16 
unipolar channels.
+  Each channel can be assigned one configuration. Some channels will 
be sharing the
+  same configuration.
+allOf:
+  - $ref: /schemas/types.yaml#/definitions/uint32
+minimum: 20
+maximum: 27
+
 required:
   - reg
   - diff-channels
@@ -127,30 +153,46 @@ examples:
 #address-cells = <1>;
 #size-cells = <0>;
 
-channel@0 {
-  reg = <0>;
-  diff-channels = <0 1>;
+config@20 {
+  reg = <20>;
   adi,reference-select = <0>;
   adi,buffered-positive;
 };
 
-channel@1 {
-  reg = <1>;
+config@21 {
+  reg = <21>;
   bipolar;
-  diff-channels = <2 3>;
   adi,reference-select = <0>;
   adi,buffered-positive;
   adi,buffered-negative;
 };
 
+config@22 {
+  reg = <22>;
+};
+
+channel@0 {
+  reg = <0>;
+  diff-channels = <0 1>;
+  adi,configuration = <20>;
+};
+
+channel@1 {
+  reg = <1>;
+  diff-channels = <2 3>;
+  adi,configuration = <21>;
+};
+
 channel@2 {
   reg = <2>;
   diff-channels = <4 5>;
+  adi,configuration = <22>;
 };
 
 channel@3 {
   reg = <3>;
   diff-channels = <6 7>;
+  adi,configuration = <22>;
 };
   };
 };
-- 
2.20.1