summaryrefslogtreecommitdiff
path: root/include/charger.h
diff options
context:
space:
mode:
authorRong Chang <rongchang@google.com>2012-02-06 20:51:48 -0800
committerRong Chang <rongchang@google.com>2012-02-07 12:54:28 -0800
commit812b3f8cb692ae5f9c616f570e5973e9c66eddcb (patch)
treea816e0ea5552b3b8c17bd6adbba0753a9a7cb8b1 /include/charger.h
parentd3e1de758cfa3a7dd990f0fb63eddbb1ae870418 (diff)
downloadchrome-ec-812b3f8cb692ae5f9c616f570e5973e9c66eddcb.tar.gz
Initial bq24725 charger driver import
Battery charging state machine contains many file changes. This is the 1st part of the break down. Refactor original test code into board dummy driver. Normalize charger API. And import link's charger IC driver. Signed-off-by: Rong Chang <rongchang@google.com> BUG=chrome-os-partner:7855 TEST=build without warning and error BOARD=bds make BOARD=link make BOARD=discovery make Change-Id: I34b6e9862a45331378916bc77653d4adb22ca548
Diffstat (limited to 'include/charger.h')
-rw-r--r--include/charger.h44
1 files changed, 44 insertions, 0 deletions
diff --git a/include/charger.h b/include/charger.h
index 5e40c37f75..19184c5389 100644
--- a/include/charger.h
+++ b/include/charger.h
@@ -8,6 +8,50 @@
#ifndef __CROS_EC_CHARGER_H
#define __CROS_EC_CHARGER_H
+#include "common.h"
+
+/* Charger infomation
+ * voltage unit: mV
+ * current unit: mA
+ */
+struct charger_info {
+ const char *name;
+ uint16_t voltage_max;
+ uint16_t voltage_min;
+ uint16_t voltage_step;
+ uint16_t current_max;
+ uint16_t current_min;
+ uint16_t current_step;
+ uint16_t input_current_max;
+ uint16_t input_current_min;
+ uint16_t input_current_step;
+};
+
+/* Initializes the charger, with AC input on and battery
+ * charging off. */
int charger_init(void);
+/* Get charger information. */
+const struct charger_info *charger_get_info(void);
+
+/* Get smart battery charger status. Supported flags:
+ * CHARGER_CHARGE_INHIBITED
+ * CHARGER_LEVEL_2
+ */
+int charger_get_status(int *status);
+
+/* Set smart battery charger mode. Supported mode(s):
+ * CHARGER_FLAG_INHIBIT_CHARGE
+ */
+int charger_set_mode(int mode);
+
+/* Get/set charge current limit in mA */
+int charger_get_current(int *current);
+int charger_set_current(int current);
+
+/* Get/set charge voltage limit in mV */
+int charger_get_voltage(int *voltage);
+int charger_set_voltage(int voltage);
+
#endif /* __CROS_EC_CHARGER_H */
+