Re: [PATCH v3 1/2] dt-bindings: iio: adc: add AD4130

Cosmin Tanislav
2022-04-27T12:47:22Z

On 4/26/22 03:37, Rob Herring wrote:
> On Tue, Apr 19, 2022 at 06:08:27PM +0300, Cosmin Tanislav wrote:
>> AD4130-8 is an ultra-low power, high precision, measurement solution for
>> low bandwidth battery operated applications.
>>
>> The fully integrated AFE (Analog Front-End) includes a multiplexer for up
>> to 16 single-ended or 8 differential inputs, PGA (Programmable Gain
>> Amplifier), 24-bit Sigma-Delta ADC, on-chip reference and oscillator,
>> selectable filter options, smart sequencer, sensor biasing and excitation
>> options, diagnostics, and a FIFO buffer.
>>
>> Signed-off-by: Cosmin Tanislav <cosmin.tanislav@analog.com>
>> ---
>> .../bindings/iio/adc/adi,ad4130.yaml | 264 ++++++++++++++++++
>> 1 file changed, 264 insertions(+)
>> create mode 100644 Documentation/devicetree/bindings/iio/adc/adi,ad4130.yaml
>>
>> diff --git a/Documentation/devicetree/bindings/iio/adc/adi,ad4130.yaml b/Documentation/devicetree/bindings/iio/adc/adi,ad4130.yaml
>> new file mode 100644
>> index 000000000000..32996b62cd20
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/iio/adc/adi,ad4130.yaml
>> @@ -0,0 +1,264 @@
>> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
>> +# Copyright 2022 Analog Devices Inc.
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/iio/adc/adi,ad4130.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Analog Devices AD4130 ADC device driver
>> +
>> +maintainers:
>> + - Cosmin Tanislav <cosmin.tanislav@analog.com>
>> +
>> +description: |
>> + Bindings for the Analog Devices AD4130 ADC. Datasheet can be found here:
>> + https://www.analog.com/media/en/technical-documentation/data-sheets/AD4130-8.pdf
>> +
>> +properties:
>> + compatible:
>> + enum:
>> + - adi,ad4130-8-16-lfcsp
>> + - adi,ad4130-8-16-wlcsp
>> + - adi,ad4130-8-24-lfcsp
>> + - adi,ad4130-8-24-wlcsp
>
> What is lfcsp? wlcsp seems to be the package type which generally
> shouldn't be part of the compatible.

lfcsp is a different package type. Sadly, lfcsp provides less interrupt
options. On lfcsp, dout-int inside interrupt-names actually only means
DOUT, while on wlcsp, it means INT. This is why we need to distinguish
between the different package types. I can't think of any way around it,
see my reply to Nathan for V1.

dout support is not implemented in the driver right now because when the
interrupt pin is configured as dout, FIFO interrupts are unsupported, so
the entire buffered part of the driver is useless, and extra logic is
needed for IRQ detection then.