WANG Siyuan (wangsiyuanbuaa@gmail.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/7165
-gerrit
commit 1b24d876c065650c1fc43d377f7184f508f5b65a Author: WANG Siyuan wangsiyuanbuaa@gmail.com Date: Wed Oct 22 13:47:18 2014 +0800
AMD Hudson: enable IMC fan control using ACPI code
IMC fan control should be enabled after OS launched. I have tested on OliveHill and Parmer with Windows 7 and Ubuntu 13.10.
Change-Id: I16d6ff6b1272d16b840e803e0a95f6e363c79704 Signed-off-by: WANG Siyuan SiYuan.Wang@amd.com Signed-off-by: WANG Siyuan wangsiyuanbuaa@gmail.com --- src/southbridge/amd/agesa/hudson/Kconfig | 4 ++++ src/southbridge/amd/agesa/hudson/acpi/fch.asl | 9 ++++++--- src/southbridge/amd/agesa/hudson/hudson.c | 2 ++ 3 files changed, 12 insertions(+), 3 deletions(-)
diff --git a/src/southbridge/amd/agesa/hudson/Kconfig b/src/southbridge/amd/agesa/hudson/Kconfig index 9ff6ef1..a2a43a4 100644 --- a/src/southbridge/amd/agesa/hudson/Kconfig +++ b/src/southbridge/amd/agesa/hudson/Kconfig @@ -244,6 +244,10 @@ config HUDSON_LEGACY_FREE Select y if there is no keyboard controller in the system. This sets variables in AGESA and ACPI.
+config ACPI_ENABLE_THERMAL_ZONE + bool + default y + endif # SOUTHBRIDGE_AMD_AGESA_HUDSON || SOUTHBRIDGE_AMD_AGESA_YANGTZE || SOUTHBRIDGE_AMD_AGESA_AVALON
if SOUTHBRIDGE_AMD_AGESA_YANGTZE || SOUTHBRIDGE_AMD_AGESA_AVALON diff --git a/src/southbridge/amd/agesa/hudson/acpi/fch.asl b/src/southbridge/amd/agesa/hudson/acpi/fch.asl index 4ffd19f..2d81d56 100644 --- a/src/southbridge/amd/agesa/hudson/acpi/fch.asl +++ b/src/southbridge/amd/agesa/hudson/acpi/fch.asl @@ -179,9 +179,12 @@ Method(_INI, 0) { /* Determine the OS we're running on */ OSFL()
- /* TODO: It is unstable. */ - //#include "acpi/AmdImc.asl" /* Hudson IMC function */ - //ITZE() /* enable IMC Fan Control*/ +#ifdef CONFIG_HUDSON_IMC_FWM +#if CONFIG_HUDSON_IMC_FWM + #include "acpi/AmdImc.asl" /* Hudson IMC function */ + ITZE() /* enable IMC Fan Control*/ +#endif +#endif } /* End Method(_SB._INI) */
Method(OSFL, 0){ diff --git a/src/southbridge/amd/agesa/hudson/hudson.c b/src/southbridge/amd/agesa/hudson/hudson.c index f60dddb..3b57221 100644 --- a/src/southbridge/amd/agesa/hudson/hudson.c +++ b/src/southbridge/amd/agesa/hudson/hudson.c @@ -164,10 +164,12 @@ static void hudson_init(void *chip_info)
static void hudson_final(void *chip_info) { +#if !CONFIG_ACPI_ENABLE_THERMAL_ZONE #if IS_ENABLED(CONFIG_HUDSON_IMC_FWM) /* AMD AGESA does not enable thermal zone, so we enable it here. */ enable_imc_thermal_zone(); #endif +#endif }
struct chip_operations southbridge_amd_agesa_hudson_ops = {