This adds a new page to document how to use the ad4052 ADC driver. Signed-off-by: Jorge Marques <jorge.marques@xxxxxxxxxx> --- Documentation/iio/ad4052.rst | 71 ++++++++++++++++++++++++++++++++++++++++++++ Documentation/iio/index.rst | 1 + MAINTAINERS | 1 + 3 files changed, 73 insertions(+) diff --git a/Documentation/iio/ad4052.rst b/Documentation/iio/ad4052.rst new file mode 100644 index 0000000000000000000000000000000000000000..25e55eb72e167bd2b2195ba789b45ce402869b0f --- /dev/null +++ b/Documentation/iio/ad4052.rst @@ -0,0 +1,71 @@ +.. SPDX-License-Identifier: GPL-2.0-only + +============= +AD4052 driver +============= + +ADC driver for Analog Devices Inc. AD4052 and similar devices. The module name +is ``ad4052``. + +Supported devices +================= + +The following chips are supported by this driver: + +* `AD4050 <https://www.analog.com/AD4050>`_ +* `AD4052 <https://www.analog.com/AD4052>`_ +* `AD4056 <https://www.analog.com/AD4056>`_ +* `AD4058 <https://www.analog.com/AD4058>`_ + +Wiring modes +============ + +The ADC uses SPI 4-wire mode, and contain two programmable GPIOs and a CNV pin. + +The CNV pin is exposed as the ``cnv-gpios`` and triggers an ADC conversion. GP1 +is ADC conversion ready signal and GP0 Threshold event interrupt, both exposed +as interrupts. + +Omit ``cnv-gpios`` and tie CNV and CS together to use the rising edge of the CS +as the CNV signal. + +Device attributes +================= + +The ADC contains only one channel with following attributes: + +.. list-table:: Channel attributes + :header-rows: 1 + + * - Attribute + - Description + * - ``in_voltage_calibscale`` + - Scale factor to multiply the raw value. + * - ``in_voltage_raw`` + - Raw ADC voltage value + * - ``in_voltage_oversampling_ratio`` + - Enable the device's burst averaging mode to over sample using the + internal sample rate. + * - ``in_voltage_oversampling_ratio_available`` + - List of available oversampling values. Value 1 disable the burst + averaging mode. + +Also contain the following device attributes: + +.. list-table:: Device attributes + :header-rows: 1 + + * - Attribute + - Description + * - ``oversamling_frequency`` + - Frequency used in the burst averaging mode, sets the device internal + sample rate when the mode is activated. + * - ``oversampling_frequency_available`` + - List of available sample rates. + +Low-power mode +============== + +The device enters low-power mode on idle to save power. Enabling an event puts +the device out of the low-power since the ADC autonomously samples to assert +the event condition. diff --git a/Documentation/iio/index.rst b/Documentation/iio/index.rst index 2d6afc5a8ed54a90cd8d5723f0dc5212b8593d16..ef03022b8a6374c14d7b1b2e51e5c487e1d37df9 100644 --- a/Documentation/iio/index.rst +++ b/Documentation/iio/index.rst @@ -22,6 +22,7 @@ Industrial I/O Kernel Drivers ad3552r ad4000 ad4030 + ad4052 ad4695 ad7191 ad7380 diff --git a/MAINTAINERS b/MAINTAINERS index d000c7de7ff9eba390f87593bc2b1847f966f48b..32afd568b68e45616c291d689a35ab905d421cd1 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1342,6 +1342,7 @@ M: Jorge Marques <jorge.marques@xxxxxxxxxx> S: Supported W: https://ez.analog.com/linux-software-drivers F: Documentation/devicetree/bindings/iio/adc/adi,ad4052.yaml +F: Documentation/iio/ad4052.rst ANALOG DEVICES INC AD4080 DRIVER M: Antoniu Miclaus <antoniu.miclaus@xxxxxxxxxx> -- 2.49.0