blob: cec87e3743d00f84cb8df489104f29038f3f50c2 [file] [log] [blame]
Cédric Le Goater7a1e0492020-06-02 15:50:50 +02001Aspeed 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
Peter Maydellf548f202021-05-27 10:51:52 +01008with dual cores ARM Cortex-A7 CPUs (1.2GHz).
Cédric Le Goater7a1e0492020-06-02 15:50:50 +02009
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
Patrick Venture71f50272021-06-15 12:28:47 -070016- ``quanta-q71l-bmc`` OpenBMC Quanta BMC
Cédric Le Goater7a1e0492020-06-02 15:50:50 +020017
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
Peter Maydellf548f202021-05-27 10:51:52 +010028- ``ast2600-evb`` Aspeed AST2600 Evaluation board (Cortex-A7)
Cédric Le Goater7a1e0492020-06-02 15:50:50 +020029- ``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
Philippe Mathieu-Daudé12bff812020-11-20 18:39:52 +010051 * Front LEDs (PCA9552 on I2C bus)
Cédric Le Goater2ecf1722021-03-09 12:01:28 +010052 * LPC Peripheral Controller (a subset of subdevices are supported)
Joel Stanleyc5475b32021-05-01 10:03:51 +020053 * Hash/Crypto Engine (HACE) - Hash support only. TODO: HMAC and RSA
Cédric Le Goater7a1e0492020-06-02 15:50:50 +020054
55
56Missing devices
57---------------
58
59 * Coprocessor support
60 * ADC (out of tree implementation)
61 * PWM and Fan Controller
Cédric Le Goater7a1e0492020-06-02 15:50:50 +020062 * Slave GPIO Controller
63 * Super I/O Controller
Cédric Le Goater7a1e0492020-06-02 15:50:50 +020064 * 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
Cédric Le Goaterd029c722021-03-09 12:01:28 +010076The 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 :
Cédric Le Goater7a1e0492020-06-02 15:50:50 +020079
Cédric Le Goaterd029c722021-03-09 12:01:28 +010080 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
Cédric Le Goater7a1e0492020-06-02 15:50:50 +020085
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 \
Cédric Le Goaterd029c722021-03-09 12:01:28 +010091 -drive file=obmc-phosphor-image-romulus.static.mtd,format=raw,if=mtd -nographic
Cédric Le Goater9820e522020-09-18 09:04:36 +020092
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