Message ID | 4be8e3e40794474d8622192c6a5ea0fb4af527e1.1617993776.git.lucas.p.stankus@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | staging: iio: cdc: ad7746: remove platform_data in favor of device tree bindings | expand |
On Fri, 9 Apr 2021 15:50:10 -0300 Lucas Stankus <lucas.p.stankus@gmail.com> wrote: > Add device tree binding documentation for AD7746 cdc in YAML format. > > Signed-off-by: Lucas Stankus <lucas.p.stankus@gmail.com> 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@analog.com> > + > +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>; > + }; > + }; > +...
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@analog.com> + +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. + maxItems: 1 + + adi,excitation-voltage-level: + 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. + 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>; + adi,excitation-voltage-level = <3>; + adi,exca-output = <0>; + adi,excb-output = <0>; + }; + }; +...
Add device tree binding documentation for AD7746 cdc in YAML format. Signed-off-by: Lucas Stankus <lucas.p.stankus@gmail.com> --- .../bindings/iio/cdc/adi,ad7746.yaml | 79 +++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 Documentation/devicetree/bindings/iio/cdc/adi,ad7746.yaml