aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorLee Jones <lee.jones@linaro.org>2013-02-11 05:38:00 -0500
committerLee Jones <lee.jones@linaro.org>2013-03-06 23:28:21 -0500
commite4bffe8d8ad9856143b6e941a17870aee37413d7 (patch)
tree591f0b3e5c7c08c14ef1483b810cd2eaa4ccdee4 /include/linux
parent75932094601b404fc9ef28f7b6c0aa83dd619af0 (diff)
mfd: ab8500-gpadc: Add support for the AB8540
This patch enables the GPADC to work on AB8540 based platforms. Signed-off-by: Lee Jones <lee.jones@linaro.org> Acked-by: Samuel Ortiz <sameo@linux.intel.com>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/mfd/abx500/ab8500-gpadc.h43
1 files changed, 29 insertions, 14 deletions
diff --git a/include/linux/mfd/abx500/ab8500-gpadc.h b/include/linux/mfd/abx500/ab8500-gpadc.h
index 7694e7ab1880..4131437ace4b 100644
--- a/include/linux/mfd/abx500/ab8500-gpadc.h
+++ b/include/linux/mfd/abx500/ab8500-gpadc.h
@@ -12,19 +12,32 @@
12 12
13/* GPADC source: From datasheet(ADCSwSel[4:0] in GPADCCtrl2 13/* GPADC source: From datasheet(ADCSwSel[4:0] in GPADCCtrl2
14 * and ADCHwSel[4:0] in GPADCCtrl3 ) */ 14 * and ADCHwSel[4:0] in GPADCCtrl3 ) */
15#define BAT_CTRL 0x01 15#define BAT_CTRL 0x01
16#define BTEMP_BALL 0x02 16#define BTEMP_BALL 0x02
17#define MAIN_CHARGER_V 0x03 17#define MAIN_CHARGER_V 0x03
18#define ACC_DETECT1 0x04 18#define ACC_DETECT1 0x04
19#define ACC_DETECT2 0x05 19#define ACC_DETECT2 0x05
20#define ADC_AUX1 0x06 20#define ADC_AUX1 0x06
21#define ADC_AUX2 0x07 21#define ADC_AUX2 0x07
22#define MAIN_BAT_V 0x08 22#define MAIN_BAT_V 0x08
23#define VBUS_V 0x09 23#define VBUS_V 0x09
24#define MAIN_CHARGER_C 0x0A 24#define MAIN_CHARGER_C 0x0A
25#define USB_CHARGER_C 0x0B 25#define USB_CHARGER_C 0x0B
26#define BK_BAT_V 0x0C 26#define BK_BAT_V 0x0C
27#define DIE_TEMP 0x0D 27#define DIE_TEMP 0x0D
28#define USB_ID 0x0E
29#define XTAL_TEMP 0x12
30#define VBAT_TRUE_MEAS 0x13
31#define BAT_CTRL_AND_IBAT 0x1C
32#define VBAT_MEAS_AND_IBAT 0x1D
33#define VBAT_TRUE_MEAS_AND_IBAT 0x1E
34#define BAT_TEMP_AND_IBAT 0x1F
35
36/* Virtual channel used only for ibat convertion to ampere
37 * Battery current conversion (ibat) cannot be requested as a single conversion
38 * but it is always in combination with other input requests
39 */
40#define IBAT_VIRTUAL_CHANNEL 0xFF
28 41
29#define SAMPLE_1 1 42#define SAMPLE_1 1
30#define SAMPLE_4 4 43#define SAMPLE_4 4
@@ -37,7 +50,6 @@
37#define ADC_SW 0 50#define ADC_SW 0
38#define ADC_HW 1 51#define ADC_HW 1
39 52
40
41struct ab8500_gpadc; 53struct ab8500_gpadc;
42 54
43struct ab8500_gpadc *ab8500_gpadc_get(char *name); 55struct ab8500_gpadc *ab8500_gpadc_get(char *name);
@@ -51,6 +63,9 @@ static inline int ab8500_gpadc_convert(struct ab8500_gpadc *gpadc, u8 channel)
51 63
52int ab8500_gpadc_read_raw(struct ab8500_gpadc *gpadc, u8 channel, 64int ab8500_gpadc_read_raw(struct ab8500_gpadc *gpadc, u8 channel,
53 u8 avg_sample, u8 trig_edge, u8 trig_timer, u8 conv_type); 65 u8 avg_sample, u8 trig_edge, u8 trig_timer, u8 conv_type);
66int ab8500_gpadc_double_read_raw(struct ab8500_gpadc *gpadc, u8 channel,
67 u8 avg_sample, u8 trig_edge, u8 trig_timer, u8 conv_type,
68 int *ibat);
54int ab8500_gpadc_ad_to_voltage(struct ab8500_gpadc *gpadc, 69int ab8500_gpadc_ad_to_voltage(struct ab8500_gpadc *gpadc,
55 u8 channel, int ad_value); 70 u8 channel, int ad_value);
56 71