]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 31 Dec 2019 15:36:00 +0000 (16:36 +0100)
[ Upstream commit 6376cbe549fffb378403cee78efd26b8a2c8e450 ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/iio/dac/Kconfig
drivers/iio/dac/ad5446.c

index 80beb64e9e0c66d843fd1acb6d721d6c7c163994..69f4cfa6494b5bdb596b76f633ceea6a5fbb5a63 100644 (file)
@@ -59,8 +59,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 fd26a4272fc5bc98284d1491e25cd86f16d8f80d..d3ce5def4f65970278768f295d11f81e78c28b4a 100644 (file)
@@ -328,6 +328,7 @@ enum ad5446_supported_spi_device_ids {
        ID_AD5541A,
        ID_AD5512A,
        ID_AD5553,
+       ID_AD5600,
        ID_AD5601,
        ID_AD5611,
        ID_AD5621,
@@ -382,6 +383,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,
@@ -449,6 +454,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},