Skip to content

Commit b546a2f

Browse files
committed
iio: dac: ad3530r: Add support for AD3532R/AD3532
The AD3532R/AD3532 is a 16-channel, 16-bit voltage output DAC. These devices use a dual-bank register architecture with base addresses at 0x1000 (bank 0) and 0x3000 (bank 1). Channels 0-7 are mapped to bank 0, while channels 8-15 are mapped to bank 1. To support the dual-bank architecture, a new ad3532r_set_dac_powerdown() function handles the 4-register powerdown mapping, where channels 0-7 use registers 0x1020/0x1021 and channels 8-15 use 0x3020/0x3021. The AD3532 variants also implement different powerdown modes (1kΩ, 10kΩ, three-state) compared to the AD3530/31 devices (1kΩ, 7.7kΩ, 32kΩ). The ad3530r_normal_op_mode() and ad3530r_setup() functions have been extended to configure dual-bank registers for reference control and output settings. New helper functions ad3532r_input_ch_reg() and ad3532r_trigger_sw_ldac_reg() provide bank-aware register addressing based on the channel number. Dynamic channel allocation is now used with chip-specific ext_info assignment to handle the different powerdown mode enums per variant. Signed-off-by: Kim Seer Paller <kimseer.paller@analog.com>
1 parent eebce87 commit b546a2f

File tree

2 files changed

+262
-72
lines changed

2 files changed

+262
-72
lines changed

drivers/iio/dac/Kconfig

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ config AD3530R
1111
depends on SPI
1212
select REGMAP_SPI
1313
help
14-
Say yes here to build support for Analog Devices AD3530R, AD3531R
15-
Digital to Analog Converter.
14+
Say yes here to build support for Analog Devices AD3530R, AD3531R,
15+
AD3532R Digital to Analog Converter.
1616

1717
To compile this driver as a module, choose M here: the
1818
module will be called ad3530r.

0 commit comments

Comments
 (0)