From 9e4299f6f09707fcde3aef7dd9ab3c4e6b843ce1 Mon Sep 17 00:00:00 2001 From: Amaury Pouly Date: Mon, 14 Nov 2011 21:45:25 +0000 Subject: imx233: implement battery reading using power register (automatically updated & scaled by lradc delay) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30988 a1c6a512-1295-4272-9138-f99709370657 --- firmware/target/arm/imx233/power-imx233.h | 2 ++ firmware/target/arm/imx233/powermgmt-imx233.c | 5 +++-- 2 files changed, 5 insertions(+), 2 deletions(-) (limited to 'firmware/target') diff --git a/firmware/target/arm/imx233/power-imx233.h b/firmware/target/arm/imx233/power-imx233.h index d0fe686888..4d6edaf0e2 100644 --- a/firmware/target/arm/imx233/power-imx233.h +++ b/firmware/target/arm/imx233/power-imx233.h @@ -67,6 +67,8 @@ #define HW_POWER_STS__PSWITCH_BM (3 << 20) #define HW_POWER_BATTMONITOR (*(volatile uint32_t *)(HW_POWER_BASE + 0xe0)) +#define HW_POWER_BATTMONITOR__BATT_VAL_BP 16 +#define HW_POWER_BATTMONITOR__BATT_VAL_BM (0x3ff << 16) #define HW_POWER_RESET (*(volatile uint32_t *)(HW_POWER_BASE + 0x100)) #define HW_POWER_RESET__UNLOCK 0x3E770000 diff --git a/firmware/target/arm/imx233/powermgmt-imx233.c b/firmware/target/arm/imx233/powermgmt-imx233.c index 4c7f46e2fb..0f24fa41ff 100644 --- a/firmware/target/arm/imx233/powermgmt-imx233.c +++ b/firmware/target/arm/imx233/powermgmt-imx233.c @@ -20,7 +20,7 @@ ****************************************************************************/ #include "powermgmt.h" -#include "adc-target.h" +#include "power-imx233.h" const unsigned short battery_level_dangerous[BATTERY_TYPES_COUNT] = { @@ -49,7 +49,8 @@ const unsigned short percent_to_volt_charge[11] = /* Returns battery voltage from ADC [millivolts] */ unsigned int battery_adc_voltage(void) { - return 4100; + /* battery value is in 8mV LSB */ + return __XTRACT(HW_POWER_BATTMONITOR, BATT_VAL) * 8; } void powermgmt_init_target(void) -- cgit v1.2.3