iio: dac: ad5446: Add support for new AD5600 DAC
authorStefan Popa <stefan.popa@analog.com>
Wed, 6 Nov 2019 09:47:21 +0000 (11:47 +0200)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Sun, 10 Nov 2019 15:14:06 +0000 (15:14 +0000)
The AD5600 is a single channel, 16-bit resolution, voltage output digital
to analog converter (DAC). The AD5600 uses a 3-wire SPI interface. It is
part of the AD5541 family of DACs.

The ad5446 IIO driver implements support for some of these DACs (in the
AD5441 family), so the change is a simple entry in this driver.

Link: https://www.analog.com/media/en/technical-documentation/data-sheets/AD5600.pdf
Signed-off-by: Stefan Popa <stefan.popa@analog.com>
Signed-off-by: Alexandru Ardelean <alexandru.ardelean@analog.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/dac/Kconfig
drivers/iio/dac/ad5446.c

index cc42219a64f7451f8246921df9cde8508276044b..979070196da94e0f159e76f2f03f03d917effde7 100644 (file)
@@ -60,8 +60,8 @@ config AD5446
        help
          Say yes here to build support for Analog Devices AD5300, AD5301, AD5310,
          AD5311, AD5320, AD5321, AD5444, AD5446, AD5450, AD5451, AD5452, AD5453,
-         AD5512A, AD5541A, AD5542A, AD5543, AD5553, AD5601, AD5602, AD5611, AD5612,
-         AD5620, AD5621, AD5622, AD5640, AD5641, AD5660, AD5662 DACs
+         AD5512A, AD5541A, AD5542A, AD5543, AD5553, AD5600, AD5601, AD5602, AD5611,
+         AD5612, AD5620, AD5621, AD5622, AD5640, AD5641, AD5660, AD5662 DACs
          as well as Texas Instruments DAC081S101, DAC101S101, DAC121S101.
 
          To compile this driver as a module, choose M here: the
index 7df8b4cc295ddeedbcc88372a6d54aabc915b5d4..61c670f7fc5f13d76d440f7b0ffd14cf9ed8ea85 100644 (file)
@@ -327,6 +327,7 @@ enum ad5446_supported_spi_device_ids {
        ID_AD5541A,
        ID_AD5512A,
        ID_AD5553,
+       ID_AD5600,
        ID_AD5601,
        ID_AD5611,
        ID_AD5621,
@@ -381,6 +382,10 @@ static const struct ad5446_chip_info ad5446_spi_chip_info[] = {
                .channel = AD5446_CHANNEL(14, 16, 0),
                .write = ad5446_write,
        },
+       [ID_AD5600] = {
+               .channel = AD5446_CHANNEL(16, 16, 0),
+               .write = ad5446_write,
+       },
        [ID_AD5601] = {
                .channel = AD5446_CHANNEL_POWERDOWN(8, 16, 6),
                .write = ad5446_write,
@@ -448,6 +453,7 @@ static const struct spi_device_id ad5446_spi_ids[] = {
        {"ad5542a", ID_AD5541A}, /* ad5541a and ad5542a are compatible */
        {"ad5543", ID_AD5541A}, /* ad5541a and ad5543 are compatible */
        {"ad5553", ID_AD5553},
+       {"ad5600", ID_AD5600},
        {"ad5601", ID_AD5601},
        {"ad5611", ID_AD5611},
        {"ad5621", ID_AD5621},