summaryrefslogtreecommitdiffstats
path: root/src/include/usr
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/usr')
-rw-r--r--src/include/usr/isteps/istep20list.H5
-rw-r--r--src/include/usr/isteps/nvdimm/nvdimm.H15
-rw-r--r--src/include/usr/isteps/nvdimm/nvdimmreasoncodes.H2
-rw-r--r--src/include/usr/util/utillidmgr.H8
-rw-r--r--src/include/usr/vpd/spdenums.H6
5 files changed, 32 insertions, 4 deletions
diff --git a/src/include/usr/isteps/istep20list.H b/src/include/usr/isteps/istep20list.H
index a12f9bdea..117ff4606 100644
--- a/src/include/usr/isteps/istep20list.H
+++ b/src/include/usr/isteps/istep20list.H
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2012,2017 */
+/* Contributors Listed Below - COPYRIGHT 2012,2019 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -92,6 +92,9 @@ const DepModInfo g_istep20Dependancies = {
DEP_LIB(libistep20.so),
DEP_LIB(libxz.so),
DEP_LIB(libruntime.so),
+#ifdef CONFIG_NVDIMM
+ DEP_LIB(libnvdimm.so),
+#endif
NULL
}
};
diff --git a/src/include/usr/isteps/nvdimm/nvdimm.H b/src/include/usr/isteps/nvdimm/nvdimm.H
index 6f6b46541..567299925 100644
--- a/src/include/usr/isteps/nvdimm/nvdimm.H
+++ b/src/include/usr/isteps/nvdimm/nvdimm.H
@@ -54,6 +54,21 @@ enum nvdimm_err_status
*
**/
void nvdimm_restore(TARGETING::TargetHandleList &i_nvdimmList);
+
+
+/**
+ * @brief Entry function for updating NV controller code on the NVDIMMs
+ * Each nvdimm will be checked for a possible update. The update
+ * will be performed if the dimm is a known type and its version level
+ * does not match its corresponding lid's version level.
+ *
+ * @param[in] i_nvdimmList - list of nvdimm targets
+ *
+ * @return true if no errors were logged, else false
+ *
+ **/
+bool nvdimm_update(TARGETING::TargetHandleList &i_nvdimmList);
+
#endif
diff --git a/src/include/usr/isteps/nvdimm/nvdimmreasoncodes.H b/src/include/usr/isteps/nvdimm/nvdimmreasoncodes.H
index 0b48e94a0..f0da5af87 100644
--- a/src/include/usr/isteps/nvdimm/nvdimmreasoncodes.H
+++ b/src/include/usr/isteps/nvdimm/nvdimmreasoncodes.H
@@ -73,6 +73,7 @@ enum nvdimmModuleId
NVDIMM_ARM_ERASE = 0x17,
NVDIMM_CHECK_READY = 0x18,
NOTIFY_NVDIMM_PROTECTION_CHG = 0x19,
+ NVDIMM_RUN_UPDATE = 0x1A,
};
/**
@@ -112,6 +113,7 @@ enum nvdimmReasonCode
NVDIMM_RESTORE_FAILED = NVDIMM_COMP_ID | 0x1A, // Failure to restore
NVDIMM_NOT_READY = NVDIMM_COMP_ID | 0x1B, // NVDIMM not ready for host to access
NVDIMM_NULL_FIRMWARE_REQUEST_PTR = NVDIMM_COMP_ID | 0x1C, // Firmware request is NULL
+ NVDIMM_UNSUPPORTED_NVDIMM_TYPE = NVDIMM_COMP_ID | 0x1D, // Unsupported NVDIMM type for update
};
enum UserDetailsTypes
diff --git a/src/include/usr/util/utillidmgr.H b/src/include/usr/util/utillidmgr.H
index 29e317233..abd77a81f 100644
--- a/src/include/usr/util/utillidmgr.H
+++ b/src/include/usr/util/utillidmgr.H
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2013,2018 */
+/* Contributors Listed Below - COPYRIGHT 2013,2019 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -61,6 +61,12 @@ enum LidId
HCODE_CONTAINER_LIDID = 0x80d0000c,
HWREFIMG_RINGOVD_LIDID = 0x81e00620,
TARGETING_BINARY_LIDID = 0x81e00630,
+
+ // two lids for 16GB and 32GB NVDIMMs
+ // @todo RTC 201197 - update when valid lids are created
+ NVDIMM_16GB_LIDID = 0xBADBAD16,
+ NVDIMM_32GB_LIDID = 0xBADBAD32,
+
INVALID_LIDID = 0xFFFFFFFF
};
diff --git a/src/include/usr/vpd/spdenums.H b/src/include/usr/vpd/spdenums.H
index bd6418d5e..fd3df0aea 100644
--- a/src/include/usr/vpd/spdenums.H
+++ b/src/include/usr/vpd/spdenums.H
@@ -143,7 +143,9 @@ enum
DRAM_STEPPING = SPD_FIRST_NORM_KEYWORD | 0x57,
MANUFACTURING_SECTION_CRC = SPD_FIRST_NORM_KEYWORD | 0x58,
NVM_INIT_TIME = SPD_FIRST_NORM_KEYWORD | 0x59,
- SPD_LAST_NORM_KEYWORD = SPD_FIRST_NORM_KEYWORD | 0x59,
+ RAW_MODULE_PRODUCT_ID = SPD_FIRST_NORM_KEYWORD | 0x5a,
+ RAW_MODULE_MANUFACTURER_ID = SPD_FIRST_NORM_KEYWORD | 0x5b,
+ SPD_LAST_NORM_KEYWORD = SPD_FIRST_NORM_KEYWORD | 0x5b,
// ==============================================================
// Module Specific Keywords (Available for both DDR3 and DDR4 DIMMs)
@@ -343,7 +345,7 @@ enum
};
enum
-{
+{
// These are LRDIMM values for Module Type attribute
// according to ver3 and ver4 JEDEC specs
JEDEC_VER3_LRDIMM_VAL = 0x0b,
OpenPOWER on IntegriCloud