xref: /openbmc/qemu/docs/system/arm/aspeed.rst (revision c2387413)
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
52
53Missing devices
54---------------
55
56 * Coprocessor support
57 * ADC (out of tree implementation)
58 * PWM and Fan Controller
59 * LPC Bus Controller
60 * Slave GPIO Controller
61 * Super I/O Controller
62 * Hash/Crypto Engine
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 load a
76Linux kernel or from a firmware image which can be downloaded from the
77OpenPOWER jenkins :
78
79   https://openpower.xyz/
80
81The image should be attached as an MTD drive. Run :
82
83.. code-block:: bash
84
85  $ qemu-system-arm -M romulus-bmc -nic user \
86	-drive file=flash-romulus,format=raw,if=mtd -nographic
87
88Options specific to Aspeed machines are :
89
90 * ``execute-in-place`` which emulates the boot from the CE0 flash
91   device by using the FMC controller to load the instructions, and
92   not simply from RAM. This takes a little longer.
93
94 * ``fmc-model`` to change the FMC Flash model. FW needs support for
95   the chip model to boot.
96
97 * ``spi-model`` to change the SPI Flash model.
98
99For instance, to start the ``ast2500-evb`` machine with a different
100FMC chip and a bigger (64M) SPI chip, use :
101
102.. code-block:: bash
103
104  -M ast2500-evb,fmc-model=mx25l25635e,spi-model=mx66u51235f
105