| /** @file | |
| Framework PEIM to initialize memory on a QuarkNcSocId Memory Controller. | |
| Copyright (c) 2013-2015 Intel Corporation. | |
| This program and the accompanying materials | |
| are licensed and made available under the terms and conditions of the BSD License | |
| which accompanies this distribution. The full text of the license may be found at | |
| http://opensource.org/licenses/bsd-license.php | |
| THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, | |
| WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. | |
| **/ | |
| // | |
| // 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); | |
| } |