On Thu, Apr 07, 2022 at 04:21:42PM +0800, Cixi Geng wrote: > From: Cixi Geng <cixi.geng1@xxxxxxxxxx> > > sprd,ump9620-adc is one variant of sc27xx series, add ump9620 > description and sample in dt-bindings. > > Signed-off-by: Cixi Geng <cixi.geng1@xxxxxxxxxx> > --- > .../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 > >