[PATCH v2 0/2] add AD8460 DAC driver

From: Mariel Tinaco
Date: Mon Jul 29 2024 - 23:06:03 EST


Add support to AD8460 Waveform Generator DAC

changes in v2

ad8460:
* Mapped the fault monitoring settings for overcurrent, overvoltage
and overtemperature limits to IIO Event threshold controls.
* Added optional raw temperature attribute that gets data from an
IIO provider if it is present. e.g. an ADC channel that reads data
from TMP pin
* Added setter/getter for raw current
* Used devm_iio_dmaengine_buffer_setup_ext to setup DMA engine buffer
(No IIO Backend)
* Used byte-swapping and bulk-transfer for HVDAC data words
* Refactored regulator section to make us of
devm_regulator_get_enable_read_voltage
* Fixed error handling for rset_ohms property
* Reverted IIO_ALTVOLTAGE channel type to IIO_VOLTAGE. Setting it aside
for when IIO backend would be implemented
* Added attributes for toggle_en, symbol and 16 raw values following
the generalized sysfs ABI for DAC devices.
toggle_en: (0) to enable Arbitrary Waveform Generator (AWG) mode,
generate DAC output from parallel interface
(1) to enable Arbitrary Pattern Generator (APG) mode,
generate DAC output from HVDAC data words
symbol: for APG mode, declare the number of raw HVDAC data words
from 0 to cycle through in the DAC output, a.k.a Pattern Depth
rawN: HVDAC Data words available, from 0 to 15

Bindings:
* Matched property name of REFIO_1P2V regulator to its pin name.
* Added GPIO bindings for sdn-reset, reset, and sdn-io although only
reset is supported by the driver.
* Added Regulator bindings for hvcc, hvee, vcc-5v, vref-5v,
dvdd-3p3v and avdd-3p3v
* Added DMA-channel bindings.
* Hard-coded limits for voltage, current and temperature

Mariel Tinaco (2):
dt-bindings: iio: dac: add docs for ad8460
iio: dac: support the ad8460 Waveform DAC

.../bindings/iio/dac/adi,ad8460.yaml | 154 +++
MAINTAINERS | 8 +
drivers/iio/dac/Kconfig | 13 +
drivers/iio/dac/Makefile | 1 +
drivers/iio/dac/ad8460.c | 976 ++++++++++++++++++
5 files changed, 1152 insertions(+)
create mode 100644 Documentation/devicetree/bindings/iio/dac/adi,ad8460.yaml
create mode 100644 drivers/iio/dac/ad8460.c


base-commit: 9900e7a54764998ba3a22f06ec629f7b5fe0b422
--
2.34.1