Furquan Shaikh has submitted this change. ( https://review.coreboot.org/c/coreboot/+/39866 )
Change subject: soc/intel/tigerlake: Add macros and SPD information for DDR4 ......................................................................
soc/intel/tigerlake: Add macros and SPD information for DDR4
This change adds new memory topologies (SODIMM, MIXED) that are supported by DDR4 and macros required for DDR4 support.
Memory initialization support for DDR4 will be added in a follow-up change.
Signed-off-by: Furquan Shaikh furquan@google.com Change-Id: I4b565c3d71bbf437da64ac29597cc19e58f1b98a Reviewed-on: https://review.coreboot.org/c/coreboot/+/39866 Tested-by: build bot (Jenkins) no-reply@coreboot.org Reviewed-by: EricR Lai ericr_lai@compal.corp-partner.google.com --- M src/soc/intel/tigerlake/include/soc/meminit.h 1 file changed, 16 insertions(+), 0 deletions(-)
Approvals: build bot (Jenkins): Verified EricR Lai: Looks good to me, approved
diff --git a/src/soc/intel/tigerlake/include/soc/meminit.h b/src/soc/intel/tigerlake/include/soc/meminit.h index aab155e..a2fb3f4 100644 --- a/src/soc/intel/tigerlake/include/soc/meminit.h +++ b/src/soc/intel/tigerlake/include/soc/meminit.h @@ -17,8 +17,13 @@ #define LPDDR4X_CHANNELS 8 #define LPDDR4X_BYTES_PER_CHANNEL 2
+#define DDR4_CHANNELS 2 +#define DDR4_BYTES_PER_CHANNEL 8 + enum mem_topology { MEMORY_DOWN, /* Supports reading SPD from CBFS or in-memory pointer. */ + SODIMM, /* Supports reading SPD using SMBus (only for DDR4). */ + MIXED, /* CH0 = MD, CH1 = SODIMM (only for DDR4). */ };
enum md_spd_loc { @@ -43,6 +48,17 @@ size_t data_len; }; }; + + /* + * SPD info for SODIMM topology. + * Leave addr_dimmN as 0 for any DIMMs that are not populated. + */ + struct { + /* SMBus address for DIMM0 within the channel. */ + uint8_t addr_dimm0; + /* SMBus address for DIMM1 within the channel. */ + uint8_t addr_dimm1; + } smbus_info[DDR4_CHANNELS]; };
/* Board-specific memory configuration information */