From 88a1c8af94eada344b3b525e8a9ee0ccd642d5dd Mon Sep 17 00:00:00 2001 From: Bin Yang Date: Thu, 6 Oct 2011 16:18:35 +0100 Subject: [PATCH] gpadc: fix battery temp accuracy From oscilloscope result, BPTHERM takes <1ms to stabilize. So it needs to add 1ms delay after VBUSREF is enabled. Change-Id: I34503b94bd9eec73432bfe817bceed18a104edcc Signed-off-by: Bin Yang --- drivers/hwmon/intel_mid_gpadc.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/hwmon/intel_mid_gpadc.c b/drivers/hwmon/intel_mid_gpadc.c index acaeef2..b61e5dd 100644 --- a/drivers/hwmon/intel_mid_gpadc.c +++ b/drivers/hwmon/intel_mid_gpadc.c @@ -82,6 +82,8 @@ #define PM_QOS_ADC_DRV_VALUE 4999 +#define GPADC_POWERON_DELAY 1 + struct gpadc_info { int initialized; @@ -150,9 +152,12 @@ static int gpadc_poweron(struct gpadc_info *mgi, int vref) { if (gpadc_set_bits(ADC1CNTL1, ADC1CNTL1_ADEN) != 0) return -EIO; - if (vref) + msleep(GPADC_POWERON_DELAY); + if (vref) { if (gpadc_set_bits(ADC1CNTL3, ADC1CNTL3_ADCTHERM) != 0) return -EIO; + msleep(GPADC_POWERON_DELAY); + } return 0; } -- 2.7.4