summaryrefslogtreecommitdiff
path: root/firmware
diff options
context:
space:
mode:
Diffstat (limited to 'firmware')
-rw-r--r--firmware/SOURCES3
-rw-r--r--firmware/export/config/sansac200v2.h4
-rw-r--r--firmware/target/arm/as3525/powermgmt-target.h10
-rw-r--r--firmware/target/arm/as3525/sansa-c200v2/powermgmt-c200v2.c48
4 files changed, 62 insertions, 3 deletions
diff --git a/firmware/SOURCES b/firmware/SOURCES
index c1da067fd3..540ec8b1f4 100644
--- a/firmware/SOURCES
+++ b/firmware/SOURCES
@@ -1250,7 +1250,8 @@ target/arm/as3525/sansa-c200v2/button-c200v2.c
1250target/arm/as3525/sansa-c200v2/backlight-c200v2.c 1250target/arm/as3525/sansa-c200v2/backlight-c200v2.c
1251target/arm/as3525/dbop-as3525.c 1251target/arm/as3525/dbop-as3525.c
1252#ifndef BOOTLOADER 1252#ifndef BOOTLOADER
1253target/arm/as3525/powermgmt-as3525.c 1253target/arm/powermgmt-ascodec.c
1254target/arm/as3525/sansa-c200v2/powermgmt-c200v2.c
1254#endif /* !BOOTLOADER */ 1255#endif /* !BOOTLOADER */
1255#endif /* !SIMULATOR */ 1256#endif /* !SIMULATOR */
1256#endif /* SANSA_E200V2 */ 1257#endif /* SANSA_E200V2 */
diff --git a/firmware/export/config/sansac200v2.h b/firmware/export/config/sansac200v2.h
index 65aebf245b..aa1ed1ab70 100644
--- a/firmware/export/config/sansac200v2.h
+++ b/firmware/export/config/sansac200v2.h
@@ -131,8 +131,8 @@
131#define BATTERY_CAPACITY_INC 0 /* capacity increment */ 131#define BATTERY_CAPACITY_INC 0 /* capacity increment */
132#define BATTERY_TYPES_COUNT 1 /* only one type */ 132#define BATTERY_TYPES_COUNT 1 /* only one type */
133 133
134/* Hardware controlled charging? FIXME */ 134/* Charging implemented in a target-specific algorithm */
135#define CONFIG_CHARGING CHARGING_SIMPLE 135#define CONFIG_CHARGING CHARGING_TARGET
136 136
137/* define this if the unit can be powered or charged via USB */ 137/* define this if the unit can be powered or charged via USB */
138#define HAVE_USB_POWER 138#define HAVE_USB_POWER
diff --git a/firmware/target/arm/as3525/powermgmt-target.h b/firmware/target/arm/as3525/powermgmt-target.h
index 269a89349e..159a051e70 100644
--- a/firmware/target/arm/as3525/powermgmt-target.h
+++ b/firmware/target/arm/as3525/powermgmt-target.h
@@ -52,6 +52,16 @@
52#define CHARGER_TOTAL_TIMER (4*3600*2) 52#define CHARGER_TOTAL_TIMER (4*3600*2)
53#define ADC_BATTERY ADC_BVDD 53#define ADC_BATTERY ADC_BVDD
54 54
55#elif defined(SANSA_C200V2)
56
57/* Check if topped-off and monitor voltage while plugged. */
58#define BATT_FULL_VOLTAGE 4160
59#define BATT_VAUTO_RECHARGE 4100
60#define BATT_CHG_V CHG_V_4_20V
61#define BATT_CHG_I CHG_I_200MA
62#define CHARGER_TOTAL_TIMER (4*3600*2)
63#define ADC_BATTERY ADC_BVDD
64
55#else 65#else
56#error "Charger settings not defined!" 66#error "Charger settings not defined!"
57#endif 67#endif
diff --git a/firmware/target/arm/as3525/sansa-c200v2/powermgmt-c200v2.c b/firmware/target/arm/as3525/sansa-c200v2/powermgmt-c200v2.c
new file mode 100644
index 0000000000..395e2a472c
--- /dev/null
+++ b/firmware/target/arm/as3525/sansa-c200v2/powermgmt-c200v2.c
@@ -0,0 +1,48 @@
1/***************************************************************************
2 * __________ __ ___.
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/
8 * $Id$
9 *
10 * Copyright (C) 2002 by Heikki Hannikainen, Uwe Freese
11 * Revisions copyright (C) 2005 by Gerald Van Baren
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
23#include "config.h"
24#include "powermgmt.h"
25
26const unsigned short battery_level_dangerous[BATTERY_TYPES_COUNT] =
27{
28 3400
29};
30
31const unsigned short battery_level_shutoff[BATTERY_TYPES_COUNT] =
32{
33 3300
34};
35
36/* voltages (millivolt) of 0%, 10%, ... 100% when charging disabled */
37const unsigned short percent_to_volt_discharge[BATTERY_TYPES_COUNT][11] =
38{
39 /* TODO: calibrate, copied from powermgmt-c200.c svn r22636 */
40 { 3400, 3689, 3744, 3773, 3798, 3831, 3886, 3947, 4005, 4102, 4220 },
41};
42
43/* voltages (millivolt) of 0%, 10%, ... 100% when charging enabled */
44const unsigned short percent_to_volt_charge[11] =
45{
46 /* TODO: simple uncalibrated curve with 10% knee at 3.60V */
47 3400, 3600, 3670, 3740, 3810, 3880, 3950, 4020, 4090, 4160, 4230
48};