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