summaryrefslogtreecommitdiff
path: root/board/reef/battery.c
diff options
context:
space:
mode:
authorRyan Zhang <ryan.zhang.quanta@gmail.com>2016-12-16 17:11:16 +0800
committerchrome-bot <chrome-bot@chromium.org>2016-12-20 18:05:00 -0800
commit5faf0984717dc18fdd28c2308e0217a2d817effc (patch)
tree70364805daa43b57705154420b144ca080524d75 /board/reef/battery.c
parentd2ba32aa3fb8a96a6e38fff367b48ea301b1db23 (diff)
downloadchrome-ec-5faf0984717dc18fdd28c2308e0217a2d817effc.tar.gz
Electro: Fix power lost when release shipping mode
Battery need some time to provide power when releases shipping mode or plug in battery at first time. BUG=chrome-os-partner:60921, 59904 BRANCH=master TEST=remove battery & AC, then insert battery & AC, system can boot up. Change-Id: I33ca4df54e0b02e68ade9426864561dae8c57851 Signed-off-by: Ryan Zhang <Ryan.Zhang@quantatw.com> Reviewed-on: https://chromium-review.googlesource.com/419881 Commit-Ready: Aaron Durbin <adurbin@chromium.org> Tested-by: Aaron Durbin <adurbin@chromium.org> Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Diffstat (limited to 'board/reef/battery.c')
-rw-r--r--board/reef/battery.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/board/reef/battery.c b/board/reef/battery.c
index 33d782b8b9..64cd90cd97 100644
--- a/board/reef/battery.c
+++ b/board/reef/battery.c
@@ -35,6 +35,7 @@ struct board_batt_params {
};
#define DEFAULT_BATTERY_TYPE BATTERY_SONY_CORP
+#define SONY_DISCHARGE_DISABLE_FET_BIT (0x01 << 13)
static enum battery_present batt_pres_prev = BP_NOT_SURE;
@@ -50,8 +51,16 @@ static int batt_smp_cos4870_init(void)
static int batt_sony_corp_init(void)
{
- /* TODO: crosbug.com/p/59904 */
- return 1;
+ int batt_status;
+
+ /*
+ * SB_MANUFACTURER_ACCESS:
+ * [13] : Discharging Disabled
+ * : 0b - Allowed to Discharge
+ * : 1b - Not Allowed to Discharge
+ */
+ return sb_read(SB_MANUFACTURER_ACCESS, &batt_status) ? 0 :
+ !(batt_status & SONY_DISCHARGE_DISABLE_FET_BIT);
}
static const struct board_batt_params info[] = {