diff options
author | Vincent Palatin <vpalatin@chromium.org> | 2013-04-29 09:18:18 -0700 |
---|---|---|
committer | ChromeBot <chrome-bot@google.com> | 2013-06-19 17:12:36 -0700 |
commit | 86a4e8b41c1412e7cf9bdb595c71f2591cb25a86 (patch) | |
tree | 3047921884d617afad3610a3155b000008f46787 /board | |
parent | c5d978baacc44220445ad7b5641bbdb7b634cbfa (diff) | |
download | chrome-ec-86a4e8b41c1412e7cf9bdb595c71f2591cb25a86.tar.gz |
spring: new TPS65090 parameters to avoid cap ringing
Starting DVT, Spring boards have updated hardware to prevent cap ringing
when a charger is plugged.
Adjust T01, T12, T23 and T34 current limit to 87.5% as expected by this
mechanism.
Push all termination voltages to 2.1v as the actual temperature range is
not related to the real charge temperature.
On pre-DVT boards, this will just reduce the max charging rate by 12.5%.
Signed-off-by: Vincent Palatin <vpalatin@chromium.org>
BRANCH=spring
BUG=chrome-os-partner:18987
TEST=on Spring EVT, use "pmu" command on the EC console and see
registers 0x5 to 0x9 contain : "3e 5e be fe ff"
Original-Change-Id: Ie078a38251cd2cb50ee605c34a6818bf994d148d
Reviewed-on: https://gerrit.chromium.org/gerrit/49484
Commit-Queue: Jon Salz <jsalz@chromium.org>
Reviewed-by: Jon Salz <jsalz@chromium.org>
Tested-by: Jon Salz <jsalz@chromium.org>
(cherry picked from commit 4122b222859db34cb6eee827cba4988df458d916)
Change-Id: I78355651f5f7abc0546fec0c4df8d38ea3549b2d
Signed-off-by: Vic Yang <victoryang@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/59197
Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
Diffstat (limited to 'board')
-rw-r--r-- | board/spring/board.c | 34 |
1 files changed, 15 insertions, 19 deletions
diff --git a/board/spring/board.c b/board/spring/board.c index 46b8180fcb..ff7c0fe5b3 100644 --- a/board/spring/board.c +++ b/board/spring/board.c @@ -208,6 +208,21 @@ int pmu_board_init(void) { int failure = 0; + /* + * Adjust charging parameters to match the expectations + * of the hardware fixing the cap ringing on DVT+ machines. + */ + failure |= pmu_set_term_current(RANGE_T01, TERM_I0875); + failure |= pmu_set_term_current(RANGE_T12, TERM_I0875); + failure |= pmu_set_term_current(RANGE_T23, TERM_I0875); + failure |= pmu_set_term_current(RANGE_T34, TERM_I0875); + failure |= pmu_set_term_current(RANGE_T40, TERM_I1000); + failure |= pmu_set_term_voltage(RANGE_T01, TERM_V2100); + failure |= pmu_set_term_voltage(RANGE_T12, TERM_V2100); + failure |= pmu_set_term_voltage(RANGE_T23, TERM_V2100); + failure |= pmu_set_term_voltage(RANGE_T34, TERM_V2100); + failure |= pmu_set_term_voltage(RANGE_T40, TERM_V2100); + /* Set fast charging timeout to 6 hours*/ if (!failure) failure = pmu_set_fastcharge(TIMEOUT_6HRS); @@ -222,25 +237,6 @@ int pmu_board_init(void) if (!failure) failure = pmu_low_current_charging(1); - /* - * High temperature charging - * termination voltage: 2.1V - * termination current: 100% - */ - if (!failure) - failure = pmu_set_term_voltage(RANGE_T34, TERM_V2100); - if (!failure) - failure = pmu_set_term_current(RANGE_T34, TERM_I1000); - /* - * Standard temperature charging - * termination voltage: 2.1V - * termination current: 100% - */ - if (!failure) - failure = pmu_set_term_voltage(RANGE_T23, TERM_V2100); - if (!failure) - failure = pmu_set_term_current(RANGE_T23, TERM_I1000); - return failure ? EC_ERROR_UNKNOWN : EC_SUCCESS; } #endif /* CONFIG_BOARD_PMU_INIT */ |