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 Fetch Second Source Factory Cache from CBI EEPROM and add it in the most significant
32 bits of firmware configuration. 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" 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) void google_chromeec_init(void)
{ {
google_chromeec_log_uptimeinfo(); 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) int google_ec_running_ro(void)