iio: adc: at91_adc: Add support for touchscreens without TSMR
Old ADCs, as present on the sam9rl and the sam9g45 don't have a TSMR register and the touchscreen support should be handled differently. Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Acked-by: Jonathan Cameron <jic23@kernel.org> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
This commit is contained in:

committed by
Nicolas Ferre

parent
2de0c019f3
commit
84882b0603
@@ -7,6 +7,12 @@
|
||||
#ifndef _AT91_ADC_H_
|
||||
#define _AT91_ADC_H_
|
||||
|
||||
enum atmel_adc_ts_type {
|
||||
ATMEL_ADC_TOUCHSCREEN_NONE = 0,
|
||||
ATMEL_ADC_TOUCHSCREEN_4WIRE = 4,
|
||||
ATMEL_ADC_TOUCHSCREEN_5WIRE = 5,
|
||||
};
|
||||
|
||||
/**
|
||||
* struct at91_adc_trigger - description of triggers
|
||||
* @name: name of the trigger advertised to the user
|
||||
@@ -28,6 +34,7 @@ struct at91_adc_trigger {
|
||||
* @trigger_number: Number of triggers available in the ADC
|
||||
* @use_external_triggers: does the board has external triggers availables
|
||||
* @vref: Reference voltage for the ADC in millivolts
|
||||
* @touchscreen_type: If a touchscreen is connected, its type (4 or 5 wires)
|
||||
*/
|
||||
struct at91_adc_data {
|
||||
unsigned long channels_used;
|
||||
@@ -36,6 +43,7 @@ struct at91_adc_data {
|
||||
u8 trigger_number;
|
||||
bool use_external_triggers;
|
||||
u16 vref;
|
||||
enum atmel_adc_ts_type touchscreen_type;
|
||||
};
|
||||
|
||||
extern void __init at91_add_device_adc(struct at91_adc_data *data);
|
||||
|
Reference in New Issue
Block a user