/** * This function is initializes the processor and system. * * @param FsblInstancePtr is pointer to the XFsbl Instance * * @return * - returns the error codes described in xfsbl_error.h on any error * - returns XFSBL_SUCCESS on success * *****************************************************************************/ u32 XFsbl_Initialize(XFsblPs * FsblInstancePtr) { u32 Status = XFSBL_SUCCESS; u32 ResetReason; ResetReason = XFsbl_GetResetReason(); if (ResetReason == PS_ONLY_RESET) { FsblInstancePtr->ResetReason = PS_ONLY_RESET; } /** * Configure the system as in PSU */ Status = XFsbl_SystemInit(FsblInstancePtr); if (XFSBL_SUCCESS != Status) { goto END; } /** * Print the FSBL banner */ XFsbl_PrintFsblBanner(); /* Do ECC Initialization of DDR if required */ Status = XFsbl_DdrEccInit(); if (XFSBL_SUCCESS != Status) { goto END; } /* Do board specific initialization if any */ Status = XFsbl_BoardInit(); if (XFSBL_SUCCESS != Status) { goto END; } /** * Initialize the processor */ Status = XFsbl_ProcessorInit(FsblInstancePtr); if (XFSBL_SUCCESS != Status) { goto END; } /** * Validate the reset reason */ Status = XFsbl_ResetValidation(FsblInstancePtr); if (XFSBL_SUCCESS != Status) { goto END; } XFsbl_Printf(DEBUG_INFO,"Processor Initialization Done \n\r"); END: return Status; }
/** * This function is initializes the processor and system. * * @param FsblInstancePtr is pointer to the XFsbl Instance * * @return * - returns the error codes described in xfsbl_error.h on any error * - returns XFSBL_SUCCESS on success * *****************************************************************************/ u32 XFsbl_Initialize(XFsblPs * FsblInstancePtr) { u32 Status = XFSBL_SUCCESS; /** * Configure the system as in PSU */ Status = XFsbl_SystemInit(FsblInstancePtr); if (XFSBL_SUCCESS != Status) { goto END; } /** * Print the FSBL banner */ XFsbl_PrintFsblBanner(); /** * Initialize the processor */ Status = XFsbl_ProcessorInit(FsblInstancePtr); if (XFSBL_SUCCESS != Status) { goto END; } /** * Validate the reset reason */ Status = XFsbl_ResetValidation(FsblInstancePtr); if (XFSBL_SUCCESS != Status) { goto END; } XFsbl_Printf(DEBUG_INFO,"Processor Initialization Done \n\r"); END: return Status; }