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>
Reviewed-on: http://review.coreboot.org/7165
Tested-by: build bot (Jenkins)
Reviewed-by: Bruce Griffith <Bruce.Griffith@se-eng.com>
Reviewed-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
This commit is contained in:
WANG Siyuan 2014-10-22 13:47:18 +08:00 committed by Kyösti Mälkki
parent 29d9c56758
commit b640fd3906
3 changed files with 12 additions and 3 deletions

View File

@ -244,6 +244,10 @@ config HUDSON_LEGACY_FREE
Select y if there is no keyboard controller in the system. Select y if there is no keyboard controller in the system.
This sets variables in AGESA and ACPI. 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 endif # SOUTHBRIDGE_AMD_AGESA_HUDSON || SOUTHBRIDGE_AMD_AGESA_YANGTZE || SOUTHBRIDGE_AMD_AGESA_AVALON
if SOUTHBRIDGE_AMD_AGESA_YANGTZE || SOUTHBRIDGE_AMD_AGESA_AVALON if SOUTHBRIDGE_AMD_AGESA_YANGTZE || SOUTHBRIDGE_AMD_AGESA_AVALON

View File

@ -179,9 +179,12 @@ Method(_INI, 0) {
/* Determine the OS we're running on */ /* Determine the OS we're running on */
OSFL() OSFL()
/* TODO: It is unstable. */ #ifdef CONFIG_HUDSON_IMC_FWM
//#include "acpi/AmdImc.asl" /* Hudson IMC function */ #if CONFIG_HUDSON_IMC_FWM
//ITZE() /* enable IMC Fan Control*/ #include "acpi/AmdImc.asl" /* Hudson IMC function */
ITZE() /* enable IMC Fan Control*/
#endif
#endif
} /* End Method(_SB._INI) */ } /* End Method(_SB._INI) */
Method(OSFL, 0){ Method(OSFL, 0){

View File

@ -164,10 +164,12 @@ static void hudson_init(void *chip_info)
static void hudson_final(void *chip_info) static void hudson_final(void *chip_info)
{ {
#if !CONFIG_ACPI_ENABLE_THERMAL_ZONE
#if IS_ENABLED(CONFIG_HUDSON_IMC_FWM) #if IS_ENABLED(CONFIG_HUDSON_IMC_FWM)
/* AMD AGESA does not enable thermal zone, so we enable it here. */ /* AMD AGESA does not enable thermal zone, so we enable it here. */
enable_imc_thermal_zone(); enable_imc_thermal_zone();
#endif #endif
#endif
} }
struct chip_operations southbridge_amd_agesa_hudson_ops = { struct chip_operations southbridge_amd_agesa_hudson_ops = {