1Aspeed family boards (``*-bmc``, ``ast2500-evb``, ``ast2600-evb``) 2================================================================== 3 4The QEMU Aspeed machines model BMCs of various OpenPOWER systems and 5Aspeed evaluation boards. They are based on different releases of the 6Aspeed SoC : the AST2400 integrating an ARM926EJ-S CPU (400MHz), the 7AST2500 with an ARM1176JZS CPU (800MHz) and more recently the AST2600 8with dual cores ARM Cortex-A7 CPUs (1.2GHz). 9 10The SoC comes with RAM, Gigabit ethernet, USB, SD/MMC, USB, SPI, I2C, 11etc. 12 13AST2400 SoC based machines : 14 15- ``palmetto-bmc`` OpenPOWER Palmetto POWER8 BMC 16- ``quanta-q71l-bmc`` OpenBMC Quanta BMC 17 18AST2500 SoC based machines : 19 20- ``ast2500-evb`` Aspeed AST2500 Evaluation board 21- ``romulus-bmc`` OpenPOWER Romulus POWER9 BMC 22- ``witherspoon-bmc`` OpenPOWER Witherspoon POWER9 BMC 23- ``sonorapass-bmc`` OCP SonoraPass BMC 24- ``swift-bmc`` OpenPOWER Swift BMC POWER9 25 26AST2600 SoC based machines : 27 28- ``ast2600-evb`` Aspeed AST2600 Evaluation board (Cortex-A7) 29- ``tacoma-bmc`` OpenPOWER Witherspoon POWER9 AST2600 BMC 30 31Supported devices 32----------------- 33 34 * SMP (for the AST2600 Cortex-A7) 35 * Interrupt Controller (VIC) 36 * Timer Controller 37 * RTC Controller 38 * I2C Controller 39 * System Control Unit (SCU) 40 * SRAM mapping 41 * X-DMA Controller (basic interface) 42 * Static Memory Controller (SMC or FMC) - Only SPI Flash support 43 * SPI Memory Controller 44 * USB 2.0 Controller 45 * SD/MMC storage controllers 46 * SDRAM controller (dummy interface for basic settings and training) 47 * Watchdog Controller 48 * GPIO Controller (Master only) 49 * UART 50 * Ethernet controllers 51 * Front LEDs (PCA9552 on I2C bus) 52 * LPC Peripheral Controller (a subset of subdevices are supported) 53 * Hash/Crypto Engine (HACE) - Hash support only. TODO: HMAC and RSA 54 55 56Missing devices 57--------------- 58 59 * Coprocessor support 60 * ADC (out of tree implementation) 61 * PWM and Fan Controller 62 * Slave GPIO Controller 63 * Super I/O Controller 64 * PCI-Express 1 Controller 65 * Graphic Display Controller 66 * PECI Controller 67 * MCTP Controller 68 * Mailbox Controller 69 * Virtual UART 70 * eSPI Controller 71 * I3C Controller 72 73Boot options 74------------ 75 76The Aspeed machines can be started using the ``-kernel`` option to 77load a Linux kernel or from a firmware. Images can be downloaded from 78the OpenBMC jenkins : 79 80 https://jenkins.openbmc.org/job/ci-openbmc/lastSuccessfulBuild/distro=ubuntu,label=docker-builder 81 82or directly from the OpenBMC GitHub release repository : 83 84 https://github.com/openbmc/openbmc/releases 85 86The image should be attached as an MTD drive. Run : 87 88.. code-block:: bash 89 90 $ qemu-system-arm -M romulus-bmc -nic user \ 91 -drive file=obmc-phosphor-image-romulus.static.mtd,format=raw,if=mtd -nographic 92 93Options specific to Aspeed machines are : 94 95 * ``execute-in-place`` which emulates the boot from the CE0 flash 96 device by using the FMC controller to load the instructions, and 97 not simply from RAM. This takes a little longer. 98 99 * ``fmc-model`` to change the FMC Flash model. FW needs support for 100 the chip model to boot. 101 102 * ``spi-model`` to change the SPI Flash model. 103 104For instance, to start the ``ast2500-evb`` machine with a different 105FMC chip and a bigger (64M) SPI chip, use : 106 107.. code-block:: bash 108 109 -M ast2500-evb,fmc-model=mx25l25635e,spi-model=mx66u51235f 110