[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20251008-swooned-closable-fbc8b71601c0@spud>
Date: Wed, 8 Oct 2025 22:07:12 +0100
From: Conor Dooley <conor@...nel.org>
To: Marcelo Schmitt <marcelo.schmitt@...log.com>
Cc: linux-iio@...r.kernel.org, devicetree@...r.kernel.org,
linux-doc@...r.kernel.org, linux-pwm@...r.kernel.org,
linux-spi@...r.kernel.org, linux-kernel@...r.kernel.org,
jic23@...nel.org, ukleinek@...nel.org, michael.hennerich@...log.com,
nuno.sa@...log.com, eblanc@...libre.com, dlechner@...libre.com,
andy@...nel.org, robh@...nel.org, krzk+dt@...nel.org,
conor+dt@...nel.org, corbet@....net, marcelo.schmitt1@...il.com
Subject: Re: [PATCH v4 7/8] dt-bindings: iio: adc: adi,ad4030: Add ADAQ4216
and ADAQ4224
On Wed, Oct 08, 2025 at 10:51:37AM -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.
>
> Signed-off-by: Marcelo Schmitt <marcelo.schmitt@...log.com>
> ---
> Change log v3 -> v4
> - Now only documenting GPIO setup to control ADAQ PGA pins.
>
> Pin strapped/hardwired connections to PGA pins may benefit from a "fixed-gpios"
> driver which may (or may not?) use the shared GPIO abstraction layer [1]. I may
> propose support for pin-strapped/hardwired connections when I get a working
> fixed-gpios implementation.
What is a "fixed-gpio" as compared to a hog, from a dt point of view?
Is it purely a software change?
This looks fine other than the potential oversight I pointed out in the
other mail.
Cheers,
COnor
>
> [1]: https://lore.kernel.org/linux-gpio/CAMRc=Mdb_cUG+hKq8GyfUP1SYBh0p19J+4dFG7G3JSuZTr4n8Q@mail.gmail.com/T/#t
>
> .../bindings/iio/adc/adi,ad4030.yaml | 71 +++++++++++++++++--
> 1 file changed, 66 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..d0e8452598d4 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,30 @@ 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:
> + adi,pga-value: false
> + pga-gpios: false
> +
>
> unevaluatedProperties: false
>
> @@ -114,3 +152,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
>
Download attachment "signature.asc" of type "application/pgp-signature" (229 bytes)
Powered by blists - more mailing lists