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 8f548f201SPeter Maydellwith 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 1671f5027fSPatrick Venture- ``quanta-q71l-bmc`` OpenBMC Quanta BMC 170b052414SJoel Stanley- ``supermicrox11-bmc`` Supermicro X11 BMC 187a1e049aSCédric Le Goater 197a1e049aSCédric Le GoaterAST2500 SoC based machines : 207a1e049aSCédric Le Goater 217a1e049aSCédric Le Goater- ``ast2500-evb`` Aspeed AST2500 Evaluation board 227a1e049aSCédric Le Goater- ``romulus-bmc`` OpenPOWER Romulus POWER9 BMC 237a1e049aSCédric Le Goater- ``witherspoon-bmc`` OpenPOWER Witherspoon POWER9 BMC 247a1e049aSCédric Le Goater- ``sonorapass-bmc`` OCP SonoraPass BMC 250b052414SJoel Stanley- ``fp5280g2-bmc`` Inspur FP5280G2 BMC 260b052414SJoel Stanley- ``g220a-bmc`` Bytedance G220A BMC 277a1e049aSCédric Le Goater 287a1e049aSCédric Le GoaterAST2600 SoC based machines : 297a1e049aSCédric Le Goater 30f548f201SPeter Maydell- ``ast2600-evb`` Aspeed AST2600 Evaluation board (Cortex-A7) 317a1e049aSCédric Le Goater- ``tacoma-bmc`` OpenPOWER Witherspoon POWER9 AST2600 BMC 320b052414SJoel Stanley- ``rainier-bmc`` IBM Rainier POWER10 BMC 330b052414SJoel Stanley- ``fuji-bmc`` Facebook Fuji BMC 347a1e049aSCédric Le Goater 357a1e049aSCédric Le GoaterSupported devices 367a1e049aSCédric Le Goater----------------- 377a1e049aSCédric Le Goater 387a1e049aSCédric Le Goater * SMP (for the AST2600 Cortex-A7) 397a1e049aSCédric Le Goater * Interrupt Controller (VIC) 407a1e049aSCédric Le Goater * Timer Controller 417a1e049aSCédric Le Goater * RTC Controller 427a1e049aSCédric Le Goater * I2C Controller 437a1e049aSCédric Le Goater * System Control Unit (SCU) 447a1e049aSCédric Le Goater * SRAM mapping 457a1e049aSCédric Le Goater * X-DMA Controller (basic interface) 467a1e049aSCédric Le Goater * Static Memory Controller (SMC or FMC) - Only SPI Flash support 477a1e049aSCédric Le Goater * SPI Memory Controller 487a1e049aSCédric Le Goater * USB 2.0 Controller 497a1e049aSCédric Le Goater * SD/MMC storage controllers 507a1e049aSCédric Le Goater * SDRAM controller (dummy interface for basic settings and training) 517a1e049aSCédric Le Goater * Watchdog Controller 527a1e049aSCédric Le Goater * GPIO Controller (Master only) 537a1e049aSCédric Le Goater * UART 547a1e049aSCédric Le Goater * Ethernet controllers 5512bff81bSPhilippe Mathieu-Daudé * Front LEDs (PCA9552 on I2C bus) 562ecf1726SCédric Le Goater * LPC Peripheral Controller (a subset of subdevices are supported) 57c5475b3fSJoel Stanley * Hash/Crypto Engine (HACE) - Hash support only. TODO: HMAC and RSA 58b662fac6SJoel Stanley * ADC 597a1e049aSCédric Le Goater 607a1e049aSCédric Le Goater 617a1e049aSCédric Le GoaterMissing devices 627a1e049aSCédric Le Goater--------------- 637a1e049aSCédric Le Goater 647a1e049aSCédric Le Goater * Coprocessor support 657a1e049aSCédric Le Goater * PWM and Fan Controller 667a1e049aSCédric Le Goater * Slave GPIO Controller 677a1e049aSCédric Le Goater * Super I/O Controller 687a1e049aSCédric Le Goater * PCI-Express 1 Controller 697a1e049aSCédric Le Goater * Graphic Display Controller 707a1e049aSCédric Le Goater * PECI Controller 717a1e049aSCédric Le Goater * MCTP Controller 727a1e049aSCédric Le Goater * Mailbox Controller 737a1e049aSCédric Le Goater * Virtual UART 747a1e049aSCédric Le Goater * eSPI Controller 757a1e049aSCédric Le Goater * I3C Controller 767a1e049aSCédric Le Goater 777a1e049aSCédric Le GoaterBoot options 787a1e049aSCédric Le Goater------------ 797a1e049aSCédric Le Goater 809d5dcb85SJoel StanleyThe Aspeed machines can be started using the ``-kernel`` and ``-dtb`` options 819d5dcb85SJoel Stanleyto load a Linux kernel or from a firmware. Images can be downloaded from the 829d5dcb85SJoel StanleyOpenBMC jenkins : 837a1e049aSCédric Le Goater 8438b1ed6cSJoel Stanley https://jenkins.openbmc.org/job/ci-openbmc/lastSuccessfulBuild/ 85d029c729SCédric Le Goater 86d029c729SCédric Le Goateror directly from the OpenBMC GitHub release repository : 87d029c729SCédric Le Goater 88d029c729SCédric Le Goater https://github.com/openbmc/openbmc/releases 897a1e049aSCédric Le Goater 909d5dcb85SJoel StanleyTo boot a kernel directly from a Linux build tree: 919d5dcb85SJoel Stanley 929d5dcb85SJoel Stanley.. code-block:: bash 939d5dcb85SJoel Stanley 949d5dcb85SJoel Stanley $ qemu-system-arm -M ast2600-evb -nographic \ 959d5dcb85SJoel Stanley -kernel arch/arm/boot/zImage \ 969d5dcb85SJoel Stanley -dtb arch/arm/boot/dts/aspeed-ast2600-evb.dtb \ 979d5dcb85SJoel Stanley -initrd rootfs.cpio 989d5dcb85SJoel Stanley 997a1e049aSCédric Le GoaterThe image should be attached as an MTD drive. Run : 1007a1e049aSCédric Le Goater 1017a1e049aSCédric Le Goater.. code-block:: bash 1027a1e049aSCédric Le Goater 1037a1e049aSCédric Le Goater $ qemu-system-arm -M romulus-bmc -nic user \ 104d029c729SCédric Le Goater -drive file=obmc-phosphor-image-romulus.static.mtd,format=raw,if=mtd -nographic 1059820e52fSCédric Le Goater 1069820e52fSCédric Le GoaterOptions specific to Aspeed machines are : 1079820e52fSCédric Le Goater 1089820e52fSCédric Le Goater * ``execute-in-place`` which emulates the boot from the CE0 flash 1099820e52fSCédric Le Goater device by using the FMC controller to load the instructions, and 1109820e52fSCédric Le Goater not simply from RAM. This takes a little longer. 1119820e52fSCédric Le Goater 1129820e52fSCédric Le Goater * ``fmc-model`` to change the FMC Flash model. FW needs support for 1139820e52fSCédric Le Goater the chip model to boot. 1149820e52fSCédric Le Goater 1159820e52fSCédric Le Goater * ``spi-model`` to change the SPI Flash model. 1169820e52fSCédric Le Goater 1179820e52fSCédric Le GoaterFor instance, to start the ``ast2500-evb`` machine with a different 1189820e52fSCédric Le GoaterFMC chip and a bigger (64M) SPI chip, use : 1199820e52fSCédric Le Goater 1209820e52fSCédric Le Goater.. code-block:: bash 1219820e52fSCédric Le Goater 1229820e52fSCédric Le Goater -M ast2500-evb,fmc-model=mx25l25635e,spi-model=mx66u51235f 123*3d393bb7SJamin Lin 124*3d393bb7SJamin Lin 125*3d393bb7SJamin LinAspeed minibmc family boards (``ast1030-evb``) 126*3d393bb7SJamin Lin================================================================== 127*3d393bb7SJamin Lin 128*3d393bb7SJamin LinThe QEMU Aspeed machines model mini BMCs of various Aspeed evaluation 129*3d393bb7SJamin Linboards. They are based on different releases of the 130*3d393bb7SJamin LinAspeed SoC : the AST1030 integrating an ARM Cortex M4F CPU (200MHz). 131*3d393bb7SJamin Lin 132*3d393bb7SJamin LinThe SoC comes with SRAM, SPI, I2C, etc. 133*3d393bb7SJamin Lin 134*3d393bb7SJamin LinAST1030 SoC based machines : 135*3d393bb7SJamin Lin 136*3d393bb7SJamin Lin- ``ast1030-evb`` Aspeed AST1030 Evaluation board (Cortex-M4F) 137*3d393bb7SJamin Lin 138*3d393bb7SJamin LinSupported devices 139*3d393bb7SJamin Lin----------------- 140*3d393bb7SJamin Lin 141*3d393bb7SJamin Lin * SMP (for the AST1030 Cortex-M4F) 142*3d393bb7SJamin Lin * Interrupt Controller (VIC) 143*3d393bb7SJamin Lin * Timer Controller 144*3d393bb7SJamin Lin * I2C Controller 145*3d393bb7SJamin Lin * System Control Unit (SCU) 146*3d393bb7SJamin Lin * SRAM mapping 147*3d393bb7SJamin Lin * Static Memory Controller (SMC or FMC) - Only SPI Flash support 148*3d393bb7SJamin Lin * SPI Memory Controller 149*3d393bb7SJamin Lin * USB 2.0 Controller 150*3d393bb7SJamin Lin * Watchdog Controller 151*3d393bb7SJamin Lin * GPIO Controller (Master only) 152*3d393bb7SJamin Lin * UART 153*3d393bb7SJamin Lin * LPC Peripheral Controller (a subset of subdevices are supported) 154*3d393bb7SJamin Lin * Hash/Crypto Engine (HACE) - Hash support only. TODO: HMAC and RSA 155*3d393bb7SJamin Lin * ADC 156*3d393bb7SJamin Lin 157*3d393bb7SJamin Lin 158*3d393bb7SJamin LinMissing devices 159*3d393bb7SJamin Lin--------------- 160*3d393bb7SJamin Lin 161*3d393bb7SJamin Lin * PWM and Fan Controller 162*3d393bb7SJamin Lin * Slave GPIO Controller 163*3d393bb7SJamin Lin * PECI Controller 164*3d393bb7SJamin Lin * Mailbox Controller 165*3d393bb7SJamin Lin * Virtual UART 166*3d393bb7SJamin Lin * eSPI Controller 167*3d393bb7SJamin Lin * I3C Controller 168*3d393bb7SJamin Lin 169*3d393bb7SJamin LinBoot options 170*3d393bb7SJamin Lin------------ 171*3d393bb7SJamin Lin 172*3d393bb7SJamin LinThe Aspeed machines can be started using the ``-kernel`` to load a 173*3d393bb7SJamin LinZephyr OS or from a firmware. Images can be downloaded from the 174*3d393bb7SJamin LinASPEED GitHub release repository : 175*3d393bb7SJamin Lin 176*3d393bb7SJamin Lin https://github.com/AspeedTech-BMC/zephyr/releases 177*3d393bb7SJamin Lin 178*3d393bb7SJamin LinTo boot a kernel directly from a Zephyr build tree: 179*3d393bb7SJamin Lin 180*3d393bb7SJamin Lin.. code-block:: bash 181*3d393bb7SJamin Lin 182*3d393bb7SJamin Lin $ qemu-system-arm -M ast1030-evb -nographic \ 183*3d393bb7SJamin Lin -kernel zephyr.elf 184