Add initial support for eMMC layout
Initial commit to add an mmc layout option to update eMMC chips.
Tested: Compiled with each of the three supported options:
'meson build -Dbmc-layout=<option>' and verified a build/<option>
subdir was created.
Change-Id: Idfc9c7f0380daff2d865663dacba23c919386d4f
Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
diff --git a/meson.build b/meson.build
index cd4dd16..918e58b 100644
--- a/meson.build
+++ b/meson.build
@@ -104,9 +104,10 @@
if get_option('bmc-layout').contains('static')
subdir('static')
-endif
-if get_option('bmc-layout').contains('ubi')
+elif get_option('bmc-layout').contains('ubi')
subdir('ubi')
+elif get_option('bmc-layout').contains('mmc')
+ subdir('mmc')
endif
if get_option('host-bios-upgrade').enabled()
diff --git a/meson_options.txt b/meson_options.txt
index 11e9429..c9b7b33 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -2,8 +2,9 @@
# https://github.com/openbmc/docs/blob/master/code-update/flash-layout.md#supported-filesystem-choices
# - static: NOR flash configured with fixed-sized MTD partitions.
# - ubi: NOR flash device configured with UBI volumes.
+# - mmc: eMMC flash device configured with ext4 filesystems.
option('bmc-layout', type: 'combo',
- choices: ['static', 'ubi'],
+ choices: ['static', 'ubi', 'mmc'],
value: 'static',
description: 'The BMC layout type.')
diff --git a/mmc/flash.cpp b/mmc/flash.cpp
new file mode 100644
index 0000000..afaadfb
--- /dev/null
+++ b/mmc/flash.cpp
@@ -0,0 +1,24 @@
+#include "flash.hpp"
+
+#include "activation.hpp"
+
+namespace phosphor
+{
+namespace software
+{
+namespace updater
+{
+
+void Activation::flashWrite()
+{
+ // Empty
+}
+
+void Activation::onStateChanges(sdbusplus::message::message& /*msg*/)
+{
+ // Empty
+}
+
+} // namespace updater
+} // namespace software
+} // namespace phosphor
diff --git a/mmc/item_updater_helper.cpp b/mmc/item_updater_helper.cpp
new file mode 100644
index 0000000..8ef5749
--- /dev/null
+++ b/mmc/item_updater_helper.cpp
@@ -0,0 +1,47 @@
+#include "item_updater_helper.hpp"
+
+namespace phosphor
+{
+namespace software
+{
+namespace updater
+{
+
+void Helper::setEntry(const std::string& /* entryId */, uint8_t /* value */)
+{
+ // Empty
+}
+
+void Helper::clearEntry(const std::string& /* entryId */)
+{
+ // Empty
+}
+
+void Helper::cleanup()
+{
+ // Empty
+}
+
+void Helper::factoryReset()
+{
+ // Empty
+}
+
+void Helper::removeVersion(const std::string& /* versionId */)
+{
+ // Empty
+}
+
+void Helper::updateUbootVersionId(const std::string& /* versionId */)
+{
+ // Empty
+}
+
+void Helper::mirrorAlt()
+{
+ // Empty
+}
+
+} // namespace updater
+} // namespace software
+} // namespace phosphor
diff --git a/mmc/meson.build b/mmc/meson.build
new file mode 100644
index 0000000..5045dee
--- /dev/null
+++ b/mmc/meson.build
@@ -0,0 +1,4 @@
+image_updater_sources += files(
+ 'flash.cpp',
+ 'item_updater_helper.cpp'
+)