Add the rt linux 4.1.3-rt3 as base
[kvmfornfv.git] / kernel / include / linux / platform_data / ad7266.h
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