iio:adc: Add AD7265/AD7266 support
This patch adds support for the Analog Devices AD7265 and AD7266 Analog-to-Digital converters. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Jonathan Cameron <jic23@kernel.org>
This commit is contained in:

committed by
Jonathan Cameron

parent
c1f1a9d48f
commit
8ec4cf5303
54
include/linux/platform_data/ad7266.h
Normal file
54
include/linux/platform_data/ad7266.h
Normal file
@@ -0,0 +1,54 @@
|
||||
/*
|
||||
* AD7266/65 SPI ADC driver
|
||||
*
|
||||
* Copyright 2012 Analog Devices Inc.
|
||||
*
|
||||
* Licensed under the GPL-2.
|
||||
*/
|
||||
|
||||
#ifndef __IIO_ADC_AD7266_H__
|
||||
#define __IIO_ADC_AD7266_H__
|
||||
|
||||
/**
|
||||
* enum ad7266_range - AD7266 reference voltage range
|
||||
* @AD7266_RANGE_VREF: Device is configured for input range 0V - VREF
|
||||
* (RANGE pin set to low)
|
||||
* @AD7266_RANGE_2VREF: Device is configured for input range 0V - 2VREF
|
||||
* (RANGE pin set to high)
|
||||
*/
|
||||
enum ad7266_range {
|
||||
AD7266_RANGE_VREF,
|
||||
AD7266_RANGE_2VREF,
|
||||
};
|
||||
|
||||
/**
|
||||
* enum ad7266_mode - AD7266 sample mode
|
||||
* @AD7266_MODE_DIFF: Device is configured for full differential mode
|
||||
* (SGL/DIFF pin set to low, AD0 pin set to low)
|
||||
* @AD7266_MODE_PSEUDO_DIFF: Device is configured for pseudo differential mode
|
||||
* (SGL/DIFF pin set to low, AD0 pin set to high)
|
||||
* @AD7266_MODE_SINGLE_ENDED: Device is configured for single-ended mode
|
||||
* (SGL/DIFF pin set to high)
|
||||
*/
|
||||
enum ad7266_mode {
|
||||
AD7266_MODE_DIFF,
|
||||
AD7266_MODE_PSEUDO_DIFF,
|
||||
AD7266_MODE_SINGLE_ENDED,
|
||||
};
|
||||
|
||||
/**
|
||||
* struct ad7266_platform_data - Platform data for the AD7266 driver
|
||||
* @range: Reference voltage range the device is configured for
|
||||
* @mode: Sample mode the device is configured for
|
||||
* @fixed_addr: Whether the address pins are hard-wired
|
||||
* @addr_gpios: GPIOs used for controlling the address pins, only used if
|
||||
* fixed_addr is set to false.
|
||||
*/
|
||||
struct ad7266_platform_data {
|
||||
enum ad7266_range range;
|
||||
enum ad7266_mode mode;
|
||||
bool fixed_addr;
|
||||
unsigned int addr_gpios[3];
|
||||
};
|
||||
|
||||
#endif
|
Reference in New Issue
Block a user