ADAQ4216 and ADAQ4224 are similar to AD4030 except that ADAQ devices have a
PGA (programmable gain amplifier) that scales the input signal prior to it
reaching the ADC inputs. The PGA is controlled through a couple of pins (A0
and A1) that set one of four possible signal gain configurations.
Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
Signed-off-by: Marcelo Schmitt <marcelo.schmitt@analog.com>
---
Change log v6 -> v7
- No changes.
.../bindings/iio/adc/adi,ad4030.yaml | 70 +++++++++++++++++--
1 file changed, 65 insertions(+), 5 deletions(-)
diff --git a/Documentation/devicetree/bindings/iio/adc/adi,ad4030.yaml b/Documentation/devicetree/bindings/iio/adc/adi,ad4030.yaml
index 564b6f67a96e..3890cd4ba93e 100644
--- a/Documentation/devicetree/bindings/iio/adc/adi,ad4030.yaml
+++ b/Documentation/devicetree/bindings/iio/adc/adi,ad4030.yaml
@@ -19,6 +19,8 @@ description: |
* https://www.analog.com/media/en/technical-documentation/data-sheets/ad4030-24-4032-24.pdf
* https://www.analog.com/media/en/technical-documentation/data-sheets/ad4630-24_ad4632-24.pdf
* https://www.analog.com/media/en/technical-documentation/data-sheets/ad4630-16-4632-16.pdf
+ * https://www.analog.com/media/en/technical-documentation/data-sheets/adaq4216.pdf
+ * https://www.analog.com/media/en/technical-documentation/data-sheets/adaq4224.pdf
$ref: /schemas/spi/spi-peripheral-props.yaml#
@@ -31,6 +33,8 @@ properties:
- adi,ad4630-24
- adi,ad4632-16
- adi,ad4632-24
+ - adi,adaq4216
+ - adi,adaq4224
reg:
maxItems: 1
@@ -54,6 +58,14 @@ properties:
description:
Internal buffered Reference. Used when ref-supply is not connected.
+ vddh-supply:
+ description:
+ PGIA Positive Power Supply.
+
+ vdd-fda-supply:
+ description:
+ FDA Positive Power Supply.
+
cnv-gpios:
description:
The Convert Input (CNV). It initiates the sampling conversions.
@@ -64,6 +76,13 @@ properties:
The Reset Input (/RST). Used for asynchronous device reset.
maxItems: 1
+ pga-gpios:
+ description:
+ A0 and A1 pins for gain selection. For devices that have PGA configuration
+ input pins, pga-gpios should be defined.
+ minItems: 2
+ maxItems: 2
+
pwms:
description: PWM signal connected to the CNV pin.
maxItems: 1
@@ -86,11 +105,29 @@ required:
- vio-supply
- cnv-gpios
-oneOf:
- - required:
- - ref-supply
- - required:
- - refin-supply
+allOf:
+ - oneOf:
+ - required:
+ - ref-supply
+ - required:
+ - refin-supply
+ # ADAQ devices require a gain property to indicate how hardware PGA is set
+ - if:
+ properties:
+ compatible:
+ contains:
+ pattern: ^adi,adaq
+ then:
+ required:
+ - vddh-supply
+ - vdd-fda-supply
+ - pga-gpios
+ properties:
+ ref-supply: false
+ else:
+ properties:
+ pga-gpios: false
+
unevaluatedProperties: false
@@ -114,3 +151,26 @@ examples:
reset-gpios = <&gpio0 1 GPIO_ACTIVE_LOW>;
};
};
+ - |
+ #include <dt-bindings/gpio/gpio.h>
+ spi {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ adc@0 {
+ compatible = "adi,adaq4216";
+ reg = <0>;
+ spi-max-frequency = <80000000>;
+ vdd-5v-supply = <&supply_5V>;
+ vdd-1v8-supply = <&supply_1_8V>;
+ vio-supply = <&supply_1_8V>;
+ refin-supply = <&refin_sup>;
+ vddh-supply = <&vddh>;
+ vdd-fda-supply = <&vdd_fda>;
+ cnv-gpios = <&gpio0 0 GPIO_ACTIVE_HIGH>;
+ reset-gpios = <&gpio0 1 GPIO_ACTIVE_LOW>;
+ pga-gpios = <&gpio0 2 GPIO_ACTIVE_HIGH>,
+ <&gpio0 3 GPIO_ACTIVE_HIGH>;
+ };
+ };
+...
--
2.39.2
On Thu, Feb 05, 2026 at 01:48:55PM -0300, Marcelo Schmitt wrote:
> ADAQ4216 and ADAQ4224 are similar to AD4030 except that ADAQ devices have a
> PGA (programmable gain amplifier) that scales the input signal prior to it
> reaching the ADC inputs. The PGA is controlled through a couple of pins (A0
> and A1) that set one of four possible signal gain configurations.
>
> Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
> Signed-off-by: Marcelo Schmitt <marcelo.schmitt@analog.com>
> ---
> Change log v6 -> v7
> - No changes.
>
> .../bindings/iio/adc/adi,ad4030.yaml | 70 +++++++++++++++++--
> 1 file changed, 65 insertions(+), 5 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/iio/adc/adi,ad4030.yaml b/Documentation/devicetree/bindings/iio/adc/adi,ad4030.yaml
> index 564b6f67a96e..3890cd4ba93e 100644
> --- a/Documentation/devicetree/bindings/iio/adc/adi,ad4030.yaml
> +++ b/Documentation/devicetree/bindings/iio/adc/adi,ad4030.yaml
> @@ -19,6 +19,8 @@ description: |
> * https://www.analog.com/media/en/technical-documentation/data-sheets/ad4030-24-4032-24.pdf
> * https://www.analog.com/media/en/technical-documentation/data-sheets/ad4630-24_ad4632-24.pdf
> * https://www.analog.com/media/en/technical-documentation/data-sheets/ad4630-16-4632-16.pdf
> + * https://www.analog.com/media/en/technical-documentation/data-sheets/adaq4216.pdf
> + * https://www.analog.com/media/en/technical-documentation/data-sheets/adaq4224.pdf
>
> $ref: /schemas/spi/spi-peripheral-props.yaml#
>
> @@ -31,6 +33,8 @@ properties:
> - adi,ad4630-24
> - adi,ad4632-16
> - adi,ad4632-24
> + - adi,adaq4216
> + - adi,adaq4224
>
> reg:
> maxItems: 1
> @@ -54,6 +58,14 @@ properties:
> description:
> Internal buffered Reference. Used when ref-supply is not connected.
>
> + vddh-supply:
> + description:
> + PGIA Positive Power Supply.
> +
> + vdd-fda-supply:
> + description:
> + FDA Positive Power Supply.
> +
> cnv-gpios:
> description:
> The Convert Input (CNV). It initiates the sampling conversions.
> @@ -64,6 +76,13 @@ properties:
> The Reset Input (/RST). Used for asynchronous device reset.
> maxItems: 1
>
> + pga-gpios:
> + description:
> + A0 and A1 pins for gain selection. For devices that have PGA configuration
> + input pins, pga-gpios should be defined.
> + minItems: 2
> + maxItems: 2
> +
> pwms:
> description: PWM signal connected to the CNV pin.
> maxItems: 1
> @@ -86,11 +105,29 @@ required:
> - vio-supply
> - cnv-gpios
>
> -oneOf:
> - - required:
> - - ref-supply
> - - required:
> - - refin-supply
> +allOf:
> + - oneOf:
> + - required:
> + - ref-supply
> + - required:
> + - refin-supply
Why is this moved under the allOf?
> + # ADAQ devices require a gain property to indicate how hardware PGA is set
> + - if:
> + properties:
> + compatible:
> + contains:
> + pattern: ^adi,adaq
> + then:
> + required:
> + - vddh-supply
> + - vdd-fda-supply
> + - pga-gpios
> + properties:
> + ref-supply: false
> + else:
> + properties:
> + pga-gpios: false
> +
>
> unevaluatedProperties: false
>
> @@ -114,3 +151,26 @@ examples:
> reset-gpios = <&gpio0 1 GPIO_ACTIVE_LOW>;
> };
> };
> + - |
> + #include <dt-bindings/gpio/gpio.h>
> + spi {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + adc@0 {
> + compatible = "adi,adaq4216";
> + reg = <0>;
> + spi-max-frequency = <80000000>;
> + vdd-5v-supply = <&supply_5V>;
> + vdd-1v8-supply = <&supply_1_8V>;
> + vio-supply = <&supply_1_8V>;
> + refin-supply = <&refin_sup>;
> + vddh-supply = <&vddh>;
> + vdd-fda-supply = <&vdd_fda>;
> + cnv-gpios = <&gpio0 0 GPIO_ACTIVE_HIGH>;
> + reset-gpios = <&gpio0 1 GPIO_ACTIVE_LOW>;
> + pga-gpios = <&gpio0 2 GPIO_ACTIVE_HIGH>,
> + <&gpio0 3 GPIO_ACTIVE_HIGH>;
> + };
> + };
> +...
> --
> 2.39.2
>
On 02/06, Rob Herring wrote: > On Thu, Feb 05, 2026 at 01:48:55PM -0300, Marcelo Schmitt wrote: > > ADAQ4216 and ADAQ4224 are similar to AD4030 except that ADAQ devices have a > > PGA (programmable gain amplifier) that scales the input signal prior to it > > reaching the ADC inputs. The PGA is controlled through a couple of pins (A0 > > and A1) that set one of four possible signal gain configurations. > > > > Reviewed-by: Conor Dooley <conor.dooley@microchip.com> > > Signed-off-by: Marcelo Schmitt <marcelo.schmitt@analog.com> > > --- ... > > > > -oneOf: > > - - required: > > - - ref-supply > > - - required: > > - - refin-supply > > +allOf: > > + - oneOf: > > + - required: > > + - ref-supply > > + - required: > > + - refin-supply > > Why is this moved under the allOf? I missed the immutable branch with spi-multi-lane change set provided by Mark. Am rebasing on top of that for v8 and will solve the this and other issues reported by dt_binding_check. Thanks
On Thu, 05 Feb 2026 13:48:55 -0300, Marcelo Schmitt wrote: > ADAQ4216 and ADAQ4224 are similar to AD4030 except that ADAQ devices have a > PGA (programmable gain amplifier) that scales the input signal prior to it > reaching the ADC inputs. The PGA is controlled through a couple of pins (A0 > and A1) that set one of four possible signal gain configurations. > > Reviewed-by: Conor Dooley <conor.dooley@microchip.com> > Signed-off-by: Marcelo Schmitt <marcelo.schmitt@analog.com> > --- > Change log v6 -> v7 > - No changes. > > .../bindings/iio/adc/adi,ad4030.yaml | 70 +++++++++++++++++-- > 1 file changed, 65 insertions(+), 5 deletions(-) > My bot found errors running 'make dt_binding_check' on your patch: yamllint warnings/errors: ./Documentation/devicetree/bindings/iio/adc/adi,ad4030.yaml:139:1: [warning] too many blank lines (2 > 1) (empty-lines) ./Documentation/devicetree/bindings/iio/adc/adi,ad4030.yaml:142:1: [error] duplication of key "allOf" in mapping (key-duplicates) dtschema/dtc warnings/errors: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/iio/adc/adi,ad4030.yaml: ignoring, error parsing file ./Documentation/devicetree/bindings/iio/adc/adi,ad4030.yaml:142:1: found duplicate key "allOf" with value "[]" (original value: "[]") make[2]: *** Deleting file 'Documentation/devicetree/bindings/iio/adc/adi,ad4030.example.dts' Documentation/devicetree/bindings/iio/adc/adi,ad4030.yaml:142:1: found duplicate key "allOf" with value "[]" (original value: "[]") make[2]: *** [Documentation/devicetree/bindings/Makefile:26: Documentation/devicetree/bindings/iio/adc/adi,ad4030.example.dts] Error 1 make[2]: *** Waiting for unfinished jobs.... make[1]: *** [/builds/robherring/dt-review-ci/linux/Makefile:1587: dt_binding_check] Error 2 make: *** [Makefile:248: __sub-make] Error 2 doc reference errors (make refcheckdocs): See https://patchwork.kernel.org/project/devicetree/patch/4b879f53450e87739afc0dbd832dab5a3f83efb1.1770309522.git.marcelo.schmitt@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.