mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2025-12-30 10:31:02 +00:00
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>
This commit is contained in:
committed by
ChromeBot
parent
c5d978baac
commit
86a4e8b41c
@@ -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 */
|
||||
|
||||
Reference in New Issue
Block a user