summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Sevakis <jethead71@rockbox.org>2010-04-07 06:26:18 +0000
committerMichael Sevakis <jethead71@rockbox.org>2010-04-07 06:26:18 +0000
commit4e8704c387d1983cca20070a05d99e70aca9d5b2 (patch)
treee84e6d3d869580dfb1ccc9abc66bf05ad9cbbe42
parentf25f17c5b60ade629b8b7b0449a6aafab7e32a7d (diff)
downloadrockbox-4e8704c387d1983cca20070a05d99e70aca9d5b2.zip
rockbox-4e8704c387d1983cca20070a05d99e70aca9d5b2.tar.gz
rockbox-4e8704c387d1983cca20070a05d99e70aca9d5b2.tar.bz2
rockbox-4e8704c387d1983cca20070a05d99e70aca9d5b2.tar.xz
Gigabeat S: Extend the upper temperature range for battery charging to 50C: OK and 45C: Resume. Currently extended disk activity can cause it to detect overtemp which doesn't quite seem correct. Add macros for the range so that they may be target-specific.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25508 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--firmware/target/arm/imx31/gigabeat-s/powermgmt-imx31.c9
-rw-r--r--firmware/target/arm/imx31/gigabeat-s/powermgmt-target.h10
2 files changed, 17 insertions, 2 deletions
diff --git a/firmware/target/arm/imx31/gigabeat-s/powermgmt-imx31.c b/firmware/target/arm/imx31/gigabeat-s/powermgmt-imx31.c
index c6b3549..6986a06 100644
--- a/firmware/target/arm/imx31/gigabeat-s/powermgmt-imx31.c
+++ b/firmware/target/arm/imx31/gigabeat-s/powermgmt-imx31.c
@@ -467,8 +467,13 @@ static bool charging_ok(void)
* come back into safe range. */
static const signed char temp_ranges[2][2] =
{
- { 0, 45 }, /* Temperature range before beginning charging */
- { 5, 40 }, /* Temperature range after out-of-range detected */
+ /* Temperature range before beginning charging */
+ { BATTERY_CHARGE_MIN,
+ BATTERY_CHARGE_MAX },
+ /* Temperature range after out-of-range detected -
+ charging will self-resume */
+ { BATTERY_CHARGE_RESTART_MIN,
+ BATTERY_CHARGE_RESTART_MAX },
};
int temp = battery_adc_temp();
diff --git a/firmware/target/arm/imx31/gigabeat-s/powermgmt-target.h b/firmware/target/arm/imx31/gigabeat-s/powermgmt-target.h
index c157dc2..86278bc 100644
--- a/firmware/target/arm/imx31/gigabeat-s/powermgmt-target.h
+++ b/firmware/target/arm/imx31/gigabeat-s/powermgmt-target.h
@@ -61,6 +61,16 @@
read below 2400mV. */
#define CHARGER_TOTAL_TIMER 300 /* minutes */
+/* Temperature readings - w/hysteresis */
+
+/* Temperature range before beginning charging */
+#define BATTERY_CHARGE_MIN 0
+#define BATTERY_CHARGE_MAX 50
+/* Temperature range after out-of-range detected - charging will
+ * self-resume */
+#define BATTERY_CHARGE_RESTART_MIN 5
+#define BATTERY_CHARGE_RESTART_MAX 45
+
/* .316 ohms is closest standard value as measured in 1% tolerance - adjust
* relative to .100 ohm which is what the PMIC is "tuned" for. */
#define ILEVEL_ADJUST_IN(I) (100*(I) / 316)