1*fda8d26eSThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-only */
28ec4cf53SLars-Peter Clausen /*
38ec4cf53SLars-Peter Clausen  * AD7266/65 SPI ADC driver
48ec4cf53SLars-Peter Clausen  *
58ec4cf53SLars-Peter Clausen  * Copyright 2012 Analog Devices Inc.
68ec4cf53SLars-Peter Clausen  */
78ec4cf53SLars-Peter Clausen 
88ec4cf53SLars-Peter Clausen #ifndef __IIO_ADC_AD7266_H__
98ec4cf53SLars-Peter Clausen #define __IIO_ADC_AD7266_H__
108ec4cf53SLars-Peter Clausen 
118ec4cf53SLars-Peter Clausen /**
128ec4cf53SLars-Peter Clausen  * enum ad7266_range - AD7266 reference voltage range
138ec4cf53SLars-Peter Clausen  * @AD7266_RANGE_VREF: Device is configured for input range 0V - VREF
148ec4cf53SLars-Peter Clausen  *			(RANGE pin set to low)
158ec4cf53SLars-Peter Clausen  * @AD7266_RANGE_2VREF: Device is configured for input range 0V - 2VREF
168ec4cf53SLars-Peter Clausen  *			(RANGE pin set to high)
178ec4cf53SLars-Peter Clausen  */
188ec4cf53SLars-Peter Clausen enum ad7266_range {
198ec4cf53SLars-Peter Clausen 	AD7266_RANGE_VREF,
208ec4cf53SLars-Peter Clausen 	AD7266_RANGE_2VREF,
218ec4cf53SLars-Peter Clausen };
228ec4cf53SLars-Peter Clausen 
238ec4cf53SLars-Peter Clausen /**
248ec4cf53SLars-Peter Clausen  * enum ad7266_mode - AD7266 sample mode
258ec4cf53SLars-Peter Clausen  * @AD7266_MODE_DIFF: Device is configured for full differential mode
268ec4cf53SLars-Peter Clausen  *				(SGL/DIFF pin set to low, AD0 pin set to low)
278ec4cf53SLars-Peter Clausen  * @AD7266_MODE_PSEUDO_DIFF: Device is configured for pseudo differential mode
288ec4cf53SLars-Peter Clausen  *				(SGL/DIFF pin set to low, AD0 pin set to high)
298ec4cf53SLars-Peter Clausen  * @AD7266_MODE_SINGLE_ENDED: Device is configured for single-ended mode
308ec4cf53SLars-Peter Clausen  *				(SGL/DIFF pin set to high)
318ec4cf53SLars-Peter Clausen  */
328ec4cf53SLars-Peter Clausen enum ad7266_mode {
338ec4cf53SLars-Peter Clausen 	AD7266_MODE_DIFF,
348ec4cf53SLars-Peter Clausen 	AD7266_MODE_PSEUDO_DIFF,
358ec4cf53SLars-Peter Clausen 	AD7266_MODE_SINGLE_ENDED,
368ec4cf53SLars-Peter Clausen };
378ec4cf53SLars-Peter Clausen 
388ec4cf53SLars-Peter Clausen /**
398ec4cf53SLars-Peter Clausen  * struct ad7266_platform_data - Platform data for the AD7266 driver
408ec4cf53SLars-Peter Clausen  * @range: Reference voltage range the device is configured for
418ec4cf53SLars-Peter Clausen  * @mode: Sample mode the device is configured for
428ec4cf53SLars-Peter Clausen  * @fixed_addr: Whether the address pins are hard-wired
438ec4cf53SLars-Peter Clausen  */
448ec4cf53SLars-Peter Clausen struct ad7266_platform_data {
458ec4cf53SLars-Peter Clausen 	enum ad7266_range range;
468ec4cf53SLars-Peter Clausen 	enum ad7266_mode mode;
478ec4cf53SLars-Peter Clausen 	bool fixed_addr;
488ec4cf53SLars-Peter Clausen };
498ec4cf53SLars-Peter Clausen 
508ec4cf53SLars-Peter Clausen #endif
51