[PATCH 2/2] iio: adc: ad7405: Add support for ADuM7801/7802/7811/7812

From: Pop Ioan Daniel

Date: Mon Nov 02 2026 - 07:24:09 EST


Add a chip information structure and a device tree match table entry
for each of the ADuM7801, ADuM7802, ADuM7811 and ADuM7812. These parts
are handled the same way as the existing ADuM770x devices and differ
only in their full-scale input range: ±320 mV for the ADuM7801 and
ADuM7811, and ±64 mV for the ADuM7802 and ADuM7812.

Also list the new parts in the Kconfig help text.

Signed-off-by: Pop Ioan Daniel <pop.ioan-daniel@xxxxxxxxxx>
---
drivers/iio/adc/Kconfig | 3 ++-
drivers/iio/adc/ad7405.c | 24 ++++++++++++++++++++++++
2 files changed, 26 insertions(+), 1 deletion(-)

diff --git a/drivers/iio/adc/Kconfig b/drivers/iio/adc/Kconfig
index f8456c8039883..0458b326e153b 100644
--- a/drivers/iio/adc/Kconfig
+++ b/drivers/iio/adc/Kconfig
@@ -359,7 +359,8 @@ config AD7405
depends on IIO_BACKEND
help
Say yes here to build support for Analog Devices AD7405, ADUM7701,
- ADUM7702, ADUM7703 analog to digital converters (ADC).
+ ADUM7702, ADUM7703, ADUM7801, ADUM7802, ADUM7811, ADUM7812 analog
+ to digital converters (ADC).

To compile this driver as a module, choose M here: the module will be
called ad7405.
diff --git a/drivers/iio/adc/ad7405.c b/drivers/iio/adc/ad7405.c
index 0996f48d76f1e..ee9873b47a84f 100644
--- a/drivers/iio/adc/ad7405.c
+++ b/drivers/iio/adc/ad7405.c
@@ -158,6 +158,26 @@ static const struct ad7405_chip_info adum7703_chip_info = {
.full_scale_mv = 320,
};

+static const struct ad7405_chip_info adum7801_chip_info = {
+ .name = "adum7801",
+ .full_scale_mv = 320,
+};
+
+static const struct ad7405_chip_info adum7802_chip_info = {
+ .name = "adum7802",
+ .full_scale_mv = 64,
+};
+
+static const struct ad7405_chip_info adum7811_chip_info = {
+ .name = "adum7811",
+ .full_scale_mv = 320,
+};
+
+static const struct ad7405_chip_info adum7812_chip_info = {
+ .name = "adum7812",
+ .full_scale_mv = 64,
+};
+
static const char * const ad7405_power_supplies[] = {
"vdd1", "vdd2",
};
@@ -232,6 +252,10 @@ static const struct of_device_id ad7405_of_match[] = {
{ .compatible = "adi,adum7701", .data = &adum7701_chip_info, },
{ .compatible = "adi,adum7702", .data = &adum7702_chip_info, },
{ .compatible = "adi,adum7703", .data = &adum7703_chip_info, },
+ { .compatible = "adi,adum7801", .data = &adum7801_chip_info, },
+ { .compatible = "adi,adum7802", .data = &adum7802_chip_info, },
+ { .compatible = "adi,adum7811", .data = &adum7811_chip_info, },
+ { .compatible = "adi,adum7812", .data = &adum7812_chip_info, },
{ }
};
MODULE_DEVICE_TABLE(of, ad7405_of_match);
--
2.34.1