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