Re: [PATCH v7 0/9] Add support for AD411x

From: Krzysztof Kozlowski
Date: Sat Jul 13 2024 - 06:11:49 EST


On 07/06/2024 16:53, Dumitru Ceclan via B4 Relay wrote:
> This patch series adds support for the Analog Devices AD4111, AD4112,
> AD4114, AD4115, AD4116 within the existing AD7173 driver.
>
> The AD411X family encompasses a series of low power, low noise, 24-bit,
> sigma-delta analog-to-digital converters that offer a versatile range of
> specifications. They integrate an analog front end suitable for processing
> fully differential/single-ended and bipolar voltage inputs.
>
> Particularities of the models:
> - All ADCs have inputs with a precision voltage divider with a division
> ratio of 10.
> - AD4116 has 5 low level inputs without a voltage divider.
> - AD4111 and AD4112 support current inputs (0 mA to 20 mA) using a 50ohm
> shunt resistor.
>
> Discussions from this patch series have concluded with:
> -Datasheets mention single-ended and pseudo differential capabilities by
> the means of connecting the negative input of a differential pair (IN-)
> to a constant voltage supply and letting the positive input fluctuate.
> This is not a special operating mode, it is a capability of the
> differential channels to also measure such signals.
>
> -Single-ended and pseudo differential do not need any specific
> configuration and cannot be differentiated from differential usage by
> the driver side =>
> offer adi,channel-type attribute to flag the usage of the channel
>
> -VINCOM is described as a dedicated pin for single-ended channels but as
> seen in AD4116, it is a normal input connected to the cross-point
> multiplexer (VIN10, VINCOM (single-ended or differential pair)).
> This does not mean full functionality in any configuration:
> AD4111:"If any two voltage inputs are paired in a configuration other
> than what is described in this data sheet, the accuracy of the device
> cannot be guaranteed".
>
> -ADCIN15 input pin from AD4116 is specified as the dedicated pin for
> pseudo-differential but from the datasheet it results that this pin is
> also able to measure single-ended and fully differential channels
> ("ADCIN11, ADCIN15. (pseudo differential or differential pair)";
> "An example is to connect the ADCIN15 pin externally to the AVSS
> pin in a single-ended configuration")
>
> As such, detecting the type of usage of a channel is not possible and
> will be the responsibility of the user to specify.
> If the user has connected a non 0V (in regards to AVSS) supply to
> the negative input pin of a channel in a pseudo differential
> configuration, the offset of the measurement from AVSS will not be known
> from the driver and will need to be measured by other means.
>
> Datasheets:
> https://www.analog.com/media/en/technical-documentation/data-sheets/AD4111.pdf
> https://www.analog.com/media/en/technical-documentation/data-sheets/AD4112.pdf
> https://www.analog.com/media/en/technical-documentation/data-sheets/AD4114.pdf
> https://www.analog.com/media/en/technical-documentation/data-sheets/AD4115.pdf
> https://www.analog.com/media/en/technical-documentation/data-sheets/AD4116.pdf
>
> This series depends on patches:
> (iio: adc: ad7173: Use device_for_each_child_node_scoped() to simplify error paths.)
> https://lore.kernel.org/all/20240330190849.1321065-6-jic23@xxxxxxxxxx
> (dt-bindings: iio: adc: Add single-channel property)
> https://lore.kernel.org/linux-iio/20240514120222.56488-5-alisa.roman@xxxxxxxxxx/
>
> And patch series:
> (AD7173 fixes)
> https://lore.kernel.org/all/20240521-ad7173-fixes-v1-0-8161cc7f3ad1@xxxxxxxxxx/

Three dependencies? That's making it untestable.

Best regards,
Krzysztof