summaryrefslogtreecommitdiff
path: root/src/superio
diff options
context:
space:
mode:
authorJoel Linn <jl@conductive.de>2024-03-29 14:03:44 +0100
committerNico Huber <nico.h@gmx.de>2024-03-30 13:00:01 +0000
commitf7e456748f90bdf2798c09bfaa23b5e17de43d0d (patch)
tree8e068d3fc8c68230bcee58e08053dc408be24761 /src/superio
parent82ff48c1b11f673bca6c1cef3c9e01f164572bd4 (diff)
superio/ite: Add full-speed config option
Add Kconfig option for full-speed setting. Some variants do not support the full-speed at limit configuration (IT8772F). Keep it enabled for all current variants that use the common EC code as it was previously enabled unconditionally - datasheets weren't revisited individually. Change-Id: Icf24ea1c4f41771a18803957456f0aeba0e51b13 Signed-off-by: Joel Linn <jl@conductive.de> Reviewed-on: https://review.coreboot.org/c/coreboot/+/81525 Reviewed-by: Paul Menzel <paulepanter@mailbox.org> Reviewed-by: Nico Huber <nico.h@gmx.de> Reviewed-by: Matt DeVillier <matt.devillier@gmail.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/superio')
-rw-r--r--src/superio/ite/common/Kconfig6
-rw-r--r--src/superio/ite/common/env_ctrl.c3
2 files changed, 8 insertions, 1 deletions
diff --git a/src/superio/ite/common/Kconfig b/src/superio/ite/common/Kconfig
index 36c1496db0..6fde3c883f 100644
--- a/src/superio/ite/common/Kconfig
+++ b/src/superio/ite/common/Kconfig
@@ -48,4 +48,10 @@ config SUPERIO_ITE_ENV_CTRL_EXT_ANY_TMPIN
Temperature can be read to any TMPIN from an external sensor via SST/PECI
(instead of TMPIN3 only).
+config SUPERIO_ITE_ENV_CTRL_NO_FULLSPEED_SETTING
+ bool
+ help
+ Fan controller does not support running at full speed when limit
+ temperature is reached.
+
endif
diff --git a/src/superio/ite/common/env_ctrl.c b/src/superio/ite/common/env_ctrl.c
index d624a9233e..112401985c 100644
--- a/src/superio/ite/common/env_ctrl.c
+++ b/src/superio/ite/common/env_ctrl.c
@@ -182,7 +182,8 @@ static void fan_smartconfig(const u16 base, const u8 fan,
conf->tmp_full ? conf->tmp_full : 127);
delta_temp = ITE_EC_FAN_CTL_DELTA_TEMP_INTRVL(conf->tmp_delta);
- delta_temp |= ITE_EC_FAN_CTL_FULL_AT_THRML_LMT(conf->full_lmt);
+ if (!CONFIG(SUPERIO_ITE_ENV_CTRL_NO_FULLSPEED_SETTING))
+ delta_temp |= ITE_EC_FAN_CTL_FULL_AT_THRML_LMT(conf->full_lmt);
pnp_write_hwm5_index(base, ITE_EC_FAN_CTL_DELTA_TEMP(fan),
delta_temp);
}