PEL: API to convert FAPI based data to PEL format

API support to convert  processed SBE FFDC FAPI format packets
into PEL expected format.

This function is  ported from openpower-proc-control and
customised to make independent function.

Added pdbg and device tree libraries to support phal based
device tree support.

Tested: Manually verified.

Signed-off-by: Jayanth Othayoth <ojayanth@in.ibm.com>
Change-Id: I8afdb5861be6b129314621eea342bee5eaae82d7
diff --git a/extensions/openpower-pels/fapi_data_process.hpp b/extensions/openpower-pels/fapi_data_process.hpp
new file mode 100644
index 0000000..2da6e45
--- /dev/null
+++ b/extensions/openpower-pels/fapi_data_process.hpp
@@ -0,0 +1,34 @@
+#pragma once
+
+#include <libekb.H>
+
+#include <cstdarg>
+#include <nlohmann/json.hpp>
+
+namespace openpower
+{
+namespace pels
+{
+namespace phal
+{
+
+using json = nlohmann::json;
+using FFDCData = std::vector<std::pair<std::string, std::string>>;
+
+/**
+ * @brief Used to convert  processed SBE FFDC FAPI format packets into
+ *        PEL expected format.
+ *
+ * @param[out] pelJSONFmtCalloutDataList used to store collected callout
+ *             data into pel expected format
+ * @param[out] ffdcUserData used to store additional ffdc user data to
+ *             provided by the SBE FFDC packet.
+ *
+ * @return NULL
+ *
+ */
+void convertFAPItoPELformat(FFDC& ffdc, json& pelJSONFmtCalloutDataList,
+                            FFDCData& ffdcUserData);
+} // namespace phal
+} // namespace pels
+} // namespace openpower