xref: /openbmc/qemu/docs/system/arm/aspeed.rst (revision 12bff81b)
17a1e049aSCédric Le GoaterAspeed family boards (``*-bmc``, ``ast2500-evb``, ``ast2600-evb``)
27a1e049aSCédric Le Goater==================================================================
37a1e049aSCédric Le Goater
47a1e049aSCédric Le GoaterThe QEMU Aspeed machines model BMCs of various OpenPOWER systems and
57a1e049aSCédric Le GoaterAspeed evaluation boards. They are based on different releases of the
67a1e049aSCédric Le GoaterAspeed SoC : the AST2400 integrating an ARM926EJ-S CPU (400MHz), the
77a1e049aSCédric Le GoaterAST2500 with an ARM1176JZS CPU (800MHz) and more recently the AST2600
87a1e049aSCédric Le Goaterwith dual cores ARM Cortex A7 CPUs (1.2GHz).
97a1e049aSCédric Le Goater
107a1e049aSCédric Le GoaterThe SoC comes with RAM, Gigabit ethernet, USB, SD/MMC, USB, SPI, I2C,
117a1e049aSCédric Le Goateretc.
127a1e049aSCédric Le Goater
137a1e049aSCédric Le GoaterAST2400 SoC based machines :
147a1e049aSCédric Le Goater
157a1e049aSCédric Le Goater- ``palmetto-bmc``         OpenPOWER Palmetto POWER8 BMC
167a1e049aSCédric Le Goater
177a1e049aSCédric Le GoaterAST2500 SoC based machines :
187a1e049aSCédric Le Goater
197a1e049aSCédric Le Goater- ``ast2500-evb``          Aspeed AST2500 Evaluation board
207a1e049aSCédric Le Goater- ``romulus-bmc``          OpenPOWER Romulus POWER9 BMC
217a1e049aSCédric Le Goater- ``witherspoon-bmc``      OpenPOWER Witherspoon POWER9 BMC
227a1e049aSCédric Le Goater- ``sonorapass-bmc``       OCP SonoraPass BMC
237a1e049aSCédric Le Goater- ``swift-bmc``            OpenPOWER Swift BMC POWER9
247a1e049aSCédric Le Goater
257a1e049aSCédric Le GoaterAST2600 SoC based machines :
267a1e049aSCédric Le Goater
277a1e049aSCédric Le Goater- ``ast2600-evb``          Aspeed AST2600 Evaluation board (Cortex A7)
287a1e049aSCédric Le Goater- ``tacoma-bmc``           OpenPOWER Witherspoon POWER9 AST2600 BMC
297a1e049aSCédric Le Goater
307a1e049aSCédric Le GoaterSupported devices
317a1e049aSCédric Le Goater-----------------
327a1e049aSCédric Le Goater
337a1e049aSCédric Le Goater * SMP (for the AST2600 Cortex-A7)
347a1e049aSCédric Le Goater * Interrupt Controller (VIC)
357a1e049aSCédric Le Goater * Timer Controller
367a1e049aSCédric Le Goater * RTC Controller
377a1e049aSCédric Le Goater * I2C Controller
387a1e049aSCédric Le Goater * System Control Unit (SCU)
397a1e049aSCédric Le Goater * SRAM mapping
407a1e049aSCédric Le Goater * X-DMA Controller (basic interface)
417a1e049aSCédric Le Goater * Static Memory Controller (SMC or FMC) - Only SPI Flash support
427a1e049aSCédric Le Goater * SPI Memory Controller
437a1e049aSCédric Le Goater * USB 2.0 Controller
447a1e049aSCédric Le Goater * SD/MMC storage controllers
457a1e049aSCédric Le Goater * SDRAM controller (dummy interface for basic settings and training)
467a1e049aSCédric Le Goater * Watchdog Controller
477a1e049aSCédric Le Goater * GPIO Controller (Master only)
487a1e049aSCédric Le Goater * UART
497a1e049aSCédric Le Goater * Ethernet controllers
50*12bff81bSPhilippe Mathieu-Daudé * Front LEDs (PCA9552 on I2C bus)
517a1e049aSCédric Le Goater
527a1e049aSCédric Le Goater
537a1e049aSCédric Le GoaterMissing devices
547a1e049aSCédric Le Goater---------------
557a1e049aSCédric Le Goater
567a1e049aSCédric Le Goater * Coprocessor support
577a1e049aSCédric Le Goater * ADC (out of tree implementation)
587a1e049aSCédric Le Goater * PWM and Fan Controller
597a1e049aSCédric Le Goater * LPC Bus Controller
607a1e049aSCédric Le Goater * Slave GPIO Controller
617a1e049aSCédric Le Goater * Super I/O Controller
627a1e049aSCédric Le Goater * Hash/Crypto Engine
637a1e049aSCédric Le Goater * PCI-Express 1 Controller
647a1e049aSCédric Le Goater * Graphic Display Controller
657a1e049aSCédric Le Goater * PECI Controller
667a1e049aSCédric Le Goater * MCTP Controller
677a1e049aSCédric Le Goater * Mailbox Controller
687a1e049aSCédric Le Goater * Virtual UART
697a1e049aSCédric Le Goater * eSPI Controller
707a1e049aSCédric Le Goater * I3C Controller
717a1e049aSCédric Le Goater
727a1e049aSCédric Le GoaterBoot options
737a1e049aSCédric Le Goater------------
747a1e049aSCédric Le Goater
757a1e049aSCédric Le GoaterThe Aspeed machines can be started using the -kernel option to load a
7676ca4b58SzhaolichangLinux kernel or from a firmware image which can be downloaded from the
777a1e049aSCédric Le GoaterOpenPOWER jenkins :
787a1e049aSCédric Le Goater
797a1e049aSCédric Le Goater   https://openpower.xyz/
807a1e049aSCédric Le Goater
817a1e049aSCédric Le GoaterThe image should be attached as an MTD drive. Run :
827a1e049aSCédric Le Goater
837a1e049aSCédric Le Goater.. code-block:: bash
847a1e049aSCédric Le Goater
857a1e049aSCédric Le Goater  $ qemu-system-arm -M romulus-bmc -nic user \
867a1e049aSCédric Le Goater	-drive file=flash-romulus,format=raw,if=mtd -nographic
879820e52fSCédric Le Goater
889820e52fSCédric Le GoaterOptions specific to Aspeed machines are :
899820e52fSCédric Le Goater
909820e52fSCédric Le Goater * ``execute-in-place`` which emulates the boot from the CE0 flash
919820e52fSCédric Le Goater   device by using the FMC controller to load the instructions, and
929820e52fSCédric Le Goater   not simply from RAM. This takes a little longer.
939820e52fSCédric Le Goater
949820e52fSCédric Le Goater * ``fmc-model`` to change the FMC Flash model. FW needs support for
959820e52fSCédric Le Goater   the chip model to boot.
969820e52fSCédric Le Goater
979820e52fSCédric Le Goater * ``spi-model`` to change the SPI Flash model.
989820e52fSCédric Le Goater
999820e52fSCédric Le GoaterFor instance, to start the ``ast2500-evb`` machine with a different
1009820e52fSCédric Le GoaterFMC chip and a bigger (64M) SPI chip, use :
1019820e52fSCédric Le Goater
1029820e52fSCédric Le Goater.. code-block:: bash
1039820e52fSCédric Le Goater
1049820e52fSCédric Le Goater  -M ast2500-evb,fmc-model=mx25l25635e,spi-model=mx66u51235f
105