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 |
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 > >
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 > > > >
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 --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"; + }; + }; ...