* [PATCH v2 0/2] iio: adc: ad7405: Add ADuM7801/7802/7811/7812 support
@ 2026-11-05 9:35 Pop Ioan Daniel
2026-11-05 9:35 ` [PATCH v2 1/2] dt-bindings: " Pop Ioan Daniel
2026-11-05 9:35 ` [PATCH v2 2/2] iio: adc: ad7405: Add support for ADuM7801/7802/7811/7812 Pop Ioan Daniel
0 siblings, 2 replies; 4+ messages in thread
From: Pop Ioan Daniel @ 2026-11-05 9:35 UTC (permalink / raw)
To: jic23
Cc: Nuno Sá,
Michael Hennerich, David Lechner, Andy Shevchenko, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Dragos Bogdan, Ioan Daniel,
linux, linux-iio, devicetree, linux-kernel
This series adds support for the ADuM7801, ADuM7802, ADuM7811 and
ADuM7812 isolated second-order sigma-delta modulators to the ad7405
driver.
The parts are compatible with the existing ADuM7701/7702 handling and
differ in input full scale and maximum master clock frequency:
- ADuM7801/7811: +/-320 mV full scale
- ADuM7802/7812: +/-64 mV full scale
- ADuM7801/7802: master clock up to 25 MHz
- ADuM7811/7812: master clock up to 50 MHz
Pop Ioan Daniel (2):
dt-bindings: iio: adc: ad7405: Add ADuM7801/7802/7811/7812 support
iio: adc: ad7405: Add support for ADuM7801/7802/7811/7812
.../bindings/iio/adc/adi,ad7405.yaml | 25 +++++++++++++++----
drivers/iio/adc/Kconfig | 14 ++++++++---
drivers/iio/adc/ad7405.c | 24 ++++++++++++++++++
3 files changed, 55 insertions(+), 8 deletions(-)
base-commit: 20ce8ef9c9e04cd6c5ae0422e251a9b5936c6b7c
--
2.34.1
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH v2 1/2] dt-bindings: iio: adc: ad7405: Add ADuM7801/7802/7811/7812 support
2026-11-05 9:35 [PATCH v2 0/2] iio: adc: ad7405: Add ADuM7801/7802/7811/7812 support Pop Ioan Daniel
@ 2026-11-05 9:35 ` Pop Ioan Daniel
2026-11-05 9:35 ` [PATCH v2 2/2] iio: adc: ad7405: Add support for ADuM7801/7802/7811/7812 Pop Ioan Daniel
1 sibling, 0 replies; 4+ messages in thread
From: Pop Ioan Daniel @ 2026-11-05 9:35 UTC (permalink / raw)
To: jic23
Cc: Nuno Sá,
Michael Hennerich, David Lechner, Andy Shevchenko, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Dragos Bogdan, Ioan Daniel,
linux, linux-iio, devicetree, linux-kernel
Add compatible strings for the ADuM7801, ADuM7802, ADuM7811 and
ADuM7812 16-bit isolated sigma-delta modulators.
The ADuM7801 and ADuM7811 have the same ±320 mV full-scale input range
as the ADuM7701, and the ADuM7802 and ADuM7812 have the same ±64 mV
full-scale input range as the ADuM7702. Apart from that, software
handles them the same way. The ADuM780x support a master clock of up
to 25 MHz and the ADuM781x of up to 50 MHz, which needs no special
handling. Use the ADuM7701 and ADuM7702 as fallback compatibles.
Signed-off-by: Pop Ioan Daniel <pop.ioan-daniel@analog.com>
---
changes in v2:
- use adi,adum7701 as fallback compatible for ADuM7801/7811 and
adi,adum7702 for ADuM7802/7812
.../bindings/iio/adc/adi,ad7405.yaml | 25 +++++++++++++++----
1 file changed, 20 insertions(+), 5 deletions(-)
diff --git a/Documentation/devicetree/bindings/iio/adc/adi,ad7405.yaml b/Documentation/devicetree/bindings/iio/adc/adi,ad7405.yaml
index 57f0970257050..41eef107e9f0d 100644
--- a/Documentation/devicetree/bindings/iio/adc/adi,ad7405.yaml
+++ b/Documentation/devicetree/bindings/iio/adc/adi,ad7405.yaml
@@ -20,14 +20,29 @@ description: |
https://www.analog.com/media/en/technical-documentation/data-sheets/adum7701.pdf
https://www.analog.com/media/en/technical-documentation/data-sheets/adum7702.pdf
https://www.analog.com/media/en/technical-documentation/data-sheets/ADuM7703.pdf
+ https://www.analog.com/media/en/technical-documentation/data-sheets/adum7801.pdf
+ https://www.analog.com/media/en/technical-documentation/data-sheets/adum7802.pdf
+ https://www.analog.com/media/en/technical-documentation/data-sheets/adum7811.pdf
+ https://www.analog.com/media/en/technical-documentation/data-sheets/adum7812.pdf
properties:
compatible:
- enum:
- - adi,ad7405
- - adi,adum7701
- - adi,adum7702
- - adi,adum7703
+ oneOf:
+ - enum:
+ - adi,ad7405
+ - adi,adum7701
+ - adi,adum7702
+ - adi,adum7703
+ - items:
+ - enum:
+ - adi,adum7801
+ - adi,adum7811
+ - const: adi,adum7701
+ - items:
+ - enum:
+ - adi,adum7802
+ - adi,adum7812
+ - const: adi,adum7702
clocks:
maxItems: 1
--
2.34.1
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH v2 2/2] iio: adc: ad7405: Add support for ADuM7801/7802/7811/7812
2026-11-05 9:35 [PATCH v2 0/2] iio: adc: ad7405: Add ADuM7801/7802/7811/7812 support Pop Ioan Daniel
2026-11-05 9:35 ` [PATCH v2 1/2] dt-bindings: " Pop Ioan Daniel
@ 2026-11-05 9:35 ` Pop Ioan Daniel
2026-11-05 12:16 ` Andy Shevchenko
1 sibling, 1 reply; 4+ messages in thread
From: Pop Ioan Daniel @ 2026-11-05 9:35 UTC (permalink / raw)
To: jic23
Cc: Nuno Sá,
Michael Hennerich, David Lechner, Andy Shevchenko, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Dragos Bogdan, Ioan Daniel,
linux, linux-iio, devicetree, linux-kernel
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.
The device tree binding lists the ADuM7701 and ADuM7702 as fallback
compatibles, so the driver can handle these parts through the fallback
alone. The dedicated entries are added so that the IIO device reports
the real part name instead of the name of the fallback part.
Rework the Kconfig help text to list one supported part per line, so
that new parts can be added without rewrapping the text, and make the
prompt generic instead of naming only the AD7405.
Signed-off-by: Pop Ioan Daniel <pop.ioan-daniel@analog.com>
---
changes in v2:
- keep dedicated match entries so the IIO device reports the real
part name (the binding now has fallback compatibles)
- list one supported part per line in the Kconfig help text
- make the Kconfig prompt generic instead of naming only the AD7405
drivers/iio/adc/Kconfig | 14 +++++++++++---
drivers/iio/adc/ad7405.c | 24 ++++++++++++++++++++++++
2 files changed, 35 insertions(+), 3 deletions(-)
diff --git a/drivers/iio/adc/Kconfig b/drivers/iio/adc/Kconfig
index f8456c8039883..bdcb1f5c9a218 100644
--- a/drivers/iio/adc/Kconfig
+++ b/drivers/iio/adc/Kconfig
@@ -355,11 +355,19 @@ config AD7380
called ad7380.
config AD7405
- tristate "Analog Devices AD7405 ADC Driver"
+ tristate "Analog Devices AD7405 and similar isolated sigma-delta modulators driver"
depends on IIO_BACKEND
help
- Say yes here to build support for Analog Devices AD7405, ADUM7701,
- ADUM7702, ADUM7703 analog to digital converters (ADC).
+ Say yes here to build support for Analog Devices isolated
+ sigma-delta modulators:
+ - AD7405
+ - ADuM7701
+ - ADuM7702
+ - ADuM7703
+ - ADuM7801
+ - ADuM7802
+ - ADuM7811
+ - ADuM7812
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
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v2 2/2] iio: adc: ad7405: Add support for ADuM7801/7802/7811/7812
2026-11-05 9:35 ` [PATCH v2 2/2] iio: adc: ad7405: Add support for ADuM7801/7802/7811/7812 Pop Ioan Daniel
@ 2026-11-05 12:16 ` Andy Shevchenko
0 siblings, 0 replies; 4+ messages in thread
From: Andy Shevchenko @ 2026-11-05 12:16 UTC (permalink / raw)
To: Pop Ioan Daniel
Cc: jic23, Nuno Sá,
Michael Hennerich, David Lechner, Andy Shevchenko, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Dragos Bogdan, linux,
linux-iio, devicetree, linux-kernel
On Thu, Nov 05, 2026 at 11:35:31AM +0200, Pop Ioan Daniel wrote:
> 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.
>
> The device tree binding lists the ADuM7701 and ADuM7702 as fallback
> compatibles, so the driver can handle these parts through the fallback
> alone. The dedicated entries are added so that the IIO device reports
> the real part name instead of the name of the fallback part.
>
> Rework the Kconfig help text to list one supported part per line, so
> that new parts can be added without rewrapping the text, and make the
> prompt generic instead of naming only the AD7405.
> - tristate "Analog Devices AD7405 ADC Driver"
> + tristate "Analog Devices AD7405 and similar isolated sigma-delta modulators driver"
Update the top comment of the driver along with MODULE_DESCRIPTION() so that
all three have the same (or quite similar text, like without word 'driver').
...
Otherwise LGTM.
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2026-11-05 12:16 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-11-05 9:35 [PATCH v2 0/2] iio: adc: ad7405: Add ADuM7801/7802/7811/7812 support Pop Ioan Daniel
2026-11-05 9:35 ` [PATCH v2 1/2] dt-bindings: " Pop Ioan Daniel
2026-11-05 9:35 ` [PATCH v2 2/2] iio: adc: ad7405: Add support for ADuM7801/7802/7811/7812 Pop Ioan Daniel
2026-11-05 12:16 ` Andy Shevchenko
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®