firmware: add read/write configuration methods

A data handler may require the host-side client to read or write
configuration information.  Therefore, implement a method for
controlling this in the data handler object.

Change-Id: Id7f8ff54d90cece2e8751773a8696638c2a2ea77
Signed-off-by: Patrick Venture <venture@google.com>
diff --git a/lpc_handler.hpp b/lpc_handler.hpp
index 903cf26..27f0e03 100644
--- a/lpc_handler.hpp
+++ b/lpc_handler.hpp
@@ -8,13 +8,27 @@
 namespace blobs
 {
 
+struct LpcRegion
+{
+    /* Host LPC address where the chunk is to be mapped. */
+    std::uint32_t address;
+
+    /* Size of the chunk to be mapped. */
+    std::uint32_t length;
+} __attribute__((packed));
+
+/**
+ * Data Handler for configuration the ASPEED LPC memory region, reading and
+ * writing data.
+ */
 class LpcDataHandler : public DataInterface
 {
-
   public:
     LpcDataHandler() = default;
 
     std::vector<std::uint8_t> copyFrom(std::uint32_t length) override;
+    bool write(const std::vector<std::uint8_t>& configuration) override;
+    std::vector<std::uint8_t> read() override;
 };
 
 } // namespace blobs