summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVikram Bodireddy <vikram.bodireddy@linux.intel.com>2019-12-05 08:36:15 +0300
committerBodireddy, Vikram <vikram.bodireddy@intel.com>2019-12-06 05:15:56 +0300
commit9b55d31625a882879d584e05ad28d727d9aa2d2f (patch)
tree812a74666c3c39de301647951274d74127edd2f9
parent77a2b54064f846c45679bd36f9047e4ee1a64a13 (diff)
downloadprovingground-9b55d31625a882879d584e05ad28d727d9aa2d2f.tar.xz
Add CPLD recovery image support
Support added to expose the CPLD recovery image inventory details. Tested: Verified that CPLD recovery inventory object is exposed in Redfish Software inventory query. Change-Id: Ifd92e31f7c940647c7cb2cfb353ec58220032545 Signed-off-by: Vikram Bodireddy <vikram.bodireddy@linux.intel.com>
-rw-r--r--intel-pfr-manager/libpfr/inc/pfr.hpp3
-rw-r--r--intel-pfr-manager/libpfr/src/pfr.cpp4
-rw-r--r--intel-pfr-manager/service/src/mainapp.cpp6
-rw-r--r--intel-pfr-manager/service/src/pfr_mgr.cpp3
4 files changed, 12 insertions, 4 deletions
diff --git a/intel-pfr-manager/libpfr/inc/pfr.hpp b/intel-pfr-manager/libpfr/inc/pfr.hpp
index 542cb51..8bf3082 100644
--- a/intel-pfr-manager/libpfr/inc/pfr.hpp
+++ b/intel-pfr-manager/libpfr/inc/pfr.hpp
@@ -24,7 +24,8 @@ namespace pfr
enum class ImageType
{
- cpld,
+ cpldActive,
+ cpldRecovery,
biosActive,
biosRecovery,
bmcActive,
diff --git a/intel-pfr-manager/libpfr/src/pfr.cpp b/intel-pfr-manager/libpfr/src/pfr.cpp
index 5e43d48..a5316ba 100644
--- a/intel-pfr-manager/libpfr/src/pfr.cpp
+++ b/intel-pfr-manager/libpfr/src/pfr.cpp
@@ -155,8 +155,10 @@ std::string getFirmwareVersion(const ImageType& imgType)
{
switch (imgType)
{
- case (ImageType::cpld):
+ case (ImageType::cpldActive):
+ case (ImageType::cpldRecovery):
{
+ // TO-DO: Need to update once CPLD supported Firmware is available
return readVersionFromCPLD(cpldROTVersion, cpldROTSvn);
}
case (ImageType::biosActive):
diff --git a/intel-pfr-manager/service/src/mainapp.cpp b/intel-pfr-manager/service/src/mainapp.cpp
index 761b25e..c92a5d0 100644
--- a/intel-pfr-manager/service/src/mainapp.cpp
+++ b/intel-pfr-manager/service/src/mainapp.cpp
@@ -50,7 +50,11 @@ static std::vector<std::tuple<std::string, ImageType, std::string>>
versionPurposeHost),
std::make_tuple("bios_recovery", ImageType::biosRecovery,
versionPurposeHost),
- std::make_tuple("cpld", ImageType::cpld, versionPurposeOther)};
+ std::make_tuple("cpld_active", ImageType::cpldActive,
+ versionPurposeOther),
+ std::make_tuple("cpld_recovery", ImageType::cpldRecovery,
+ versionPurposeOther),
+};
// Recovery reason map.
// {<CPLD association>,{<Redfish MessageID>, <Recovery Reason>}}
diff --git a/intel-pfr-manager/service/src/pfr_mgr.cpp b/intel-pfr-manager/service/src/pfr_mgr.cpp
index 318abe2..ed97fd2 100644
--- a/intel-pfr-manager/service/src/pfr_mgr.cpp
+++ b/intel-pfr-manager/service/src/pfr_mgr.cpp
@@ -61,7 +61,8 @@ PfrVersion::PfrVersion(sdbusplus::asio::object_server &srv_,
* "RequestedActivation" to None. */
std::string activation =
(imgType == ImageType::bmcRecovery ||
- imgType == ImageType::biosRecovery)
+ imgType == ImageType::biosRecovery ||
+ imgType == ImageType::cpldRecovery)
? "xyz.openbmc_project.Software.Activation.Activations.StandbySpare"
: "xyz.openbmc_project.Software.Activation.Activations.Active";
std::string reqActNone =