/** @file Framework PEIM to initialize memory on a QuarkNcSocId Memory Controller. Copyright (c) 2013-2015 Intel Corporation. SPDX-License-Identifier: BSD-2-Clause-Patent **/ // // Include common header file for this module. // #include "MemoryInit.h" static PEI_QNC_MEMORY_INIT_PPI mPeiQNCMemoryInitPpi = { MrcStart }; static EFI_PEI_PPI_DESCRIPTOR PpiListPeiQNCMemoryInit = { (EFI_PEI_PPI_DESCRIPTOR_PPI | EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST), &gQNCMemoryInitPpiGuid, &mPeiQNCMemoryInitPpi }; void Mrc( MRCParams_t *MrcData); /** Do memory initialization for QuarkNcSocId DDR3 SDRAM Controller @param FfsHeader Not used. @param PeiServices General purpose services available to every PEIM. @return EFI_SUCCESS Memory initialization completed successfully. All other error conditions encountered result in an ASSERT. **/ EFI_STATUS PeimMemoryInit( IN EFI_PEI_FILE_HANDLE FileHandle, IN CONST EFI_PEI_SERVICES **PeiServices ) { EFI_STATUS Status; Status = (**PeiServices).InstallPpi(PeiServices, &PpiListPeiQNCMemoryInit); return Status; } VOID EFIAPI MrcStart( IN OUT MRCParams_t *MrcData ) { Mrc(MrcData); }