Re: [PATCH v2 4/5] dt-bindings: iio: dac: Add adi,ltc2672.yaml

From: Rob Herring
Date: Thu May 23 2024 - 08:34:01 EST


On Thu, May 23, 2024 at 11:19:08AM +0800, Kim Seer Paller wrote:
> Add documentation for ltc2672.
>
> Co-developed-by: Michael Hennerich <michael.hennerich@xxxxxxxxxx>
> Signed-off-by: Michael Hennerich <michael.hennerich@xxxxxxxxxx>
> Signed-off-by: Kim Seer Paller <kimseer.paller@xxxxxxxxxx>
> ---
> .../bindings/iio/dac/adi,ltc2672.yaml | 159 ++++++++++++++++++
> MAINTAINERS | 1 +
> 2 files changed, 160 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/iio/dac/adi,ltc2672.yaml
>
> diff --git a/Documentation/devicetree/bindings/iio/dac/adi,ltc2672.yaml b/Documentation/devicetree/bindings/iio/dac/adi,ltc2672.yaml
> new file mode 100644
> index 000000000000..996aae315640
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/iio/dac/adi,ltc2672.yaml
> @@ -0,0 +1,159 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/iio/dac/adi,ltc2672.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Analog Devices LTC2672 DAC
> +
> +maintainers:
> + - Michael Hennerich <michael.hennerich@xxxxxxxxxx>
> + - Kim Seer Paller <kimseer.paller@xxxxxxxxxx>
> +
> +description: |
> + Analog Devices LTC2672 5 channel, 16 bit, 300mA DAC
> + https://www.analog.com/media/en/technical-documentation/data-sheets/ltc2672.pdf
> +
> +properties:
> + compatible:
> + enum:
> + - adi,ltc2672
> +
> + reg:
> + maxItems: 1
> +
> + spi-max-frequency:
> + maximum: 50000000
> +
> + vcc-supply:
> + description: Analog Supply Voltage Input.
> +
> + v-neg-supply:
> + description: Negative Supply Voltage Input.
> +
> + vdd0-supply:
> + description: Positive Supply Voltage Input for DAC OUT0.
> +
> + vdd1-supply:
> + description: Positive Supply Voltage Input for DAC OUT1.
> +
> + vdd2-supply:
> + description: Positive Supply Voltage Input for DAC OUT2.
> +
> + vdd3-supply:
> + description: Positive Supply Voltage Input for DAC OUT3.
> +
> + vdd4-supply:
> + description: Positive Supply Voltage Input for DAC OUT4.
> +
> + iovcc-supply:
> + description: Digital Input/Output Supply Voltage.
> +
> + ref-supply:
> + description:
> + Reference Input/Output. The voltage at the REF pin sets the full-scale
> + range of all channels. If not provided the internal reference is used and
> + also provided on the VREF pin.
> +
> + clr-gpios:
> + description:
> + Active Low Asynchronous Clear Input. A logic low at this level triggered
> + input clears the device to the default reset code and output range, which
> + is zero-scale with the outputs off. The control registers are cleared to
> + zero.
> + maxItems: 1
> +
> + adi,rfsadj-ohms:
> + description:
> + If FSADJ is tied to VCC, an internal RFSADJ (20 kΩ) is selected, which
> + results in nominal output ranges. When an external resistor of 19 kΩ to
> + 41 kΩ can be used instead by connecting the resistor between FSADJ and GND
> + it controls the scaling of the ranges, and the internal resistor is
> + automatically disconnected.
> + minimum: 19000
> + maximum: 41000
> + default: 20000
> +
> + io-channels:
> + description:
> + Analog multiplexer output. Pin voltages and currents can be monitored by
> + measuring the voltage at MUX.

You need constraints for how many entries and what is each one.

> +
> + '#address-cells':
> + const: 1
> +
> + '#size-cells':
> + const: 0
> +
> +patternProperties:
> + "^channel@[0-4]$":
> + type: object
> + additionalProperties: false
> +
> + properties:
> + reg:
> + description: The channel number representing the DAC output channel.
> + maximum: 4
> +
> + adi,toggle-mode:
> + description:
> + Set the channel as a toggle enabled channel. Toggle operation enables
> + fast switching of a DAC output between two different DAC codes without
> + any SPI transaction.
> + type: boolean
> +
> + adi,output-range-microamp:
> + description: Specify the channel output full scale range.
> + $ref: /schemas/types.yaml#/definitions/uint32
> + enum: [3125000, 6250000, 12500000, 25000000, 50000000, 100000000,
> + 200000000, 300000000]
> +
> + required:
> + - reg
> + - adi,output-range-microamp
> +
> +required:
> + - compatible
> + - reg
> + - spi-max-frequency
> + - vcc-supply
> + - iovcc-supply
> + - v-neg-supply
> +
> +allOf:
> + - $ref: /schemas/spi/spi-peripheral-props.yaml#
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + spi {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + dac@0 {
> + compatible = "adi,ltc2672";
> + reg = <0>;
> + spi-max-frequency = <10000000>;
> +
> + vcc-supply = <&vcc>;
> + iovcc-supply = <&vcc>;
> + ref-supply = <&vref>;
> + v-neg-supply = <&vneg>;
> +
> + io-channels = <&adc 0>;
> +
> + #address-cells = <1>;
> + #size-cells = <0>;
> + channel@0 {
> + reg = <0>;
> + adi,toggle-mode;
> + adi,output-range-microamp = <3125000>;
> + };
> +
> + channel@1 {
> + reg = <1>;
> + adi,output-range-microamp = <6250000>;
> + };
> + };
> + };
> +...
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 7becbdf7d1df..3320b7af4c0b 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -12858,6 +12858,7 @@ S: Supported
> W: https://ez.analog.com/linux-software-drivers
> F: Documentation/ABI/testing/sysfs-bus-iio-dac
> F: Documentation/devicetree/bindings/iio/dac/adi,ltc2664.yaml
> +F: Documentation/devicetree/bindings/iio/dac/adi,ltc2672.yaml
>
> LTC2688 IIO DAC DRIVER
> M: Nuno Sá <nuno.sa@xxxxxxxxxx>
> --
> 2.34.1
>