Cédric Le Goater | 7a1e049 | 2020-06-02 15:50:50 +0200 | [diff] [blame] | 1 | Aspeed family boards (``*-bmc``, ``ast2500-evb``, ``ast2600-evb``) |
| 2 | ================================================================== |
| 3 | |
| 4 | The QEMU Aspeed machines model BMCs of various OpenPOWER systems and |
| 5 | Aspeed evaluation boards. They are based on different releases of the |
| 6 | Aspeed SoC : the AST2400 integrating an ARM926EJ-S CPU (400MHz), the |
| 7 | AST2500 with an ARM1176JZS CPU (800MHz) and more recently the AST2600 |
Peter Maydell | f548f20 | 2021-05-27 10:51:52 +0100 | [diff] [blame] | 8 | with dual cores ARM Cortex-A7 CPUs (1.2GHz). |
Cédric Le Goater | 7a1e049 | 2020-06-02 15:50:50 +0200 | [diff] [blame] | 9 | |
| 10 | The SoC comes with RAM, Gigabit ethernet, USB, SD/MMC, USB, SPI, I2C, |
| 11 | etc. |
| 12 | |
| 13 | AST2400 SoC based machines : |
| 14 | |
| 15 | - ``palmetto-bmc`` OpenPOWER Palmetto POWER8 BMC |
Patrick Venture | 71f5027 | 2021-06-15 12:28:47 -0700 | [diff] [blame] | 16 | - ``quanta-q71l-bmc`` OpenBMC Quanta BMC |
Cédric Le Goater | 7a1e049 | 2020-06-02 15:50:50 +0200 | [diff] [blame] | 17 | |
| 18 | AST2500 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 | |
| 26 | AST2600 SoC based machines : |
| 27 | |
Peter Maydell | f548f20 | 2021-05-27 10:51:52 +0100 | [diff] [blame] | 28 | - ``ast2600-evb`` Aspeed AST2600 Evaluation board (Cortex-A7) |
Cédric Le Goater | 7a1e049 | 2020-06-02 15:50:50 +0200 | [diff] [blame] | 29 | - ``tacoma-bmc`` OpenPOWER Witherspoon POWER9 AST2600 BMC |
| 30 | |
| 31 | Supported 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 |
Philippe Mathieu-Daudé | 12bff81 | 2020-11-20 18:39:52 +0100 | [diff] [blame] | 51 | * Front LEDs (PCA9552 on I2C bus) |
Cédric Le Goater | 2ecf172 | 2021-03-09 12:01:28 +0100 | [diff] [blame] | 52 | * LPC Peripheral Controller (a subset of subdevices are supported) |
Joel Stanley | c5475b3 | 2021-05-01 10:03:51 +0200 | [diff] [blame] | 53 | * Hash/Crypto Engine (HACE) - Hash support only. TODO: HMAC and RSA |
Cédric Le Goater | 7a1e049 | 2020-06-02 15:50:50 +0200 | [diff] [blame] | 54 | |
| 55 | |
| 56 | Missing devices |
| 57 | --------------- |
| 58 | |
| 59 | * Coprocessor support |
| 60 | * ADC (out of tree implementation) |
| 61 | * PWM and Fan Controller |
Cédric Le Goater | 7a1e049 | 2020-06-02 15:50:50 +0200 | [diff] [blame] | 62 | * Slave GPIO Controller |
| 63 | * Super I/O Controller |
Cédric Le Goater | 7a1e049 | 2020-06-02 15:50:50 +0200 | [diff] [blame] | 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 | |
| 73 | Boot options |
| 74 | ------------ |
| 75 | |
Cédric Le Goater | d029c72 | 2021-03-09 12:01:28 +0100 | [diff] [blame] | 76 | The Aspeed machines can be started using the ``-kernel`` option to |
| 77 | load a Linux kernel or from a firmware. Images can be downloaded from |
| 78 | the OpenBMC jenkins : |
Cédric Le Goater | 7a1e049 | 2020-06-02 15:50:50 +0200 | [diff] [blame] | 79 | |
Cédric Le Goater | d029c72 | 2021-03-09 12:01:28 +0100 | [diff] [blame] | 80 | https://jenkins.openbmc.org/job/ci-openbmc/lastSuccessfulBuild/distro=ubuntu,label=docker-builder |
| 81 | |
| 82 | or directly from the OpenBMC GitHub release repository : |
| 83 | |
| 84 | https://github.com/openbmc/openbmc/releases |
Cédric Le Goater | 7a1e049 | 2020-06-02 15:50:50 +0200 | [diff] [blame] | 85 | |
| 86 | The image should be attached as an MTD drive. Run : |
| 87 | |
| 88 | .. code-block:: bash |
| 89 | |
| 90 | $ qemu-system-arm -M romulus-bmc -nic user \ |
Cédric Le Goater | d029c72 | 2021-03-09 12:01:28 +0100 | [diff] [blame] | 91 | -drive file=obmc-phosphor-image-romulus.static.mtd,format=raw,if=mtd -nographic |
Cédric Le Goater | 9820e52 | 2020-09-18 09:04:36 +0200 | [diff] [blame] | 92 | |
| 93 | Options 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 | |
| 104 | For instance, to start the ``ast2500-evb`` machine with a different |
| 105 | FMC chip and a bigger (64M) SPI chip, use : |
| 106 | |
| 107 | .. code-block:: bash |
| 108 | |
| 109 | -M ast2500-evb,fmc-model=mx25l25635e,spi-model=mx66u51235f |