diff options
author | Rob Purchase <shotofadds@rockbox.org> | 2009-10-10 17:35:02 +0000 |
---|---|---|
committer | Rob Purchase <shotofadds@rockbox.org> | 2009-10-10 17:35:02 +0000 |
commit | 16ada4cb81c70c1a151c69aa08da13e55aba0081 (patch) | |
tree | c92dda004a162cea1d2ded3188cffe1ca6f04077 /firmware/target/arm/tcc780x/cowond2/powermgmt-cowond2.c | |
parent | 31464f7930cd8857ef8d00ed75534087057058e2 (diff) | |
download | rockbox-16ada4cb81c70c1a151c69aa08da13e55aba0081.tar.gz rockbox-16ada4cb81c70c1a151c69aa08da13e55aba0081.zip |
Initial support for runtime detection of the PMU used in newer D2+ models (PCF50635). The backlight and battery monitoring should work, but the RTC and touchscreen are not yet implemented.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23078 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/target/arm/tcc780x/cowond2/powermgmt-cowond2.c')
-rw-r--r-- | firmware/target/arm/tcc780x/cowond2/powermgmt-cowond2.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/firmware/target/arm/tcc780x/cowond2/powermgmt-cowond2.c b/firmware/target/arm/tcc780x/cowond2/powermgmt-cowond2.c index b52d5c46ba..9b2320b7cf 100644 --- a/firmware/target/arm/tcc780x/cowond2/powermgmt-cowond2.c +++ b/firmware/target/arm/tcc780x/cowond2/powermgmt-cowond2.c | |||
@@ -23,7 +23,9 @@ | |||
23 | #include "adc.h" | 23 | #include "adc.h" |
24 | #include "powermgmt.h" | 24 | #include "powermgmt.h" |
25 | #include "kernel.h" | 25 | #include "kernel.h" |
26 | #include "power-target.h" | ||
26 | #include "pcf50606.h" | 27 | #include "pcf50606.h" |
28 | #include "pcf50635.h" | ||
27 | 29 | ||
28 | unsigned short current_voltage = 3910; | 30 | unsigned short current_voltage = 3910; |
29 | 31 | ||
@@ -66,7 +68,11 @@ unsigned int battery_adc_voltage(void) | |||
66 | if (TIME_BEFORE(last_tick+HZ, current_tick)) | 68 | if (TIME_BEFORE(last_tick+HZ, current_tick)) |
67 | { | 69 | { |
68 | short adc_val; | 70 | short adc_val; |
69 | pcf50606_read_adc(PCF5060X_ADC_BATVOLT_RES, &adc_val, NULL); | 71 | |
72 | if (get_pmu_type() == PCF50606) | ||
73 | pcf50606_read_adc(PCF5060X_ADC_BATVOLT_RES, &adc_val, NULL); | ||
74 | else | ||
75 | pcf50635_read_adc(PCF5063X_ADCC1_MUX_BATSNS_RES, &adc_val, NULL); | ||
70 | 76 | ||
71 | current_voltage = (adc_val * BATTERY_SCALE_FACTOR) >> 10; | 77 | current_voltage = (adc_val * BATTERY_SCALE_FACTOR) >> 10; |
72 | 78 | ||
@@ -75,4 +81,3 @@ unsigned int battery_adc_voltage(void) | |||
75 | 81 | ||
76 | return current_voltage; | 82 | return current_voltage; |
77 | } | 83 | } |
78 | |||