]> git.proxmox.com Git - mirror_edk2.git/blob - QuarkSocPkg/QuarkNorthCluster/MemoryInit/Pei/MemoryInit.c
QuarkSocPkg: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / QuarkSocPkg / QuarkNorthCluster / MemoryInit / Pei / MemoryInit.c
1 /** @file
2 Framework PEIM to initialize memory on a QuarkNcSocId Memory Controller.
3
4 Copyright (c) 2013-2015 Intel Corporation.
5
6 SPDX-License-Identifier: BSD-2-Clause-Patent
7
8 **/
9
10 //
11 // Include common header file for this module.
12 //
13 #include "MemoryInit.h"
14
15 static PEI_QNC_MEMORY_INIT_PPI mPeiQNCMemoryInitPpi =
16 { MrcStart };
17
18 static EFI_PEI_PPI_DESCRIPTOR PpiListPeiQNCMemoryInit =
19 {
20 (EFI_PEI_PPI_DESCRIPTOR_PPI | EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST),
21 &gQNCMemoryInitPpiGuid,
22 &mPeiQNCMemoryInitPpi
23 };
24
25 void Mrc( MRCParams_t *MrcData);
26
27 /**
28
29 Do memory initialization for QuarkNcSocId DDR3 SDRAM Controller
30
31 @param FfsHeader Not used.
32 @param PeiServices General purpose services available to every PEIM.
33
34 @return EFI_SUCCESS Memory initialization completed successfully.
35 All other error conditions encountered result in an ASSERT.
36
37 **/
38 EFI_STATUS
39 PeimMemoryInit(
40 IN EFI_PEI_FILE_HANDLE FileHandle,
41 IN CONST EFI_PEI_SERVICES **PeiServices
42 )
43 {
44 EFI_STATUS Status;
45
46 Status = (**PeiServices).InstallPpi(PeiServices, &PpiListPeiQNCMemoryInit);
47
48 return Status;
49 }
50
51 VOID
52 EFIAPI
53 MrcStart(
54 IN OUT MRCParams_t *MrcData
55 )
56 {
57
58 Mrc(MrcData);
59 }