On Fri, 9 Apr 2021 15:50:10 -0300 Lucas Stankus <lucas.p.stankus@xxxxxxxxx> wrote: > Add device tree binding documentation for AD7746 cdc in YAML format. > > Signed-off-by: Lucas Stankus <lucas.p.stankus@xxxxxxxxx> Hi Lucas, Good to see progress on this one after all these years :) I think we can do a bit better though by making the attributes easy to comprehend without needing to refer to the documentation. Always good to avoid magic numbers if we can. Suggestions inline. Jonathan > --- > .../bindings/iio/cdc/adi,ad7746.yaml | 79 +++++++++++++++++++ > 1 file changed, 79 insertions(+) > create mode 100644 Documentation/devicetree/bindings/iio/cdc/adi,ad7746.yaml > > diff --git a/Documentation/devicetree/bindings/iio/cdc/adi,ad7746.yaml b/Documentation/devicetree/bindings/iio/cdc/adi,ad7746.yaml > new file mode 100644 > index 000000000000..5de86f4374e1 > --- /dev/null > +++ b/Documentation/devicetree/bindings/iio/cdc/adi,ad7746.yaml > @@ -0,0 +1,79 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/iio/cdc/adi,ad7746.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: AD7746 24-Bit Capacitance-to-Digital Converter with Temperature Sensor > + > +maintainers: > + - Michael Hennerich <michael.hennerich@xxxxxxxxxx> > + > +description: | > + AD7746 24-Bit Capacitance-to-Digital Converter with Temperature Sensor > + > + Specifications about the part can be found at: > + https://www.analog.com/media/en/technical-documentation/data-sheets/ad7291.pdf > + > +properties: > + compatible: > + enum: > + - adi,ad7745 > + - adi,ad7746 > + - adi,ad7747 > + > + reg: > + description: | > + Physiscal address of the EXC set-up register. reg in this case would be the i2c address. > + maxItems: 1 > + > + adi,excitation-voltage-level: This isn't a level as such, it's a scale factor, or something like that and the naming should reflect that + the values should be real in some sense (multipliers so perhaps something like adi,excitation-vdd-milicent ? schema/property-units.yaml includes -percent but that doesn't have enough precision. enum [125, 250, 375, 500] > + description: | > + Select the reference excitation voltage level used by the device. > + With VDD being the power supply voltage, valid values are: > + 0: +-VDD / 8 > + 1: +-VDD / 4 > + 2: +-VDD * 3 / 8 > + 3: +-VDD / 2 > + If left empty option 3 is selected. > + $ref: /schemas/types.yaml#/definitions/uint32 > + enum: [0, 1, 2, 3] > + > + adi,exca-output: > + description: | > + Sets the excitation output in the exca pin. > + Valid values are: > + 0: Disables output in the EXCA pin. > + 1: Enables EXCA pin as the excitation output. > + 2: Enables EXCA pin as the inverted excitation output. Hmm. Various ways we could do this and avoid the need for a enum representing several different things. Perhaps adi,exa-output-en adi,exa-output-invert (appropriate checks so we can only have invert of the channel is enabled as otherwise it is less than meaningful) > + If left empty the output is disabled. > + $ref: /schemas/types.yaml#/definitions/uint32 > + enum: [0, 1, 2] > + > + adi,excb-output: > + description: | > + Analoguos to the adi,exca-output for the EXCB pin. > + $ref: /schemas/types.yaml#/definitions/uint32 > + enum: [0, 1, 2] > + > +required: > + - compatible > + - reg > + > +additionalProperties: false > + > +examples: > + - | > + i2c { > + #address-cells = <1>; > + #size-cells = <0>; > + > + ad7746: cdc@0 { > + compatible = "adi,ad7746"; > + reg = <0>; That's very unlikely as an i2c address. > + adi,excitation-voltage-level = <3>; > + adi,exca-output = <0>; > + adi,excb-output = <0>; > + }; > + }; > +...