mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [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®