Re: [PATCH v4 1/3] dt-bindings: iio: adc: add a7779 doc

Jonathan Cameron
2024-07-27T15:23:57Z

On Wed, 24 Jul 2024 18:54:39 +0300
Ramona Alexandra Nechita <ramona.nechita@analog.com> wrote:

> Add dt bindings for adc ad7779.
>
> Signed-off-by: Ramona Alexandra Nechita <ramona.nechita@analog.com>
> ---
> .../bindings/iio/adc/adi,ad7779.yaml | 85 +++++++++++++++++++
> 1 file changed, 85 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/iio/adc/adi,ad7779.yaml
>
> diff --git a/Documentation/devicetree/bindings/iio/adc/adi,ad7779.yaml b/Documentation/devicetree/bindings/iio/adc/adi,ad7779.yaml
> new file mode 100644
> index 000000000000..10a67644e915
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/iio/adc/adi,ad7779.yaml
> @@ -0,0 +1,85 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/iio/adc/adi,ad7779.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Analog Devices AD777X family 8-Channel, 24-Bit, Simultaneous Sampling ADCs
> +
> +maintainers:
> + - Ramona Nechita <ramona.nechita@analog.com>
> +
> +description: |
> + The AD777X family consist of 8-channel, simultaneous sampling analog-to-
> + digital converter (ADC). Eight full Σ-Δ ADCs are on-chip. The
> + AD7771 provides an ultralow input current to allow direct sensor
> + connection. Each input channel has a programmable gain stage
> + allowing gains of 1, 2, 4, and 8 to map lower amplitude sensor
> + outputs into the full-scale ADC input range, maximizing the
> + dynamic range of the signal chain.
> +
> + https://www.analog.com/media/en/technical-documentation/data-sheets/ad7770.pdf
> + https://www.analog.com/media/en/technical-documentation/data-sheets/ad7771.pdf
> + https://www.analog.com/media/en/technical-documentation/data-sheets/ad7779.pdf
> +
> +$ref: /schemas/spi/spi-peripheral-props.yaml#
> +
> +properties:
> + compatible:
> + enum:
> + - adi,ad7770
> + - adi,ad7771
> + - adi,ad7779
> +
> + reg:
> + maxItems: 1
> +
> + '#address-cells':
> + const: 1
> +
> + '#size-cells':
> + const: 0
> +
> + clocks:
> + maxItems: 1
> +
> + interrupts:
> + maxItems: 1
> +

I missed this earlier, but a device that only has a reference supply is
novel. A quick glance at the datasheet shows a bunch of others power supplies.
They all need to be documented and any that are required for the device to function
must be listed as required.

Also seems to be at least one plausible interrupt line (alert)
that needs documenting whether or not the driver supports it yet.

> + vref-supply:
> + description:
> + The regulator to use as an external reference. If it does not exists the
> + internal reference will be used.
> +
> + start-gpios:
> + description:
> + Pin that controls start synchronization pulse.
> + maxItems: 1
> +
> + reset-gpios:
> + maxItems: 1
> +
> +required:
> + - compatible
> + - reg
> + - clocks
> +
> +unevaluatedProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/gpio/gpio.h>
> + spi {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + adc@0 {
> + compatible = "adi,ad7779";
> + reg = <0>;
> + vref-supply = <&vref>;
> + start-gpios = <&gpio0 87 GPIO_ACTIVE_LOW>;
> + reset-gpios = <&gpio0 93 GPIO_ACTIVE_LOW>;
> + clocks = <&adc_clk>;
> + };
> + };
> +...