diff mbox series

[V3,1/7] dt-bindings:iio:adc: add sprd,ump9620-adc dt-binding

Message ID 20220407082148.571442-2-gengcixi@gmail.com (mailing list archive)
State Changes Requested
Headers show
Series iio: adc: sc27xx: adjust structure and add PMIC's support | expand

Commit Message

Cixi Geng April 7, 2022, 8:21 a.m. UTC
From: Cixi Geng <cixi.geng1@unisoc.com>

sprd,ump9620-adc is one variant of sc27xx series, add ump9620
description and sample in dt-bindings.

Signed-off-by: Cixi Geng <cixi.geng1@unisoc.com>
---
 .../bindings/iio/adc/sprd,sc2720-adc.yaml     | 57 +++++++++++++++++--
 1 file changed, 53 insertions(+), 4 deletions(-)

Comments

Rob Herring April 13, 2022, 7:12 p.m. UTC | #1
On Thu, Apr 07, 2022 at 04:21:42PM +0800, Cixi Geng wrote:
> From: Cixi Geng <cixi.geng1@unisoc.com>
> 
> sprd,ump9620-adc is one variant of sc27xx series, add ump9620
> description and sample in dt-bindings.
> 
> Signed-off-by: Cixi Geng <cixi.geng1@unisoc.com>
> ---
>  .../bindings/iio/adc/sprd,sc2720-adc.yaml     | 57 +++++++++++++++++--
>  1 file changed, 53 insertions(+), 4 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/iio/adc/sprd,sc2720-adc.yaml b/Documentation/devicetree/bindings/iio/adc/sprd,sc2720-adc.yaml
> index caa3ee0b4b8c..0d0f317b75c5 100644
> --- a/Documentation/devicetree/bindings/iio/adc/sprd,sc2720-adc.yaml
> +++ b/Documentation/devicetree/bindings/iio/adc/sprd,sc2720-adc.yaml
> @@ -20,6 +20,7 @@ properties:
>        - sprd,sc2723-adc
>        - sprd,sc2730-adc
>        - sprd,sc2731-adc
> +      - sprd,ump9620-adc
>  
>    reg:
>      maxItems: 1
> @@ -34,12 +35,39 @@ properties:
>      maxItems: 1
>  
>    nvmem-cells:
> -    maxItems: 2
> +    description: nvmem-cells.
>  
>    nvmem-cell-names:
> -    items:
> -      - const: big_scale_calib
> -      - const: small_scale_calib
> +    description: Names for each nvmem-cells specified.

These descriptions of common properties are redundant. Just use 'true' 
for the property values.

> +
> +if:
> +  not:
> +    properties:
> +      compatible:
> +        contains:
> +          enum:
> +            - sprd,ump9620-adc

Use 'const'

> +then:
> +  properties:
> +    nvmem-cells:
> +      maxItems: 2
> +    nvmem-cell-names:
> +      items:
> +        - const: big_scale_calib
> +        - const: small_scale_calib
> +
> +else:
> +  properties:
> +    nvmem-cells:
> +      maxItems: 6
> +    nvmem-cell-names:
> +      items:
> +        - const: big_scale_calib1
> +        - const: big_scale_calib2
> +        - const: small_scale_calib1
> +        - const: small_scale_calib2
> +        - const: vbat_det_cal1
> +        - const: vbat_det_cal2
>  
>  required:
>    - compatible
> @@ -69,4 +97,25 @@ examples:
>              nvmem-cell-names = "big_scale_calib", "small_scale_calib";
>          };
>      };
> +
> +  - |
> +    #include <dt-bindings/interrupt-controller/irq.h>
> +    pmic {
> +        #address-cells = <1>;
> +        #size-cells = <0>;
> +        adc@504 {
> +            compatible = "sprd,ump9620-adc";
> +            reg = <0x504>;
> +            interrupt-parent = <&ump9620_pmic>;
> +            interrupts = <0 IRQ_TYPE_LEVEL_HIGH>;
> +            #io-channel-cells = <1>;
> +            hwlocks = <&hwlock 4>;
> +            nvmem-cells = <&adc_bcal1>, <&adc_bcal2>,
> +                          <&adc_scal1>, <&adc_scal2>,
> +                          <&vbat_det_cal1>, <&vbat_det_cal2>;
> +            nvmem-cell-names = "big_scale_calib1", "big_scale_calib2",
> +                               "small_scale_calib1", "small_scale_calib2",
> +                               "vbat_det_cal1", "vbat_det_cal2";
> +        };
> +    };
>  ...
> -- 
> 2.25.1
> 
>
Cixi Geng April 18, 2022, 6:26 a.m. UTC | #2
Rob Herring <robh@kernel.org> 于2022年4月14日周四 03:12写道:
>
> On Thu, Apr 07, 2022 at 04:21:42PM +0800, Cixi Geng wrote:
> > From: Cixi Geng <cixi.geng1@unisoc.com>
> >
> > sprd,ump9620-adc is one variant of sc27xx series, add ump9620
> > description and sample in dt-bindings.
> >
> > Signed-off-by: Cixi Geng <cixi.geng1@unisoc.com>
> > ---
> >  .../bindings/iio/adc/sprd,sc2720-adc.yaml     | 57 +++++++++++++++++--
> >  1 file changed, 53 insertions(+), 4 deletions(-)
> >
> > diff --git a/Documentation/devicetree/bindings/iio/adc/sprd,sc2720-adc.yaml b/Documentation/devicetree/bindings/iio/adc/sprd,sc2720-adc.yaml
> > index caa3ee0b4b8c..0d0f317b75c5 100644
> > --- a/Documentation/devicetree/bindings/iio/adc/sprd,sc2720-adc.yaml
> > +++ b/Documentation/devicetree/bindings/iio/adc/sprd,sc2720-adc.yaml
> > @@ -20,6 +20,7 @@ properties:
> >        - sprd,sc2723-adc
> >        - sprd,sc2730-adc
> >        - sprd,sc2731-adc
> > +      - sprd,ump9620-adc
> >
> >    reg:
> >      maxItems: 1
> > @@ -34,12 +35,39 @@ properties:
> >      maxItems: 1
> >
> >    nvmem-cells:
> > -    maxItems: 2
> > +    description: nvmem-cells.
> >
> >    nvmem-cell-names:
> > -    items:
> > -      - const: big_scale_calib
> > -      - const: small_scale_calib
> > +    description: Names for each nvmem-cells specified.
>
> These descriptions of common properties are redundant. Just use 'true'
> for the property values.
>
> > +
> > +if:
> > +  not:
> > +    properties:
> > +      compatible:
> > +        contains:
> > +          enum:
> > +            - sprd,ump9620-adc
>
> Use 'const'

