From 822fea83d0ca1c81ea859f4cf4a5dc9a1c2f8418 Mon Sep 17 00:00:00 2001 From: Mark Pizzutillo Date: Fri, 27 Sep 2019 14:38:17 -0400 Subject: [PATCH] Add MDS attribute & draminit support Change-Id: I0496a52f5c7dd72779ed097c26fc8b305a9e00b0 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/84431 Tested-by: FSP CI Jenkins Tested-by: Jenkins Server Tested-by: HWSV CI Tested-by: Hostboot CI Reviewed-by: STEPHEN GLANCY Reviewed-by: Louis Stermole Reviewed-by: Jennifer A Stofer Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/84454 Tested-by: Jenkins OP Build CI Reviewed-by: Daniel M Crowell --- .../explorer/common/include/exp_data_structs.H | 4 +++- .../hwp/memory/lib/exp_draminit_utils.H | 17 +++++++++++++---- .../generic_memory_eff_attributes.xml | 2 +- 3 files changed, 17 insertions(+), 6 deletions(-) diff --git a/src/import/chips/ocmb/explorer/common/include/exp_data_structs.H b/src/import/chips/ocmb/explorer/common/include/exp_data_structs.H index 206a847e33c..dbd1c8d75bb 100644 --- a/src/import/chips/ocmb/explorer/common/include/exp_data_structs.H +++ b/src/import/chips/ocmb/explorer/common/include/exp_data_structs.H @@ -124,7 +124,9 @@ typedef struct __attribute__((packed)) user_input_msdg // Choose the Dimm type from one of below: // 0 = UDIMM // 1 = RDIMM - // 2 = LRDIMM + // 2 = LRDIMM (invalid for explorer) + // 3 = MDS-LRDIMM + // 4 = MDS uint16_t DimmType; // Indicates presence of DRAM at each chip select for PHY. Each diff --git a/src/import/chips/ocmb/explorer/procedures/hwp/memory/lib/exp_draminit_utils.H b/src/import/chips/ocmb/explorer/procedures/hwp/memory/lib/exp_draminit_utils.H index ba37f9abc3b..80c4f359e83 100644 --- a/src/import/chips/ocmb/explorer/procedures/hwp/memory/lib/exp_draminit_utils.H +++ b/src/import/chips/ocmb/explorer/procedures/hwp/memory/lib/exp_draminit_utils.H @@ -58,10 +58,11 @@ namespace exp /// enum msdg_dimm_types { - MSDG_UDIMM = 0x0000, - MSDG_RDIMM = 0x0001, - MSDG_LRDIMM = 0x0002, - MSDG_DDIMM = 0x0003, + MSDG_UDIMM = 0x0000, + MSDG_RDIMM = 0x0001, + MSDG_LRDIMM = 0x0002, + MSDG_MDS_LRDIMM = 0x0003, + MSDG_MDS = 0x0004 }; /// @@ -441,6 +442,14 @@ class phy_params io_phy_params.DimmType = MSDG_LRDIMM; break; + case fapi2::ENUM_ATTR_MEM_EFF_DIMM_TYPE_MDS_LRDIMM: + io_phy_params.DimmType = MSDG_MDS_LRDIMM; + break; + + case fapi2::ENUM_ATTR_MEM_EFF_DIMM_TYPE_MDS: + io_phy_params.DimmType = MSDG_MDS; + break; + default: const auto& l_ocmb = mss::find_target(iv_target); FAPI_ASSERT(false, diff --git a/src/import/generic/procedures/xml/attribute_info/generic_memory_eff_attributes.xml b/src/import/generic/procedures/xml/attribute_info/generic_memory_eff_attributes.xml index 850f449d734..d434b72b2dc 100644 --- a/src/import/generic/procedures/xml/attribute_info/generic_memory_eff_attributes.xml +++ b/src/import/generic/procedures/xml/attribute_info/generic_memory_eff_attributes.xml @@ -64,7 +64,7 @@ uint8 - EMPTY = 0, RDIMM = 1, UDIMM = 2, LRDIMM = 3, DDIMM = 4 + EMPTY = 0, RDIMM = 1, UDIMM = 2, LRDIMM = 3, DDIMM = 4, MDS_LRDIMM = 5, MDS = 6 2 dimm_type