aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging
diff options
context:
space:
mode:
authorMichael Hennerich <michael.hennerich@analog.com>2011-03-10 07:26:48 -0500
committerGreg Kroah-Hartman <gregkh@suse.de>2011-03-14 14:50:28 -0400
commit2b61535a6e210358255c872b3187e48869e16e27 (patch)
treeb5d823af9dd3014448f28490afda670e62460af6 /drivers/staging
parentbbed4dc791036e97cbe844935dece153fdace0dc (diff)
staging: IIO: DAC: AD5446: Add support for AD5601/AD5611/AD5621
This patch adds support for the AD5601/AD5611/AD5621 single channel, 8-/10-/12-bit, buffered voltage output DACs. Changes since v1: Sort Kconfig description my number Signed-off-by: Michael Hennerich <michael.hennerich@analog.com> Acked-by: Jonathan Cameron <jic23@cam.ac.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/staging')
-rw-r--r--drivers/staging/iio/dac/Kconfig3
-rw-r--r--drivers/staging/iio/dac/ad5446.c24
-rw-r--r--drivers/staging/iio/dac/ad5446.h3
3 files changed, 29 insertions, 1 deletions
diff --git a/drivers/staging/iio/dac/Kconfig b/drivers/staging/iio/dac/Kconfig
index 3c72871389a..67defcb359b 100644
--- a/drivers/staging/iio/dac/Kconfig
+++ b/drivers/staging/iio/dac/Kconfig
@@ -15,7 +15,8 @@ config AD5446
15 depends on SPI 15 depends on SPI
16 help 16 help
17 Say yes here to build support for Analog Devices AD5444, AD5446, 17 Say yes here to build support for Analog Devices AD5444, AD5446,
18 AD5512A, AD5542A, AD5543, AD5553, AD5620, AD5640, AD5660 DACs. 18 AD5512A, AD5542A, AD5543, AD5553, AD5601, AD5611, AD5620, AD5621,
19 AD5640, AD5660 DACs.
19 20
20 To compile this driver as a module, choose M here: the 21 To compile this driver as a module, choose M here: the
21 module will be called ad5446. 22 module will be called ad5446.
diff --git a/drivers/staging/iio/dac/ad5446.c b/drivers/staging/iio/dac/ad5446.c
index 861a7eacdaf..8623a72e046 100644
--- a/drivers/staging/iio/dac/ad5446.c
+++ b/drivers/staging/iio/dac/ad5446.c
@@ -269,6 +269,27 @@ static const struct ad5446_chip_info ad5446_chip_info_tbl[] = {
269 .left_shift = 0, 269 .left_shift = 0,
270 .store_sample = ad5542_store_sample, 270 .store_sample = ad5542_store_sample,
271 }, 271 },
272 [ID_AD5601] = {
273 .bits = 8,
274 .storagebits = 16,
275 .left_shift = 6,
276 .store_sample = ad5542_store_sample,
277 .store_pwr_down = ad5620_store_pwr_down,
278 },
279 [ID_AD5611] = {
280 .bits = 10,
281 .storagebits = 16,
282 .left_shift = 4,
283 .store_sample = ad5542_store_sample,
284 .store_pwr_down = ad5620_store_pwr_down,
285 },
286 [ID_AD5621] = {
287 .bits = 12,
288 .storagebits = 16,
289 .left_shift = 2,
290 .store_sample = ad5542_store_sample,
291 .store_pwr_down = ad5620_store_pwr_down,
292 },
272 [ID_AD5620_2500] = { 293 [ID_AD5620_2500] = {
273 .bits = 12, 294 .bits = 12,
274 .storagebits = 16, 295 .storagebits = 16,
@@ -424,6 +445,9 @@ static const struct spi_device_id ad5446_id[] = {
424 {"ad5542a", ID_AD5542A}, 445 {"ad5542a", ID_AD5542A},
425 {"ad5543", ID_AD5543}, 446 {"ad5543", ID_AD5543},
426 {"ad5553", ID_AD5553}, 447 {"ad5553", ID_AD5553},
448 {"ad5601", ID_AD5601},
449 {"ad5611", ID_AD5611},
450 {"ad5621", ID_AD5621},
427 {"ad5620-2500", ID_AD5620_2500}, /* AD5620/40/60: */ 451 {"ad5620-2500", ID_AD5620_2500}, /* AD5620/40/60: */
428 {"ad5620-1250", ID_AD5620_1250}, /* part numbers may look differently */ 452 {"ad5620-1250", ID_AD5620_1250}, /* part numbers may look differently */
429 {"ad5640-2500", ID_AD5640_2500}, 453 {"ad5640-2500", ID_AD5640_2500},
diff --git a/drivers/staging/iio/dac/ad5446.h b/drivers/staging/iio/dac/ad5446.h
index e9397a6783c..7ac63ab8a11 100644
--- a/drivers/staging/iio/dac/ad5446.h
+++ b/drivers/staging/iio/dac/ad5446.h
@@ -96,6 +96,9 @@ enum ad5446_supported_device_ids {
96 ID_AD5543, 96 ID_AD5543,
97 ID_AD5512A, 97 ID_AD5512A,
98 ID_AD5553, 98 ID_AD5553,
99 ID_AD5601,
100 ID_AD5611,
101 ID_AD5621,
99 ID_AD5620_2500, 102 ID_AD5620_2500,
100 ID_AD5620_1250, 103 ID_AD5620_1250,
101 ID_AD5640_2500, 104 ID_AD5640_2500,