linux/drivers/iio/dac
Stefan Popa 1dbae4c6cd iio:dac:ad5686: Add AD5681R/AD5682R/AD5683/AD5683R support
The AD5681R/AD5682R/AD5683/AD5683R are a family of one channel DACs with
12-bit, 14-bit and 16-bit precision respectively. The devices have either
no built-in reference, or built-in 2.5V reference.

These devices are similar to AD5691R/AD5692R/AD5693/AD5693R except
with a few notable differences:
 * they use the SPI interface instead of I2C
 * in the write control register, DB18 and DB17 are used for setting the
   power mode, while DB16 is the REF bit. This is why a new regmap type
   was defined and checked accordingly.
 * the shift register is 24 bits wide, the first four bits are the command
   bits followed by the data bits. As the data comprises of 20-bit, 18-bit
   or 16-bit input code, this means that 4 LSB bits are don't care. This is
   why the data needs to be shifted on the left with four bits. Therefore,
   AD5683_REGMAP is checked inside a switch case in the ad5686_spi_write()
   function. On the other hand, similar devices such as AD5693R family,
   have the 4 MSB command bits followed by 4 don't care bits.

Datasheet:
http://www.analog.com/media/en/technical-documentation/data-sheets/AD5683R_5682R_5681R_5683.pdf

Signed-off-by: Stefan Popa <stefan.popa@analog.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
2018-05-20 11:45:45 +01:00
..
ad5064.c iio:dac: drop assignment of iio_info.driver_module 2017-08-22 21:26:54 +01:00
ad5360.c iio:dac: drop assignment of iio_info.driver_module 2017-08-22 21:26:54 +01:00
ad5380.c iio: Replace occurrences of magic number 0 by IIO_CHAN_INFO_RAW 2018-03-07 20:14:36 +00:00
ad5421.c iio:dac: drop assignment of iio_info.driver_module 2017-08-22 21:26:54 +01:00
ad5446.c drivers: misc: ti_dac7512: Remove duplicate driver 2017-09-13 17:49:57 +01:00
ad5449.c iio:dac: drop assignment of iio_info.driver_module 2017-08-22 21:26:54 +01:00
ad5504.c iio:dac: drop assignment of iio_info.driver_module 2017-08-22 21:26:54 +01:00
ad5592r-base.c iio:dac: drop assignment of iio_info.driver_module 2017-08-22 21:26:54 +01:00
ad5592r-base.h iio: dac: Add support for the AD5592R/AD5593R ADCs/DACs 2016-04-10 14:29:06 +01:00
ad5592r.c iio: dac: ad5592r: Add ACPI support 2016-12-30 17:19:36 +00:00
ad5593r.c iio: dac: ad5593r: Add ACPI support 2016-12-30 17:20:14 +00:00
ad5624r.h
ad5624r_spi.c iio:dac: drop assignment of iio_info.driver_module 2017-08-22 21:26:54 +01:00
ad5686-spi.c iio:dac:ad5686: Add AD5681R/AD5682R/AD5683/AD5683R support 2018-05-20 11:45:45 +01:00
ad5686.c iio:dac:ad5686: Add AD5681R/AD5682R/AD5683/AD5683R support 2018-05-20 11:45:45 +01:00
ad5686.h iio:dac:ad5686: Add AD5681R/AD5682R/AD5683/AD5683R support 2018-05-20 11:45:45 +01:00
ad5696-i2c.c iio:dac:ad5686: Add AD5691R/AD5692R/AD5693/AD5693R support 2018-05-20 11:36:28 +01:00
ad5755.c iio:dac: drop assignment of iio_info.driver_module 2017-08-22 21:26:54 +01:00
ad5761.c iio:dac: drop assignment of iio_info.driver_module 2017-08-22 21:26:54 +01:00
ad5764.c iio: Replace occurrences of magic number 0 by IIO_CHAN_INFO_RAW 2018-03-07 20:14:36 +00:00
ad5791.c iio:dac: drop assignment of iio_info.driver_module 2017-08-22 21:26:54 +01:00
ad7303.c iio:dac: drop assignment of iio_info.driver_module 2017-08-22 21:26:54 +01:00
ad8801.c iio:dac: drop assignment of iio_info.driver_module 2017-08-22 21:26:54 +01:00
cio-dac.c iio:dac: drop assignment of iio_info.driver_module 2017-08-22 21:26:54 +01:00
dpot-dac.c iio:dac: drop assignment of iio_info.driver_module 2017-08-22 21:26:54 +01:00
ds4424.c iio: dac: ds4422/ds4424 dac driver 2017-10-09 20:49:39 +01:00
Kconfig 1st round of IIO new device support, features and cleanup for the 4.18 cycle 2018-05-11 09:50:04 +02:00
lpc18xx_dac.c iio:dac: drop assignment of iio_info.driver_module 2017-08-22 21:26:54 +01:00
ltc2632.c iio:dac: drop assignment of iio_info.driver_module 2017-08-22 21:26:54 +01:00
m62332.c iio:dac: drop assignment of iio_info.driver_module 2017-08-22 21:26:54 +01:00
Makefile iio: dac: add TI DAC5571 family support 2018-05-06 18:49:42 +01:00
max517.c iio:dac: drop assignment of iio_info.driver_module 2017-08-22 21:26:54 +01:00
max5821.c iio:dac: drop assignment of iio_info.driver_module 2017-08-22 21:26:54 +01:00
mcp4725.c iio: dac: mcp4725: Remove unneeded conversions to bool 2018-01-08 16:03:41 +01:00
mcp4922.c iio:dac: drop assignment of iio_info.driver_module 2017-08-22 21:26:54 +01:00
stm32-dac-core.c iio: stm32: Adopt SPDX identifier 2018-01-08 16:03:41 +01:00
stm32-dac-core.h iio: stm32: Adopt SPDX identifier 2018-01-08 16:03:41 +01:00
stm32-dac.c iio: stm32: Adopt SPDX identifier 2018-01-08 16:03:41 +01:00
ti-dac082s085.c iio: dac: ti-dac082s085: Read chip spec from device table 2017-10-21 20:36:45 +01:00
ti-dac5571.c iio: dac: add TI DAC5571 family support 2018-05-06 18:49:42 +01:00
vf610_dac.c iio:dac: drop assignment of iio_info.driver_module 2017-08-22 21:26:54 +01:00