staging:iio:dac:ad5064: Add AD5666 support
authorLars-Peter Clausen <lars@metafoo.de>
Tue, 21 Feb 2012 17:38:17 +0000 (18:38 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 24 Feb 2012 20:12:27 +0000 (12:12 -0800)
The AD5666 is identical to the ad5064-1, except that it has a internal reference
voltage.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Acked-by: Jonathan Cameron <jic23@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/iio/dac/Kconfig
drivers/staging/iio/dac/ad5064.c

index ab8516d..a57803a 100644 (file)
@@ -4,12 +4,12 @@
 menu "Digital to analog converters"
 
 config AD5064
-       tristate "Analog Devices AD5064/64-1/65/44/45/24/25, AD5628/48/68 DAC driver"
+       tristate "Analog Devices AD5064/64-1/65/44/45/24/25, AD5628/48/66/68 DAC driver"
        depends on SPI
        help
          Say yes here to build support for Analog Devices AD5024, AD5025, AD5044,
-         AD5045, AD5064, AD5064-1, AD5065, AD5628, AD5648, AD5668 Digital to Analog
-         Converter.
+         AD5045, AD5064, AD5064-1, AD5065, AD5628, AD5648, AD5666, AD5668 Digital
+         to Analog Converter.
 
          To compile this driver as a module, choose M here: the
          module will be called ad5064.
index 6dab064..06b1627 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * AD5024, AD5025, AD5044, AD5045, AD5064, AD5064-1, AD5065, AD5628, AD5648,
- * AD5668 Digital to analog converters driver
+ * AD5666, AD5668 Digital to analog converters driver
  *
  * Copyright 2011 Analog Devices Inc.
  *
@@ -104,6 +104,8 @@ enum ad5064_type {
        ID_AD5628_2,
        ID_AD5648_1,
        ID_AD5648_2,
+       ID_AD5666_1,
+       ID_AD5666_2,
        ID_AD5668_1,
        ID_AD5668_2,
 };
@@ -388,6 +390,18 @@ static const struct ad5064_chip_info ad5064_chip_info_tbl[] = {
                .channels = ad5044_channels,
                .num_channels = 8,
        },
+       [ID_AD5666_1] = {
+               .shared_vref = true,
+               .internal_vref = 2500000,
+               .channels = ad5064_channels,
+               .num_channels = 4,
+       },
+       [ID_AD5666_2] = {
+               .shared_vref = true,
+               .internal_vref = 5000000,
+               .channels = ad5064_channels,
+               .num_channels = 4,
+       },
        [ID_AD5668_1] = {
                .shared_vref = true,
                .internal_vref = 2500000,
@@ -520,6 +534,8 @@ static const struct spi_device_id ad5064_id[] = {
        {"ad5628-2", ID_AD5628_2},
        {"ad5648-1", ID_AD5648_1},
        {"ad5648-2", ID_AD5648_2},
+       {"ad5666-1", ID_AD5666_1},
+       {"ad5666-2", ID_AD5666_2},
        {"ad5668-1", ID_AD5668_1},
        {"ad5668-2", ID_AD5668_2},
        {"ad5668-3", ID_AD5668_2}, /* similar enough to ad5668-2 */
@@ -539,5 +555,5 @@ static struct spi_driver ad5064_driver = {
 module_spi_driver(ad5064_driver);
 
 MODULE_AUTHOR("Lars-Peter Clausen <lars@metafoo.de>");
-MODULE_DESCRIPTION("Analog Devices AD5024/25/44/45/64/64-1/65, AD5628/48/68 DAC");
+MODULE_DESCRIPTION("Analog Devices AD5024/25/44/45/64/64-1/65, AD5628/48/66/68 DAC");
 MODULE_LICENSE("GPL v2");