<p>Martin Roth has uploaded this change for <strong>review</strong>.</p><p><a href="https://review.coreboot.org/21849">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">Stoney Ridge Platforms: Make AGESA callout tables common<br><br>There was no reason to have the AGESA callout tables in each mainboard,<br>so move them to soc/amd/common.  The fch_initenv and fch_initreset<br>functions remain in the mainboard code.<br><br>BUG=b:67209686<br>TEST=Build and boot on Kahlee<br><br>Change-Id: Ife9bd90be9eb0ce0a7ce41d75cfef979b11e640b<br>Signed-off-by: Martin Roth <martinroth@google.com><br>---<br>M src/mainboard/amd/gardenia/BiosCallOuts.c<br>M src/mainboard/amd/gardenia/bootblock/BiosCallOuts.c<br>M src/mainboard/google/kahlee/BiosCallOuts.c<br>M src/mainboard/google/kahlee/bootblock/BiosCallOuts.c<br>M src/soc/amd/common/BiosCallOuts.h<br>M src/soc/amd/common/def_callouts.c<br>6 files changed, 48 insertions(+), 86 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://review.coreboot.org:29418/coreboot refs/changes/49/21849/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">diff --git a/src/mainboard/amd/gardenia/BiosCallOuts.c b/src/mainboard/amd/gardenia/BiosCallOuts.c<br>index c947b0c..d077ff7 100644<br>--- a/src/mainboard/amd/gardenia/BiosCallOuts.c<br>+++ b/src/mainboard/amd/gardenia/BiosCallOuts.c<br>@@ -43,7 +43,7 @@<br>     memset(&FchParams->Imc.EcStruct, 0, sizeof(FCH_EC));<br> }<br> <br>-static AGESA_STATUS fch_initenv(UINT32 Func, UINTN FchData, VOID *ConfigPtr)<br>+AGESA_STATUS fch_initenv(UINT32 Func, UINTN FchData, VOID *ConfigPtr)<br> {<br>         AMD_CONFIG_PARAMS *StdHeader = ConfigPtr;<br> <br>@@ -82,37 +82,3 @@<br> <br>   return AGESA_SUCCESS;<br> }<br>-<br>-const BIOS_CALLOUT_STRUCT BiosCallouts[] = {<br>-  /* Required callouts */<br>-      {AGESA_ALLOCATE_BUFFER,          agesa_AllocateBuffer },<br>-     {AGESA_DEALLOCATE_BUFFER,        agesa_DeallocateBuffer },<br>-   {AGESA_DO_RESET,                 agesa_Reset },<br>-      {AGESA_LOCATE_BUFFER,            agesa_LocateBuffer },<br>-       {AGESA_READ_SPD,                 agesa_ReadSpd },<br>-    {AGESA_RUNFUNC_ONAP,             agesa_RunFuncOnAp },<br>-        {AGESA_RUNFUNC_ON_ALL_APS,       agesa_RunFcnOnAllAps },<br>-     {AMD_LATE_RUN_AP_TASK,           agesa_LateRunApTask },<br>-      {AGESA_GNB_PCIE_SLOT_RESET,      agesa_PcieSlotResetControl },<br>-       {AGESA_WAIT_FOR_ALL_APS,         agesa_WaitForAllApsFinished },<br>-      {AGESA_IDLE_AN_AP,               agesa_IdleAnAp },<br>-<br>-        /* Optional callouts */<br>-      {AGESA_GET_IDS_INIT_DATA,             agesa_EmptyIdsInitData },<br>-      //AgesaHeapRebase - Hook ID?<br>- {AGESA_HOOKBEFORE_DRAM_INIT,          agesa_NoopUnsupported },<br>-       {AGESA_HOOKBEFORE_DQS_TRAINING,       agesa_NoopUnsupported },<br>-       {AGESA_EXTERNAL_2D_TRAIN_VREF_CHANGE, agesa_NoopUnsupported },<br>-       {AGESA_HOOKBEFORE_EXIT_SELF_REF,      agesa_NoopUnsupported },<br>-       {AGESA_GNB_GFX_GET_VBIOS_IMAGE,       agesa_GfxGetVbiosImage },<br>-      {AGESA_FCH_OEM_CALLOUT,               fch_initenv },<br>- {AGESA_EXTERNAL_VOLTAGE_ADJUST,       agesa_NoopUnsupported },<br>-       {AGESA_GNB_PCIE_CLK_REQ,              agesa_NoopUnsupported },<br>-<br>-    /* Deprecated */<br>-     {AGESA_HOOKBEFORE_DRAM_INIT_RECOVERY, agesa_NoopUnsupported},<br>-        {AGESA_READ_SPD_RECOVERY,             agesa_NoopUnsupported },<br>-<br>-};<br>-<br>-const int BiosCalloutsLen = ARRAY_SIZE(BiosCallouts);<br>diff --git a/src/mainboard/amd/gardenia/bootblock/BiosCallOuts.c b/src/mainboard/amd/gardenia/bootblock/BiosCallOuts.c<br>index 1b7a341..d0dfbf4 100644<br>--- a/src/mainboard/amd/gardenia/bootblock/BiosCallOuts.c<br>+++ b/src/mainboard/amd/gardenia/bootblock/BiosCallOuts.c<br>@@ -45,7 +45,7 @@<br>     {-1}<br> };<br> <br>-static AGESA_STATUS fch_initreset(UINT32 Func, UINTN FchData, VOID *ConfigPtr)<br>+AGESA_STATUS fch_initreset(UINT32 Func, UINTN FchData, VOID *ConfigPtr)<br> {<br>   AMD_CONFIG_PARAMS *StdHeader = ConfigPtr;<br> <br>@@ -61,10 +61,3 @@<br> <br>   return AGESA_SUCCESS;<br> }<br>-<br>-const BIOS_CALLOUT_STRUCT BiosCallouts[] = {<br>-  {AGESA_FCH_OEM_CALLOUT,          fch_initreset },<br>-    {AGESA_GNB_PCIE_SLOT_RESET,      agesa_PcieSlotResetControl }<br>-};<br>-<br>-const int BiosCalloutsLen = ARRAY_SIZE(BiosCallouts);<br>diff --git a/src/mainboard/google/kahlee/BiosCallOuts.c b/src/mainboard/google/kahlee/BiosCallOuts.c<br>index 2e57166..681946f 100644<br>--- a/src/mainboard/google/kahlee/BiosCallOuts.c<br>+++ b/src/mainboard/google/kahlee/BiosCallOuts.c<br>@@ -21,7 +21,7 @@<br> <br> extern const GPIO_CONTROL oem_kahlee_gpio[];<br> <br>-static AGESA_STATUS fch_initenv(UINT32 Func, UINTN FchData, VOID *ConfigPtr)<br>+AGESA_STATUS fch_initenv(UINT32 Func, UINTN FchData, VOID *ConfigPtr)<br> {<br>     AMD_CONFIG_PARAMS *StdHeader = ConfigPtr;<br> <br>@@ -63,37 +63,3 @@<br> <br>   return AGESA_SUCCESS;<br> }<br>-<br>-const BIOS_CALLOUT_STRUCT BiosCallouts[] = {<br>-  /* Required callouts */<br>-      {AGESA_ALLOCATE_BUFFER,          agesa_AllocateBuffer },<br>-     {AGESA_DEALLOCATE_BUFFER,        agesa_DeallocateBuffer },<br>-   {AGESA_DO_RESET,                 agesa_Reset },<br>-      {AGESA_LOCATE_BUFFER,            agesa_LocateBuffer },<br>-       {AGESA_READ_SPD,                 agesa_ReadSpd },<br>-    {AGESA_RUNFUNC_ONAP,             agesa_RunFuncOnAp },<br>-        {AGESA_RUNFUNC_ON_ALL_APS,       agesa_RunFcnOnAllAps },<br>-     {AMD_LATE_RUN_AP_TASK,           agesa_LateRunApTask },<br>-      {AGESA_GNB_PCIE_SLOT_RESET,      agesa_PcieSlotResetControl },<br>-       {AGESA_WAIT_FOR_ALL_APS,         agesa_WaitForAllApsFinished },<br>-      {AGESA_IDLE_AN_AP,               agesa_IdleAnAp },<br>-<br>-        /* Optional callouts */<br>-      {AGESA_GET_IDS_INIT_DATA,             agesa_EmptyIdsInitData },<br>-      //AgesaHeapRebase - Hook ID?<br>- {AGESA_HOOKBEFORE_DRAM_INIT,          agesa_NoopUnsupported },<br>-       {AGESA_HOOKBEFORE_DQS_TRAINING,       agesa_NoopUnsupported },<br>-       {AGESA_EXTERNAL_2D_TRAIN_VREF_CHANGE, agesa_NoopUnsupported },<br>-       {AGESA_HOOKBEFORE_EXIT_SELF_REF,      agesa_NoopUnsupported },<br>-       {AGESA_GNB_GFX_GET_VBIOS_IMAGE,       agesa_GfxGetVbiosImage },<br>-      {AGESA_FCH_OEM_CALLOUT,               fch_initenv },<br>- {AGESA_EXTERNAL_VOLTAGE_ADJUST,       agesa_NoopUnsupported },<br>-       {AGESA_GNB_PCIE_CLK_REQ,              agesa_NoopUnsupported },<br>-<br>-    /* Deprecated */<br>-     {AGESA_HOOKBEFORE_DRAM_INIT_RECOVERY, agesa_NoopUnsupported},<br>-        {AGESA_READ_SPD_RECOVERY,             agesa_NoopUnsupported },<br>-<br>-};<br>-<br>-const int BiosCalloutsLen = ARRAY_SIZE(BiosCallouts);<br>diff --git a/src/mainboard/google/kahlee/bootblock/BiosCallOuts.c b/src/mainboard/google/kahlee/bootblock/BiosCallOuts.c<br>index 4dce042..a86a0e8 100644<br>--- a/src/mainboard/google/kahlee/bootblock/BiosCallOuts.c<br>+++ b/src/mainboard/google/kahlee/bootblock/BiosCallOuts.c<br>@@ -21,7 +21,7 @@<br> <br> extern const GPIO_CONTROL oem_kahlee_gpio[];<br> <br>-static AGESA_STATUS fch_initreset(UINT32 Func, UINTN FchData, VOID *ConfigPtr)<br>+AGESA_STATUS fch_initreset(UINT32 Func, UINTN FchData, VOID *ConfigPtr)<br> {<br>     AMD_CONFIG_PARAMS *StdHeader = ConfigPtr;<br> <br>@@ -37,10 +37,3 @@<br> <br>   return AGESA_SUCCESS;<br> }<br>-<br>-const BIOS_CALLOUT_STRUCT BiosCallouts[] = {<br>-  {AGESA_FCH_OEM_CALLOUT,          fch_initreset },<br>-    {AGESA_GNB_PCIE_SLOT_RESET,      agesa_PcieSlotResetControl }<br>-};<br>-<br>-const int BiosCalloutsLen = ARRAY_SIZE(BiosCallouts);<br>diff --git a/src/soc/amd/common/BiosCallOuts.h b/src/soc/amd/common/BiosCallOuts.h<br>index c2c5556..846977c 100644<br>--- a/src/soc/amd/common/BiosCallOuts.h<br>+++ b/src/soc/amd/common/BiosCallOuts.h<br>@@ -60,6 +60,9 @@<br> <br> AGESA_STATUS GetBiosCallout(UINT32 Func, UINTN Data, VOID *ConfigPtr);<br> <br>+AGESA_STATUS fch_initreset(UINT32 Func, UINTN FchData, VOID *ConfigPtr);<br>+AGESA_STATUS fch_initenv(UINT32 Func, UINTN FchData, VOID *ConfigPtr);<br>+<br> typedef struct {<br>        UINT32 CalloutName;<br>   CALLOUT_ENTRY CalloutPtr;<br>diff --git a/src/soc/amd/common/def_callouts.c b/src/soc/amd/common/def_callouts.c<br>index 4b71d5b..ec16f3d 100644<br>--- a/src/soc/amd/common/def_callouts.c<br>+++ b/src/soc/amd/common/def_callouts.c<br>@@ -25,6 +25,47 @@<br> #include <dimmSpd.h><br> #include <soc/southbridge.h><br> <br>+#ifdef __BOOTBLOCK__<br>+const BIOS_CALLOUT_STRUCT BiosCallouts[] = {<br>+        {AGESA_FCH_OEM_CALLOUT,          fch_initreset },<br>+    {AGESA_GNB_PCIE_SLOT_RESET,      agesa_PcieSlotResetControl }<br>+};<br>+#else<br>+const BIOS_CALLOUT_STRUCT BiosCallouts[] = {<br>+    /* Required callouts */<br>+      {AGESA_ALLOCATE_BUFFER,          agesa_AllocateBuffer },<br>+     {AGESA_DEALLOCATE_BUFFER,        agesa_DeallocateBuffer },<br>+   {AGESA_DO_RESET,                 agesa_Reset },<br>+      {AGESA_LOCATE_BUFFER,            agesa_LocateBuffer },<br>+       {AGESA_READ_SPD,                 agesa_ReadSpd },<br>+    {AGESA_RUNFUNC_ONAP,             agesa_RunFuncOnAp },<br>+        {AGESA_RUNFUNC_ON_ALL_APS,       agesa_RunFcnOnAllAps },<br>+     {AMD_LATE_RUN_AP_TASK,           agesa_LateRunApTask },<br>+      {AGESA_GNB_PCIE_SLOT_RESET,      agesa_PcieSlotResetControl },<br>+       {AGESA_WAIT_FOR_ALL_APS,         agesa_WaitForAllApsFinished },<br>+      {AGESA_IDLE_AN_AP,               agesa_IdleAnAp },<br>+<br>+        /* Optional callouts */<br>+      {AGESA_GET_IDS_INIT_DATA,             agesa_EmptyIdsInitData },<br>+      //AgesaHeapRebase - Hook ID?<br>+ {AGESA_HOOKBEFORE_DRAM_INIT,          agesa_NoopUnsupported },<br>+       {AGESA_HOOKBEFORE_DQS_TRAINING,       agesa_NoopUnsupported },<br>+       {AGESA_EXTERNAL_2D_TRAIN_VREF_CHANGE, agesa_NoopUnsupported },<br>+       {AGESA_HOOKBEFORE_EXIT_SELF_REF,      agesa_NoopUnsupported },<br>+       {AGESA_GNB_GFX_GET_VBIOS_IMAGE,       agesa_GfxGetVbiosImage },<br>+      {AGESA_FCH_OEM_CALLOUT,               fch_initenv },<br>+ {AGESA_EXTERNAL_VOLTAGE_ADJUST,       agesa_NoopUnsupported },<br>+       {AGESA_GNB_PCIE_CLK_REQ,              agesa_NoopUnsupported },<br>+<br>+    /* Deprecated */<br>+     {AGESA_HOOKBEFORE_DRAM_INIT_RECOVERY, agesa_NoopUnsupported},<br>+        {AGESA_READ_SPD_RECOVERY,             agesa_NoopUnsupported },<br>+<br>+};<br>+#endif<br>+<br>+const int BiosCalloutsLen = ARRAY_SIZE(BiosCallouts);<br>+<br> AGESA_STATUS GetBiosCallout(UINT32 Func, UINTN Data, VOID *ConfigPtr)<br> {<br>     UINTN i;<br></pre><p>To view, visit <a href="https://review.coreboot.org/21849">change 21849</a>. To unsubscribe, 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/21849"/><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: Ife9bd90be9eb0ce0a7ce41d75cfef979b11e640b </div>
<div style="display:none"> Gerrit-Change-Number: 21849 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Martin Roth <martinroth@google.com> </div>