diff --git a/cpld/cpld.hpp b/cpld/cpld.hpp
new file mode 100644
index 0000000..a6bf18b
--- /dev/null
+++ b/cpld/cpld.hpp
@@ -0,0 +1,39 @@
+#pragma once
+
+#include "common/include/device.hpp"
+#include "common/include/software_manager.hpp"
+#include "cpld_interface.hpp"
+
+#include <phosphor-logging/lg2.hpp>
+#include <sdbusplus/async/context.hpp>
+
+PHOSPHOR_LOG2_USING;
+
+namespace ManagerInf = phosphor::software::manager;
+
+namespace phosphor::software::cpld
+{
+
+class CPLDDevice : public Device
+{
+  public:
+    CPLDDevice(sdbusplus::async::context& ctx, const std::string& chiptype,
+               const std::string& chipname, const uint16_t& bus,
+               const uint8_t& address, SoftwareConfig& config,
+               ManagerInf::SoftwareManager* parent) :
+        Device(ctx, config, parent,
+               {RequestedApplyTimes::Immediate, RequestedApplyTimes::OnReset}),
+        cpldInterface(CPLDFactory::instance().create(chiptype, ctx, chipname,
+                                                     bus, address))
+    {}
+
+    using Device::softwareCurrent;
+    sdbusplus::async::task<bool> updateDevice(const uint8_t* image,
+                                              size_t image_size) final;
+    sdbusplus::async::task<bool> getVersion(std::string& version);
+
+  private:
+    std::unique_ptr<CPLDInterface> cpldInterface;
+};
+
+} // namespace phosphor::software::cpld
