PEL: Get BCD time from epoch milliseconds

Add a new BCD time conversion function which will be used in a future
commit to convert an OpenBMC event log timestamp into BCD time.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: I08f585d1663bf2d2f73d42b8716756d8c7e3559e
diff --git a/test/openpower-pels/bcd_time_test.cpp b/test/openpower-pels/bcd_time_test.cpp
index f1b7663..c8342a2 100644
--- a/test/openpower-pels/bcd_time_test.cpp
+++ b/test/openpower-pels/bcd_time_test.cpp
@@ -78,3 +78,13 @@
     EXPECT_EQ(timeInBCD.seconds, 0x42);
     EXPECT_EQ(timeInBCD.hundredths, 0x00);
 }
+
+TEST(BCDTimeTest, ConvertFromMSTest)
+{
+    auto now = std::chrono::system_clock::now();
+    uint64_t ms = std::chrono::duration_cast<std::chrono::milliseconds>(
+                      now.time_since_epoch())
+                      .count();
+
+    ASSERT_EQ(getBCDTime(now), getBCDTime(ms));
+}