diff options
Diffstat (limited to 'firmware/target')
-rw-r--r-- | firmware/target/arm/imx31/gigabeat-s/adc-imx31.c | 2 | ||||
-rw-r--r-- | firmware/target/arm/imx31/gigabeat-s/powermgmt-imx31.c | 7 |
2 files changed, 3 insertions, 6 deletions
diff --git a/firmware/target/arm/imx31/gigabeat-s/adc-imx31.c b/firmware/target/arm/imx31/gigabeat-s/adc-imx31.c index dfaaab9177..764e2e4bde 100644 --- a/firmware/target/arm/imx31/gigabeat-s/adc-imx31.c +++ b/firmware/target/arm/imx31/gigabeat-s/adc-imx31.c | |||
@@ -50,7 +50,7 @@ unsigned short adc_read(int channel) | |||
50 | mutex_lock(&adc_mtx); | 50 | mutex_lock(&adc_mtx); |
51 | 51 | ||
52 | /* Limit the traffic through here */ | 52 | /* Limit the traffic through here */ |
53 | if (TIME_AFTER(current_tick, last_adc_read[input_select])) | 53 | if (current_tick != last_adc_read[input_select]) |
54 | { | 54 | { |
55 | /* Keep enable, start conversion, increment from channel 0, | 55 | /* Keep enable, start conversion, increment from channel 0, |
56 | * increment from channel 4 */ | 56 | * increment from channel 4 */ |
diff --git a/firmware/target/arm/imx31/gigabeat-s/powermgmt-imx31.c b/firmware/target/arm/imx31/gigabeat-s/powermgmt-imx31.c index 7441100a7d..53996f8cd7 100644 --- a/firmware/target/arm/imx31/gigabeat-s/powermgmt-imx31.c +++ b/firmware/target/arm/imx31/gigabeat-s/powermgmt-imx31.c | |||
@@ -48,13 +48,10 @@ const unsigned short percent_to_volt_charge[11] = | |||
48 | 3480, 3550, 3590, 3610, 3630, 3650, 3700, 3760, 3800, 3910, 3990 | 48 | 3480, 3550, 3590, 3610, 3630, 3650, 3700, 3760, 3800, 3910, 3990 |
49 | }; | 49 | }; |
50 | 50 | ||
51 | /* ADC[0] is (530) at discharge and 625 at full charge */ | ||
52 | #define BATTERY_SCALE_FACTOR 6605 | ||
53 | /* full-scale ADC readout (2^10) in millivolt */ | ||
54 | |||
55 | /* Returns battery voltage from ADC [millivolts] */ | 51 | /* Returns battery voltage from ADC [millivolts] */ |
56 | unsigned int battery_adc_voltage(void) | 52 | unsigned int battery_adc_voltage(void) |
57 | { | 53 | { |
58 | return (adc_read(ADC_UNREG_POWER) * BATTERY_SCALE_FACTOR) >> 10; | 54 | /* ADC reading 0-1023 = 2400mV-4700mV */ |
55 | return ((adc_read(ADC_BATTERY) * 2303) >> 10) + 2400; | ||
59 | } | 56 | } |
60 | 57 | ||