summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/mainboard/amd/gardenia/BiosCallOuts.c23
-rw-r--r--src/soc/amd/stoneyridge/imc.c23
-rw-r--r--src/soc/amd/stoneyridge/include/soc/imc.h5
3 files changed, 23 insertions, 28 deletions
diff --git a/src/mainboard/amd/gardenia/BiosCallOuts.c b/src/mainboard/amd/gardenia/BiosCallOuts.c
index 31681cbe27..1d06411790 100644
--- a/src/mainboard/amd/gardenia/BiosCallOuts.c
+++ b/src/mainboard/amd/gardenia/BiosCallOuts.c
@@ -19,6 +19,29 @@
#include <soc/imc.h>
#include <soc/southbridge.h>
#include <stdlib.h>
+#include <string.h>
+
+/* Hardware Monitor Fan Control
+ * Hardware limitation:
+ * HWM will fail to read the input temperature via I2C if other
+ * software switches the I2C address. AMD recommends using IMC
+ * to control fans, instead of HWM.
+ */
+static void oem_fan_control(FCH_DATA_BLOCK *FchParams)
+{
+ /* Enable IMC fan control. the recommand way */
+ imc_reg_init();
+
+ FchParams->Imc.ImcEnable = TRUE;
+
+ /* 1 IMC, 0 HWM */
+ FchParams->Hwm.HwmControl = 1;
+
+ /* 2 disable IMC, 1 enable IMC, 0 following hw strap setting */
+ FchParams->Imc.ImcEnableOverWrite = 1;
+
+ memset(&FchParams->Imc.EcStruct, 0, sizeof(FCH_EC));
+}
static AGESA_STATUS fch_initenv(UINT32 Func, UINTN FchData, VOID *ConfigPtr)
{
diff --git a/src/soc/amd/stoneyridge/imc.c b/src/soc/amd/stoneyridge/imc.c
index 7e40a99086..e7c6fac43c 100644
--- a/src/soc/amd/stoneyridge/imc.c
+++ b/src/soc/amd/stoneyridge/imc.c
@@ -79,26 +79,3 @@ void enable_imc_thermal_zone(void)
WriteECmsg(MSG_SYS_TO_IMC, AccessWidth8, &FunNum, &StdHeader);
WaitForEcLDN9MailboxCmdAck(&StdHeader);
}
-
-/* Hardware Monitor Fan Control
- * Hardware limitation:
- * HWM will fail to read the input temperature via I2C if other
- * software switches the I2C address. AMD recommends using IMC
- * to control fans, instead of HWM.
- */
-void oem_fan_control(FCH_DATA_BLOCK *FchParams)
-{
- /* Enable IMC fan control. the recommand way */
- imc_reg_init();
-
- FchParams->Imc.ImcEnable = TRUE;
-
- /* 1 IMC, 0 HWM */
- FchParams->Hwm.HwmControl = 1;
-
- /* 2 disable IMC, 1 enable IMC, 0 following hw strap setting */
- FchParams->Imc.ImcEnableOverWrite = 1;
-
- LibAmdMemFill(&(FchParams->Imc.EcStruct), 0, sizeof(FCH_EC),
- FchParams->StdHeader);
-}
diff --git a/src/soc/amd/stoneyridge/include/soc/imc.h b/src/soc/amd/stoneyridge/include/soc/imc.h
index 3d0e7406c2..a077506ff3 100644
--- a/src/soc/amd/stoneyridge/include/soc/imc.h
+++ b/src/soc/amd/stoneyridge/include/soc/imc.h
@@ -16,12 +16,7 @@
#ifndef STONEYRIDGE_IMC_H
#define STONEYRIDGE_IMC_H
-#include <Porting.h>
-#include <AGESA.h>
-#include <FchCommonCfg.h>
-
void imc_reg_init(void);
void enable_imc_thermal_zone(void);
-void oem_fan_control(FCH_DATA_BLOCK *FchParams);
#endif