[PATCH v3 0/5] iio: ad3552r-hs: add support for internal ramp generator

From: Angelo Dureghello
Date: Mon Apr 07 2025 - 04:54:37 EST


Add support to enable the HDL IP core internal ramp generator,
actually managed by the adi-axi-dac backend.

It works this way:

/sys/bus/iio/devices/iio:device0# echo 1 > buffer0/out_voltage0_en
/sys/bus/iio/devices/iio:device0# echo 1 > buffer0/out_voltage1_en
/sys/bus/iio/devices/iio:device0# echo 1 > buffer0/enable

Activating ramp generator:

/sys/kernel/debug/iio/iio:device0# echo -n backend-ramp-generator > data_source

Deactivating:

/sys/kernel/debug/iio/iio:device0# echo -n iio-buffer > data_source

Signed-off-by: Angelo Dureghello <adureghello@xxxxxxxxxxxx>
---
Changes in v3:
- add mutex description,
- use devm_mutex_init and check for return value.
- Link to v2: https://lore.kernel.org/r/20250331-wip-bl-ad3552r-fixes-v2-0-cdedb430497e@xxxxxxxxxxxx

Changes in v2:
- doc, add few words for generic spi driver version,
- axi-dac, add a separate patch to check cntrl chan validity,
- axi-dac, return EIO on a wrong source on get,
- add a lock on debugfs file access,
- use const strings and strlen on file access.
- Link to v1: https://lore.kernel.org/r/20250321-wip-bl-ad3552r-fixes-v1-0-3c1aa249d163@xxxxxxxxxxxx

---
Angelo Dureghello (5):
iio: dac: adi-axi-dac: add cntrl chan check
docs: iio: add documentation for ad3552r driver
iio: backend: add support for data source get
iio: dac: adi-axi-dac: add data source get
iio: dac: ad3552r-hs: add support for internal ramp

Documentation/iio/ad3552r.rst | 72 +++++++++++++++++++++
Documentation/iio/index.rst | 1 +
MAINTAINERS | 1 +
drivers/iio/dac/ad3552r-hs.c | 124 +++++++++++++++++++++++++++++++++++--
drivers/iio/dac/adi-axi-dac.c | 54 ++++++++++++++++
drivers/iio/industrialio-backend.c | 28 +++++++++
include/linux/iio/backend.h | 5 ++
7 files changed, 279 insertions(+), 6 deletions(-)
---
base-commit: eb870a5af7db1e5ca59330875125230b28e630f9
change-id: 20250321-wip-bl-ad3552r-fixes-4a386944c170

Best regards,
--
Angelo Dureghello <adureghello@xxxxxxxxxxxx>