diff --git a/README.md b/README.md
index 03f0da5..690e5ba 100644
--- a/README.md
+++ b/README.md
@@ -39,3 +39,66 @@
 is assumed to be the tarball contents and is written into `/tmp/{tarball_name}.gz`
 
 TODO: Flesh out the UBI approach.
+
+## Configuration
+
+To use `phosphor-ipmi-flash` a platform must provide a configuration.  A
+platform can configure multiple interfaces, such as both lpc and pci.  However,
+a platform should only configure either static layout updates, or ubi.  If
+enabling lpc, the platform must specify either aspeed or nuvoton.
+
+The following are the two primary configuration options, which control how the
+update is treated.
+
+Option                   | Meaning
+------------------------ | -------
+`--enable-static-layout` | Enable treating the update as a static layout update.
+`--enable-tarball-ubi`   | Enable treating the update as a tarball for UBI update.
+
+The following are configuration options for how the host and BMC are meant to
+transfer the data.  By default, the data-in-IPMI mechanism is enabled.
+
+There are two configurable data transport mechanisms, either staging the bytes
+via the LPC memory region, or the PCI-to-AHB memory region.  Because there is
+only one `MAPPED_ADDRESS` variable at present, a platform should only configure
+one.  The platform's device-tree may have the region locked to a specific
+driver (lpc-aspeed-ctrl), preventing the region from other use.
+
+***NOTE:*** It will likely be possible to configure both in the near future.
+
+Variable              | Default | Meaning
+--------------------- | ------- | -------
+`MAPPED_ADDRESS`      | 0       | The address used for mapping P2A or LPC into the BMC's memory-space.
+
+Option                | Meaning
+--------------------- | -------
+`--enable-pci-bridge` | Enable the PCI-to-AHB transport option.
+`--enable-lpc-bridge` | Enable the LPC-to-AHB transport option.
+
+If a platform enables p2a as the transport mechanism, a specific vendor must be
+selected via the following configuration option.  Currently, only one is
+supported.
+
+Option                 | Meaning
+-----------------------| -------
+`--enable-aspeed-p2a`  | Use with ASPEED parts.
+
+If a platform enables lpc as the transport mechanism, a specific vendor must be
+selected via the following configuration option.  Currently, only two are
+supported.
+
+Option                 | Meaning
+---------------------- | -------
+`--enable-aspeed-lpc`  | Use with ASPEED parts.
+`--enable-nuvoton-lpc` | Use with Nuvoton parts.
+
+### Internal Configuration Details
+
+The following variables can be set to whatever you wish, however they have
+usable default values.
+
+Variable                     | Default                    | Meaning
+---------------------------- | -------------------------- | -------------------------------------------------------------------------
+`STATIC_HANDLER_STAGED_NAME` | `/run/initramfs/bmc-image` | The filename where to write the staged firmware image for static updates.
+`TARBALL_STAGED_NAME`        | `/tmp/image-update.tar`    | The filename where to write the UBI update tarball.
+`HASH_FILENAME`              | `/tmp/bmc.sig`             | The file to use for the hash provided.
