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 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.

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]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux