/* * driver/char/at91_adc.h * * Copyright (C) 2007 Embedall Technology Co., Ltd. * * Analog-to-digital Converter(ADC) Driver. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. */ #ifndef AT91_ADC_H_ #define AT91_ADC_H_ #include <linux/ioctl.h> #define ADC_VREF (3.3) #define ADCCTL_RESET _IO ('D', 0) #define ADCCTL_START _IO ('D', 1) #define ADCCTL_SETMODE _IOW('D', 2, long) #define ADCCTL_GETMODE _IOR('D', 3, long) #define ADCCTL_GETDATA _IOR('D', 4, int) #define ADCCTL_GETCNT _IOR('D', 5, int) #define ADCCTL_GETSTATUS _IOR('D', 6, int) struct adc_mode { unsigned int trigger; #define ADC_TRIGGER_SOFT 0x00 #define ADC_TRIGGER_TIMER 0x01 #define ADC_TRIGGER_EXT 0x08 unsigned int trigger_time; unsigned int resolution; #define ADC_M_8BIT 0x01 #define ADC_M_10BIT 0x00 unsigned int sleep_mode; unsigned int adc_clock; unsigned int startup_time; unsigned int sample_time; }; #endif