coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
ramstage.c
Go to the documentation of this file.
1
/* SPDX-License-Identifier: GPL-2.0-only */
2
3
#include <
console/console.h
>
4
#include <fsp/api.h>
5
#include <soc/ramstage.h>
6
#include "
emmc.h
"
7
8
static
int
get_emmc_dll_info
(
uint16_t
signature,
size_t
num_of_entry,
9
BL_EMMC_INFORMATION **
config
)
10
{
11
uint8_t
entry;
12
13
if
((signature == 0) || (num_of_entry == 0) || (*
config
==
NULL
))
14
return
1;
15
16
for
(entry = 0; entry < num_of_entry; entry++) {
17
if
((*
config
)[entry].Signature == signature) {
18
*
config
= &(*config)[entry];
19
return
0;
20
}
21
}
22
23
return
1;
24
}
25
26
void
mainboard_silicon_init_params
(FSPS_UPD *
params
)
27
{
28
size_t
num;
29
uint16_t
emmc_dll_sign;
30
BL_EMMC_INFORMATION *emmc_config;
31
32
/* Configure eMMC DLL PCD */
33
emmc_dll_sign =
DEFAULT_EMMC_DLL_SIGN
;
34
num =
ARRAY_SIZE
(
harcuvar_emmc_config
);
35
emmc_config =
harcuvar_emmc_config
;
36
37
if
(
get_emmc_dll_info
(emmc_dll_sign, num, &emmc_config))
38
die
(
"eMMC DLL Configuration is invalid, please correct it!"
);
39
40
params
->FspsConfig.PcdEMMCDLLConfigPtr =
41
(
uint32_t
)&emmc_config->eMMCDLLConfig;
42
}
params
static struct sdram_info params
Definition:
sdram_configs.c:83
ARRAY_SIZE
#define ARRAY_SIZE(a)
Definition:
helpers.h:12
die
void __noreturn die(const char *fmt,...)
Definition:
die.c:17
console.h
mainboard_silicon_init_params
__weak void mainboard_silicon_init_params(SILICON_INIT_UPD *params)
Definition:
ramstage.c:162
emmc.h
harcuvar_emmc_config
BL_EMMC_INFORMATION harcuvar_emmc_config[]
Definition:
emmc.h:11
DEFAULT_EMMC_DLL_SIGN
#define DEFAULT_EMMC_DLL_SIGN
Definition:
emmc.h:8
config
enum board_config config
Definition:
memory.c:448
get_emmc_dll_info
static int get_emmc_dll_info(uint16_t signature, size_t num_of_entry, BL_EMMC_INFORMATION **config)
Definition:
ramstage.c:8
NULL
#define NULL
Definition:
stddef.h:19
uint16_t
unsigned short uint16_t
Definition:
stdint.h:11
uint32_t
unsigned int uint32_t
Definition:
stdint.h:14
uint8_t
unsigned char uint8_t
Definition:
stdint.h:8
src
mainboard
intel
harcuvar
ramstage.c
Generated by
1.9.1