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 | 154 ++++++++++++++++++
MAINTAINERS | 7 +
2 files changed, 161 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 000000000000..da53bae4efed
--- /dev/null
+++ b/Documentation/devicetree/bindings/iio/dac/adi,ad8460.yaml
@@ -0,0 +1,154 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+# Copyright 2024 Analog Devices Inc.
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/iio/dac/adi,ad8460.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+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
+
+ clocks:
+ maxItems: 1
+
+ dmas:
+ maxItems: 1
+
+ dma-names:
+ items:
+ - const: tx
+
+ spi-max-frequency:
+ maximum: 20000000
+
+ hvcc-supply:
+ description: Positive high voltage power supply line
+
+ hvee-supply:
+ description: Negative high voltage power supply line
+
+ vcc-5v-supply:
+ description: Low voltage power supply
+
+ vref-5v-supply:
+ description: Reference voltage for analog low voltage
+
+ dvdd-3p3v-supply:
+ description: Digital supply bypass
+
+ avdd-3p3v-supply:
+ description: Analog supply bypass
+
+ 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
+
+ adi,external-resistor-ohms:
+ description: Specify value of external resistor connected to FS_ADJ pin
+ to establish internal HVDAC's reference current I_REF
+ default: 2000
+ minimum: 2000
+ maximum: 20000
+
+ adi,range-microvolt:
+ description: Voltage output range specified as <minimum, maximum>
+ oneOf:
+ - items:
+ - enum: [0, -10000000, -20000000, -30000000, -40000000, -55000000]
+ - enum: [10000000, 20000000, 30000000, 40000000, 55000000]
+
+ adi,range-microamp:
+ description: Current output range specified as <minimum, maximum>
+ oneOf:
+ - items:
+ - enum: [-50000, -100000, -300000, -500000, -1000000]
+ - enum: [50000, 100000, 300000, 500000, 1000000]
+ - items:
+ - const: 0
+ - enum: [50000, 100000, 300000, 500000, 1000000]
+
+ adi,max-millicelsius:
+ description: Overtemperature threshold
+ default: 50000
+ minimum: 20000
+ maximum: 150000
+
+ shutdown-reset-gpios:
+ description: Corresponds to SDN_RESET pin. To exit shutdown
+ or sleep mode, pulse SDN_RESET HIGH, then leave LOW.
+ maxItems: 1
+
+ reset-gpios:
+ description: Manual Power On Reset (POR). Pull this GPIO pin
+ LOW and then HIGH to reset all digital registers to default
+ maxItems: 1
+
+ shutdown-gpios:
+ description: Corresponds to SDN_IO pin. Shutdown may be
+ initiated by the user, by pulsing SDN_IO high. To exit shutdown,
+ pulse SDN_IO low, then float.
+ maxItems: 1
+
+required:
+ - compatible
+ - reg
+ - clocks
+
+allOf:
+ - $ref: /schemas/spi/spi-peripheral-props.yaml#
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/gpio/gpio.h>
+
+ spi {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ dac@0 {
+ compatible = "adi,ad8460";
+ reg = <0>;
+ spi-max-frequency = <8000000>;
+
+ dmas = <&tx_dma 0>;
+ dma-names = "tx";
+
+ shutdown-reset-gpios = <&gpio 86 GPIO_ACTIVE_HIGH>;
+ reset-gpios = <&gpio 91 GPIO_ACTIVE_LOW>;
+ shutdown-gpios = <&gpio 88 GPIO_ACTIVE_HIGH>;
+
+ clocks = <&sync_ext_clk>;
+
+ hvcc-supply = <&hvcc>;
+ hvee-supply = <&hvee>;
+ vcc-5v-supply = <&vcc_5>;
+ vref-5v-supply = <&vref_5>;
+ dvdd-3p3v-supply = <&dvdd_3_3>;
+ avdd-3p3v-supply = <&avdd_3_3>;
+ refio-1p2v-supply = <&refio_1_2>;
+
+ adi,external-resistor-ohms = <2000>;
+ adi,range-microvolt = <(-40000000) 40000000>;
+ adi,range-microamp = <0 50000>;
+ adi,max-millicelsius = <50000>;
+ };
+ };
+
+...
diff --git a/MAINTAINERS b/MAINTAINERS
index 417c6751c0dc..e0509c9f5545 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1320,6 +1320,13 @@ F: Documentation/ABI/testing/debugfs-iio-ad9467
F: Documentation/devicetree/bindings/iio/adc/adi,ad9467.yaml
F: drivers/iio/adc/ad9467.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
On Wed, Sep 04, 2024 at 10:30:39AM +0800, Mariel Tinaco wrote: > This adds the bindings documentation for the 14-bit Please do not use "This commit/patch/change", but imperative mood. See longer explanation here: https://elixir.bootlin.com/linux/v5.17.1/source/Documentation/process/submitting-patches.rst#L95 > 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 | 154 ++++++++++++++++++ > MAINTAINERS | 7 + > 2 files changed, 161 insertions(+) > create mode 100644 Documentation/devicetree/bindings/iio/dac/adi,ad8460.yaml > + adi,range-microvolt: > + description: Voltage output range specified as <minimum, maximum> > + oneOf: This oneOf does not make sense. There is only one condition. Drop. > + - items: > + - enum: [0, -10000000, -20000000, -30000000, -40000000, -55000000] > + - enum: [10000000, 20000000, 30000000, 40000000, 55000000] What's the default? It's not a required property. > + > + adi,range-microamp: > + description: Current output range specified as <minimum, maximum> > + oneOf: > + - items: > + - enum: [-50000, -100000, -300000, -500000, -1000000] I don't understand why 0 is not listed here. > + - enum: [50000, 100000, 300000, 500000, 1000000] > + - items: > + - const: 0 > + - enum: [50000, 100000, 300000, 500000, 1000000] > + What's the default? It's not a required property. > + adi,max-millicelsius: > + description: Overtemperature threshold > + default: 50000 > + minimum: 20000 > + maximum: 150000 > + > + shutdown-reset-gpios: > + description: Corresponds to SDN_RESET pin. To exit shutdown > + or sleep mode, pulse SDN_RESET HIGH, then leave LOW. > + maxItems: 1 > + > + reset-gpios: > + description: Manual Power On Reset (POR). Pull this GPIO pin > + LOW and then HIGH to reset all digital registers to default > + maxItems: 1 > + > + shutdown-gpios: > + description: Corresponds to SDN_IO pin. Shutdown may be > + initiated by the user, by pulsing SDN_IO high. To exit shutdown, > + pulse SDN_IO low, then float. > + maxItems: 1 > + > +required: > + - compatible > + - reg > + - clocks Some supplies are for sure required. Devices rarely can operate without power provided. > + > +allOf: > + - $ref: /schemas/spi/spi-peripheral-props.yaml# > + > +additionalProperties: false unevaluatedProperties instead. Best regards, Krzysztof
On Wed, 4 Sep 2024 08:20:53 +0200 Krzysztof Kozlowski <krzk@kernel.org> wrote: > On Wed, Sep 04, 2024 at 10:30:39AM +0800, Mariel Tinaco wrote: > > This adds the bindings documentation for the 14-bit > > Please do not use "This commit/patch/change", but imperative mood. See > longer explanation here: > https://elixir.bootlin.com/linux/v5.17.1/source/Documentation/process/submitting-patches.rst#L95 > > > 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 | 154 ++++++++++++++++++ > > MAINTAINERS | 7 + > > 2 files changed, 161 insertions(+) > > create mode 100644 Documentation/devicetree/bindings/iio/dac/adi,ad8460.yaml > > > + adi,range-microvolt: > > + description: Voltage output range specified as <minimum, maximum> > > + oneOf: > > This oneOf does not make sense. There is only one condition. Drop. > > > + - items: > > + - enum: [0, -10000000, -20000000, -30000000, -40000000, -55000000] > > + - enum: [10000000, 20000000, 30000000, 40000000, 55000000] > > What's the default? It's not a required property. > > > + > > + adi,range-microamp: > > + description: Current output range specified as <minimum, maximum> > > + oneOf: > > + - items: > > + - enum: [-50000, -100000, -300000, -500000, -1000000] > > I don't understand why 0 is not listed here. I'm not sure why it is a list at all. Seems like the hardware allows a continuous value so this should just specify max and min. > > > + - enum: [50000, 100000, 300000, 500000, 1000000] > > + - items: > > + - const: 0 > > + - enum: [50000, 100000, 300000, 500000, 1000000] > > + > > What's the default? It's not a required property. > > > + adi,max-millicelsius: > > + description: Overtemperature threshold > > + default: 50000 > > + minimum: 20000 > > + maximum: 150000 > > + > > + shutdown-reset-gpios: > > + description: Corresponds to SDN_RESET pin. To exit shutdown > > + or sleep mode, pulse SDN_RESET HIGH, then leave LOW. > > + maxItems: 1 > > + > > + reset-gpios: > > + description: Manual Power On Reset (POR). Pull this GPIO pin > > + LOW and then HIGH to reset all digital registers to default > > + maxItems: 1 > > + > > + shutdown-gpios: > > + description: Corresponds to SDN_IO pin. Shutdown may be > > + initiated by the user, by pulsing SDN_IO high. To exit shutdown, > > + pulse SDN_IO low, then float. > > + maxItems: 1 > > + > > +required: > > + - compatible > > + - reg > > + - clocks > > Some supplies are for sure required. Devices rarely can operate without > power provided. > > > + > > +allOf: > > + - $ref: /schemas/spi/spi-peripheral-props.yaml# > > + > > +additionalProperties: false > > unevaluatedProperties instead. > > Best regards, > Krzysztof >
© 2016 - 2025 Red Hat, Inc.