RE: [PATCH 1/2] dt-bindings: iio: dac: add docs for ad8460

Tinaco, Mariel
2024-06-24T04:21:06Z

> -----Original Message-----
> From: Jonathan Cameron <jic23@kernel.org>
> Sent: Sunday, May 12, 2024 12:25 AM
> To: David Lechner <dlechner@baylibre.com>
> Cc: Tinaco, Mariel <Mariel.Tinaco@analog.com>; linux-iio@vger.kernel.org;
> devicetree@vger.kernel.org; linux-kernel@vger.kernel.org; Lars-Peter Clausen
> <lars@metafoo.de>; Rob Herring <robh@kernel.org>; Krzysztof Kozlowski
> <krzk+dt@kernel.org>; Conor Dooley <conor+dt@kernel.org>; Liam Girdwood
> <lgirdwood@gmail.com>; Mark Brown <broonie@kernel.org>; Hennerich,
> Michael <Michael.Hennerich@analog.com>; Marcelo Schmitt
> <marcelo.schmitt1@gmail.com>; Dimitri Fedrau <dima.fedrau@gmail.com>;
> Guenter Roeck <linux@roeck-us.net>
> Subject: Re: [PATCH 1/2] dt-bindings: iio: dac: add docs for ad8460
>
> [External]
>
> On Fri, 10 May 2024 12:28:19 -0500
> David Lechner <dlechner@baylibre.com> wrote:
>
> > On Fri, May 10, 2024 at 1:42 AM Mariel Tinaco <Mariel.Tinaco@analog.com>
> wrote:
> > >
> > > This adds the bindings documentation for the 14-bit High Voltage,
> > > High Current, Waveform Generator Digital-to-Analog converter.
> > >
> > > Signed-off-by: Mariel Tinaco <Mariel.Tinaco@analog.com>
> > > ---
> > > .../bindings/iio/dac/adi,ad8460.yaml | 67 +++++++++++++++++++
> > > MAINTAINERS | 7 ++
> > > 2 files changed, 74 insertions(+)
> > > create mode 100644
> > > Documentation/devicetree/bindings/iio/dac/adi,ad8460.yaml
> > >
> > > diff --git
> > > a/Documentation/devicetree/bindings/iio/dac/adi,ad8460.yaml
> > > b/Documentation/devicetree/bindings/iio/dac/adi,ad8460.yaml
> > > new file mode 100644
> > > index 000000000..924f76209
> > > --- /dev/null
> > > +++ b/Documentation/devicetree/bindings/iio/dac/adi,ad8460.yaml
> > > @@ -0,0 +1,67 @@
> > > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) # Copyright
> > > +2024 Analog Devices Inc.
> > > +%YAML 1.2
> > > +---
> > > +$id:
> > > +https://urldefense.com/v3/__http://devicetree.org/schemas/iio/dac/a
> > >
> +di,ad8460.yaml*__;Iw!!A3Ni8CS0y2Y!6gGs7KbAH3BGqwLcGM0Yihd9U4zdncT
> ai
> > > +eQzg6e_e5cN4fl2NnTYjro4r3D2bqynKuOHDTnLw-cBN74x$
> > > +$schema:
> > > +https://urldefense.com/v3/__http://devicetree.org/meta-schemas/core
> > >
> +.yaml*__;Iw!!A3Ni8CS0y2Y!6gGs7KbAH3BGqwLcGM0Yihd9U4zdncTaieQzg6e_
> e5
> > > +cN4fl2NnTYjro4r3D2bqynKuOHDTnLw11zc2OH$
> > > +
> > > +title: Analog Devices AD8460 DAC
> > > +
> > > +maintainers:
> > > + - Mariel Tinaco <mariel.tinaco@analog.com>
> > > +
> > > +description: |
> > > + Analog Devices AD8460 110 V High Voltage, 1 A High Current,
> > > + Arbitrary Waveform Generator with Integrated 14-Bit High Speed
> > > +DAC
> > > +
> > > +https://www.analog.com/media/en/technical-documentation/data-sheets
> > > +/ad8460.pdf
> > > +
> > > +properties:
> > > + compatible:
> > > + enum:
> > > + - adi,ad8460
> > > +
> > > + reg:
> > > + maxItems: 1
> > > +
> > > + spi-max-frequency:
> > > + maximum: 20000000
> > > +
> > > + vref-supply:
> >
> > It would be nice to make the property name match the pin name since
> > there is more than one reference voltage input.
> >
> > refio-1p2v-supply:
> >
> > > + description: Drive voltage in the range of 1.2V maximum to as low as
> > > + low as 0.12V through the REF_IO pin to adjust full scale
> > > + output span
> >
> > I don't seen anything in the datasheet named REF_IO. Is this a typo
> > and it should be REFIO_1P2V?
> >
> > > +
> > > + clocks:
> > > + description: The clock for the DAC. This is the sync clock
> > > +
> > > + adi,rset-ohms:
> > > + description: Specify value of external resistor connected to FS_ADJ pin
> > > + to establish internal HVDAC's reference current I_REF
> > > + minimum: 2000
> > > + maximum: 20000
> > > +
> >
> > I see lots more pins on the datasheet, many of which should be trivial
> > to add bindings for (we prefer to have the bindings as complete as
> > possible even if the driver doesn't implement everything). Potential
> > candidates:
> >
> > sdn-reset-gpios: (active high)
> > reset-gpios: (active low)
> > sdn-io-gpios: (active high)
> >
> > hvcc-supply:
> > hvee-supply:
> > vcc-5v-supply:
> > vref-5v-supply:
> > dvdd-3p3v-supply:
> > avdd-3p3v-supply:
> >
> > It also looks like there is a parallel interface for data, so I would
> > expect to see an io-backends property that links to the PHY used for
> > handling that.
> >
> Ultimately yes, but the parallel interface might require some decisions on binding
> that are non obvious until it's actually implemented. So maybe don't need that
> bit from the start. The rest I agree should be here.
>

Added these parameters to the device tree bindings. Not necessarily to the driver

> >
> > > +required:
> > > + - compatible
> > > + - reg
> > > + - clocks
> > > +
> > > +allOf:
> > > + - $ref: /schemas/spi/spi-peripheral-props.yaml#
> > > +
> > > +additionalProperties: false
> > > +
> > > +examples:
> > > + - |
> > > +
> > > + spi {
> > > + dac@0 {
> > > + compatible = "adi,ad8460";
> > > + reg = <0>;
> > > + spi-max-frequency = <8000000>;
> > > + adi,rset-ohms = <2000>;
> > > +
> > > + vref-supply = <&vrefio>;
> > > + clocks = <&sync_ext_clk>;
> > > + };
> > > + };
> > > +
> > > +...
> > > diff --git a/MAINTAINERS b/MAINTAINERS
> > > index 758c202ec..dae93df2a 100644
> > > --- a/MAINTAINERS
> > > +++ b/MAINTAINERS
> > > @@ -1234,6 +1234,13 @@ W: https://ez.analog.com/linux-software-
> drivers
> > > F: Documentation/devicetree/bindings/iio/adc/adi,ad7780.yaml
> > > F: drivers/iio/adc/ad7780.c
> > >
> > > +ANALOG DEVICES INC AD8460 DRIVER
> > > +M: Mariel Tinaco <Mariel.Tinaco@analog.com>
> > > +L: linux-iio@vger.kernel.org
> > > +S: Supported
> > > +W: https://ez.analog.com/linux-software-drivers
> > > +F: Documentation/devicetree/bindings/iio/dac/adi,ad8460.yaml
> > > +
> > > ANALOG DEVICES INC AD9739a DRIVER
> > > M: Nuno Sa <nuno.sa@analog.com>
> > > M: Dragos Bogdan <dragos.bogdan@analog.com>
> > > --
> > > 2.34.1
> > >
> > >