Commit 779c0c46 authored by Lars-Peter Clausen's avatar Lars-Peter Clausen Committed by Greg Kroah-Hartman

iio:dac:ad5446: Add support for the AD5450/51/52/53

This patch adds support for the Analog Devices AD5450/51/52/53 Digital-to-Analog
converters.

The AD5452 and AD5453 are software compatible to the existing AD5444 and AD5446.
The AD5450 and AD5451 are similar but have a smaller resolution.
Signed-off-by: default avatarLars-Peter Clausen <lars@metafoo.de>
Acked-by: default avatarJonathan Cameron <jic23@kernel.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 90e6dc7c
...@@ -59,9 +59,9 @@ config AD5446 ...@@ -59,9 +59,9 @@ config AD5446
tristate "Analog Devices AD5446 and similar single channel DACs driver" tristate "Analog Devices AD5446 and similar single channel DACs driver"
depends on SPI depends on SPI
help help
Say yes here to build support for Analog Devices AD5444, AD5446, Say yes here to build support for Analog Devices AD5444, AD5446, AD5450,
AD5512A, AD5541A, AD5542A, AD5543, AD5553, AD5601, AD5611, AD5620, AD5451, AD5452, AD5453, AD5512A, AD5541A, AD5542A, AD5543, AD5553, AD5601,
AD5621, AD5640, AD5660, AD5662 DACs. AD5611, AD5620, AD5621, AD5640, AD5660, AD5662 DACs.
To compile this driver as a module, choose M here: the To compile this driver as a module, choose M here: the
module will be called ad5446. module will be called ad5446.
......
...@@ -147,6 +147,14 @@ static const struct ad5446_chip_info ad5446_chip_info_tbl[] = { ...@@ -147,6 +147,14 @@ static const struct ad5446_chip_info ad5446_chip_info_tbl[] = {
.channel = AD5446_CHANNEL(14, 16, 0), .channel = AD5446_CHANNEL(14, 16, 0),
.write = ad5446_write, .write = ad5446_write,
}, },
[ID_AD5450] = {
.channel = AD5446_CHANNEL(8, 16, 6),
.write = ad5446_write,
},
[ID_AD5451] = {
.channel = AD5446_CHANNEL(10, 16, 4),
.write = ad5446_write,
},
[ID_AD5541A] = { [ID_AD5541A] = {
.channel = AD5446_CHANNEL(16, 16, 0), .channel = AD5446_CHANNEL(16, 16, 0),
.write = ad5446_write, .write = ad5446_write,
...@@ -346,6 +354,10 @@ static int ad5446_remove(struct spi_device *spi) ...@@ -346,6 +354,10 @@ static int ad5446_remove(struct spi_device *spi)
static const struct spi_device_id ad5446_id[] = { static const struct spi_device_id ad5446_id[] = {
{"ad5444", ID_AD5444}, {"ad5444", ID_AD5444},
{"ad5446", ID_AD5446}, {"ad5446", ID_AD5446},
{"ad5450", ID_AD5450},
{"ad5451", ID_AD5451},
{"ad5452", ID_AD5444}, /* ad5452 is compatible to the ad5444 */
{"ad5453", ID_AD5446}, /* ad5453 is compatible to the ad5446 */
{"ad5512a", ID_AD5512A}, {"ad5512a", ID_AD5512A},
{"ad5541a", ID_AD5541A}, {"ad5541a", ID_AD5541A},
{"ad5542a", ID_AD5541A}, /* ad5541a and ad5542a are compatible */ {"ad5542a", ID_AD5541A}, /* ad5541a and ad5542a are compatible */
......
...@@ -71,6 +71,8 @@ struct ad5446_chip_info { ...@@ -71,6 +71,8 @@ struct ad5446_chip_info {
enum ad5446_supported_device_ids { enum ad5446_supported_device_ids {
ID_AD5444, ID_AD5444,
ID_AD5446, ID_AD5446,
ID_AD5450,
ID_AD5451,
ID_AD5541A, ID_AD5541A,
ID_AD5512A, ID_AD5512A,
ID_AD5553, ID_AD5553,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment