summaryrefslogtreecommitdiff
path: root/firmware/target/arm/s5l8702/ipod6g/powermgmt-ipod6g.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target/arm/s5l8702/ipod6g/powermgmt-ipod6g.c')
-rw-r--r--firmware/target/arm/s5l8702/ipod6g/powermgmt-ipod6g.c11
1 files changed, 2 insertions, 9 deletions
diff --git a/firmware/target/arm/s5l8702/ipod6g/powermgmt-ipod6g.c b/firmware/target/arm/s5l8702/ipod6g/powermgmt-ipod6g.c
index 4553b03685..c5f9c9b9f5 100644
--- a/firmware/target/arm/s5l8702/ipod6g/powermgmt-ipod6g.c
+++ b/firmware/target/arm/s5l8702/ipod6g/powermgmt-ipod6g.c
@@ -24,6 +24,7 @@
24#include "pmu-target.h" 24#include "pmu-target.h"
25#include "power.h" 25#include "power.h"
26#include "audiohw.h" 26#include "audiohw.h"
27#include "adc-target.h"
27 28
28const unsigned short battery_level_dangerous[BATTERY_TYPES_COUNT] = 29const unsigned short battery_level_dangerous[BATTERY_TYPES_COUNT] =
29{ 30{
@@ -49,20 +50,12 @@ const unsigned short percent_to_volt_charge[11] =
49}; 50};
50#endif /* CONFIG_CHARGING */ 51#endif /* CONFIG_CHARGING */
51 52
52/* ADC should read 0x3ff=6.00V */
53#define BATTERY_SCALE_FACTOR 6000
54/* full-scale ADC readout (2^10) in millivolt */
55
56
57/* Returns battery voltage from ADC [millivolts] */ 53/* Returns battery voltage from ADC [millivolts] */
58int _battery_voltage(void) 54int _battery_voltage(void)
59{ 55{
60 int compensation = (10 * (pmu_read_battery_current() - 7)) / 12; 56 return adc_read_battery_voltage();
61 if (charging_state()) return pmu_read_battery_voltage() - compensation;
62 return pmu_read_battery_voltage() + compensation;
63} 57}
64 58
65
66#ifdef HAVE_ACCESSORY_SUPPLY 59#ifdef HAVE_ACCESSORY_SUPPLY
67void accessory_supply_set(bool enable) 60void accessory_supply_set(bool enable)
68{ 61{