diff options
author | Ryan Zhang <ryan.zhang.quanta@gmail.com> | 2016-12-16 17:11:16 +0800 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2016-12-20 18:05:00 -0800 |
commit | 5faf0984717dc18fdd28c2308e0217a2d817effc (patch) | |
tree | 70364805daa43b57705154420b144ca080524d75 | |
parent | d2ba32aa3fb8a96a6e38fff367b48ea301b1db23 (diff) | |
download | chrome-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>
-rw-r--r-- | board/reef/battery.c | 13 |
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[] = { |