diff options
author | Wai-Hong Tam <waihong@google.com> | 2020-09-22 19:46:00 -0700 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-09-24 06:33:25 +0000 |
commit | 7928c23272ecc4bf551b1e4dcb96a0d9b4a46ec7 (patch) | |
tree | b1b64dee32464cf2722ab802acb1ff4b920427c7 | |
parent | 19007dd5773dbba6b599c3a01b92b493510af58c (diff) | |
download | chrome-ec-7928c23272ecc4bf551b1e4dcb96a0d9b4a46ec7.tar.gz |
ln9310: Fix the register of LN9310_REG_LB_CTRL
The existing code sets it to a wrong register, LN9310_REG_SYS_CTRL.
Correct it. Also override the LN9310_REG_SYS_CTRL to 0.
BRANCH=None
BUG=b:163867792, b:169127324
TEST=Verified the power-on sequence worked.
Change-Id: Idb96e5510eb47b7f652d9ea38be5a5a7eb84e88f
Signed-off-by: Wai-Hong Tam <waihong@google.com>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2425454
-rw-r--r-- | driver/ln9310.c | 24 | ||||
-rw-r--r-- | driver/ln9310.h | 8 |
2 files changed, 25 insertions, 7 deletions
diff --git a/driver/ln9310.c b/driver/ln9310.c index e19a68710a..b6e1c0f197 100644 --- a/driver/ln9310.c +++ b/driver/ln9310.c @@ -134,9 +134,17 @@ static int ln9310_init_3to1(void) LN9310_PWR_OP_MODE_SWITCH31); /* 3S lower bounde delta configurations */ + field_update8(LN9310_REG_LB_CTRL, + LN9310_LB_DELTA_MASK, + LN9310_LB_DELTA_3S); + + /* + * TODO(waihong): The LN9310_REG_SYS_CTR was set to a wrong value + * accidentally. Override it to 0. This may not need. + */ field_update8(LN9310_REG_SYS_CTRL, - LN9310_SYS_CTRL_LB_DELTA_MASK, - LN9310_SYS_CTRL_LB_DELTA_3S); + 0xff, + 0); return EC_SUCCESS; } @@ -163,9 +171,17 @@ static int ln9310_init_2to1(void) LN9310_PWR_OP_MODE_SWITCH21); /* 2S lower bounde delta configurations */ + field_update8(LN9310_REG_LB_CTRL, + LN9310_LB_DELTA_MASK, + LN9310_LB_DELTA_2S); + + /* + * TODO(waihong): The LN9310_REG_SYS_CTR was set to a wrong value + * accidentally. Override it to 0. This may not need. + */ field_update8(LN9310_REG_SYS_CTRL, - LN9310_SYS_CTRL_LB_DELTA_MASK, - LN9310_SYS_CTRL_LB_DELTA_2S); + 0xff, + 0); return EC_SUCCESS; } diff --git a/driver/ln9310.h b/driver/ln9310.h index e63dbcc238..2208b0624f 100644 --- a/driver/ln9310.h +++ b/driver/ln9310.h @@ -61,9 +61,6 @@ #define LN9310_PWR_OP_MODE_MANUAL_UPDATE_OFF 0x00 #define LN9310_REG_SYS_CTRL 0x1e -#define LN9310_SYS_CTRL_LB_DELTA_MASK 0x38 -#define LN9310_SYS_CTRL_LB_DELTA_2S 0x4 -#define LN9310_SYS_CTRL_LB_DELTA_3S 0x4 #define LN9310_REG_STARTUP_CTRL 0x1f #define LN9310_STANDBY_EN 0x01 @@ -90,7 +87,12 @@ #define LN9310_TIMER_OP_SELF_SYNC_EN_ON 0x08 #define LN9310_REG_RECOVERY_CTRL 0x25 + #define LN9310_REG_LB_CTRL 0x26 +#define LN9310_LB_DELTA_MASK 0x38 +#define LN9310_LB_DELTA_2S 0x20 +#define LN9310_LB_DELTA_3S 0x20 + #define LN9310_REG_SC_OUT_OV_CTRL 0x29 #define LN9310_REG_STS_CTRL 0x2d |