Aspeed family boards (*-bmc
, ast2500-evb
, ast2600-evb
)¶
The QEMU Aspeed machines model BMCs of various OpenPOWER systems and Aspeed evaluation boards. They are based on different releases of the Aspeed SoC : the AST2400 integrating an ARM926EJ-S CPU (400MHz), the AST2500 with an ARM1176JZS CPU (800MHz) and more recently the AST2600 with dual cores ARM Cortex-A7 CPUs (1.2GHz).
The SoC comes with RAM, Gigabit ethernet, USB, SD/MMC, USB, SPI, I2C, etc.
AST2400 SoC based machines :
palmetto-bmc
OpenPOWER Palmetto POWER8 BMCquanta-q71l-bmc
OpenBMC Quanta BMC
AST2500 SoC based machines :
ast2500-evb
Aspeed AST2500 Evaluation boardromulus-bmc
OpenPOWER Romulus POWER9 BMCwitherspoon-bmc
OpenPOWER Witherspoon POWER9 BMCsonorapass-bmc
OCP SonoraPass BMCswift-bmc
OpenPOWER Swift BMC POWER9
AST2600 SoC based machines :
ast2600-evb
Aspeed AST2600 Evaluation board (Cortex-A7)tacoma-bmc
OpenPOWER Witherspoon POWER9 AST2600 BMC
Supported devices¶
- SMP (for the AST2600 Cortex-A7)
- Interrupt Controller (VIC)
- Timer Controller
- RTC Controller
- I2C Controller
- System Control Unit (SCU)
- SRAM mapping
- X-DMA Controller (basic interface)
- Static Memory Controller (SMC or FMC) - Only SPI Flash support
- SPI Memory Controller
- USB 2.0 Controller
- SD/MMC storage controllers
- SDRAM controller (dummy interface for basic settings and training)
- Watchdog Controller
- GPIO Controller (Master only)
- UART
- Ethernet controllers
- Front LEDs (PCA9552 on I2C bus)
- LPC Peripheral Controller (a subset of subdevices are supported)
- Hash/Crypto Engine (HACE) - Hash support only. TODO: HMAC and RSA
Missing devices¶
- Coprocessor support
- ADC (out of tree implementation)
- PWM and Fan Controller
- Slave GPIO Controller
- Super I/O Controller
- PCI-Express 1 Controller
- Graphic Display Controller
- PECI Controller
- MCTP Controller
- Mailbox Controller
- Virtual UART
- eSPI Controller
- I3C Controller
Boot options¶
The Aspeed machines can be started using the -kernel
option to
load a Linux kernel or from a firmware. Images can be downloaded from
the OpenBMC jenkins :
or directly from the OpenBMC GitHub release repository :
The image should be attached as an MTD drive. Run :
$ qemu-system-arm -M romulus-bmc -nic user \
-drive file=obmc-phosphor-image-romulus.static.mtd,format=raw,if=mtd -nographic
Options specific to Aspeed machines are :
execute-in-place
which emulates the boot from the CE0 flash device by using the FMC controller to load the instructions, and not simply from RAM. This takes a little longer.fmc-model
to change the FMC Flash model. FW needs support for the chip model to boot.spi-model
to change the SPI Flash model.
For instance, to start the ast2500-evb
machine with a different
FMC chip and a bigger (64M) SPI chip, use :
-M ast2500-evb,fmc-model=mx25l25635e,spi-model=mx66u51235f