Add documentation for ltc2672.
Co-developed-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Kim Seer Paller <kimseer.paller@analog.com>
---
.../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@analog.com>
+ - Kim Seer Paller <kimseer.paller@analog.com>
+
+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.
+
+ '#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@analog.com>
--
2.34.1
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@analog.com>
> Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
> Signed-off-by: Kim Seer Paller <kimseer.paller@analog.com>
> ---
> .../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@analog.com>
> + - Kim Seer Paller <kimseer.paller@analog.com>
> +
> +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@analog.com>
> --
> 2.34.1
>
On Thu, 23 May 2024 11:19:08 +0800, Kim Seer Paller wrote:
> Add documentation for ltc2672.
>
> Co-developed-by: Michael Hennerich <michael.hennerich@analog.com>
> Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
> Signed-off-by: Kim Seer Paller <kimseer.paller@analog.com>
> ---
> .../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
>
My bot found errors running 'make dt_binding_check' on your patch:
yamllint warnings/errors:
dtschema/dtc warnings/errors:
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/iio/dac/adi,ltc2672.yaml: patternProperties:^channel@[0-4]$:properties:adi,output-range-microamp: '$ref' should not be valid under {'const': '$ref'}
hint: Standard unit suffix properties don't need a type $ref
from schema $id: http://devicetree.org/meta-schemas/core.yaml#
doc reference errors (make refcheckdocs):
See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20240523031909.19427-5-kimseer.paller@analog.com
The base for the series is generally the latest rc1. A different dependency
should be noted in *this* patch.
If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:
pip3 install dtschema --upgrade
Please check and re-submit after running the above command yourself. Note
that DT_SCHEMA_FILES can be set to your schema file to speed up checking
your schema. However, it must be unset to test all examples with your schema.
© 2016 - 2026 Red Hat, Inc.