Hi Rob Herring:
did you mean I should use "- const: sprd,ump9620-adc"? or change the
enum to const?
but the above two modification methods have failed for me to test
dt-bindings-check.
>
> > +then:
> > +  properties:
> > +    nvmem-cells:
> > +      maxItems: 2
> > +    nvmem-cell-names:
> > +      items:
> > +        - const: big_scale_calib
> > +        - const: small_scale_calib
> > +
> > +else:
> > +  properties:
> > +    nvmem-cells:
> > +      maxItems: 6
> > +    nvmem-cell-names:
> > +      items:
> > +        - const: big_scale_calib1
> > +        - const: big_scale_calib2
> > +        - const: small_scale_calib1
> > +        - const: small_scale_calib2
> > +        - const: vbat_det_cal1
> > +        - const: vbat_det_cal2
> >
> >  required:
> >    - compatible
> > @@ -69,4 +97,25 @@ examples:
> >              nvmem-cell-names = "big_scale_calib", "small_scale_calib";
> >          };
> >      };
> > +
> > +  - |
> > +    #include <dt-bindings/interrupt-controller/irq.h>
> > +    pmic {
> > +        #address-cells = <1>;
> > +        #size-cells = <0>;
> > +        adc@504 {
> > +            compatible = "sprd,ump9620-adc";
> > +            reg = <0x504>;
> > +            interrupt-parent = <&ump9620_pmic>;
> > +            interrupts = <0 IRQ_TYPE_LEVEL_HIGH>;
> > +            #io-channel-cells = <1>;
> > +            hwlocks = <&hwlock 4>;
> > +            nvmem-cells = <&adc_bcal1>, <&adc_bcal2>,
> > +                          <&adc_scal1>, <&adc_scal2>,
> > +                          <&vbat_det_cal1>, <&vbat_det_cal2>;
> > +            nvmem-cell-names = "big_scale_calib1", "big_scale_calib2",
> > +                               "small_scale_calib1", "small_scale_calib2",
> > +                               "vbat_det_cal1", "vbat_det_cal2";
> > +        };
> > +    };
> >  ...
> > --
> > 2.25.1
> >
> >
Rob Herring April 20, 2022, 7:40 p.m. UTC | #3
On Mon, Apr 18, 2022 at 02:26:29PM +0800, Cixi Geng wrote:
> Rob Herring <robh@kernel.org> 于2022年4月14日周四 03:12写道:
> >
> > On Thu, Apr 07, 2022 at 04:21:42PM +0800, Cixi Geng wrote:
> > > From: Cixi Geng <cixi.geng1@unisoc.com>
> > >
> > > sprd,ump9620-adc is one variant of sc27xx series, add ump9620
> > > description and sample in dt-bindings.
> > >
> > > Signed-off-by: Cixi Geng <cixi.geng1@unisoc.com>
> > > ---
> > >  .../bindings/iio/adc/sprd,sc2720-adc.yaml     | 57 +++++++++++++++++--
> > >  1 file changed, 53 insertions(+), 4 deletions(-)
> > >
> > > diff --git a/Documentation/devicetree/bindings/iio/adc/sprd,sc2720-adc.yaml b/Documentation/devicetree/bindings/iio/adc/sprd,sc2720-adc.yaml
> > > index caa3ee0b4b8c..0d0f317b75c5 100644
> > > --- a/Documentation/devicetree/bindings/iio/adc/sprd,sc2720-adc.yaml
> > > +++ b/Documentation/devicetree/bindings/iio/adc/sprd,sc2720-adc.yaml
> > > @@ -20,6 +20,7 @@ properties:
> > >        - sprd,sc2723-adc
> > >        - sprd,sc2730-adc
> > >        - sprd,sc2731-adc
> > > +      - sprd,ump9620-adc
> > >
> > >    reg:
> > >      maxItems: 1
> > > @@ -34,12 +35,39 @@ properties:
> > >      maxItems: 1
> > >
> > >    nvmem-cells:
> > > -    maxItems: 2
> > > +    description: nvmem-cells.
> > >
> > >    nvmem-cell-names:
> > > -    items:
> > > -      - const: big_scale_calib
> > > -      - const: small_scale_calib
> > > +    description: Names for each nvmem-cells specified.
> >
> > These descriptions of common properties are redundant. Just use 'true'
> > for the property values.
> >
> > > +
> > > +if:
> > > +  not:
> > > +    properties:
> > > +      compatible:
> > > +        contains:
> > > +          enum:
> > > +            - sprd,ump9620-adc
> >
> > Use 'const'
> 
> Hi Rob Herring:
> did you mean I should use "- const: sprd,ump9620-adc"? or change the
> enum to const?
> but the above two modification methods have failed for me to test
> dt-bindings-check.

