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>
This commit is contained in:
Ryan Zhang
2016-12-16 17:11:16 +08:00
committed by chrome-bot
parent d2ba32aa3f
commit 5faf098471

View File

@@ -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[] = {