diff options
author | Cástor Muñoz <cmvidal@gmail.com> | 2016-08-12 02:37:45 +0200 |
---|---|---|
committer | Cástor Muñoz <cmvidal@gmail.com> | 2016-08-12 14:17:46 +0200 |
commit | adbd2969e6e6fd584d46ef60a3fa40bf878d7e00 (patch) | |
tree | 628a89d0e63cd338bbd741702c9b36010f679437 /firmware/target/arm/s5l8702/ipod6g/powermgmt-ipod6g.c | |
parent | a25d0c58aa801087e80b479a7f536d519a422891 (diff) | |
download | rockbox-adbd2969e6e6fd584d46ef60a3fa40bf878d7e00.tar.gz rockbox-adbd2969e6e6fd584d46ef60a3fa40bf878d7e00.zip |
iPod Classic: ADC updates
Add code to read USB D+/D- and accessory ADCs, it is shown in HW
debug menu, might be useful in future for RB and/or the bootloader
to identify external USB chargers.
Change-Id: Ia48ca5e06bb7ddc52bb55abedde6734653ce8dba
Diffstat (limited to 'firmware/target/arm/s5l8702/ipod6g/powermgmt-ipod6g.c')
-rw-r--r-- | firmware/target/arm/s5l8702/ipod6g/powermgmt-ipod6g.c | 11 |
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 | ||
28 | const unsigned short battery_level_dangerous[BATTERY_TYPES_COUNT] = | 29 | const 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] */ |
58 | int _battery_voltage(void) | 54 | int _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 |
67 | void accessory_supply_set(bool enable) | 60 | void accessory_supply_set(bool enable) |
68 | { | 61 | { |