diff options
author | Patrick Venture <venture@google.com> | 2019-01-15 09:20:23 -0800 |
---|---|---|
committer | Gunnar Mills <gmills@us.ibm.com> | 2019-01-25 14:21:52 +0000 |
commit | 1b56459b545bb860321da9a70db275cde2eb3850 (patch) | |
tree | f6085441cb5a9c349c5b6e9e11b85faabf5ac547 | |
parent | 64e272ddb59ff3cfca15801fec71c970d2fb36ae (diff) | |
download | openbmc-docs-1b56459b545bb860321da9a70db275cde2eb3850.tar.gz openbmc-docs-1b56459b545bb860321da9a70db275cde2eb3850.zip |
designs: firmware_update_via_blobs: add configuration details
Add the details on how one has to configure a platform to use it.
Although these details are less about the design, they are becoming
relevant.
Change-Id: I11ee48dc768aa424fe6fb5886e030ee172a5c8de
Signed-off-by: Patrick Venture <venture@google.com>
-rw-r--r-- | designs/firmware_update_via_blobs.md | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/designs/firmware_update_via_blobs.md b/designs/firmware_update_via_blobs.md index d587d61..4ef91ef 100644 --- a/designs/firmware_update_via_blobs.md +++ b/designs/firmware_update_via_blobs.md @@ -425,3 +425,59 @@ BMC without user intervention. A required functional test is one whereby an image is sent down to the BMC with a valid signature. The expected result is that the verification step will return success. + +## 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 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. + |