contains:
  const: sprd,ump9620-adc
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/iio/adc/sprd,sc2720-adc.yaml b/Documentation/devicetree/bindings/iio/adc/sprd,sc2720-adc.yaml
index caa3ee0b4b8c..0d0f317b75c5 100644
--- a/Documentation/devicetree/bindings/iio/adc/sprd,sc2720-adc.yaml
+++ b/Documentation/devicetree/bindings/iio/adc/sprd,sc2720-adc.yaml
@@ -20,6 +20,7 @@  properties:
       - sprd,sc2723-adc
       - sprd,sc2730-adc
       - sprd,sc2731-adc
+      - sprd,ump9620-adc
 
   reg:
     maxItems: 1
@@ -34,12 +35,39 @@  properties:
     maxItems: 1
 
   nvmem-cells:
-    maxItems: 2
+    description: nvmem-cells.
 
   nvmem-cell-names:
-    items:
-      - const: big_scale_calib
-      - const: small_scale_calib
+    description: Names for each nvmem-cells specified.
+
+if:
+  not:
+    properties:
+      compatible:
+        contains:
+          enum:
+            - sprd,ump9620-adc
+then:
+  properties:
+    nvmem-cells:
+      maxItems: 2
+    nvmem-cell-names:
+      items:
+        - const: big_scale_calib
+        - const: small_scale_calib
+
+else:
+  properties:
+    nvmem-cells:
+      maxItems: 6
+    nvmem-cell-names:
+      items:
+        - const: big_scale_calib1
+        - const: big_scale_calib2
+        - const: small_scale_calib1
+        - const: small_scale_calib2
+        - const: vbat_det_cal1
+        - const: vbat_det_cal2
 
 required:
   - compatible
@@ -69,4 +97,25 @@  examples:
             nvmem-cell-names = "big_scale_calib", "small_scale_calib";
         };
     };
+
+  - |
+    #include <dt-bindings/interrupt-controller/irq.h>
+    pmic {
+        #address-cells = <1>;
+        #size-cells = <0>;
+        adc@504 {
+            compatible = "sprd,ump9620-adc";
+            reg = <0x504>;
+            interrupt-parent = <&ump9620_pmic>;
+            interrupts = <0 IRQ_TYPE_LEVEL_HIGH>;
+            #io-channel-cells = <1>;
+            hwlocks = <&hwlock 4>;
+            nvmem-cells = <&adc_bcal1>, <&adc_bcal2>,
+                          <&adc_scal1>, <&adc_scal2>,
+                          <&vbat_det_cal1>, <&vbat_det_cal2>;
+            nvmem-cell-names = "big_scale_calib1", "big_scale_calib2",
+                               "small_scale_calib1", "small_scale_calib2",
+                               "vbat_det_cal1", "vbat_det_cal2";
+        };
+    };
 ...