coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
romstage_fsp_params.c
Go to the documentation of this file.
1
/* SPDX-License-Identifier: GPL-2.0-only */
2
3
#include <baseboard/variants.h>
4
#include <soc/meminit.h>
5
#include <soc/romstage.h>
6
#include "
board_id.h
"
7
8
void
mainboard_memory_init_params
(FSPM_UPD *memupd)
9
{
10
static
struct
spd_info
jslrvp_spd_info;
11
uint8_t
board_id
=
get_board_id
();
12
const
struct
mb_cfg
*
board_cfg
=
variant_memcfg_config
(
board_id
);
13
14
/* TODO: Read the resistor strap to get number of memory segments */
15
bool
half_populated =
false
;
16
17
/* Check board id and fill correct parameters to upd */
18
if
(
board_id
==
jsl_ddr4
) {
19
/* Initialize spd information for DDR4 board */
20
jslrvp_spd_info.
read_type
=
READ_SMBUS
;
21
jslrvp_spd_info.
spd_spec
.
spd_smbus_address
[0] = 0xA0;
22
jslrvp_spd_info.
spd_spec
.
spd_smbus_address
[1] = 0xA2;
23
jslrvp_spd_info.
spd_spec
.
spd_smbus_address
[2] = 0xA4;
24
jslrvp_spd_info.
spd_spec
.
spd_smbus_address
[3] = 0xA6;
25
26
}
else
if
(
board_id
==
jsl_lpddr4
) {
27
/* Initialize spd information for LPDDR4 board */
28
jslrvp_spd_info.
read_type
=
READ_SPD_CBFS
;
29
jslrvp_spd_info.
spd_spec
.
spd_index
= 0x00;
30
}
31
32
/* Initialize variant specific configurations */
33
memcfg_init
(&memupd->FspmConfig,
board_cfg
, &jslrvp_spd_info, half_populated);
34
}
memcfg_init
void memcfg_init(FSPM_UPD *memupd, const struct mb_cfg *mb_cfg, const struct mem_spd *spd_info, bool half_populated)
Definition:
meminit.c:238
READ_SMBUS
@ READ_SMBUS
Definition:
cnl_memcfg_init.h:35
READ_SPD_CBFS
@ READ_SPD_CBFS
Definition:
cnl_memcfg_init.h:36
board_id
uint32_t board_id(void)
board_id() - Get the board version
Definition:
ec_boardid.c:6
variant_memcfg_config
const struct mb_cfg * variant_memcfg_config(void)
Definition:
memory.c:46
mainboard_memory_init_params
void mainboard_memory_init_params(FSPM_UPD *memupd)
Definition:
romstage_fsp_params.c:45
jsl_ddr4
@ jsl_ddr4
Definition:
variants.h:11
jsl_lpddr4
@ jsl_lpddr4
Definition:
variants.h:12
get_board_id
static uint8_t get_board_id(void)
Definition:
boardid.c:14
board_cfg
static const struct mb_cfg board_cfg
Definition:
romstage.c:8
uint8_t
unsigned char uint8_t
Definition:
stdint.h:8
mb_cfg
Definition:
meminit.h:71
spd_info
Definition:
spd.h:11
spd_info::spd_spec
union spd_info::spd_data_by spd_spec
spd_info::read_type
enum mem_info_read_type read_type
Definition:
cnl_memcfg_init.h:41
board_id.h
spd_info::spd_data_by::spd_index
int spd_index
Definition:
cnl_memcfg_init.h:47
spd_info::spd_data_by::spd_smbus_address
uint8_t spd_smbus_address
Definition:
cnl_memcfg_init.h:44
src
mainboard
intel
jasperlake_rvp
romstage_fsp_params.c
Generated by
1.9.1