This patch adds support for the Analog Devices AD7265 and AD7266 Analog-to-Digital converters.
Showing the changes to include/linux/platform_data (1 of 4 files). Show all
Unified · Split
| @@ -0,0 +1,54 @@ | ||
| 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 | |