summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAntoniu Miclaus <antoniu.miclaus@analog.com>2025-06-26 13:40:24 +0300
committerJonathan Cameron <Jonathan.Cameron@huawei.com>2025-07-06 10:37:51 +0100
commit695b7c42d97b2a819b5602f16eed89d08fb45981 (patch)
tree011d73f754225e2bb29770713ed5c150750c887a
parent0fbd8017ab965e416870843ba504abd19bfef3b2 (diff)
iio: adc: ad4851: add spi 3-wire support
Add support for 3-wire configuration within the driver. By default 4-wire configuration is used. Signed-off-by: Antoniu Miclaus <antoniu.miclaus@analog.com> Reviewed-by: Nuno Sá <nuno.sa@analog.com> Link: https://patch.msgid.link/20250626104024.8645-2-antoniu.miclaus@analog.com Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
-rw-r--r--drivers/iio/adc/ad4851.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/iio/adc/ad4851.c b/drivers/iio/adc/ad4851.c
index 31e1e02c0ce3..1ad77f2a4580 100644
--- a/drivers/iio/adc/ad4851.c
+++ b/drivers/iio/adc/ad4851.c
@@ -444,10 +444,12 @@ static int ad4851_setup(struct ad4851_state *st)
if (ret)
return ret;
- ret = regmap_write(st->regmap, AD4851_REG_INTERFACE_CONFIG_A,
- AD4851_SDO_ENABLE);
- if (ret)
- return ret;
+ if (!(st->spi->mode & SPI_3WIRE)) {
+ ret = regmap_write(st->regmap, AD4851_REG_INTERFACE_CONFIG_A,
+ AD4851_SDO_ENABLE);
+ if (ret)
+ return ret;
+ }
ret = regmap_read(st->regmap, AD4851_REG_PRODUCT_ID_L, &product_id);
if (ret)