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