diff --git a/eeprom-device/pt5161l/pt5161l.cpp b/eeprom-device/pt5161l/pt5161l.cpp
new file mode 100644
index 0000000..2406862
--- /dev/null
+++ b/eeprom-device/pt5161l/pt5161l.cpp
@@ -0,0 +1,46 @@
+#include "pt5161l.hpp"
+
+#include <phosphor-logging/lg2.hpp>
+
+#include <algorithm>
+#include <fstream>
+#include <iomanip>
+#include <sstream>
+
+PHOSPHOR_LOG2_USING;
+
+std::string PT5161LDeviceVersion::getVersion()
+{
+    std::string version;
+    std::ostringstream busOss;
+    std::ostringstream addrOss;
+
+    busOss << std::setw(2) << std::setfill('0') << static_cast<int>(bus);
+    addrOss << std::setw(4) << std::setfill('0') << std::hex << std::nouppercase
+            << static_cast<int>(address);
+
+    // The PT5161L driver exposes the firmware version through the fw_ver node
+    std::string path = "/sys/kernel/debug/pt5161l/" + busOss.str() + "-" +
+                       addrOss.str() + "/fw_ver";
+
+    std::ifstream file(path);
+    if (!file)
+    {
+        error("Failed to get version: unable to open file: {PATH}", "PATH",
+              path);
+        return version;
+    }
+
+    if (!std::getline(file, version) || version.empty())
+    {
+        error("Failed to read version from file: {PATH}", "PATH", path);
+    }
+
+    return version;
+}
+
+std::optional<HostPowerInf::HostState>
+    PT5161LDeviceVersion::getHostStateToQueryVersion()
+{
+    return HostPowerInf::HostState::Running;
+}
