From 16ada4cb81c70c1a151c69aa08da13e55aba0081 Mon Sep 17 00:00:00 2001 From: Rob Purchase Date: Sat, 10 Oct 2009 17:35:02 +0000 Subject: 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 --- firmware/target/arm/tcc780x/cowond2/powermgmt-cowond2.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'firmware/target/arm/tcc780x/cowond2/powermgmt-cowond2.c') 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 @@ #include "adc.h" #include "powermgmt.h" #include "kernel.h" +#include "power-target.h" #include "pcf50606.h" +#include "pcf50635.h" unsigned short current_voltage = 3910; @@ -66,7 +68,11 @@ unsigned int battery_adc_voltage(void) if (TIME_BEFORE(last_tick+HZ, current_tick)) { short adc_val; - pcf50606_read_adc(PCF5060X_ADC_BATVOLT_RES, &adc_val, NULL); + + if (get_pmu_type() == PCF50606) + pcf50606_read_adc(PCF5060X_ADC_BATVOLT_RES, &adc_val, NULL); + else + pcf50635_read_adc(PCF5063X_ADCC1_MUX_BATSNS_RES, &adc_val, NULL); current_voltage = (adc_val * BATTERY_SCALE_FACTOR) >> 10; @@ -75,4 +81,3 @@ unsigned int battery_adc_voltage(void) return current_voltage; } - -- cgit v1.2.3