On Thu, 13 Feb 2020 13:39:16 +0200 Alexandru Tachici <alexandru.tachici@xxxxxxxxxx> wrote: > Adding dt-bindings documentation for AD5770R DAC. > > Signed-off-by: Mircea Caprioru <mircea.caprioru@xxxxxxxxxx> > Signed-off-by: Alexandru Tachici <alexandru.tachici@xxxxxxxxxx> One comment inline. I'd also like to leave this to give time for DT maintainer to review. Thanks, Jonathan > --- > .../bindings/iio/dac/adi,ad5770r.yaml | 188 ++++++++++++++++++ > 1 file changed, 188 insertions(+) > create mode 100644 Documentation/devicetree/bindings/iio/dac/adi,ad5770r.yaml > > diff --git a/Documentation/devicetree/bindings/iio/dac/adi,ad5770r.yaml b/Documentation/devicetree/bindings/iio/dac/adi,ad5770r.yaml > new file mode 100644 > index 000000000000..37b674caebfb > --- /dev/null > +++ b/Documentation/devicetree/bindings/iio/dac/adi,ad5770r.yaml > @@ -0,0 +1,188 @@ > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > +# Copyright 2020 Analog Devices Inc. > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/bindings/iio/adc/adi,ad5770r.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Analog Devices AD5770R DAC device driver > + > +maintainers: > + - Mircea Caprioru <mircea.caprioru@xxxxxxxxxx> > + > +description: | > + Bindings for the Analog Devices AD5770R current DAC device. Datasheet can be > + found here: > + https://www.analog.com/media/en/technical-documentation/data-sheets/AD5770R.pdf > + > +properties: > + compatible: > + enum: > + - adi,ad5770r > + > + reg: > + maxItems: 1 > + > + avdd-supply: > + description: > + AVdd voltage supply. > + > + dvdd-supply: > + description: > + DVdd voltage supply. Must have same voltage as avdd-supply. Hmm. That is an oddity. In the chips case this reflects physical pins from a binding point of view, the only option will be to connect them to the same regulator. Hence I'd just have a single supply to cover both of these. Add a note in the connect on which ever one you keep to say that it represents 2 different supplies listed on the datasheet that are in fact the same. > + > + iovdd-supply: > + description: > + Voltage supply for the chip interface. > + > + vref-supply: > + description: Specify the voltage of the external reference used. > + Available reference options are 1.25 V or 2.5 V. If no > + external reference declared then the device will use the > + internal reference of 1.25 V. > + > + adi,external-resistor: > + description: Specify if an external 2.5k ohm resistor is used. If not > + specified the device will use an internal 2.5k ohm resistor. > + The precision resistor is used for reference current generation. > + type: boolean > + > + reset-gpios: > + description: GPIO spec for the RESET pin. If specified, it will be > + asserted during driver probe. > + maxItems: 1 > + > + channel0: > + description: Represents an external channel which are > + connected to the DAC. Channel 0 can act both as a current > + source and sink. > + type: object > + > + properties: > + num: > + description: This represents the channel number. > + items: > + const: 0 > + > + adi,range-microamp: > + description: Output range of the channel. > + oneOf: > + - $ref: /schemas/types.yaml#/definitions/int32-array > + - items: > + - enum: [0 300000] > + - enum: [-60000 0] > + - enum: [-60000 300000] > + > + channel1: > + description: Represents an external channel which are > + connected to the DAC. > + type: object > + > + properties: > + num: > + description: This represents the channel number. > + items: > + const: 1 > + > + adi,range-microamp: > + description: Output range of the channel. > + oneOf: > + - $ref: /schemas/types.yaml#/definitions/uint32-array > + - items: > + - enum: [0 140000] > + - enum: [0 250000] > + > + channel2: > + description: Represents an external channel which are > + connected to the DAC. > + type: object > + > + properties: > + num: > + description: This represents the channel number. > + items: > + const: 2 > + > + adi,range-microamp: > + description: Output range of the channel. > + oneOf: > + - $ref: /schemas/types.yaml#/definitions/uint32-array > + - items: > + - enum: [0 140000] > + - enum: [0 250000] > + > +patternProperties: > + "^channel@([3-5])$": > + type: object > + description: Represents the external channels which are connected to the DAC. > + properties: > + num: > + description: This represents the channel number. > + items: > + minimum: 3 > + maximum: 5 > + > + adi,range-microamp: > + description: Output range of the channel. > + oneOf: > + - $ref: /schemas/types.yaml#/definitions/uint32-array > + - items: > + - enum: [0 45000] > + - enum: [0 100000] > + > +required: > +- reg > +- diff-channels > +- channel0 > +- channel1 > +- channel2 > +- channel3 > +- channel4 > +- channel5 > + > +examples: > + - | > + spi { > + #address-cells = <1>; > + #size-cells = <0>; > + > + ad5770r@0 { > + compatible = "ad5770r"; > + reg = <0>; > + spi-max-frequency = <1000000>; > + vref-supply = <&vref>; > + adi,external-resistor; > + reset-gpios = <&gpio 22 0>; > + > + channel@0 { > + num = <0>; > + adi,range-microamp = <(-60000) 300000>; > + }; > + > + channel@1 { > + num = <1>; > + adi,range-microamp = <0 140000>; > + }; > + > + channel@2 { > + num = <2>; > + adi,range-microamp = <0 55000>; > + }; > + > + channel@3 { > + num = <3>; > + adi,range-microamp = <0 45000>; > + }; > + > + channel@4 { > + num = <4>; > + adi,range-microamp = <0 45000>; > + }; > + > + channel@5 { > + num = <5>; > + adi,range-microamp = <0 45000>; > + }; > + }; > + }; > +...