From 34f587bb478d5b27427552a16322de9c47e0838d Mon Sep 17 00:00:00 2001 From: Scott Chao Date: Mon, 5 Oct 2020 18:57:15 +0800 Subject: volteer: move thermal setting to variant Since each variant may have different thermal sensor placement. Move thermal params and configs from baseboard to variant. BUG=b:170143672 BRANCH=none TEST=make -j BOARD=eldrid TEST=make buildall Signed-off-by: Scott Chao Change-Id: Ie12f4cecad5f93c491e51a5fadfe856829f5b2e3 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2449510 Reviewed-by: Keith Short --- board/halvor/board.c | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) (limited to 'board/halvor') diff --git a/board/halvor/board.c b/board/halvor/board.c index 2167e1f959..fc12ccfb85 100644 --- a/board/halvor/board.c +++ b/board/halvor/board.c @@ -222,6 +222,58 @@ const struct pwm_t pwm_channels[] = { }; BUILD_ASSERT(ARRAY_SIZE(pwm_channels) == PWM_CH_COUNT); +/******************************************************************************/ +/* EC thermal management configuration */ + +/* + * Tiger Lake specifies 100 C as maximum TDP temperature. THRMTRIP# occurs at + * 130 C. However, sensor is located next to DDR, so we need to use the lower + * DDR temperature limit (85 C) + */ +const static struct ec_thermal_config thermal_cpu = { + .temp_host = { + [EC_TEMP_THRESH_HIGH] = C_TO_K(70), + [EC_TEMP_THRESH_HALT] = C_TO_K(80), + }, + .temp_host_release = { + [EC_TEMP_THRESH_HIGH] = C_TO_K(65), + }, + .temp_fan_off = C_TO_K(35), + .temp_fan_max = C_TO_K(50), +}; + +/* + * Inductor limits - used for both charger and PP3300 regulator + * + * Need to use the lower of the charger IC, PP3300 regulator, and the inductors + * + * Charger max recommended temperature 100C, max absolute temperature 125C + * PP3300 regulator: operating range -40 C to 145 C + * + * Inductors: limit of 125c + * PCB: limit is 80c + */ +const static struct ec_thermal_config thermal_inductor = { + .temp_host = { + [EC_TEMP_THRESH_HIGH] = C_TO_K(75), + [EC_TEMP_THRESH_HALT] = C_TO_K(80), + }, + .temp_host_release = { + [EC_TEMP_THRESH_HIGH] = C_TO_K(65), + }, + .temp_fan_off = C_TO_K(40), + .temp_fan_max = C_TO_K(55), +}; + + +struct ec_thermal_config thermal_params[] = { + [TEMP_SENSOR_1_CHARGER] = thermal_inductor, + [TEMP_SENSOR_2_PP3300_REGULATOR] = thermal_inductor, + [TEMP_SENSOR_3_DDR_SOC] = thermal_cpu, + [TEMP_SENSOR_4_FAN] = thermal_cpu, +}; +BUILD_ASSERT(ARRAY_SIZE(thermal_params) == TEMP_SENSOR_COUNT); + /******************************************************************************/ void halvor_tcpc_alert_event(enum gpio_signal signal) { -- cgit v1.2.1