On Sun, 13 Oct 2019 11:13:47 -0300 Marcelo Schmitt <marcelo.schmitt1@xxxxxxxxx> wrote: > Add a device tree binding doc for AD7292 monitor and control system. > > Signed-off-by: Marcelo Schmitt <marcelo.schmitt1@xxxxxxxxx> > --- > .../bindings/iio/adc/adi,ad7292.yaml | 71 +++++++++++++++++++ > MAINTAINERS | 1 + > 2 files changed, 72 insertions(+) > create mode 100644 Documentation/devicetree/bindings/iio/adc/adi,ad7292.yaml > > diff --git a/Documentation/devicetree/bindings/iio/adc/adi,ad7292.yaml b/Documentation/devicetree/bindings/iio/adc/adi,ad7292.yaml > new file mode 100644 > index 000000000000..16be9ea4194d > --- /dev/null > +++ b/Documentation/devicetree/bindings/iio/adc/adi,ad7292.yaml > @@ -0,0 +1,71 @@ > +# SPDX-License-Identifier: GPL-2.0 > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/iio/adc/adi,ad7292.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Analog Devices AD7292 10-Bit Monitor and Control System > + > +maintainers: > + - Marcelo Schmitt <marcelo.schmitt1@xxxxxxxxx> > + > +description: | > + Analog Devices AD7292 10-Bit Monitor and Control System with ADC, DACs, > + Temperature Sensor, and GPIOs > + > + Specifications about the part can be found at: > + https://www.analog.com/media/en/technical-documentation/data-sheets/ad7292.pdf > + > +properties: > + compatible: > + enum: > + - adi,ad7292 > + > + reg: > + maxItems: 1 > + > + vref-supply: > + description: | > + The regulator supply for ADC and DAC reference voltage. > + maxItems: 1 > + > + spi-cpha: > + description: | > + See Documentation/devicetree/bindings/spi/spi-controller.yaml > + maxItems: 1 > + > + diff-channels: > + description: | > + Empty property to tell whether VIN0 and VIN1 shall work as differential > + inputs. > + maxItems: 1 This looks like a nice general interface, but really isn't as it only applies to the first two channels. Can you use the standard channel defintions Documentation/devicetree/bindings/iio/adc.txt to specify this? It may seem overly complex, but it has the benefit of being generic. Would be something like: channel@0 { diff-channels = < 0 1 > }; channel@2 { }; vs all the channels being present, none set as diff. Thanks, Jonathan > + > + '#address-cells': > + const: 1 > + > + '#size-cells': > + const: 0 > + > +required: > + - compatible > + - reg > + > +examples: > + - | > + spi0 { > + #address-cells = <1>; > + #size-cells = <0>; > + > + ad7292: ad7292@0 { > + compatible = "adi,ad7292"; > + reg = <0>; > + > + #address-cells = <1>; > + #size-cells = <0>; > + > + spi-max-frequency = <25000000>; > + vref-supply = <&adc_vref>; > + spi-cpha; > + diff-channels; > + }; > + } > diff --git a/MAINTAINERS b/MAINTAINERS > index e78317a5f4f1..5941cfc0d6f7 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -819,6 +819,7 @@ L: linux-iio@xxxxxxxxxxxxxxx > W: http://ez.analog.com/community/linux-device-drivers > S: Supported > F: drivers/iio/adc/ad7292.c > +F: Documentation/devicetree/bindings/iio/adc/adi,ad7292.yaml > > ANALOG DEVICES INC AD7606 DRIVER > M: Stefan Popa <stefan.popa@xxxxxxxxxx>