[PATCH v2 0/5] iio: adc: add ad7606 calibration support

From: Angelo Dureghello
Date: Fri May 02 2025 - 09:29:59 EST


Add gain, offset and phase (as a delay) calibration support, for
ad7606b, ad7606c16 and ad7606c18.

Calibration is available for devices with software mode capability.

Offset and phase calibration is configurable by sysfs attributes, while
gain calibration value in ohms must match the external RFilter value,
when an external RFilter is available, so implemented through a specific
devicetree "adi,rfilter-ohms" property.

Signed-off-by: Angelo Dureghello <adureghello@xxxxxxxxxxxx>
---
Changes in v2:
- change phase_delay to calib_delay,
- fix dt_bindings,
- fix gain calibarion fdt parsing,
- fix ad7606c-18 calib offset range,
- fix calib offset calculation,
- fix calib gain range,
- Link to v1: https://lore.kernel.org/r/20250429-wip-bl-ad7606-calibration-v1-0-eb4d4821b172@xxxxxxxxxxxx

---
Angelo Dureghello (5):
Documentation: ABI: IIO: add calibconv_delay documentation
iio: core: add ADC delay calibration definition
iio: adc: ad7606: add offset and phase calibration support
dt-bindings: iio: adc: adi,ad7606: add gain calibration support
iio: adc: ad7606: add gain calibration support

Documentation/ABI/testing/sysfs-bus-iio | 20 ++
.../devicetree/bindings/iio/adc/adi,ad7606.yaml | 29 +++
drivers/iio/adc/ad7606.c | 217 +++++++++++++++++++++
drivers/iio/adc/ad7606.h | 13 ++
drivers/iio/industrialio-core.c | 1 +
include/linux/iio/types.h | 1 +
6 files changed, 281 insertions(+)
---
base-commit: e22e3d5089987cb4250801623026992b2ba4645d
change-id: 20250429-wip-bl-ad7606-calibration-20a396a60352

Best regards,
--
Angelo Dureghello <adureghello@xxxxxxxxxxxx>