<p>Richard Spiegel has uploaded this change for <strong>review</strong>.</p><p><a href="https://review.coreboot.org/27650">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">mb/amd/gardenia: Remove IMC support<br><br>An agreement between AMD and Google decided to remove all support to IMC.<br>All boards will use external EC. Remove IMC files and functions from<br>gardenia.<br><br>BUG=b:111780177<br>TEST=Build gardenia<br><br>Change-Id: I570b7f8e364b0c2937592590cc033d5a6c9fade0<br>Signed-off-by: Richard Spiegel <richard.spiegel@silverbackltd.com><br>---<br>M src/mainboard/amd/gardenia/BiosCallOuts.c<br>M src/mainboard/amd/gardenia/Kconfig<br>M src/mainboard/amd/gardenia/Makefile.inc<br>D src/mainboard/amd/gardenia/fchec.c<br>4 files changed, 0 insertions(+), 85 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://review.coreboot.org:29418/coreboot refs/changes/50/27650/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/mainboard/amd/gardenia/BiosCallOuts.c b/src/mainboard/amd/gardenia/BiosCallOuts.c</span><br><span>index 158642a..16ac549 100644</span><br><span>--- a/src/mainboard/amd/gardenia/BiosCallOuts.c</span><br><span>+++ b/src/mainboard/amd/gardenia/BiosCallOuts.c</span><br><span>@@ -15,31 +15,13 @@</span><br><span> </span><br><span> #include <amdblocks/agesawrapper.h></span><br><span> #include <amdblocks/BiosCallOuts.h></span><br><span style="color: hsl(0, 100%, 40%);">-#include <soc/imc.h></span><br><span> #include <soc/southbridge.h></span><br><span> #include <stdlib.h></span><br><span> #include <string.h></span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-/* Hardware Monitor Fan Control</span><br><span style="color: hsl(0, 100%, 40%);">- * Hardware limitation:</span><br><span style="color: hsl(0, 100%, 40%);">- *  HWM will fail to read the input temperature via I2C if other</span><br><span style="color: hsl(0, 100%, 40%);">- *  software switches the I2C address.  AMD recommends using IMC</span><br><span style="color: hsl(0, 100%, 40%);">- *  to control fans, instead of HWM.</span><br><span style="color: hsl(0, 100%, 40%);">- */</span><br><span> void oem_fan_control(FCH_DATA_BLOCK *FchParams)</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">- /* Enable IMC fan control. the recommand way */</span><br><span style="color: hsl(0, 100%, 40%);">- imc_reg_init();</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-     FchParams->Imc.ImcEnable = TRUE;</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-     /* 1 IMC, 0 HWM */</span><br><span style="color: hsl(0, 100%, 40%);">-      FchParams->Hwm.HwmControl = 1;</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-       /* 2 disable IMC, 1 enable IMC, 0 following hw strap setting */</span><br><span style="color: hsl(0, 100%, 40%);">- FchParams->Imc.ImcEnableOverWrite = 1;</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-       memset(&FchParams->Imc.EcStruct, 0, sizeof(FCH_EC));</span><br><span> }</span><br><span> </span><br><span> void platform_FchParams_env(FCH_DATA_BLOCK *FchParams_env)</span><br><span>diff --git a/src/mainboard/amd/gardenia/Kconfig b/src/mainboard/amd/gardenia/Kconfig</span><br><span>index 5d74768..f4512f7 100644</span><br><span>--- a/src/mainboard/amd/gardenia/Kconfig</span><br><span>+++ b/src/mainboard/amd/gardenia/Kconfig</span><br><span>@@ -23,7 +23,6 @@</span><br><span>  select HAVE_ACPI_TABLES</span><br><span>      select BOARD_ROMSIZE_KB_8192</span><br><span>         select GFXUMA</span><br><span style="color: hsl(0, 100%, 40%);">-   select STONEYRIDGE_IMC_FWM</span><br><span> </span><br><span> config MAINBOARD_DIR</span><br><span>       string</span><br><span>diff --git a/src/mainboard/amd/gardenia/Makefile.inc b/src/mainboard/amd/gardenia/Makefile.inc</span><br><span>index 5ddfe45..dd71331 100644</span><br><span>--- a/src/mainboard/amd/gardenia/Makefile.inc</span><br><span>+++ b/src/mainboard/amd/gardenia/Makefile.inc</span><br><span>@@ -24,4 +24,3 @@</span><br><span> ramstage-y += BiosCallOuts.c</span><br><span> ramstage-y += gpio.c</span><br><span> ramstage-y += OemCustomize.c</span><br><span style="color: hsl(0, 100%, 40%);">-ramstage-$(CONFIG_STONEYRIDGE_IMC_FWM) += fchec.c</span><br><span>diff --git a/src/mainboard/amd/gardenia/fchec.c b/src/mainboard/amd/gardenia/fchec.c</span><br><span>deleted file mode 100644</span><br><span>index aca3a9e..0000000</span><br><span>--- a/src/mainboard/amd/gardenia/fchec.c</span><br><span>+++ /dev/null</span><br><span>@@ -1,65 +0,0 @@</span><br><span style="color: hsl(0, 100%, 40%);">-/*</span><br><span style="color: hsl(0, 100%, 40%);">- * This file is part of the coreboot project.</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- * Copyright (C) 2015 Advanced Micro Devices, Inc.</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- * This program is free software; you can redistribute it and/or modify</span><br><span style="color: hsl(0, 100%, 40%);">- * it under the terms of the GNU General Public License as published by</span><br><span style="color: hsl(0, 100%, 40%);">- * the Free Software Foundation; version 2 of the License.</span><br><span style="color: hsl(0, 100%, 40%);">- *</span><br><span style="color: hsl(0, 100%, 40%);">- * This program is distributed in the hope that it will be useful,</span><br><span style="color: hsl(0, 100%, 40%);">- * but WITHOUT ANY WARRANTY; without even the implied warranty of</span><br><span style="color: hsl(0, 100%, 40%);">- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</span><br><span style="color: hsl(0, 100%, 40%);">- * GNU General Public License for more details.</span><br><span style="color: hsl(0, 100%, 40%);">- */</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-#include "fchec.h"</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-void agesawrapper_fchecfancontrolservice(void)</span><br><span style="color: hsl(0, 100%, 40%);">-{</span><br><span style="color: hsl(0, 100%, 40%);">-    FCH_DATA_BLOCK LateParams;</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-      /* Thermal Zone Parameter */</span><br><span style="color: hsl(0, 100%, 40%);">-    LateParams.Imc.EcStruct.MsgFun81Zone0MsgReg0 = 0x00;</span><br><span style="color: hsl(0, 100%, 40%);">-    LateParams.Imc.EcStruct.MsgFun81Zone0MsgReg1 = 0x00; /* Zone */</span><br><span style="color: hsl(0, 100%, 40%);">- LateParams.Imc.EcStruct.MsgFun81Zone0MsgReg2 = 0x3d;</span><br><span style="color: hsl(0, 100%, 40%);">-    LateParams.Imc.EcStruct.MsgFun81Zone0MsgReg3 = 0xc6;</span><br><span style="color: hsl(0, 100%, 40%);">-    LateParams.Imc.EcStruct.MsgFun81Zone0MsgReg4 = 0x00;</span><br><span style="color: hsl(0, 100%, 40%);">-    LateParams.Imc.EcStruct.MsgFun81Zone0MsgReg5 = 0x04;</span><br><span style="color: hsl(0, 100%, 40%);">-    /* SMBUS Address for SMBUS based temperature sensor */</span><br><span style="color: hsl(0, 100%, 40%);">-  LateParams.Imc.EcStruct.MsgFun81Zone0MsgReg6 = 0x98;</span><br><span style="color: hsl(0, 100%, 40%);">-    LateParams.Imc.EcStruct.MsgFun81Zone0MsgReg7 = 0x01;</span><br><span style="color: hsl(0, 100%, 40%);">-    /* PWM steping rate in unit of PWM level percentage */</span><br><span style="color: hsl(0, 100%, 40%);">-  LateParams.Imc.EcStruct.MsgFun81Zone0MsgReg8 = 0x01;</span><br><span style="color: hsl(0, 100%, 40%);">-    LateParams.Imc.EcStruct.MsgFun81Zone0MsgReg9 = 0x00;</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-    /* IMC Fan Policy temperature thresholds */</span><br><span style="color: hsl(0, 100%, 40%);">-     LateParams.Imc.EcStruct.MsgFun83Zone0MsgReg0 = 0x00;</span><br><span style="color: hsl(0, 100%, 40%);">-    LateParams.Imc.EcStruct.MsgFun83Zone0MsgReg1 = 0x00; /* Zone */</span><br><span style="color: hsl(0, 100%, 40%);">- LateParams.Imc.EcStruct.MsgFun83Zone0MsgReg2 = 0x3c; /*AC0 threshold */</span><br><span style="color: hsl(0, 100%, 40%);">- LateParams.Imc.EcStruct.MsgFun83Zone0MsgReg3 = 0x28; /*AC1 in oC */</span><br><span style="color: hsl(0, 100%, 40%);">-     LateParams.Imc.EcStruct.MsgFun83Zone0MsgReg4 = 0xff; /*AC2 in oC */</span><br><span style="color: hsl(0, 100%, 40%);">-     LateParams.Imc.EcStruct.MsgFun83Zone0MsgReg5 = 0xff; /*AC3 undefined */</span><br><span style="color: hsl(0, 100%, 40%);">- LateParams.Imc.EcStruct.MsgFun83Zone0MsgReg6 = 0xff; /*AC4 undefined */</span><br><span style="color: hsl(0, 100%, 40%);">- LateParams.Imc.EcStruct.MsgFun83Zone0MsgReg7 = 0xff; /*AC5 undefined */</span><br><span style="color: hsl(0, 100%, 40%);">- LateParams.Imc.EcStruct.MsgFun83Zone0MsgReg8 = 0xff; /*AC6 undefined */</span><br><span style="color: hsl(0, 100%, 40%);">- LateParams.Imc.EcStruct.MsgFun83Zone0MsgReg9 = 0xff; /*AC7 undefined */</span><br><span style="color: hsl(0, 100%, 40%);">- LateParams.Imc.EcStruct.MsgFun83Zone0MsgRegA = 0x4b; /*crit threshold */</span><br><span style="color: hsl(0, 100%, 40%);">-        LateParams.Imc.EcStruct.MsgFun83Zone0MsgRegB = 0x00;</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-    /* IMC Fan Policy PWM Settings */</span><br><span style="color: hsl(0, 100%, 40%);">-       LateParams.Imc.EcStruct.MsgFun85Zone0MsgReg0 = 0x00;</span><br><span style="color: hsl(0, 100%, 40%);">-    LateParams.Imc.EcStruct.MsgFun85Zone0MsgReg1 = 0x00; /* Zone */</span><br><span style="color: hsl(0, 100%, 40%);">- LateParams.Imc.EcStruct.MsgFun85Zone0MsgReg2 = 0x50; /* AL0 percent */</span><br><span style="color: hsl(0, 100%, 40%);">-  LateParams.Imc.EcStruct.MsgFun85Zone0MsgReg3 = 0x32; /* AL1 percent */</span><br><span style="color: hsl(0, 100%, 40%);">-  LateParams.Imc.EcStruct.MsgFun85Zone0MsgReg4 = 0xff; /* AL2 percent */</span><br><span style="color: hsl(0, 100%, 40%);">-  LateParams.Imc.EcStruct.MsgFun85Zone0MsgReg5 = 0xff; /* AL3 percent */</span><br><span style="color: hsl(0, 100%, 40%);">-  LateParams.Imc.EcStruct.MsgFun85Zone0MsgReg6 = 0xff; /* AL4 percent */</span><br><span style="color: hsl(0, 100%, 40%);">-  LateParams.Imc.EcStruct.MsgFun85Zone0MsgReg7 = 0xff; /* AL5 percent */</span><br><span style="color: hsl(0, 100%, 40%);">-  LateParams.Imc.EcStruct.MsgFun85Zone0MsgReg8 = 0xff; /* AL6 percent */</span><br><span style="color: hsl(0, 100%, 40%);">-  LateParams.Imc.EcStruct.MsgFun85Zone0MsgReg9 = 0xff; /* AL7 percent */</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-  LateParams.Imc.EcStruct.IMCFUNSupportBitMap = 0x111;</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-    FchECfancontrolservice(&LateParams);</span><br><span style="color: hsl(0, 100%, 40%);">-}</span><br><span></span><br></pre><p>To view, visit <a href="https://review.coreboot.org/27650">change 27650</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://review.coreboot.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://review.coreboot.org/27650"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: coreboot </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>
<div style="display:none"> Gerrit-Change-Id: I570b7f8e364b0c2937592590cc033d5a6c9fade0 </div>
<div style="display:none"> Gerrit-Change-Number: 27650 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Richard Spiegel <richard.spiegel@silverbackltd.com> </div>