<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>