diff options
author | Evan Lojewski <github@meklort.com> | 2019-01-29 09:18:53 -0600 |
---|---|---|
committer | Christian R. Geddes <crgeddes@us.ibm.com> | 2019-02-13 20:03:38 -0600 |
commit | febbe519b1fc754554b6d94cf4e7b17548c32fe9 (patch) | |
tree | 1e9e6d5a6558482f36ce16ce9309707c66bc70aa /src/import | |
parent | 7a82f47fd3bafc6c27f2c86fc46fd6cb62cbdab0 (diff) | |
download | talos-hostboot-febbe519b1fc754554b6d94cf4e7b17548c32fe9.tar.gz talos-hostboot-febbe519b1fc754554b6d94cf4e7b17548c32fe9.zip |
Update to allow DDR4-SORDIMM modules to be used [3].
Add support for the module type in the SPD parser.
This change has been tested with the VR9FR2G7228JBKSBD4 module
from Viking Technologies: 2666MHz DDR4-SORDIMM, rank 2, 16GB
Note- Above mentioned module need an additional patch due to an
unexpected SPD manufacturer being detected.
Change-Id: Iaf8d78579381c48cbe6b735d02dd624855d0e57e
Signed-off-by: Evan Lojewski <github@meklort.com>
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/71055
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com>
Diffstat (limited to 'src/import')
4 files changed, 13 insertions, 1 deletions
diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/spd/spd_factory.C b/src/import/chips/p9/procedures/hwp/memory/lib/spd/spd_factory.C index 70904130f..be8343c71 100644 --- a/src/import/chips/p9/procedures/hwp/memory/lib/spd/spd_factory.C +++ b/src/import/chips/p9/procedures/hwp/memory/lib/spd/spd_factory.C @@ -5,7 +5,8 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2016,2018 */ +/* Contributors Listed Below - COPYRIGHT 2016,2019 */ +/* [+] Evan Lojewski */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -97,6 +98,8 @@ fapi2::ReturnCode raw_card_factory(const fapi2::Target<TARGET_TYPE_DIMM>& i_targ switch(l_dimm_type) { case RDIMM: + case SORDIMM: + case MINIRDIMM: // TODO:RTC178807 - Update how NVDIMMs are handled once more are up and running in the lab // NVDIMM is currently considered differently than all other rdimm raw cards, due to settings differences diff --git a/src/import/generic/memory/lib/spd/spd_checker.H b/src/import/generic/memory/lib/spd/spd_checker.H index cb4eb371a..0b2a33076 100644 --- a/src/import/generic/memory/lib/spd/spd_checker.H +++ b/src/import/generic/memory/lib/spd/spd_checker.H @@ -6,6 +6,7 @@ /* OpenPOWER HostBoot Project */ /* */ /* Contributors Listed Below - COPYRIGHT 2017 */ +/* [+] Evan Lojewski */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -186,6 +187,8 @@ static inline bool is_dimm_type_valid(const uint8_t i_dimm_type) case RDIMM: case LRDIMM: case DDIMM: + case SORDIMM: + case MINIRDIMM: l_result = true; break; diff --git a/src/import/generic/memory/lib/spd/spd_factory_pattern.C b/src/import/generic/memory/lib/spd/spd_factory_pattern.C index cb934265d..3127af5a7 100644 --- a/src/import/generic/memory/lib/spd/spd_factory_pattern.C +++ b/src/import/generic/memory/lib/spd/spd_factory_pattern.C @@ -6,6 +6,7 @@ /* OpenPOWER HostBoot Project */ /* */ /* Contributors Listed Below - COPYRIGHT 2018 */ +/* [+] Evan Lojewski */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -295,6 +296,8 @@ fapi2::ReturnCode factories::dimm_module_select_param(parameters& o_param) const switch(iv_dimm_type) { case RDIMM: + case SORDIMM: + case MINIRDIMM: o_param = RDIMM_MODULE; break; diff --git a/src/import/generic/memory/lib/utils/shared/mss_generic_consts.H b/src/import/generic/memory/lib/utils/shared/mss_generic_consts.H index d017933bb..ae4f9c2fc 100644 --- a/src/import/generic/memory/lib/utils/shared/mss_generic_consts.H +++ b/src/import/generic/memory/lib/utils/shared/mss_generic_consts.H @@ -6,6 +6,7 @@ /* OpenPOWER HostBoot Project */ /* */ /* Contributors Listed Below - COPYRIGHT 2018 */ +/* [+] Evan Lojewski */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -241,6 +242,8 @@ enum dimm_type RDIMM = 0b0001, LRDIMM = 0b0100, DDIMM = 0b1010, + SORDIMM = 0b1000, + MINIRDIMM = 0b0101, }; enum guard_band : uint16_t |