AGESA fam15tn fam16kb: Use shared default callouts
Change-Id: Ibbb07ef308c7e92a8a8dfe066f5e3866d5f8aee2 Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Reviewed-on: http://review.coreboot.org/5687 Tested-by: build bot (Jenkins) Reviewed-by: Edward O'Callaghan <eocallaghan@alterapraxis.com> Reviewed-by: Patrick Georgi <patrick@georgi-clan.de>
This commit is contained in:
parent
cb989f2c3c
commit
83cc3b0ed5
|
@ -33,14 +33,14 @@ STATIC CONST BIOS_CALLOUT_STRUCT BiosCallouts[] =
|
|||
{
|
||||
{AGESA_ALLOCATE_BUFFER, fam16kb_AllocateBuffer },
|
||||
{AGESA_DEALLOCATE_BUFFER, fam16kb_DeallocateBuffer },
|
||||
{AGESA_DO_RESET, fam16kb_Reset },
|
||||
{AGESA_LOCATE_BUFFER, fam16kb_LocateBuffer },
|
||||
{AGESA_READ_SPD, fam16kb_ReadSpd },
|
||||
{AGESA_READ_SPD_RECOVERY, fam16kb_DefaultRet },
|
||||
{AGESA_RUNFUNC_ONAP, fam16kb_RunFuncOnAp },
|
||||
{AGESA_GET_IDS_INIT_DATA, fam16kb_GetIdsInitData },
|
||||
{AGESA_HOOKBEFORE_DQS_TRAINING, fam16kb_HookBeforeDQSTraining },
|
||||
{AGESA_HOOKBEFORE_EXIT_SELF_REF, fam16kb_HookBeforeExitSelfRefresh },
|
||||
{AGESA_DO_RESET, agesa_Reset },
|
||||
{AGESA_READ_SPD_RECOVERY, agesa_NoopUnsupported },
|
||||
{AGESA_RUNFUNC_ONAP, agesa_RunFuncOnAp },
|
||||
{AGESA_GET_IDS_INIT_DATA, agesa_EmptyIdsInitData },
|
||||
{AGESA_HOOKBEFORE_DQS_TRAINING, agesa_NoopSuccess },
|
||||
{AGESA_HOOKBEFORE_EXIT_SELF_REF, agesa_NoopSuccess },
|
||||
{AGESA_FCH_OEM_CALLOUT, Fch_Oem_config },
|
||||
{AGESA_GNB_GFX_GET_VBIOS_IMAGE, agesa_GfxGetVbiosImage }
|
||||
};
|
||||
|
|
|
@ -33,14 +33,14 @@ STATIC CONST BIOS_CALLOUT_STRUCT BiosCallouts[] =
|
|||
{
|
||||
{AGESA_ALLOCATE_BUFFER, fam15tn_AllocateBuffer },
|
||||
{AGESA_DEALLOCATE_BUFFER, fam15tn_DeallocateBuffer },
|
||||
{AGESA_DO_RESET, fam15tn_Reset },
|
||||
{AGESA_LOCATE_BUFFER, fam15tn_LocateBuffer },
|
||||
{AGESA_READ_SPD, fam15tn_ReadSpd },
|
||||
{AGESA_READ_SPD_RECOVERY, fam15tn_DefaultRet },
|
||||
{AGESA_RUNFUNC_ONAP, fam15tn_RunFuncOnAp },
|
||||
{AGESA_GET_IDS_INIT_DATA, fam15tn_GetIdsInitData },
|
||||
{AGESA_HOOKBEFORE_DQS_TRAINING, fam15tn_HookBeforeDQSTraining },
|
||||
{AGESA_HOOKBEFORE_EXIT_SELF_REF, fam15tn_HookBeforeExitSelfRefresh },
|
||||
{AGESA_DO_RESET, agesa_Reset },
|
||||
{AGESA_READ_SPD_RECOVERY, agesa_NoopUnsupported },
|
||||
{AGESA_RUNFUNC_ONAP, agesa_RunFuncOnAp },
|
||||
{AGESA_GET_IDS_INIT_DATA, agesa_EmptyIdsInitData },
|
||||
{AGESA_HOOKBEFORE_DQS_TRAINING, agesa_NoopSuccess },
|
||||
{AGESA_HOOKBEFORE_EXIT_SELF_REF, agesa_NoopSuccess },
|
||||
{AGESA_FCH_OEM_CALLOUT, Fch_Oem_config },
|
||||
{AGESA_GNB_GFX_GET_VBIOS_IMAGE, agesa_GfxGetVbiosImage }
|
||||
};
|
||||
|
|
|
@ -33,14 +33,14 @@ STATIC CONST BIOS_CALLOUT_STRUCT BiosCallouts[] =
|
|||
{
|
||||
{AGESA_ALLOCATE_BUFFER, fam15tn_AllocateBuffer },
|
||||
{AGESA_DEALLOCATE_BUFFER, fam15tn_DeallocateBuffer },
|
||||
{AGESA_DO_RESET, fam15tn_Reset },
|
||||
{AGESA_LOCATE_BUFFER, fam15tn_LocateBuffer },
|
||||
{AGESA_READ_SPD, fam15tn_ReadSpd },
|
||||
{AGESA_READ_SPD_RECOVERY, fam15tn_DefaultRet },
|
||||
{AGESA_RUNFUNC_ONAP, fam15tn_RunFuncOnAp },
|
||||
{AGESA_GET_IDS_INIT_DATA, fam15tn_GetIdsInitData },
|
||||
{AGESA_HOOKBEFORE_DQS_TRAINING, fam15tn_HookBeforeDQSTraining },
|
||||
{AGESA_HOOKBEFORE_EXIT_SELF_REF, fam15tn_HookBeforeExitSelfRefresh },
|
||||
{AGESA_DO_RESET, agesa_Reset },
|
||||
{AGESA_READ_SPD_RECOVERY, agesa_NoopUnsupported },
|
||||
{AGESA_RUNFUNC_ONAP, agesa_RunFuncOnAp },
|
||||
{AGESA_GET_IDS_INIT_DATA, agesa_EmptyIdsInitData },
|
||||
{AGESA_HOOKBEFORE_DQS_TRAINING, agesa_NoopSuccess },
|
||||
{AGESA_HOOKBEFORE_EXIT_SELF_REF, agesa_NoopSuccess },
|
||||
{AGESA_FCH_OEM_CALLOUT, Fch_Oem_config },
|
||||
{AGESA_GNB_GFX_GET_VBIOS_IMAGE, agesa_GfxGetVbiosImage }
|
||||
};
|
||||
|
|
|
@ -31,14 +31,14 @@ STATIC CONST BIOS_CALLOUT_STRUCT BiosCallouts[] =
|
|||
{
|
||||
{AGESA_ALLOCATE_BUFFER, fam16kb_AllocateBuffer },
|
||||
{AGESA_DEALLOCATE_BUFFER, fam16kb_DeallocateBuffer },
|
||||
{AGESA_DO_RESET, fam16kb_Reset },
|
||||
{AGESA_LOCATE_BUFFER, fam16kb_LocateBuffer },
|
||||
{AGESA_READ_SPD, fam16kb_ReadSpd },
|
||||
{AGESA_READ_SPD_RECOVERY, fam16kb_DefaultRet },
|
||||
{AGESA_RUNFUNC_ONAP, fam16kb_RunFuncOnAp },
|
||||
{AGESA_GET_IDS_INIT_DATA, fam16kb_GetIdsInitData },
|
||||
{AGESA_HOOKBEFORE_DQS_TRAINING, fam16kb_HookBeforeDQSTraining },
|
||||
{AGESA_HOOKBEFORE_EXIT_SELF_REF, fam16kb_HookBeforeExitSelfRefresh },
|
||||
{AGESA_DO_RESET, agesa_Reset },
|
||||
{AGESA_READ_SPD_RECOVERY, agesa_NoopUnsupported },
|
||||
{AGESA_RUNFUNC_ONAP, agesa_RunFuncOnAp },
|
||||
{AGESA_GET_IDS_INIT_DATA, agesa_EmptyIdsInitData },
|
||||
{AGESA_HOOKBEFORE_DQS_TRAINING, agesa_NoopSuccess },
|
||||
{AGESA_HOOKBEFORE_EXIT_SELF_REF, agesa_NoopSuccess },
|
||||
{AGESA_FCH_OEM_CALLOUT, Fch_Oem_config },
|
||||
{AGESA_GNB_GFX_GET_VBIOS_IMAGE, agesa_GfxGetVbiosImage }
|
||||
};
|
||||
|
|
|
@ -28,14 +28,14 @@ STATIC CONST BIOS_CALLOUT_STRUCT BiosCallouts[] =
|
|||
{
|
||||
{AGESA_ALLOCATE_BUFFER, fam15tn_AllocateBuffer },
|
||||
{AGESA_DEALLOCATE_BUFFER, fam15tn_DeallocateBuffer },
|
||||
{AGESA_DO_RESET, fam15tn_Reset },
|
||||
{AGESA_LOCATE_BUFFER, fam15tn_LocateBuffer },
|
||||
{AGESA_READ_SPD, fam15tn_ReadSpd },
|
||||
{AGESA_READ_SPD_RECOVERY, fam15tn_DefaultRet },
|
||||
{AGESA_RUNFUNC_ONAP, fam15tn_RunFuncOnAp },
|
||||
{AGESA_GET_IDS_INIT_DATA, fam15tn_GetIdsInitData },
|
||||
{AGESA_HOOKBEFORE_DQS_TRAINING, fam15tn_HookBeforeDQSTraining },
|
||||
{AGESA_HOOKBEFORE_EXIT_SELF_REF, fam15tn_HookBeforeExitSelfRefresh },
|
||||
{AGESA_DO_RESET, agesa_Reset },
|
||||
{AGESA_READ_SPD_RECOVERY, agesa_NoopUnsupported },
|
||||
{AGESA_RUNFUNC_ONAP, agesa_RunFuncOnAp },
|
||||
{AGESA_GET_IDS_INIT_DATA, agesa_EmptyIdsInitData },
|
||||
{AGESA_HOOKBEFORE_DQS_TRAINING, agesa_NoopSuccess },
|
||||
{AGESA_HOOKBEFORE_EXIT_SELF_REF, agesa_NoopSuccess },
|
||||
{AGESA_FCH_OEM_CALLOUT, Fch_Oem_config },
|
||||
{AGESA_GNB_GFX_GET_VBIOS_IMAGE, agesa_GfxGetVbiosImage }
|
||||
};
|
||||
|
|
|
@ -29,14 +29,14 @@ STATIC CONST BIOS_CALLOUT_STRUCT BiosCallouts[] =
|
|||
{
|
||||
{AGESA_ALLOCATE_BUFFER, fam15tn_AllocateBuffer },
|
||||
{AGESA_DEALLOCATE_BUFFER, fam15tn_DeallocateBuffer },
|
||||
{AGESA_DO_RESET, fam15tn_Reset },
|
||||
{AGESA_LOCATE_BUFFER, fam15tn_LocateBuffer },
|
||||
{AGESA_READ_SPD, fam15tn_ReadSpd },
|
||||
{AGESA_READ_SPD_RECOVERY, fam15tn_DefaultRet },
|
||||
{AGESA_RUNFUNC_ONAP, fam15tn_RunFuncOnAp },
|
||||
{AGESA_GET_IDS_INIT_DATA, fam15tn_GetIdsInitData },
|
||||
{AGESA_HOOKBEFORE_DQS_TRAINING, fam15tn_HookBeforeDQSTraining },
|
||||
{AGESA_HOOKBEFORE_EXIT_SELF_REF, fam15tn_HookBeforeExitSelfRefresh },
|
||||
{AGESA_DO_RESET, agesa_Reset },
|
||||
{AGESA_READ_SPD_RECOVERY, agesa_NoopUnsupported },
|
||||
{AGESA_RUNFUNC_ONAP, agesa_RunFuncOnAp },
|
||||
{AGESA_GET_IDS_INIT_DATA, agesa_EmptyIdsInitData },
|
||||
{AGESA_HOOKBEFORE_DQS_TRAINING, agesa_NoopSuccess },
|
||||
{AGESA_HOOKBEFORE_EXIT_SELF_REF, agesa_NoopSuccess },
|
||||
{AGESA_FCH_OEM_CALLOUT, Fch_Oem_config },
|
||||
{AGESA_GNB_GFX_GET_VBIOS_IMAGE, agesa_GfxGetVbiosImage }
|
||||
};
|
||||
|
|
|
@ -358,92 +358,6 @@ AGESA_STATUS fam15tn_LocateBuffer (UINT32 Func, UINT32 Data, VOID *ConfigPtr)
|
|||
|
||||
}
|
||||
|
||||
CONST IDS_NV_ITEM IdsData[] =
|
||||
{
|
||||
{
|
||||
0xFFFF,
|
||||
0xFFFF
|
||||
}
|
||||
};
|
||||
|
||||
#define NUM_IDS_ENTRIES (sizeof (IdsData) / sizeof (IDS_NV_ITEM))
|
||||
|
||||
AGESA_STATUS fam15tn_GetIdsInitData (UINT32 Func, UINT32 Data, VOID *ConfigPtr)
|
||||
{
|
||||
UINTN i;
|
||||
IDS_NV_ITEM *IdsPtr;
|
||||
|
||||
IdsPtr = ((IDS_CALLOUT_STRUCT *) ConfigPtr)->IdsNvPtr;
|
||||
|
||||
if (Data == IDS_CALLOUT_INIT) {
|
||||
for (i = 0; i < NUM_IDS_ENTRIES; i++) {
|
||||
IdsPtr[i].IdsNvValue = IdsData[i].IdsNvValue;
|
||||
IdsPtr[i].IdsNvId = IdsData[i].IdsNvId;
|
||||
}
|
||||
}
|
||||
return AGESA_SUCCESS;
|
||||
}
|
||||
|
||||
AGESA_STATUS fam15tn_Reset (UINT32 Func, UINT32 Data, VOID *ConfigPtr)
|
||||
{
|
||||
AGESA_STATUS Status;
|
||||
UINT8 Value;
|
||||
UINTN ResetType;
|
||||
AMD_CONFIG_PARAMS *StdHeader;
|
||||
|
||||
ResetType = Data;
|
||||
StdHeader = ConfigPtr;
|
||||
|
||||
//
|
||||
// Perform the RESET based upon the ResetType. In case of
|
||||
// WARM_RESET_WHENVER and COLD_RESET_WHENEVER, the request will go to
|
||||
// AmdResetManager. During the critical condition, where reset is required
|
||||
// immediately, the reset will be invoked directly by writing 0x04 to port
|
||||
// 0xCF9 (Reset Port).
|
||||
//
|
||||
switch (ResetType) {
|
||||
case WARM_RESET_WHENEVER:
|
||||
case COLD_RESET_WHENEVER:
|
||||
break;
|
||||
|
||||
case WARM_RESET_IMMEDIATELY:
|
||||
case COLD_RESET_IMMEDIATELY:
|
||||
Value = 0x06;
|
||||
LibAmdIoWrite (AccessWidth8, 0xCf9, &Value, StdHeader);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
Status = 0;
|
||||
return Status;
|
||||
}
|
||||
|
||||
AGESA_STATUS fam15tn_RunFuncOnAp (UINT32 Func, UINT32 Data, VOID *ConfigPtr)
|
||||
{
|
||||
AGESA_STATUS Status;
|
||||
|
||||
Status = agesawrapper_amdlaterunaptask (Func, Data, ConfigPtr);
|
||||
return Status;
|
||||
}
|
||||
|
||||
/* Call the host environment interface to provide a user hook opportunity. */
|
||||
AGESA_STATUS fam15tn_HookBeforeDQSTraining (UINT32 Func, UINT32 Data, VOID *ConfigPtr)
|
||||
{
|
||||
return AGESA_SUCCESS;
|
||||
}
|
||||
|
||||
/* Call the host environment interface to provide a user hook opportunity. */
|
||||
AGESA_STATUS fam15tn_HookBeforeExitSelfRefresh (UINT32 Func, UINT32 Data, VOID *ConfigPtr)
|
||||
{
|
||||
return AGESA_SUCCESS;
|
||||
}
|
||||
|
||||
AGESA_STATUS fam15tn_DefaultRet (UINT32 Func, UINT32 Data, VOID *ConfigPtr)
|
||||
{
|
||||
return AGESA_UNSUPPORTED;
|
||||
}
|
||||
|
||||
AGESA_STATUS fam15tn_ReadSpd (UINT32 Func, UINT32 Data, VOID *ConfigPtr)
|
||||
{
|
||||
|
|
|
@ -45,12 +45,7 @@ void EmptyHeap(void);
|
|||
AGESA_STATUS fam15tn_AllocateBuffer (UINT32 Func, UINT32 Data, VOID *ConfigPtr);
|
||||
AGESA_STATUS fam15tn_DeallocateBuffer (UINT32 Func, UINT32 Data, VOID *ConfigPtr);
|
||||
AGESA_STATUS fam15tn_LocateBuffer (UINT32 Func, UINT32 Data, VOID *ConfigPtr);
|
||||
AGESA_STATUS fam15tn_GetIdsInitData (UINT32 Func, UINT32 Data, VOID *ConfigPtr);
|
||||
AGESA_STATUS fam15tn_Reset (UINT32 Func, UINT32 Data, VOID *ConfigPtr);
|
||||
AGESA_STATUS fam15tn_RunFuncOnAp (UINT32 Func, UINT32 Data, VOID *ConfigPtr);
|
||||
AGESA_STATUS fam15tn_HookBeforeDQSTraining (UINT32 Func, UINT32 Data, VOID *ConfigPtr);
|
||||
AGESA_STATUS fam15tn_HookBeforeExitSelfRefresh (UINT32 Func, UINT32 Data, VOID *ConfigPtr);
|
||||
AGESA_STATUS fam15tn_DefaultRet (UINT32 Func, UINT32 Data, VOID *ConfigPtr);
|
||||
|
||||
AGESA_STATUS fam15tn_ReadSpd (UINT32 Func, UINT32 Data, VOID *ConfigPtr);
|
||||
|
||||
#endif /* CALLOUTS_AMD_AGESA_FAM15TN_H */
|
||||
|
|
|
@ -332,92 +332,7 @@ AGESA_STATUS fam16kb_LocateBuffer (UINT32 Func, UINT32 Data, VOID *ConfigPtr)
|
|||
|
||||
}
|
||||
|
||||
CONST IDS_NV_ITEM IdsData[] =
|
||||
{
|
||||
{
|
||||
0xFFFF,
|
||||
0xFFFF
|
||||
}
|
||||
};
|
||||
|
||||
#define NUM_IDS_ENTRIES (sizeof (IdsData) / sizeof (IDS_NV_ITEM))
|
||||
|
||||
AGESA_STATUS fam16kb_GetIdsInitData (UINT32 Func, UINT32 Data, VOID *ConfigPtr)
|
||||
{
|
||||
UINTN i;
|
||||
IDS_NV_ITEM *IdsPtr;
|
||||
|
||||
IdsPtr = ((IDS_CALLOUT_STRUCT *) ConfigPtr)->IdsNvPtr;
|
||||
|
||||
if (Data == IDS_CALLOUT_INIT) {
|
||||
for (i = 0; i < NUM_IDS_ENTRIES; i++) {
|
||||
IdsPtr[i].IdsNvValue = IdsData[i].IdsNvValue;
|
||||
IdsPtr[i].IdsNvId = IdsData[i].IdsNvId;
|
||||
}
|
||||
}
|
||||
return AGESA_SUCCESS;
|
||||
}
|
||||
|
||||
AGESA_STATUS fam16kb_Reset (UINT32 Func, UINT32 Data, VOID *ConfigPtr)
|
||||
{
|
||||
AGESA_STATUS Status;
|
||||
UINT8 Value;
|
||||
UINTN ResetType;
|
||||
AMD_CONFIG_PARAMS *StdHeader;
|
||||
|
||||
ResetType = Data;
|
||||
StdHeader = ConfigPtr;
|
||||
|
||||
//
|
||||
// Perform the RESET based upon the ResetType. In case of
|
||||
// WARM_RESET_WHENVER and COLD_RESET_WHENEVER, the request will go to
|
||||
// AmdResetManager. During the critical condition, where reset is required
|
||||
// immediately, the reset will be invoked directly by writing 0x04 to port
|
||||
// 0xCF9 (Reset Port).
|
||||
//
|
||||
switch (ResetType) {
|
||||
case WARM_RESET_WHENEVER:
|
||||
case COLD_RESET_WHENEVER:
|
||||
break;
|
||||
|
||||
case WARM_RESET_IMMEDIATELY:
|
||||
case COLD_RESET_IMMEDIATELY:
|
||||
Value = 0x06;
|
||||
LibAmdIoWrite (AccessWidth8, 0xCf9, &Value, StdHeader);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
Status = 0;
|
||||
return Status;
|
||||
}
|
||||
|
||||
AGESA_STATUS fam16kb_RunFuncOnAp (UINT32 Func, UINT32 Data, VOID *ConfigPtr)
|
||||
{
|
||||
AGESA_STATUS Status;
|
||||
|
||||
Status = agesawrapper_amdlaterunaptask (Func, Data, ConfigPtr);
|
||||
return Status;
|
||||
}
|
||||
|
||||
/* Call the host environment interface to provide a user hook opportunity. */
|
||||
AGESA_STATUS fam16kb_HookBeforeDQSTraining (UINT32 Func, UINT32 Data, VOID *ConfigPtr)
|
||||
{
|
||||
return AGESA_SUCCESS;
|
||||
}
|
||||
|
||||
/* Call the host environment interface to provide a user hook opportunity. */
|
||||
AGESA_STATUS fam16kb_HookBeforeExitSelfRefresh (UINT32 Func, UINT32 Data, VOID *ConfigPtr)
|
||||
{
|
||||
return AGESA_SUCCESS;
|
||||
}
|
||||
|
||||
AGESA_STATUS fam16kb_DefaultRet (UINT32 Func, UINT32 Data, VOID *ConfigPtr)
|
||||
{
|
||||
return AGESA_UNSUPPORTED;
|
||||
}
|
||||
|
||||
AGESA_STATUS fam16kb_ReadSpd (UINT32 Func, UINT32 Data, VOID *ConfigPtr)
|
||||
{
|
||||
|
|
|
@ -45,12 +45,7 @@ void EmptyHeap(void);
|
|||
AGESA_STATUS fam16kb_AllocateBuffer (UINT32 Func, UINT32 Data, VOID *ConfigPtr);
|
||||
AGESA_STATUS fam16kb_DeallocateBuffer (UINT32 Func, UINT32 Data, VOID *ConfigPtr);
|
||||
AGESA_STATUS fam16kb_LocateBuffer (UINT32 Func, UINT32 Data, VOID *ConfigPtr);
|
||||
AGESA_STATUS fam16kb_GetIdsInitData (UINT32 Func, UINT32 Data, VOID *ConfigPtr);
|
||||
AGESA_STATUS fam16kb_Reset (UINT32 Func, UINT32 Data, VOID *ConfigPtr);
|
||||
AGESA_STATUS fam16kb_RunFuncOnAp (UINT32 Func, UINT32 Data, VOID *ConfigPtr);
|
||||
AGESA_STATUS fam16kb_HookBeforeDQSTraining (UINT32 Func, UINT32 Data, VOID *ConfigPtr);
|
||||
AGESA_STATUS fam16kb_HookBeforeExitSelfRefresh (UINT32 Func, UINT32 Data, VOID *ConfigPtr);
|
||||
AGESA_STATUS fam16kb_DefaultRet (UINT32 Func, UINT32 Data, VOID *ConfigPtr);
|
||||
|
||||
AGESA_STATUS fam16kb_ReadSpd (UINT32 Func, UINT32 Data, VOID *ConfigPtr);
|
||||
|
||||
#endif /* CALLOUTS_AMD_AGESA_FAM16KB_H */
|
||||
|
|
Loading…
Reference in New Issue