mb/intel/adlrvp: Add new upd setting for ADL RVP with Raptor Lake
Currently, ADL FSP headers and RPL FSP headers differ. Set a RPL only upd for adlrvp with Raptor Lake silicon. This code can be removed once ADL and RPL start using the same FSP. BUG=b:229134437 BRANCH=firmware-brya-14505.B TEST=build adlrvp_rpl_ext_ec Signed-off-by: Bora Guvendik <bora.guvendik@intel.com> Change-Id: I4e69323949233aa8c325a757b28b9d80cbdf4322 Reviewed-on: https://review.coreboot.org/c/coreboot/+/64738 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Nick Vaccaro <nvaccaro@google.com>
This commit is contained in:
committed by
Felix Held
parent
39c0e15731
commit
91bc6d1da7
@@ -21,6 +21,9 @@ romstage-$(CONFIG_CHROMEOS) += chromeos.c
|
|||||||
romstage-y += romstage_fsp_params.c
|
romstage-y += romstage_fsp_params.c
|
||||||
romstage-y += board_id.c
|
romstage-y += board_id.c
|
||||||
romstage-y += memory.c
|
romstage-y += memory.c
|
||||||
|
ifeq ($(CONFIG_BOARD_INTEL_ADLRVP_RPL_EXT_EC),y)
|
||||||
|
romstage-y += memory_rpl.c
|
||||||
|
endif
|
||||||
|
|
||||||
ramstage-$(CONFIG_CHROMEOS) += chromeos.c
|
ramstage-$(CONFIG_CHROMEOS) += chromeos.c
|
||||||
ramstage-y += ec.c
|
ramstage-y += ec.c
|
||||||
|
@@ -33,6 +33,7 @@ void variant_configure_early_gpio_pads(void);
|
|||||||
|
|
||||||
size_t variant_memory_sku(void);
|
size_t variant_memory_sku(void);
|
||||||
const struct mb_cfg *variant_memory_params(void);
|
const struct mb_cfg *variant_memory_params(void);
|
||||||
|
void rpl_memory_params(FSPM_UPD *memupd);
|
||||||
|
|
||||||
/* Modify devictree settings during ramstage */
|
/* Modify devictree settings during ramstage */
|
||||||
void variant_devtree_update(void);
|
void variant_devtree_update(void);
|
||||||
|
28
src/mainboard/intel/adlrvp/memory_rpl.c
Normal file
28
src/mainboard/intel/adlrvp/memory_rpl.c
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||||
|
|
||||||
|
#include <baseboard/variants.h>
|
||||||
|
#include <soc/romstage.h>
|
||||||
|
|
||||||
|
#include "board_id.h"
|
||||||
|
|
||||||
|
void rpl_memory_params(FSPM_UPD *memupd)
|
||||||
|
{
|
||||||
|
FSP_M_CONFIG *mem_cfg = &memupd->FspmConfig;
|
||||||
|
|
||||||
|
int board_id = get_board_id();
|
||||||
|
|
||||||
|
switch (board_id) {
|
||||||
|
case ADL_P_LP4_1:
|
||||||
|
case ADL_P_LP4_2:
|
||||||
|
case ADL_P_DDR4_1:
|
||||||
|
case ADL_P_DDR4_2:
|
||||||
|
case ADL_P_DDR5_1:
|
||||||
|
case ADL_P_DDR5_2:
|
||||||
|
return;
|
||||||
|
case ADL_P_LP5_1:
|
||||||
|
case ADL_P_LP5_2:
|
||||||
|
mem_cfg->Lp5BankMode = 1;
|
||||||
|
return;
|
||||||
|
default:
|
||||||
|
}
|
||||||
|
}
|
@@ -42,12 +42,22 @@ static void configure_external_clksrc(FSP_M_CONFIG *m_cfg)
|
|||||||
m_cfg->PcieClkSrcUsage[i] = CONFIG_CLKSRC_FOR_EXTERNAL_BUFFER;
|
m_cfg->PcieClkSrcUsage[i] = CONFIG_CLKSRC_FOR_EXTERNAL_BUFFER;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
__weak void rpl_memory_params(FSPM_UPD *memupd)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
void mainboard_memory_init_params(FSPM_UPD *memupd)
|
void mainboard_memory_init_params(FSPM_UPD *memupd)
|
||||||
{
|
{
|
||||||
FSP_M_CONFIG *m_cfg = &memupd->FspmConfig;
|
FSP_M_CONFIG *m_cfg = &memupd->FspmConfig;
|
||||||
const struct mb_cfg *mem_config = variant_memory_params();
|
const struct mb_cfg *mem_config = variant_memory_params();
|
||||||
int board_id = get_board_id();
|
int board_id = get_board_id();
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Set Raptor Lake specific new upds that Alder Lake doesn't have.
|
||||||
|
* This can be removed when Alder Lake and Raptor Lake FSP headers align.
|
||||||
|
*/
|
||||||
|
rpl_memory_params(memupd);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Alder Lake common meminit block driver considers bus width to be 128-bit and
|
* Alder Lake common meminit block driver considers bus width to be 128-bit and
|
||||||
* populates the meminit data accordingly. Alder Lake-N has single memory controller
|
* populates the meminit data accordingly. Alder Lake-N has single memory controller
|
||||||
|
Reference in New Issue
Block a user