On Thu, Apr 01, 2021 at 03:09:55PM +0100, Jonathan Cameron wrote: > From: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx> > > Straight forward conversion. Only fiddly bit is the XOR of > spi-cpol and spi-cpha. > > Signed-off-by: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx> > Cc: Sean Nyekjaer <sean.nyekjaer@xxxxxxxxx> > Link: https://lore.kernel.org/r/20201031184854.745828-40-jic23@xxxxxxxxxx > --- > .../devicetree/bindings/iio/dac/ad5755.txt | 124 ------------- > .../bindings/iio/dac/adi,ad5755.yaml | 171 ++++++++++++++++++ > 2 files changed, 171 insertions(+), 124 deletions(-) > diff --git a/Documentation/devicetree/bindings/iio/dac/adi,ad5755.yaml b/Documentation/devicetree/bindings/iio/dac/adi,ad5755.yaml > new file mode 100644 > index 000000000000..5d6a87f28b12 > --- /dev/null > +++ b/Documentation/devicetree/bindings/iio/dac/adi,ad5755.yaml > @@ -0,0 +1,171 @@ > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/iio/dac/adi,ad5755.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Analog Devices AD5755 Multi-Channel DAC > + > +maintainers: > + - Sean Nyekjaer <sean.nyekjaer@xxxxxxxxx> > + > +properties: > + compatible: > + enum: > + - adi,ad5755 > + - adi,ad5755-1 > + - adi,ad5757 > + - adi,ad5735 > + - adi,ad5737 > + > + reg: > + maxItems: 1 > + > + spi-cpha: > + description: Either this or spi-cpol but not both. > + spi-cpol: true > + > + spi-max-frequency: true > + > + adi,ext-dc-dc-compenstation-resistor: > + $ref: /schemas/types.yaml#/definitions/flag > + description: > + Set if the hardware have an external resistor and thereby bypasses > + the internal compensation resistor. > + > + adi,dc-dc-phase: > + $ref: /schemas/types.yaml#/definitions/uint32 > + enum: [0, 1, 2, 3] > + description: | > + Valid values for DC DC Phase control is: > + 0: All dc-to-dc converters clock on the same edge. > + 1: Channel A and Channel B clock on the same edge, > + Channel C and Channel D clock on opposite edges. > + 2: Channel A and Channel C clock on the same edge, > + Channel B and Channel D clock on opposite edges. > + 3: Channel A, Channel B, Channel C, and Channel D > + clock 90 degrees out of phase from each other. > + > + adi,dc-dc-freq-hz: > + $ref: /schemas/types.yaml#/definitions/uint32 Don't need a type ref. > + enum: [250000, 410000, 650000] > + > + adi,dc-dc-max-microvolt: > + $ref: /schemas/types.yaml#/definitions/uint32 Don't need a type ref. > + description: > + Maximum allowed Vboost voltage supplied by the dc-to-dc converter. > + enum: [23000000, 24500000, 27000000, 29500000] > + > + "#address-cells": > + const: 1 > + > + "#size-cells": > + const: 0 > + > + "#io-channel-cells": > + const: 1 > + > +required: > + - compatible > + - reg > + > +additionalProperties: false > + > +patternProperties: > + "^(channel@)[0-7]$": Don't need (). > + type: object > + description: Child node to describe a channel > + properties: > + reg: > + maxItems: 1 > + > + adi,mode: > + $ref: /schemas/types.yaml#/definitions/uint32 > + minimum: 0 > + maximum: 6 > + description: | > + Valid values for DAC modes is: > + 0: 0 V to 5 V voltage range. > + 1: 0 V to 10 V voltage range. > + 2: Plus minus 5 V voltage range. > + 3: Plus minus 10 V voltage range. > + 4: 4 mA to 20 mA current range. > + 5: 0 mA to 20 mA current range. > + 6: 0 mA to 24 mA current range. > + > + adi,ext-current-sense-resistor: > + $ref: /schemas/types.yaml#/definitions/flag > + description: > + Set if the hardware has an external current sense resistor > + > + adi,enable-voltage-overrange: > + $ref: /schemas/types.yaml#/definitions/flag > + description: Enable voltage overrange > + > + adi,slew: > + $ref: /schemas/types.yaml#/definitions/uint32-array > + description: | > + Array of slewrate settings should contain 3 fields: > + 1: Should be either 0 or 1 in order to enable or disable slewrate. > + 2: Slew rate update frequency > + 3: Slew step size > + items: > + - enum: [0, 1] > + - enum: [64000, 32000, 16000, 8000, 4000, 2000, 1000, 500, 250, 125, 64, 32, 16, 8, 4, 0] > + - enum: [1, 2, 4, 16, 32, 64, 128, 256] > + > + required: > + - reg > + > + additionalProperties: false > + > +oneOf: > + - required: > + - spi-cpha > + - required: > + - spi-cpol > + > +examples: > + - | > + #include <dt-bindings/iio/adi,ad5592r.h> > + spi { > + #address-cells = <1>; > + #size-cells = <0>; > + > + dac@0 { > + #address-cells = <1>; > + #size-cells = <0>; > + compatible = "adi,ad5755"; > + reg = <0>; > + spi-max-frequency = <1000000>; > + spi-cpha; > + adi,dc-dc-phase = <0>; > + adi,dc-dc-freq-hz = <410000>; > + adi,dc-dc-max-microvolt = <23000000>; > + channel@0 { > + reg = <0>; > + adi,mode = <4>; > + adi,ext-current-sense-resistor; > + adi,slew = <0 64000 1>; > + }; > + channel@1 { > + reg = <1>; > + adi,mode = <4>; > + adi,ext-current-sense-resistor; > + adi,slew = <0 64000 1>; > + }; > + channel@2 { > + reg = <2>; > + adi,mode = <4>; > + adi,ext-current-sense-resistor; > + adi,slew = <0 64000 1>; > + }; > + channel@3 { > + reg = <3>; > + adi,mode = <4>; > + adi,ext-current-sense-resistor; > + adi,slew = <0 64000 1>; > + }; > + }; > + }; > +... > -- > 2.31.1 >