phosphor-ipmi-flash: Aspeed LPC Tested

Patrick Venture venture at google.com
Thu Jun 27 05:54:44 AEST 2019


The following three out-of-band data mechanisms are tested and
supported by phosphor-ipmi-flash:
 aspeed-p2a-ctl (PCI-to-AHB)
 aspeed-lpc-ctl
 nuvoton LPC

Tested configurations:

All the configurations have the cleanup blob enabled via the default
PACKAGECONFIG in the recipe.

Configuration A:
This uses a static layout image, the lpc bridge, and aspeed.  Because
it's using the static layout, we enable the reboot-update*

EXTRA_OECONF_append_a = " --enable-static-layout"
EXTRA_OECONF_append_a = " --enable-lpc-bridge"
EXTRA_OECONF_append_a = " --enable-aspeed-lpc"
EXTRA_OECONF_append_a = " --enable-reboot-update"
EXTRA_OECONF_append_a = " MAPPED_ADDRESS=0x98000000"

The MAPPED_ADDRESS above is the region for lpc_ctrl in the device-tree.

Host-tool command**:
/tmp/phosphor_ipmi_flash_tool  \
  --command update \
  --interface ipmilpc \
  --image image-bmc \
  --sig image-bmc.sig \
  --type static \
  --address 0xfedc1000 \
  --length 0x1000
Sending over the firmware image.
sending writeMeta
writemeta sent
Sending over the hash file.
sending writeMeta
writemeta sent
Opening the verification file
Committing to /flash/verify to trigger service
Calling stat on /flash/verify session to check status
other
running
success
Returned success
succeeded
Opening the update file
Committing to /flash/update to trigger service
Calling stat on /flash/update session to check status
running
Opening the cleanup blob
Exception received: blob exception received: Received IPMI_CC: busy

Configuration B:
This uses a static layout image, the lpc bridge, and nuvoton.  Because
it's using the static layout, we enable the reboot-update*

EXTRA_OECONF_append_b = " --enable-static-layout"
EXTRA_OECONF_append_b = " --enable-lpc-bridge"
EXTRA_OECONF_append_b = " --enable-nuvoton-lpc"
EXTRA_OECONF_append_b = " --enable-reboot-update"
EXTRA_OECONF_append_b = " MAPPED_ADDRESS=0xc0008000"

Host-tool command**:

/tmp/phosphor_ipmi_flash_tool  \
  --command update \
  --interface ipmilpc \
  --image image-bmc \
  --sig image-bmc.sig \
  --type static \
  --address 0xfedc1000 \
  --length 0x1000
Sending over the firmware image.
sending writeMeta
writemeta sent
Sending over the hash file.
sending writeMeta
writemeta sent
Opening the verification file
Committing to /flash/verify to trigger service
Calling stat on /flash/verify session to check status
other
running
success
Returned success
succeeded
Opening the update file
Committing to /flash/update to trigger service
Calling stat on /flash/update session to check status
running
Opening the cleanup blob
Exception received: blob exception received: Received IPMI_CC: busy

Configuration C:
This uses a static layout image, the pci bridge, and aspeed.  Because
it's using the static layout, we enable the reboot-update*

EXTRA_OECONF_append_c = " --enable-static-layout"
EXTRA_OECONF_append_c = " --enable-pci-bridge"
EXTRA_OECONF_append_c = " --enable-aspeed-p2a"
EXTRA_OECONF_append_c = " --enable-reboot-update"
EXTRA_OECONF_append_c = " MAPPED_ADDRESS=0x47FF0000"

/tmp/phosphor_ipmi_flash_tool  \
  --command update \
  --interface ipmipci \
  --image image-bmc \
  --sig image-bmc.sig \
  --type static
Sending over the firmware image.
sending writeMeta
writemeta sent
Sending over the hash file.
sending writeMeta
writemeta sent
Opening the verification file
Committing to /flash/verify to trigger service
Calling stat on /flash/verify session to check status
other
running
success
Returned success
succeeded
Opening the update file
Committing to /flash/update to trigger service
Calling stat on /flash/update session to check status
running
Opening the cleanup blob
Exception received: blob exception received: Received IPMI_CC: busy

*I'm going to move this to a PACKAGECONFIG.
**Compiled to run in our environment and not the default autotools method.

I haven't tested the ipmibt interface in awhile, but I will give it a
run later.  I'm looking at extending the design to support sending
down the host BIOS image.

Patrick


More information about the openbmc mailing list