• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
55