Re: [PATCH v2 16/29] dt-bindings:iio:dac:ti,dac082s085 yaml conversion

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, 8 Nov 2020 16:34:51 +0000
Jonathan Cameron <jic23@xxxxxxxxxx> wrote:

> On Mon, 2 Nov 2020 20:21:08 -0600
> Rob Herring <robh@xxxxxxxxxx> wrote:
> 
> > On Sat, Oct 31, 2020 at 01:40:57PM +0000, Jonathan Cameron wrote:  
> > > From: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx>
> > > 
> > > Fairly simple conversion with the exception of the XOR between
> > > spi-cpha and spi-cpol.
> > > 
> > > Is there a better way to specify that?
> > > 
> > > Signed-off-by: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx>
> > > Cc: Lukas Wunner <lukas@xxxxxxxxx>
> > > ---
> > > v2:
> > > * Family typo
> > > * Put back the reference regulator in example.
> > > * Added checking of XOR of spi-cpha and spi-cpol
> > >   (dropped Rob Herrings Reviewed-by due to this change)
> > >   
> > >  .../bindings/iio/dac/ti,dac082s085.yaml       | 79 +++++++++++++++++++
> > >  .../bindings/iio/dac/ti-dac082s085.txt        | 34 --------
> > >  2 files changed, 79 insertions(+), 34 deletions(-)
> > > 
> > > diff --git a/Documentation/devicetree/bindings/iio/dac/ti,dac082s085.yaml b/Documentation/devicetree/bindings/iio/dac/ti,dac082s085.yaml
> > > new file mode 100644
> > > index 000000000000..192b314c99d1
> > > --- /dev/null
> > > +++ b/Documentation/devicetree/bindings/iio/dac/ti,dac082s085.yaml
> > > @@ -0,0 +1,79 @@
> > > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> > > +%YAML 1.2
> > > +---
> > > +$id: http://devicetree.org/schemas/iio/dac/ti,dac082s085.yaml#
> > > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > > +
> > > +title: Texas Instruments DAC082s085 and similar DACs
> > > +
> > > +description:
> > > +  A family of Texas Instruments 8/10/12-bit 2/4-channel DACs
> > > +
> > > +maintainers:
> > > +  - Lukas Wunner <lukas@xxxxxxxxx>
> > > +
> > > +properties:
> > > +  compatible:
> > > +    enum:
> > > +      - ti,dac082s085
> > > +      - ti,dac102s085
> > > +      - ti,dac122s085
> > > +      - ti,dac084s085
> > > +      - ti,dac104s085
> > > +      - ti,dac124s085
> > > +
> > > +  reg:
> > > +    maxItems: 1
> > > +
> > > +  spi-cpha: true
> > > +  spi-cpol:
> > > +    description:
> > > +      Should be either spi-cpha, or spi-cpol but not both.
> > > +
> > > +  vref-supply:
> > > +    description: Needed to provide output scaling.
> > > +
> > > +  spi-max-frequency: true
> > > +
> > > +required:
> > > +  - compatible
> > > +  - reg
> > > +  - vref-supply
> > > +
> > > +additionalProperties: false
> > > +
> > > +allOf:
> > > +  - $ref: '#/definitions/cpolXORcpha'
> > > +
> > > +definitions:
> > > +  cpolXORcpha:    
> > 
> > No need for a definition. Just put the below in the allOf entry.  
> 
> I can't figure out the syntax to do that.
> If I put it directly there I get, 
> 
> ... iio/dac/ti,dac082s085.yaml: allOf:0: 'not' is not one of ['$ref', 'if', 'then', 'else']
> 
> The use of $ref was the only way I could find to get around this.
> What other option is there?  My Yaml is still largely cut and paste
> based so not sure I fully understand the restrictions that are applied.

Hi Rob,

I've had another go at playing with the syntax but still can't find a way around the above
issue if I try to get rid of the definitions block as you suggest.

Any pointers on the syntax very much appreciated!

Thanks

Jonathan

> 
> Thanks,
> 
> Jonathan
> 
> 
> 
> >   
> > > +    not:
> > > +      required: [spi-cpha, spi-cpol]
> > > +    oneOf:
> > > +      - required:
> > > +          - spi-cpha
> > > +      - required:
> > > +          - spi-cpol
> > > +
> > > +examples:
> > > +  - |
> > > +    vref_2v5_reg: regulator-vref {
> > > +        compatible = "regulator-fixed";
> > > +        regulator-name = "2v5";
> > > +        regulator-min-microvolt = <2500000>;
> > > +        regulator-max-microvolt = <2500000>;
> > > +        regulator-always-on;
> > > +    };
> > > +    spi {
> > > +        #address-cells = <1>;
> > > +        #size-cells = <0>;
> > > +
> > > +        dac@0 {
> > > +            compatible = "ti,dac082s085";
> > > +            reg = <0>;
> > > +            spi-max-frequency = <40000000>;
> > > +            spi-cpol;
> > > +            vref-supply = <&vref_2v5_reg>;
> > > +        };
> > > +    };
> > > +...
> > > diff --git a/Documentation/devicetree/bindings/iio/dac/ti-dac082s085.txt b/Documentation/devicetree/bindings/iio/dac/ti-dac082s085.txt
> > > deleted file mode 100644
> > > index 9cb0e10df704..000000000000
> > > --- a/Documentation/devicetree/bindings/iio/dac/ti-dac082s085.txt
> > > +++ /dev/null
> > > @@ -1,34 +0,0 @@
> > > -Texas Instruments 8/10/12-bit 2/4-channel DAC driver
> > > -
> > > -Required properties:
> > > - - compatible:		Must be one of:
> > > -			"ti,dac082s085"
> > > -			"ti,dac102s085"
> > > -			"ti,dac122s085"
> > > -			"ti,dac084s085"
> > > -			"ti,dac104s085"
> > > -			"ti,dac124s085"
> > > - - reg: 		Chip select number.
> > > - - spi-cpha, spi-cpol:	SPI mode (0,1) or (1,0) must be used, so specify
> > > -			either spi-cpha or spi-cpol (but not both).
> > > - - vref-supply: 	Phandle to the external reference voltage supply.
> > > -
> > > -For other required and optional properties of SPI slave nodes please refer to
> > > -../../spi/spi-bus.txt.
> > > -
> > > -Example:
> > > -	vref_2v5_reg: regulator-vref {
> > > -		compatible = "regulator-fixed";
> > > -		regulator-name = "2v5";
> > > -		regulator-min-microvolt = <2500000>;
> > > -		regulator-max-microvolt = <2500000>;
> > > -		regulator-always-on;
> > > -	};
> > > -
> > > -	dac@0 {
> > > -		compatible = "ti,dac082s085";
> > > -		reg = <0>;
> > > -		spi-max-frequency = <40000000>;
> > > -		spi-cpol;
> > > -		vref-supply = <&vref_2v5_reg>;
> > > -	};
> > > -- 
> > > 2.28.0
> > >     
> 




[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Input]     [Linux Kernel]     [Linux SCSI]     [X.org]

  Powered by Linux