]> git.proxmox.com Git - mirror_edk2.git/blob - QuarkSocPkg/QuarkNorthCluster/MemoryInit/Pei/mrc.c
QuarkSocPkg: Add new package for Quark SoC X1000
[mirror_edk2.git] / QuarkSocPkg / QuarkNorthCluster / MemoryInit / Pei / mrc.c
1 /************************************************************************
2 *
3 * Copyright (c) 2013-2015 Intel Corporation.
4 *
5 * This program and the accompanying materials
6 * are licensed and made available under the terms and conditions of the BSD License
7 * which accompanies this distribution. The full text of the license may be found at
8 * http://opensource.org/licenses/bsd-license.php
9 *
10 * THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12 *
13 ************************************************************************/
14 #include "mrc.h"
15 #include "memory_options.h"
16
17 #include "meminit.h"
18 #include "meminit_utils.h"
19 #include "prememinit.h"
20 #include "io.h"
21
22 // Base address for UART registers
23 extern uint32_t UartMmioBase;
24
25 //
26 // Memory Reference Code entry point when executing from BIOS
27 //
28 void Mrc( MRCParams_t *mrc_params)
29 {
30 // configure uart base address assuming code relocated to eSRAM
31 UartMmioBase = mrc_params->uart_mmio_base;
32
33 ENTERFN();
34
35 DPF(D_INFO, "MRC Version %04X %s %s\n", MRC_VERSION, __DATE__, __TIME__);
36
37 // this will set up the data structures used by MemInit()
38 PreMemInit(mrc_params);
39
40 // this will initialize system memory
41 MemInit(mrc_params);
42
43 LEAVEFN();
44 return;
45 }
46