diff options
author | Christian Vogel <vogelchr@vogel.cx> | 2012-02-19 21:21:49 +0100 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2012-04-28 09:38:44 +0200 |
commit | d53b55016a651d1e587e1c76012dadda162a8095 (patch) | |
tree | ad8db5edd460b8d2de6e1343a7fc81e3b5d7c46f /src/target/firmware/include | |
parent | e3f9698366fdec7ca5868f8790fa1e277ce236ad (diff) |
Battery charging for C123.
Diffstat (limited to 'src/target/firmware/include')
-rwxr-xr-x | src/target/firmware/include/battery/battery.h | 37 | ||||
-rw-r--r-- | src/target/firmware/include/battery/compal_e88.h | 15 |
2 files changed, 52 insertions, 0 deletions
diff --git a/src/target/firmware/include/battery/battery.h b/src/target/firmware/include/battery/battery.h new file mode 100755 index 00000000..d80f0742 --- /dev/null +++ b/src/target/firmware/include/battery/battery.h @@ -0,0 +1,37 @@ +#ifndef _BATTERY_BATTERY_H +#define _BATTERY_BATTERY_H + +/* User-visible state of the battery charger. + * + * If CHG_CONNECTED, power is externally supplied to the mobile. + * + * If CHG_ENABLED, the charger will try to provide charge + * to the battery if needed, but this state might be switchable? + * + * BATTERY_CHARGING: Battery is not full, so a significant charging + * current (not trickle charge) is supplied. + * + * BATTERY_FAILURE: Overtemperature, overvoltage, ... if this bit + * is set, charging should be inhibited. + */ + + +enum osmocom_battery_flags { + BATTERY_CHG_CONNECTED = 1 << 0, /* AC adapter is connected */ + BATTERY_CHG_ENABLED = 1 << 1, /* if needed charger could charge */ + BATTERY_CHARGING = 1 << 2, /* charger is actively charging */ + BATTERY_FAILURE = 1 << 3, /* problem exists preventing charge */ +}; + +struct osmocom_battery_info { + enum osmocom_battery_flags flags; + int charger_volt_mV; /* charger connection voltage */ + int bat_volt_mV; /* battery terminal voltage */ + int bat_chg_curr_mA; /* battery charging current */ + int battery_percent; /* 0(empty) .. 100(full) */ +}; + +extern struct osmocom_battery_info +osmocom_battery_info; + +#endif diff --git a/src/target/firmware/include/battery/compal_e88.h b/src/target/firmware/include/battery/compal_e88.h new file mode 100644 index 00000000..c6c96f39 --- /dev/null +++ b/src/target/firmware/include/battery/compal_e88.h @@ -0,0 +1,15 @@ +#ifndef _BATTERY_COMPAL_E88_H +#define _BATTERY_COMPAL_E88_H + +#include <stdint.h> +#include <abb/twl3025.h> + +/* initialize the charger control loop on C123 */ + +extern void +battery_compal_e88_init(); + +extern uint16_t +compal_e88_madc[MADC_NUM_CHANNELS]; + +#endif |