summaryrefslogtreecommitdiff
path: root/src/southbridge/amd
diff options
context:
space:
mode:
authorKyösti Mälkki <kyosti.malkki@gmail.com>2014-10-16 21:35:48 +0300
committerKyösti Mälkki <kyosti.malkki@gmail.com>2014-10-23 19:18:17 +0200
commit29d9c5675865e902cfd46df4b2f948c195de8884 (patch)
treeb412c0a392bcca408b1fd16260f1d15e8836bcc7 /src/southbridge/amd
parenta10bde9048952c7a9a2f63d8450da35bbeda08c0 (diff)
AMD Trinity and Kabini: fix fan control
The fan can stop but can't run again. "AGESA: Call get_bus_conf() just once" (commit ef40ca57) results to this problem. This patch can resolve this problem. Change-Id: I1b5bf3f6f7a66c60743f78918dc5442cdfc8b6e4 Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Reviewed-on: http://review.coreboot.org/6981 Tested-by: build bot (Jenkins) Reviewed-by: Edward O'Callaghan <eocallaghan@alterapraxis.com>
Diffstat (limited to 'src/southbridge/amd')
-rw-r--r--src/southbridge/amd/agesa/hudson/hudson.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/southbridge/amd/agesa/hudson/hudson.c b/src/southbridge/amd/agesa/hudson/hudson.c
index 0edca6eafe..f60dddb71f 100644
--- a/src/southbridge/amd/agesa/hudson/hudson.c
+++ b/src/southbridge/amd/agesa/hudson/hudson.c
@@ -28,6 +28,7 @@
#include <device/pci_ops.h>
#include <cbmem.h>
#include "hudson.h"
+#include "imc.h"
#include "smbus.h"
#include "smi.h"
@@ -161,8 +162,17 @@ static void hudson_init(void *chip_info)
hudson_init_acpi_ports();
}
+static void hudson_final(void *chip_info)
+{
+#if IS_ENABLED(CONFIG_HUDSON_IMC_FWM)
+ /* AMD AGESA does not enable thermal zone, so we enable it here. */
+ enable_imc_thermal_zone();
+#endif
+}
+
struct chip_operations southbridge_amd_agesa_hudson_ops = {
CHIP_NAME("ATI HUDSON")
.enable_dev = hudson_enable,
- .init = hudson_init
+ .init = hudson_init,
+ .final = hudson_final
};