summaryrefslogtreecommitdiff
path: root/firmware/target
diff options
context:
space:
mode:
authorBertrik Sikken <bertrik@sikken.nl>2009-02-14 16:19:21 +0000
committerBertrik Sikken <bertrik@sikken.nl>2009-02-14 16:19:21 +0000
commit01d4b4c99714f5e22d25e0a86dfd0e75824b1f3e (patch)
tree115aa10a69bacac37e62d28ec04b25189c69af98 /firmware/target
parent459b4f632bb880aabcc10a0940c48b8fb471eb29 (diff)
downloadrockbox-01d4b4c99714f5e22d25e0a86dfd0e75824b1f3e.tar.gz
rockbox-01d4b4c99714f5e22d25e0a86dfd0e75824b1f3e.zip
Sansa Clip: enable battery charging.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20006 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/target')
-rw-r--r--firmware/target/arm/as3525/sansa-clip/powermgmt-clip.c13
-rw-r--r--firmware/target/arm/as3525/sansa-clip/powermgmt-target.h42
2 files changed, 42 insertions, 13 deletions
diff --git a/firmware/target/arm/as3525/sansa-clip/powermgmt-clip.c b/firmware/target/arm/as3525/sansa-clip/powermgmt-clip.c
index f04760d9de..d908981523 100644
--- a/firmware/target/arm/as3525/sansa-clip/powermgmt-clip.c
+++ b/firmware/target/arm/as3525/sansa-clip/powermgmt-clip.c
@@ -20,9 +20,6 @@
20 ****************************************************************************/ 20 ****************************************************************************/
21 21
22#include "config.h" 22#include "config.h"
23#include "adc.h"
24#include "adc-target.h"
25#include "powermgmt.h"
26 23
27/* The battery manufacturer's website shows discharge curves down to 3.0V, 24/* The battery manufacturer's website shows discharge curves down to 3.0V,
28 so 'dangerous' and 'shutoff' levels of 3.4V and 3.3V should be safe. 25 so 'dangerous' and 'shutoff' levels of 3.4V and 3.3V should be safe.
@@ -52,13 +49,3 @@ const unsigned short percent_to_volt_charge[11] =
52}; 49};
53#endif /* CONFIG_CHARGING */ 50#endif /* CONFIG_CHARGING */
54 51
55/* ADC should read 0x3ff=5.12V */
56#define BATTERY_SCALE_FACTOR 5125
57/* full-scale ADC readout (2^10) in millivolt */
58
59/* Returns battery voltage from ADC [millivolts] */
60unsigned int battery_adc_voltage(void)
61{
62 return (adc_read(ADC_RTCSUP) * BATTERY_SCALE_FACTOR) >> 10;
63}
64
diff --git a/firmware/target/arm/as3525/sansa-clip/powermgmt-target.h b/firmware/target/arm/as3525/sansa-clip/powermgmt-target.h
new file mode 100644
index 0000000000..691d134ffa
--- /dev/null
+++ b/firmware/target/arm/as3525/sansa-clip/powermgmt-target.h
@@ -0,0 +1,42 @@
1/***************************************************************************
2 * __________ __ ___.
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/
8 * $Id$
9 *
10 * Copyright (C) 2009 by Michael Sevakis
11 * Copyright (C) 2008 by Bertrik Sikken
12 *
13 * This program is free software; you can redistribute it and/or
14 * modify it under the terms of the GNU General Public License
15 * as published by the Free Software Foundation; either version 2
16 * of the License, or (at your option) any later version.
17 *
18 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
19 * KIND, either express or implied.
20 *
21 ****************************************************************************/
22#ifndef POWERMGMT_TARGET_H
23#define POWERMGMT_TARGET_H
24
25/* Check if topped-off and monitor voltage while plugged. */
26#define BATT_FULL_VOLTAGE 4160
27#define BATT_VAUTO_RECHARGE 4100
28#define BATT_CHG_V CHG_V_4_20V
29#define BATT_CHG_I CHG_I_100MA
30#define CHARGER_TOTAL_TIMER (6*3600*2) /* about 1.5 * capacity / current */
31#define ADC_BATTERY ADC_BVDD
32
33void powermgmt_init_target(void);
34void charging_algorithm_step(void);
35void charging_algorithm_close(void);
36
37/* We want to be able to reset the averaging filter */
38#define HAVE_RESET_BATTERY_FILTER
39
40#define BATT_AVE_SAMPLES 32
41
42#endif /* POWERMGMT_TARGET_H */