summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--common/battery.c24
-rw-r--r--driver/battery/bq27541.c5
-rw-r--r--include/battery.h6
-rw-r--r--include/battery_smart.h2
4 files changed, 33 insertions, 4 deletions
diff --git a/common/battery.c b/common/battery.c
index 25c4bcf1f9..0d47378f94 100644
--- a/common/battery.c
+++ b/common/battery.c
@@ -38,6 +38,30 @@ static int print_battery_info(void)
char text[32];
const char *unit;
+ print_item_name("Status:");
+ if (check_print_error(battery_status(&value))) {
+ const char * const st[] = {"EMPTY", "FULL", "DCHG", "INIT",};
+ const char * const al[] = {"RT", "RC", "--", "TD",
+ "OT", "--", "TC", "OC"};
+ int i;
+ ccprintf("0x%04x", value);
+
+ /* bits 0-3 are only valid when the previous transaction
+ * failed, so ignore them */
+
+ /* bits 4-7 are status */
+ for (i = 0; i < 4; i++)
+ if (value & (1 << (i+4)))
+ ccprintf(" %s", st[i]);
+
+ /* bits 15-8 are alarms */
+ for (i = 0; i < 8; i++)
+ if (value & (1 << (i+8)))
+ ccprintf(" %s", al[i]);
+
+ ccprintf("\n");
+ }
+
print_item_name("Temp:");
if (check_print_error(battery_temperature(&value)))
ccprintf("0x%04x = %.1d K (%.1d C)\n",
diff --git a/driver/battery/bq27541.c b/driver/battery/bq27541.c
index 42397135d0..1060a6ba13 100644
--- a/driver/battery/bq27541.c
+++ b/driver/battery/bq27541.c
@@ -205,6 +205,11 @@ int battery_get_mode(int *mode)
return EC_ERROR_UNIMPLEMENTED;
}
+int battery_status(int *status)
+{
+ return EC_ERROR_UNIMPLEMENTED;
+}
+
int battery_is_in_10mw_mode(int *val)
{
/* Always using mAh unit */
diff --git a/include/battery.h b/include/battery.h
index 10d0b6dcd0..b5056cf9d4 100644
--- a/include/battery.h
+++ b/include/battery.h
@@ -86,7 +86,7 @@ int battery_is_connected(void);
/**
* Get battery mode.
*
- * See MODE_* constants in smart_battery.h
+ * See MODE_* constants in battery_smart.h
*
* @param mode Destination for current mode.
* @return non-zero if error.
@@ -96,7 +96,7 @@ int battery_get_mode(int *mode);
/**
* Set battery mode.
*
- * See MODE_* constants in smart_battery.h
+ * See MODE_* constants in battery_smart.h
*
* @param mode New mode.
* @return non-zero if error.
@@ -267,7 +267,7 @@ int battery_charging_allowed(int *allowed);
/**
* Read battery status.
*
- * @param status Destination for status; see STATUS_* in smart_battery.h.
+ * @param status Destination for status; see STATUS_* in battery_smart.h.
* @return non-zero if error.
*/
int battery_status(int *status);
diff --git a/include/battery_smart.h b/include/battery_smart.h
index 6324f1c31d..3e031b8f60 100644
--- a/include/battery_smart.h
+++ b/include/battery_smart.h
@@ -80,7 +80,7 @@
#define STATUS_FULLY_DISCHARGED (1 << 4)
#define STATUS_FULLY_CHARGED (1 << 5)
#define STATUS_DISCHARGING (1 << 6)
-#define STATUS_INITIALIZING (1 << 7)
+#define STATUS_INITIALIZED (1 << 7)
#define STATUS_REMAINING_TIME_ALARM (1 << 8)
#define STATUS_REMAINING_CAPACITY_ALARM (1 << 9)
#define STATUS_TERMINATE_DISCHARGE_ALARM (1 << 11)