summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--board/spring/board.c34
1 files changed, 15 insertions, 19 deletions
diff --git a/board/spring/board.c b/board/spring/board.c
index 2abc1d8425..b6e4ccd415 100644
--- a/board/spring/board.c
+++ b/board/spring/board.c
@@ -274,6 +274,21 @@ int board_pmu_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);
@@ -288,25 +303,6 @@ int board_pmu_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 */