linux/drivers/iio/dac
Angelo Dureghello b2d2be772d iio: dac: ad3552r-common: fix ad3541/2r ranges
[ Upstream commit 1e758b6132 ]

Fix ad3541/2r voltage ranges to be as per ad3542r datasheet,
rev. C, table 38 (page 57).

The wrong ad354xr ranges was generating erroneous Vpp output.

In more details:
- fix wrong number of ranges, they are 5 ranges, not 6,
- remove non-existent 0-3V range,
- adjust order, since ad3552r_find_range() get a wrong index,
  producing a wrong Vpp as output.

Retested all the ranges on real hardware, EVALAD3542RFMCZ:

adi,output-range-microvolt (fdt):
<(000000) (2500000)>;   ok (Rfbx1, switch 10)
<(000000) (5000000)>;   ok (Rfbx1, switch 10)
<(000000) (10000000)>;  ok (Rfbx1, switch 10)
<(-5000000) (5000000)>; ok (Rfbx2, switch +/- 5)
<(-2500000) (7500000)>; ok (Rfbx2, switch -2.5/7.5)

Fixes: 8f2b54824b ("drivers:iio:dac: Add AD3552R driver support")
Signed-off-by: Angelo Dureghello <adureghello@baylibre.com>
Reviewed-by: David Lechner <dlechner@baylibre.com>
Link: https://patch.msgid.link/20250108-wip-bl-ad3552r-axi-v0-iio-testing-carlos-v2-1-2dac02f04638@baylibre.com
Cc: <Stable@vger.kernel.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2025-07-06 11:01:49 +02:00
..
ad3552r-common.c iio: dac: ad3552r-common: fix ad3541/2r ranges 2025-07-06 11:01:49 +02:00
ad3552r.c iio: dac: ad3552r: extract common code (no changes in behavior intended) 2025-07-06 11:01:49 +02:00
ad3552r.h iio: dac: ad3552r-common: fix ad3541/2r ranges 2025-07-06 11:01:49 +02:00
ad5064.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
ad5360.c iio: dac: ad5360: Fix alignment for DMA safety 2022-06-14 11:53:15 +01:00
ad5380.c iio: Switch i2c drivers back to use .probe() 2023-05-21 18:54:53 +01:00
ad5421.c iio: dac: ad5421: Fix alignment for DMA safety 2022-06-14 11:53:15 +01:00
ad5446.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
ad5449.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
ad5504.c iio: dac: ad5504: Fix alignment for DMA safety 2022-06-14 11:53:16 +01:00
ad5592r-base.c iio: dac: ad5592r: fix temperature channel scaling value 2024-05-27 09:49:20 +01:00
ad5592r-base.h iio: dac: ad5592r: Fix alignment for DMA safety 2022-06-14 11:53:16 +01:00
ad5592r.c Char/Misc and other driver updates for 5.18-rc1 2022-03-28 12:27:35 -07:00
ad5593r.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
ad5624r.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 177 2019-05-30 11:29:19 -07:00
ad5624r_spi.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
ad5686-spi.c Char/Misc and other driver updates for 5.18-rc1 2022-03-28 12:27:35 -07:00
ad5686.c iio: dac: ad5686: Add support for AD5337 2022-12-28 17:19:45 +00:00
ad5686.h iio: dac: ad5686: Add support for AD5337 2022-12-28 17:19:45 +00:00
ad5696-i2c.c iio: Switch i2c drivers back to use .probe() 2023-05-21 18:54:53 +01:00
ad5755.c iio: dac: ad5755: make use of of_device_id table 2024-04-13 18:12:14 +01:00
ad5758.c iio:dac:ad5758: Drop unused of specific headers. 2021-12-12 17:12:34 +00:00
ad5761.c iio: dac: ad5761: Fix alignment for DMA safety 2022-06-14 11:53:16 +01:00
ad5764.c iio: dac: ad5764: Fix alignment for DMA safety 2022-06-14 11:53:16 +01:00
ad5766.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
ad5770r.c iio: dac: ad5770r: Use device_for_each_child_node_scoped() 2024-04-06 11:18:51 +01:00
ad5791.c iio: dac: ad5791: Add support for controlling RBUF via devicetree 2023-12-04 13:19:48 +00:00
ad7293.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
ad7303.c iio: dac: ad7303: Fix alignment for DMA safety 2022-06-14 11:53:16 +01:00
ad8801.c iio: dac: ad8801: Fix alignment for DMA safety 2022-06-14 11:53:17 +01:00
ad9739a.c iio: dac: ad9739a: add backend debugfs interface 2024-08-10 11:17:33 +01:00
adi-axi-dac.c iio: dac: adi-axi-dac: fix wrong register bitfield 2024-12-05 14:02:46 +01:00
cio-dac.c 1st set of IIO new device support, features and cleanups for the 6.4 cycle. 2023-04-12 09:45:34 +02:00
dpot-dac.c iio: dac: dpot-dac: Convert to platform remove callback returning void 2023-09-23 15:06:55 +01:00
ds4424.c iio: Switch i2c drivers back to use .probe() 2023-05-21 18:54:53 +01:00
Kconfig iio: dac: Kconfig: Fix build error for ltc2664 2024-10-24 18:46:04 +01:00
lpc18xx_dac.c iio: dac: lpc18xx_dac: Convert to platform remove callback returning void 2023-09-23 15:06:55 +01:00
ltc1660.c iio: dac: ltc1660: Switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() 2022-07-18 18:48:18 +01:00
ltc2632.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
ltc2664.c iioc: dac: ltc2664: Fix span variable usage in ltc2664_channel_config() 2024-10-06 16:31:46 +01:00
ltc2688.c iio: dac: ltc2688: Constify struct regmap_bus 2024-07-29 20:31:10 +01:00
m62332.c iio: Switch i2c drivers back to use .probe() 2023-05-21 18:54:53 +01:00
Makefile iio: dac: ad3552r: extract common code (no changes in behavior intended) 2025-07-06 11:01:49 +02:00
max517.c iio: Switch i2c drivers back to use .probe() 2023-05-21 18:54:53 +01:00
max5522.c iio: dac: max5522: simplify with spi_get_device_match_data() 2024-06-13 19:19:24 +01:00
max5821.c iio: Switch i2c drivers back to use .probe() 2023-05-21 18:54:53 +01:00
mcp4725.c iio: dac: mcp4725: Add dac_reg_offset to struct mcp4725_chip_info 2023-09-12 10:42:04 +01:00
mcp4728.c iio: dac: mcp4728: use devm_regulator_get_enable_read_voltage() 2024-08-03 10:13:38 +01:00
mcp4821.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
mcp4922.c iio: dac: mcp4922: drop remove() callback 2024-08-03 10:13:38 +01:00
stm32-dac-core.c iio: dac: stm32-dac-core: make use of regmap_set_bits() 2024-06-25 21:04:46 +01:00
stm32-dac-core.h iio: stm32: Adopt SPDX identifier 2018-01-08 16:03:41 +01:00
stm32-dac.c iio: dac: stm32-dac: Convert to platform remove callback returning void 2023-09-23 15:06:55 +01:00
ti-dac082s085.c iio: dac: ti-dac082s085: Fix alignment for DMA safety 2022-06-14 11:53:17 +01:00
ti-dac5571.c iio: dac: ti-dac5571: Add DAC081C081 support 2024-03-28 13:22:15 +00:00
ti-dac7311.c iio: dac: ti-dac7311: Add check for spi_setup 2024-07-29 20:31:13 +01:00
ti-dac7612.c iio: dac: ti-dac7612: Fix alignment for DMA safety 2022-06-14 11:53:17 +01:00
vf610_dac.c iio: dac: vf610: Convert to platform remove callback returning void 2023-09-23 15:06:55 +01:00