ec/chromeec: Enable auto fan control on startup

Several older ChromeOS boards have issues with fan control on cold boot
and/or on S3 resume, so add functionality to allow those boards to
programmatically enable auto fan control.

TEST=build/boot google/link, verify fan ramps up/down accordingly with
CPU load.

Change-Id: I08a8562531f8af0c71230477d0221d536443f096
Signed-off-by: Matt DeVillier <matt.devillier@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/80712
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Caveh Jalali <caveh@chromium.org>
This commit is contained in:
Matt DeVillier
2020-02-20 19:28:31 -06:00
committed by Felix Held
parent ba210367b6
commit 9bb70d55c0
2 changed files with 11 additions and 0 deletions

View File

@@ -206,4 +206,10 @@ config EC_GOOGLE_CHROMEEC_INCLUDE_SSFC_IN_FW_CONFIG
Fetch Second Source Factory Cache from CBI EEPROM and add it in the most significant
32 bits of firmware configuration.
config EC_GOOGLE_CHROMEEC_AUTO_FAN_CTRL
depends on EC_GOOGLE_CHROMEEC
bool "Enable automatic fan control"
help
Put the fan in auto mode at boot.
source "src/ec/google/chromeec/*/Kconfig"

View File

@@ -1181,6 +1181,11 @@ int google_chromeec_get_pd_port_caps(int port,
void google_chromeec_init(void)
{
google_chromeec_log_uptimeinfo();
/* Enable automatic fan control */
if (CONFIG(EC_GOOGLE_CHROMEEC_AUTO_FAN_CTRL)) {
ec_cmd_thermal_auto_fan_ctrl(PLAT_EC);
}
}
int google_ec_running_ro(void)