Commit | Line | Data |
---|---|---|
8ec4cf53 LPC |
1 | /* |
2 | * AD7266/65 SPI ADC driver | |
3 | * | |
4 | * Copyright 2012 Analog Devices Inc. | |
5 | * | |
6 | * Licensed under the GPL-2. | |
7 | */ | |
8 | ||
9 | #ifndef __IIO_ADC_AD7266_H__ | |
10 | #define __IIO_ADC_AD7266_H__ | |
11 | ||
12 | /** | |
13 | * enum ad7266_range - AD7266 reference voltage range | |
14 | * @AD7266_RANGE_VREF: Device is configured for input range 0V - VREF | |
15 | * (RANGE pin set to low) | |
16 | * @AD7266_RANGE_2VREF: Device is configured for input range 0V - 2VREF | |
17 | * (RANGE pin set to high) | |
18 | */ | |
19 | enum ad7266_range { | |
20 | AD7266_RANGE_VREF, | |
21 | AD7266_RANGE_2VREF, | |
22 | }; | |
23 | ||
24 | /** | |
25 | * enum ad7266_mode - AD7266 sample mode | |
26 | * @AD7266_MODE_DIFF: Device is configured for full differential mode | |
27 | * (SGL/DIFF pin set to low, AD0 pin set to low) | |
28 | * @AD7266_MODE_PSEUDO_DIFF: Device is configured for pseudo differential mode | |
29 | * (SGL/DIFF pin set to low, AD0 pin set to high) | |
30 | * @AD7266_MODE_SINGLE_ENDED: Device is configured for single-ended mode | |
31 | * (SGL/DIFF pin set to high) | |
32 | */ | |
33 | enum ad7266_mode { | |
34 | AD7266_MODE_DIFF, | |
35 | AD7266_MODE_PSEUDO_DIFF, | |
36 | AD7266_MODE_SINGLE_ENDED, | |
37 | }; | |
38 | ||
39 | /** | |
40 | * struct ad7266_platform_data - Platform data for the AD7266 driver | |
41 | * @range: Reference voltage range the device is configured for | |
42 | * @mode: Sample mode the device is configured for | |
43 | * @fixed_addr: Whether the address pins are hard-wired | |
44 | * @addr_gpios: GPIOs used for controlling the address pins, only used if | |
45 | * fixed_addr is set to false. | |
46 | */ | |
47 | struct ad7266_platform_data { | |
48 | enum ad7266_range range; | |
49 | enum ad7266_mode mode; | |
50 | bool fixed_addr; | |
51 | unsigned int addr_gpios[3]; | |
52 | }; | |
53 | ||
54 | #endif |