From 9bb70d55c0aadafae9ba29acc48a70ab8d000885 Mon Sep 17 00:00:00 2001 From: Matt DeVillier Date: Thu, 20 Feb 2020 19:28:31 -0600 Subject: 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 Reviewed-on: https://review.coreboot.org/c/coreboot/+/80712 Tested-by: build bot (Jenkins) Reviewed-by: Caveh Jalali --- src/ec/google/chromeec/Kconfig | 6 ++++++ src/ec/google/chromeec/ec.c | 5 +++++ 2 files changed, 11 insertions(+) (limited to 'src/ec') diff --git a/src/ec/google/chromeec/Kconfig b/src/ec/google/chromeec/Kconfig index fb93b5662e..3b0beda24e 100644 --- a/src/ec/google/chromeec/Kconfig +++ b/src/ec/google/chromeec/Kconfig @@ -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" diff --git a/src/ec/google/chromeec/ec.c b/src/ec/google/chromeec/ec.c index fbb0033d59..8fdfbfbb28 100644 --- a/src/ec/google/chromeec/ec.c +++ b/src/ec/google/chromeec/ec.c @@ -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) -- cgit v1.2.3