* [PATCH 0/2] Add support for AD3536R DAC
@ 2026-09-09 6:19 Kim Seer Paller
2026-09-09 6:19 ` [PATCH 1/2] dt-bindings: iio: dac: ad3530r: add AD3536R Kim Seer Paller
2026-09-09 6:19 ` [PATCH 2/2] iio: dac: ad3530r: add support for AD3536R Kim Seer Paller
0 siblings, 2 replies; 6+ messages in thread
From: Kim Seer Paller @ 2026-09-09 6:19 UTC (permalink / raw)
To: Nuno Sá,
Michael Hennerich, Jonathan Cameron, David Lechner,
Andy Shevchenko, Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: linux-iio, linux, devicetree, linux-kernel, Kim Seer Paller
The AD3536R is a 16-channel, 12-bit, buffered voltage output DAC with an
on-chip 2.5V reference. It is the 12-bit variant of the AD3532R and
shares the same register map, so support is folded into the existing
ad3530r driver.
This series:
- adds the compatible string to the ad3530r binding
- adds an ad3530r driver chip_info entry and SPI/OF ID table entries
Datasheet:
https://www.analog.com/media/en/technical-documentation/data-sheets/ad3532r.pdf
Signed-off-by: Kim Seer Paller <kimseer.paller@analog.com>
---
Kim Seer Paller (2):
dt-bindings: iio: dac: ad3530r: add AD3536R
iio: dac: ad3530r: add support for AD3536R
.../devicetree/bindings/iio/dac/adi,ad3530r.yaml | 15 ++++++++-------
drivers/iio/dac/Kconfig | 1 +
drivers/iio/dac/ad3530r.c | 21 +++++++++++++++++++++
3 files changed, 30 insertions(+), 7 deletions(-)
---
base-commit: 42a9b823307844dc9f496df67d11ec3691317c67
change-id: 20260909-iio-ad3536r-upstream-869cf331e140
Best regards,
--
Kim Seer Paller <kimseer.paller@analog.com>
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 1/2] dt-bindings: iio: dac: ad3530r: add AD3536R
2026-09-09 6:19 [PATCH 0/2] Add support for AD3536R DAC Kim Seer Paller
@ 2026-09-09 6:19 ` Kim Seer Paller
2026-09-09 10:54 ` Conor Dooley
2026-09-09 6:19 ` [PATCH 2/2] iio: dac: ad3530r: add support for AD3536R Kim Seer Paller
1 sibling, 1 reply; 6+ messages in thread
From: Kim Seer Paller @ 2026-09-09 6:19 UTC (permalink / raw)
To: Nuno Sá,
Michael Hennerich, Jonathan Cameron, David Lechner,
Andy Shevchenko, Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: linux-iio, linux, devicetree, linux-kernel, Kim Seer Paller
The AD3536R is the 12-bit variant of the 16-bit AD3532R. It is a
16-channel, buffered voltage output DAC that shares the same register map
as the AD3532R. Add its compatible string and mention it in the binding
description.
Signed-off-by: Kim Seer Paller <kimseer.paller@analog.com>
---
.../devicetree/bindings/iio/dac/adi,ad3530r.yaml | 15 ++++++++-------
1 file changed, 8 insertions(+), 7 deletions(-)
diff --git a/Documentation/devicetree/bindings/iio/dac/adi,ad3530r.yaml b/Documentation/devicetree/bindings/iio/dac/adi,ad3530r.yaml
index 2fe098619772..bf0278335583 100644
--- a/Documentation/devicetree/bindings/iio/dac/adi,ad3530r.yaml
+++ b/Documentation/devicetree/bindings/iio/dac/adi,ad3530r.yaml
@@ -10,13 +10,13 @@ maintainers:
- Kim Seer Paller <kimseer.paller@analog.com>
description: |
- The AD3530/AD3530R (8-channel), AD3531/AD3531R (4-channel), and AD3532/AD3532R
- (16-channel) are low-power, 16-bit, buffered voltage output digital-to-analog
- converters (DACs) with software-programmable gain controls, providing
- full-scale output spans of 2.5V or 5V for reference voltages of 2.5V. These
- devices operate from a single 2.7V to 5.5V supply and are guaranteed monotonic
- by design. The "R" variants include a 2.5V, 5ppm/°C internal reference, which
- is disabled by default.
+ The AD3530/AD3530R (8-channel), AD3531/AD3531R (4-channel), AD3532/AD3532R
+ (16-channel), 16-bit and AD3536R (16-channel), 12-bit are low-power, buffered
+ voltage output digital-to-analog converters (DACs) with software-programmable
+ gain controls, providing full-scale output spans of 2.5V or 5V for reference
+ voltages of 2.5V. These devices operate from a single 2.7V to 5.5V supply and
+ are guaranteed monotonic by design. The "R" variants include a 2.5V, 5ppm/°C
+ internal reference, which is disabled by default.
Datasheet can be found here:
https://www.analog.com/media/en/technical-documentation/data-sheets/ad3530_ad530r.pdf
https://www.analog.com/media/en/technical-documentation/data-sheets/ad3531-ad3531r.pdf
@@ -31,6 +31,7 @@ properties:
- adi,ad3531r
- adi,ad3532
- adi,ad3532r
+ - adi,ad3536r
reg:
maxItems: 1
--
2.34.1
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 2/2] iio: dac: ad3530r: add support for AD3536R
2026-09-09 6:19 [PATCH 0/2] Add support for AD3536R DAC Kim Seer Paller
2026-09-09 6:19 ` [PATCH 1/2] dt-bindings: iio: dac: ad3530r: add AD3536R Kim Seer Paller
@ 2026-09-09 6:19 ` Kim Seer Paller
2026-09-09 11:37 ` Joshua Crofts
2026-09-09 13:24 ` Andy Shevchenko
1 sibling, 2 replies; 6+ messages in thread
From: Kim Seer Paller @ 2026-09-09 6:19 UTC (permalink / raw)
To: Nuno Sá,
Michael Hennerich, Jonathan Cameron, David Lechner,
Andy Shevchenko, Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: linux-iio, linux, devicetree, linux-kernel, Kim Seer Paller
The AD3536R is the 12-bit variant of the AD3532R, a 16-channel buffered
voltage output DAC with an on-chip 2.5V reference and an identical
register map. Add a chip_info entry for it and the corresponding SPI and
OF device ID table entries.
Signed-off-by: Kim Seer Paller <kimseer.paller@analog.com>
---
drivers/iio/dac/Kconfig | 1 +
drivers/iio/dac/ad3530r.c | 21 +++++++++++++++++++++
2 files changed, 22 insertions(+)
diff --git a/drivers/iio/dac/Kconfig b/drivers/iio/dac/Kconfig
index f87b72457b1d..b6c8873c68c5 100644
--- a/drivers/iio/dac/Kconfig
+++ b/drivers/iio/dac/Kconfig
@@ -16,6 +16,7 @@ config AD3530R
- AD3530/AD3530R (8-channel)
- AD3531/AD3531R (4-channel)
- AD3532/AD3532R (16-channel)
+ - AD3536R (16-channel, 12-bit)
- AD5710R/AD5711R (8-channel configurable IDAC/VDAC)
To compile this driver as a module, choose M here: the
diff --git a/drivers/iio/dac/ad3530r.c b/drivers/iio/dac/ad3530r.c
index 7648aa4da25a..9e043639801d 100644
--- a/drivers/iio/dac/ad3530r.c
+++ b/drivers/iio/dac/ad3530r.c
@@ -3,6 +3,7 @@
* AD3530R/AD3530 8-channel, 16-bit Voltage Output DAC Driver
* AD3531R/AD3531 4-channel, 16-bit Voltage Output DAC Driver
* AD3532R/AD3532 16-channel, 16-bit Voltage Output DAC Driver
+ * AD3536R 16-channel, 12-bit Voltage Output DAC Driver
* AD5710R 8-channel, 16-bit Configurable IDAC/VDAC Driver
* AD5711R 8-channel, 12-bit Configurable IDAC/VDAC Driver
*
@@ -746,6 +747,24 @@ static const struct ad3530r_chip_info ad3532r_chip = {
.configurable_ch_func = false,
};
+static const struct ad3530r_chip_info ad3536r_chip = {
+ .name = "ad3536r",
+ .resolution = 12,
+ .channels = ad3532r_channels,
+ .regmap_config = &ad3532r_regmap_config,
+ .num_channels = ARRAY_SIZE(ad3532r_channels),
+ .sw_ldac_trig_reg = ad3532r_trigger_sw_ldac_reg,
+ .input_ch_reg = ad3532r_input_ch_reg,
+ .interface_config_a = ad3532r_if_config,
+ .output_control = ad3532r_out_ctrl,
+ .reference_control = ad3532r_ref_ctrl,
+ .op_mode = ad3532r_op_mode,
+ .num_banks = ARRAY_SIZE(ad3532r_if_config),
+ .num_op_mode_regs = ARRAY_SIZE(ad3532r_op_mode),
+ .internal_ref_support = true,
+ .configurable_ch_func = false,
+};
+
static const struct ad3530r_chip_info ad5710r_chip = {
.name = "ad5710r",
.resolution = 16,
@@ -1042,6 +1061,7 @@ static const struct spi_device_id ad3530r_id[] = {
{ .name = "ad3531r", .driver_data = (kernel_ulong_t)&ad3531r_chip },
{ .name = "ad3532", .driver_data = (kernel_ulong_t)&ad3532_chip },
{ .name = "ad3532r", .driver_data = (kernel_ulong_t)&ad3532r_chip },
+ { .name = "ad3536r", .driver_data = (kernel_ulong_t)&ad3536r_chip },
{ .name = "ad5710r", .driver_data = (kernel_ulong_t)&ad5710r_chip },
{ .name = "ad5711r", .driver_data = (kernel_ulong_t)&ad5711r_chip },
{ }
@@ -1055,6 +1075,7 @@ static const struct of_device_id ad3530r_of_match[] = {
{ .compatible = "adi,ad3531r", .data = &ad3531r_chip },
{ .compatible = "adi,ad3532", .data = &ad3532_chip },
{ .compatible = "adi,ad3532r", .data = &ad3532r_chip },
+ { .compatible = "adi,ad3536r", .data = &ad3536r_chip },
{ .compatible = "adi,ad5710r", .data = &ad5710r_chip },
{ .compatible = "adi,ad5711r", .data = &ad5711r_chip },
{ }
--
2.34.1
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 1/2] dt-bindings: iio: dac: ad3530r: add AD3536R
2026-09-09 6:19 ` [PATCH 1/2] dt-bindings: iio: dac: ad3530r: add AD3536R Kim Seer Paller
@ 2026-09-09 10:54 ` Conor Dooley
0 siblings, 0 replies; 6+ messages in thread
From: Conor Dooley @ 2026-09-09 10:54 UTC (permalink / raw)
To: Kim Seer Paller
Cc: Nuno Sá,
Michael Hennerich, Jonathan Cameron, David Lechner,
Andy Shevchenko, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
linux-iio, linux, devicetree, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 75 bytes --]
Acked-by: Conor Dooley <conor.dooley@microchip.com>
pw-bot: not-applicable
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 2/2] iio: dac: ad3530r: add support for AD3536R
2026-09-09 6:19 ` [PATCH 2/2] iio: dac: ad3530r: add support for AD3536R Kim Seer Paller
@ 2026-09-09 11:37 ` Joshua Crofts
2026-09-09 13:24 ` Andy Shevchenko
1 sibling, 0 replies; 6+ messages in thread
From: Joshua Crofts @ 2026-09-09 11:37 UTC (permalink / raw)
To: Kim Seer Paller
Cc: Nuno Sá,
Michael Hennerich, Jonathan Cameron, David Lechner,
Andy Shevchenko, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
linux-iio, linux, devicetree, linux-kernel
On Wed, 9 Sep 2026 14:19:10 +0800
Kim Seer Paller <kimseer.paller@analog.com> wrote:
> The AD3536R is the 12-bit variant of the AD3532R, a 16-channel buffered
> voltage output DAC with an on-chip 2.5V reference and an identical
> register map. Add a chip_info entry for it and the corresponding SPI and
> OF device ID table entries.
>
> Signed-off-by: Kim Seer Paller <kimseer.paller@analog.com>
> ---
Reviewed-by: Joshua Crofts <joshua.crofts1@gmail.com>
--
Kind regards,
Joshua Crofts
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 2/2] iio: dac: ad3530r: add support for AD3536R
2026-09-09 6:19 ` [PATCH 2/2] iio: dac: ad3530r: add support for AD3536R Kim Seer Paller
2026-09-09 11:37 ` Joshua Crofts
@ 2026-09-09 13:24 ` Andy Shevchenko
1 sibling, 0 replies; 6+ messages in thread
From: Andy Shevchenko @ 2026-09-09 13:24 UTC (permalink / raw)
To: Kim Seer Paller
Cc: Nuno Sá,
Michael Hennerich, Jonathan Cameron, David Lechner,
Andy Shevchenko, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
linux-iio, linux, devicetree, linux-kernel
On Wed, Sep 09, 2026 at 02:19:10PM +0800, Kim Seer Paller wrote:
> The AD3536R is the 12-bit variant of the AD3532R, a 16-channel buffered
> voltage output DAC with an on-chip 2.5V reference and an identical
> register map. Add a chip_info entry for it and the corresponding SPI and
> OF device ID table entries.
I haven't checked the datasheet (perhaps you need to add a Datasheet tag?),
so assuming it's correct the patch LGTM,
Reviewed-by: Andy Shevchenko <andriy.shevchenko@intel.com>
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2026-09-09 13:24 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-09 6:19 [PATCH 0/2] Add support for AD3536R DAC Kim Seer Paller
2026-09-09 6:19 ` [PATCH 1/2] dt-bindings: iio: dac: ad3530r: add AD3536R Kim Seer Paller
2026-09-09 10:54 ` Conor Dooley
2026-09-09 6:19 ` [PATCH 2/2] iio: dac: ad3530r: add support for AD3536R Kim Seer Paller
2026-09-09 11:37 ` Joshua Crofts
2026-09-09 13:24 ` 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®