soc/intel: Add node_num to dimm_info struct + adjust dimm_info_fill

The dimm_info structure (defined in src/include/memory_info.h)
currently does not hold information about the DIMM's
node/controller ID.

This patch extends the dimm_info structure by adding a new field for
the node ID, called node_num. Also, adapt the dimm_info_fill()
function accordingly to populate the newly-added field.

Background: These changes are necessary for the Atlas mainboard, where
we are currently experiencing issues with the DIMMs device/bank
locator. Our 2 DIMMs share the same CHANNEL and DIMM ID but have a
distinct NODE ID. By looking at the smbios table we see
Channel-0-DIMM-0 for both DIMMs. Thus, we need their NODE IDs in order
to distinguish them.

This patch was tested by building and booting for the Alderlake-P
RVP board, which has the same DIMM slot configuration as the
Prodrive Atlas mainboard.

Signed-off-by: David Milosevic <David.Milosevic@9elements.com>
Change-Id: I6ffa5bdff0ba0e3c4a4a51f2419291fd1278cd68
Reviewed-on: https://review.coreboot.org/c/coreboot/+/68525
Reviewed-by: Jonathan Zhang <jonzhang@fb.com>
Reviewed-by: Lean Sheng Tan <sheng.tan@9elements.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
David Milosevic
2022-10-18 19:17:19 +02:00
committed by Felix Held
parent 6943fc769c
commit 6be82a4cd8
14 changed files with 35 additions and 12 deletions

View File

@@ -33,7 +33,17 @@ struct dimm_info {
*/
uint16_t ddr_frequency;
uint8_t rank_per_dimm;
/*
* Memory-Controller-ID
*/
uint8_t ctrlr_num;
/*
* Channel-ID
*/
uint8_t channel_num;
/*
* DIMM-ID
*/
uint8_t dimm_num;
uint8_t bank_locator;
/*