diff options
author | Michael Hennerich <michael.hennerich@analog.com> | 2011-03-10 07:26:48 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2011-03-14 14:50:28 -0400 |
commit | 2b61535a6e210358255c872b3187e48869e16e27 (patch) | |
tree | b5d823af9dd3014448f28490afda670e62460af6 /drivers/staging | |
parent | bbed4dc791036e97cbe844935dece153fdace0dc (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/Kconfig | 3 | ||||
-rw-r--r-- | drivers/staging/iio/dac/ad5446.c | 24 | ||||
-rw-r--r-- | drivers/staging/iio/dac/ad5446.h | 3 |
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, |