xref: /openbmc/qemu/docs/system/arm/aspeed.rst (revision e0e222b2360765f6071fd52399f081ec4e739b31)
1*d8790eadSPierrick BouvierAspeed family boards (``ast2500-evb``, ``ast2600-evb``, ``ast2700-evb``, ``bletchley-bmc``, ``fuji-bmc``, ``fby35-bmc``, ``fp5280g2-bmc``, ``g220a-bmc``, ``palmetto-bmc``, ``qcom-dc-scm-v1-bmc``, ``qcom-firework-bmc``, ``quanta-q71l-bmc``, ``rainier-bmc``, ``romulus-bmc``, ``sonorapass-bmc``, ``supermicrox11-bmc``, ``supermicrox11spi-bmc``, ``tiogapass-bmc``, ``tacoma-bmc``, ``witherspoon-bmc``, ``yosemitev2-bmc``)
2*d8790eadSPierrick Bouvier==================================================================================================================================================================================================================================================================================================================================================================================================================================
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
7b3e8223eSJamin LinAST2500 with an ARM1176JZS CPU (800MHz), the AST2600
8b3e8223eSJamin Linwith dual cores ARM Cortex-A7 CPUs (1.2GHz) and more recently the AST2700
9b3e8223eSJamin Linwith quad cores ARM Cortex-A35 64 bits CPUs (1.6GHz)
107a1e049aSCédric Le Goater
117a1e049aSCédric Le GoaterThe SoC comes with RAM, Gigabit ethernet, USB, SD/MMC, USB, SPI, I2C,
127a1e049aSCédric Le Goateretc.
137a1e049aSCédric Le Goater
147a1e049aSCédric Le GoaterAST2400 SoC based machines :
157a1e049aSCédric Le Goater
167a1e049aSCédric Le Goater- ``palmetto-bmc``         OpenPOWER Palmetto POWER8 BMC
1771f5027fSPatrick Venture- ``quanta-q71l-bmc``      OpenBMC Quanta BMC
18*d8790eadSPierrick Bouvier- ``supermicrox11-bmc``    Supermicro X11 BMC (ARM926EJ-S)
19*d8790eadSPierrick Bouvier- ``supermicrox11spi-bmc``    Supermicro X11 SPI BMC (ARM1176)
207a1e049aSCédric Le Goater
217a1e049aSCédric Le GoaterAST2500 SoC based machines :
227a1e049aSCédric Le Goater
237a1e049aSCédric Le Goater- ``ast2500-evb``          Aspeed AST2500 Evaluation board
247a1e049aSCédric Le Goater- ``romulus-bmc``          OpenPOWER Romulus POWER9 BMC
257a1e049aSCédric Le Goater- ``witherspoon-bmc``      OpenPOWER Witherspoon POWER9 BMC
267a1e049aSCédric Le Goater- ``sonorapass-bmc``       OCP SonoraPass BMC
270b052414SJoel Stanley- ``fp5280g2-bmc``         Inspur FP5280G2 BMC
280b052414SJoel Stanley- ``g220a-bmc``            Bytedance G220A BMC
2934f73a81SKarthikeyan Pasupathi- ``yosemitev2-bmc``       Facebook YosemiteV2 BMC
306c323abaSKarthikeyan Pasupathi- ``tiogapass-bmc``        Facebook Tiogapass BMC
317a1e049aSCédric Le Goater
327a1e049aSCédric Le GoaterAST2600 SoC based machines :
337a1e049aSCédric Le Goater
34f548f201SPeter Maydell- ``ast2600-evb``          Aspeed AST2600 Evaluation board (Cortex-A7)
350b052414SJoel Stanley- ``rainier-bmc``          IBM Rainier POWER10 BMC
360b052414SJoel Stanley- ``fuji-bmc``             Facebook Fuji BMC
371d6fb3d0SCédric Le Goater- ``bletchley-bmc``        Facebook Bletchley BMC
38264a360aSPeter Delevoryas- ``fby35-bmc``            Facebook fby35 BMC
391d6fb3d0SCédric Le Goater- ``qcom-dc-scm-v1-bmc``   Qualcomm DC-SCM V1 BMC
401d6fb3d0SCédric Le Goater- ``qcom-firework-bmc``    Qualcomm Firework BMC
417a1e049aSCédric Le Goater
42b3e8223eSJamin LinAST2700 SoC based machines :
43b3e8223eSJamin Lin
44b3e8223eSJamin Lin- ``ast2700-evb``          Aspeed AST2700 Evaluation board (Cortex-A35)
45b3e8223eSJamin Lin
467a1e049aSCédric Le GoaterSupported devices
477a1e049aSCédric Le Goater-----------------
487a1e049aSCédric Le Goater
497a1e049aSCédric Le Goater * SMP (for the AST2600 Cortex-A7)
507a1e049aSCédric Le Goater * Interrupt Controller (VIC)
517a1e049aSCédric Le Goater * Timer Controller
527a1e049aSCédric Le Goater * RTC Controller
531d6fb3d0SCédric Le Goater * I2C Controller, including the new register interface of the AST2600
547a1e049aSCédric Le Goater * System Control Unit (SCU)
557a1e049aSCédric Le Goater * SRAM mapping
567a1e049aSCédric Le Goater * X-DMA Controller (basic interface)
577a1e049aSCédric Le Goater * Static Memory Controller (SMC or FMC) - Only SPI Flash support
587a1e049aSCédric Le Goater * SPI Memory Controller
597a1e049aSCédric Le Goater * USB 2.0 Controller
607a1e049aSCédric Le Goater * SD/MMC storage controllers
617a1e049aSCédric Le Goater * SDRAM controller (dummy interface for basic settings and training)
627a1e049aSCédric Le Goater * Watchdog Controller
637a1e049aSCédric Le Goater * GPIO Controller (Master only)
647a1e049aSCédric Le Goater * UART
657a1e049aSCédric Le Goater * Ethernet controllers
6612bff81bSPhilippe Mathieu-Daudé * Front LEDs (PCA9552 on I2C bus)
672ecf1726SCédric Le Goater * LPC Peripheral Controller (a subset of subdevices are supported)
68c5475b3fSJoel Stanley * Hash/Crypto Engine (HACE) - Hash support only. TODO: HMAC and RSA
69b662fac6SJoel Stanley * ADC
701d6fb3d0SCédric Le Goater * Secure Boot Controller (AST2600)
711d6fb3d0SCédric Le Goater * eMMC Boot Controller (dummy)
721d6fb3d0SCédric Le Goater * PECI Controller (minimal)
731d6fb3d0SCédric Le Goater * I3C Controller
74b3e8223eSJamin Lin * Internal Bridge Controller (SLI dummy)
757a1e049aSCédric Le Goater
767a1e049aSCédric Le Goater
777a1e049aSCédric Le GoaterMissing devices
787a1e049aSCédric Le Goater---------------
797a1e049aSCédric Le Goater
807a1e049aSCédric Le Goater * Coprocessor support
817a1e049aSCédric Le Goater * PWM and Fan Controller
827a1e049aSCédric Le Goater * Slave GPIO Controller
837a1e049aSCédric Le Goater * Super I/O Controller
847a1e049aSCédric Le Goater * PCI-Express 1 Controller
857a1e049aSCédric Le Goater * Graphic Display Controller
867a1e049aSCédric Le Goater * MCTP Controller
877a1e049aSCédric Le Goater * Mailbox Controller
887a1e049aSCédric Le Goater * Virtual UART
897a1e049aSCédric Le Goater * eSPI Controller
907a1e049aSCédric Le Goater
917a1e049aSCédric Le GoaterBoot options
927a1e049aSCédric Le Goater------------
937a1e049aSCédric Le Goater
949d5dcb85SJoel StanleyThe Aspeed machines can be started using the ``-kernel`` and ``-dtb`` options
959d5dcb85SJoel Stanleyto load a Linux kernel or from a firmware. Images can be downloaded from the
969d5dcb85SJoel StanleyOpenBMC jenkins :
977a1e049aSCédric Le Goater
9838b1ed6cSJoel Stanley   https://jenkins.openbmc.org/job/ci-openbmc/lastSuccessfulBuild/
99d029c729SCédric Le Goater
100d029c729SCédric Le Goateror directly from the OpenBMC GitHub release repository :
101d029c729SCédric Le Goater
102d029c729SCédric Le Goater   https://github.com/openbmc/openbmc/releases
1037a1e049aSCédric Le Goater
104b3e8223eSJamin Linor directly from the ASPEED Forked OpenBMC GitHub release repository :
105b3e8223eSJamin Lin
106b3e8223eSJamin Lin   https://github.com/AspeedTech-BMC/openbmc/releases
107b3e8223eSJamin Lin
1089b0a3649SCédric Le GoaterBooting from a kernel image
1099b0a3649SCédric Le Goater^^^^^^^^^^^^^^^^^^^^^^^^^^^
1109b0a3649SCédric Le Goater
1119d5dcb85SJoel StanleyTo boot a kernel directly from a Linux build tree:
1129d5dcb85SJoel Stanley
1139d5dcb85SJoel Stanley.. code-block:: bash
1149d5dcb85SJoel Stanley
1159d5dcb85SJoel Stanley  $ qemu-system-arm -M ast2600-evb -nographic \
1169d5dcb85SJoel Stanley        -kernel arch/arm/boot/zImage \
1179d5dcb85SJoel Stanley        -dtb arch/arm/boot/dts/aspeed-ast2600-evb.dtb \
1189d5dcb85SJoel Stanley        -initrd rootfs.cpio
1199d5dcb85SJoel Stanley
1209b0a3649SCédric Le GoaterBooting from a flash image
1219b0a3649SCédric Le Goater^^^^^^^^^^^^^^^^^^^^^^^^^^^
1227a1e049aSCédric Le Goater
1239b0a3649SCédric Le GoaterThe machine options specific to Aspeed to boot from a flash image are :
124056b779eSCédric Le Goater
1259820e52fSCédric Le Goater * ``execute-in-place`` which emulates the boot from the CE0 flash
1269820e52fSCédric Le Goater   device by using the FMC controller to load the instructions, and
1279820e52fSCédric Le Goater   not simply from RAM. This takes a little longer.
1289820e52fSCédric Le Goater
129c7e313aeSCédric Le Goater * ``fmc-model`` to change the default FMC Flash model. FW needs
130c7e313aeSCédric Le Goater   support for the chip model to boot.
1319820e52fSCédric Le Goater
132c7e313aeSCédric Le Goater * ``spi-model`` to change the default SPI Flash model.
1339820e52fSCédric Le Goater
1349b0a3649SCédric Le GoaterTo boot the machine from the flash image, use an MTD drive :
1359b0a3649SCédric Le Goater
1369b0a3649SCédric Le Goater.. code-block:: bash
1379b0a3649SCédric Le Goater
1389b0a3649SCédric Le Goater  $ qemu-system-arm -M romulus-bmc -nic user \
1399b0a3649SCédric Le Goater	-drive file=obmc-phosphor-image-romulus.static.mtd,format=raw,if=mtd -nographic
140f65f6ad5SCédric Le Goater
141c7e313aeSCédric Le GoaterTo use other flash models, for instance a different FMC chip and a
142c7e313aeSCédric Le Goaterbigger (64M) SPI for the ``ast2500-evb`` machine, run :
1439820e52fSCédric Le Goater
1449820e52fSCédric Le Goater.. code-block:: bash
1459820e52fSCédric Le Goater
1469820e52fSCédric Le Goater  -M ast2500-evb,fmc-model=mx25l25635e,spi-model=mx66u51235f
1473d393bb7SJamin Lin
148c7e313aeSCédric Le GoaterWhen more flexibility is needed to define the flash devices, to use
149c7e313aeSCédric Le Goaterdifferent flash models or define all flash devices (up to 8), the
150c7e313aeSCédric Le Goater``-nodefaults`` QEMU option can be used to avoid creating the default
151c7e313aeSCédric Le Goaterflash devices.
152c7e313aeSCédric Le Goater
153c7e313aeSCédric Le GoaterFlash devices should then be created from the command line and attached
154c7e313aeSCédric Le Goaterto a block device :
155c7e313aeSCédric Le Goater
156c7e313aeSCédric Le Goater.. code-block:: bash
157c7e313aeSCédric Le Goater
158c7e313aeSCédric Le Goater  $ qemu-system-arm -M ast2600-evb \
159c7e313aeSCédric Le Goater        -blockdev node-name=fmc0,driver=file,filename=/path/to/fmc0.img \
160c7e313aeSCédric Le Goater	-device mx66u51235f,bus=ssi.0,cs=0x0,drive=fmc0 \
161c7e313aeSCédric Le Goater	-blockdev node-name=fmc1,driver=file,filename=/path/to/fmc1.img \
162c7e313aeSCédric Le Goater	-device mx66u51235f,bus=ssi.0,cs=0x1,drive=fmc1 \
163c7e313aeSCédric Le Goater	-blockdev node-name=spi1,driver=file,filename=/path/to/spi1.img \
164c7e313aeSCédric Le Goater	-device mx66u51235f,cs=0x0,bus=ssi.1,drive=spi1 \
165c7e313aeSCédric Le Goater	-nographic -nodefaults
166c7e313aeSCédric Le Goater
167c7e313aeSCédric Le GoaterIn that case, the machine boots fetching instructions from the FMC0
168c7e313aeSCédric Le Goaterdevice. It is slower to start but closer to what HW does. Using the
169c7e313aeSCédric Le Goatermachine option ``execute-in-place`` has a similar effect.
170c7e313aeSCédric Le Goater
1719b0a3649SCédric Le GoaterBooting from an eMMC image
1729b0a3649SCédric Le Goater^^^^^^^^^^^^^^^^^^^^^^^^^^
1739b0a3649SCédric Le Goater
1749b0a3649SCédric Le GoaterThe machine options specific to Aspeed machines to boot from an eMMC
1759b0a3649SCédric Le Goaterimage are :
1769b0a3649SCédric Le Goater
1779b0a3649SCédric Le Goater * ``boot-emmc`` to set or unset boot from eMMC (AST2600).
1789b0a3649SCédric Le Goater
1799b0a3649SCédric Le GoaterOnly the ``ast2600-evb`` and ``rainier-emmc`` machines have support to
1809b0a3649SCédric Le Goaterboot from an eMMC device. In this case, the machine assumes that the
1819b0a3649SCédric Le GoatereMMC image includes special boot partitions. Such an image can be
1829b0a3649SCédric Le Goaterbuilt this way :
1839b0a3649SCédric Le Goater
1849b0a3649SCédric Le Goater.. code-block:: bash
1859b0a3649SCédric Le Goater
1869b0a3649SCédric Le Goater   $ dd if=/dev/zero of=mmc-bootarea.img count=2 bs=1M
1879b0a3649SCédric Le Goater   $ dd if=u-boot-spl.bin of=mmc-bootarea.img conv=notrunc
1889b0a3649SCédric Le Goater   $ dd if=u-boot.bin of=mmc-bootarea.img conv=notrunc count=64 bs=1K
1899b0a3649SCédric Le Goater   $ cat mmc-bootarea.img obmc-phosphor-image.wic > mmc.img
1909b0a3649SCédric Le Goater   $ truncate --size 16GB mmc.img
1919b0a3649SCédric Le Goater
1929b0a3649SCédric Le GoaterBoot the machine ``rainier-emmc`` with :
1939b0a3649SCédric Le Goater
1949b0a3649SCédric Le Goater.. code-block:: bash
1959b0a3649SCédric Le Goater
1969b0a3649SCédric Le Goater   $ qemu-system-arm -M rainier-bmc \
1979b0a3649SCédric Le Goater         -drive file=mmc.img,format=raw,if=sd,index=2 \
1989b0a3649SCédric Le Goater         -nographic
1999b0a3649SCédric Le Goater
2009b0a3649SCédric Le GoaterThe ``boot-emmc`` option can be set or unset, to change the default
2019b0a3649SCédric Le Goaterboot mode of machine: SPI or eMMC. This can be useful to boot the
2029b0a3649SCédric Le Goater``ast2600-evb`` machine from an eMMC device (default being SPI) or to
2039b0a3649SCédric Le Goaterboot the ``rainier-bmc`` machine from a flash device (default being
2049b0a3649SCédric Le GoatereMMC).
2059b0a3649SCédric Le Goater
2069b0a3649SCédric Le GoaterAs an example, here is how to to boot the ``rainier-bmc`` machine from
2079b0a3649SCédric Le Goaterthe flash device with ``boot-emmc=false`` and let the machine use an
2089b0a3649SCédric Le GoatereMMC image :
2099b0a3649SCédric Le Goater
2109b0a3649SCédric Le Goater.. code-block:: bash
2119b0a3649SCédric Le Goater
2129b0a3649SCédric Le Goater   $ qemu-system-arm -M rainier-bmc,boot-emmc=false \
2139b0a3649SCédric Le Goater        -drive file=flash.img,format=raw,if=mtd \
2149b0a3649SCédric Le Goater        -drive file=mmc.img,format=raw,if=sd,index=2 \
2159b0a3649SCédric Le Goater        -nographic
2169b0a3649SCédric Le Goater
2179b0a3649SCédric Le GoaterIt should be noted that in this case the eMMC device must not have
2189b0a3649SCédric Le Goaterboot partitions, otherwise the contents will not be accessible to the
2199b0a3649SCédric Le Goatermachine.  This limitation is due to the use of the ``-drive``
2209b0a3649SCédric Le Goaterinterface.
2219b0a3649SCédric Le Goater
2229b0a3649SCédric Le GoaterIdeally, one should be able to define the eMMC device and the
2239b0a3649SCédric Le Goaterassociated backend directly on the command line, such as :
2249b0a3649SCédric Le Goater
2259b0a3649SCédric Le Goater.. code-block:: bash
2269b0a3649SCédric Le Goater
2279b0a3649SCédric Le Goater   -blockdev node-name=emmc0,driver=file,filename=mmc.img \
2289b0a3649SCédric Le Goater   -device emmc,bus=sdhci-bus.2,drive=emmc0,boot-partition-size=1048576,boot-config=8
2299b0a3649SCédric Le Goater
2309b0a3649SCédric Le GoaterThis is not yet supported (as of QEMU-10.0). Work is needed to
2319b0a3649SCédric Le Goaterrefactor the sdhci bus model.
2329b0a3649SCédric Le Goater
2339b0a3649SCédric Le GoaterOther booting options
2349b0a3649SCédric Le Goater^^^^^^^^^^^^^^^^^^^^^
2359b0a3649SCédric Le Goater
2369b0a3649SCédric Le GoaterOther machine options specific to Aspeed machines are :
2379b0a3649SCédric Le Goater
2389b0a3649SCédric Le Goater * ``bmc-console`` to change the default console device. Most of the
2399b0a3649SCédric Le Goater   machines use the ``UART5`` device for a boot console, which is
2409b0a3649SCédric Le Goater   mapped on ``/dev/ttyS4`` under Linux, but it is not always the
2419b0a3649SCédric Le Goater   case.
2429b0a3649SCédric Le Goater
243f65f6ad5SCédric Le GoaterTo change the boot console and use device ``UART3`` (``/dev/ttyS2``
244f65f6ad5SCédric Le Goaterunder Linux), use :
245f65f6ad5SCédric Le Goater
246f65f6ad5SCédric Le Goater.. code-block:: bash
247f65f6ad5SCédric Le Goater
248f65f6ad5SCédric Le Goater  -M ast2500-evb,bmc-console=uart3
2493d393bb7SJamin Lin
2509b0a3649SCédric Le GoaterBooting the ast2700-evb machine
2519b0a3649SCédric Le Goater^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
252b3e8223eSJamin Lin
253b3e8223eSJamin LinBoot the AST2700 machine from the flash image, use an MTD drive :
254b3e8223eSJamin Lin
255b3e8223eSJamin Lin.. code-block:: bash
256b3e8223eSJamin Lin
257b3e8223eSJamin Lin  IMGDIR=ast2700-default
258b3e8223eSJamin Lin  UBOOT_SIZE=$(stat --format=%s -L ${IMGDIR}/u-boot-nodtb.bin)
259b3e8223eSJamin Lin
260b3e8223eSJamin Lin  $ qemu-system-aarch64 -M ast2700-evb \
261b3e8223eSJamin Lin       -device loader,force-raw=on,addr=0x400000000,file=${IMGDIR}/u-boot-nodtb.bin \
262b3e8223eSJamin Lin       -device loader,force-raw=on,addr=$((0x400000000 + ${UBOOT_SIZE})),file=${IMGDIR}/u-boot.dtb \
263b3e8223eSJamin Lin       -device loader,force-raw=on,addr=0x430000000,file=${IMGDIR}/bl31.bin \
264b3e8223eSJamin Lin       -device loader,force-raw=on,addr=0x430080000,file=${IMGDIR}/optee/tee-raw.bin \
265b3e8223eSJamin Lin       -device loader,cpu-num=0,addr=0x430000000 \
266b3e8223eSJamin Lin       -device loader,cpu-num=1,addr=0x430000000 \
267b3e8223eSJamin Lin       -device loader,cpu-num=2,addr=0x430000000 \
268b3e8223eSJamin Lin       -device loader,cpu-num=3,addr=0x430000000 \
269b3e8223eSJamin Lin       -smp 4 \
270b3e8223eSJamin Lin       -drive file=${IMGDIR}/image-bmc,format=raw,if=mtd \
271b3e8223eSJamin Lin       -nographic
272b3e8223eSJamin Lin
2733d393bb7SJamin LinAspeed minibmc family boards (``ast1030-evb``)
2743d393bb7SJamin Lin==================================================================
2753d393bb7SJamin Lin
2763d393bb7SJamin LinThe QEMU Aspeed machines model mini BMCs of various Aspeed evaluation
2773d393bb7SJamin Linboards. They are based on different releases of the
2783d393bb7SJamin LinAspeed SoC : the AST1030 integrating an ARM Cortex M4F CPU (200MHz).
2793d393bb7SJamin Lin
2803d393bb7SJamin LinThe SoC comes with SRAM, SPI, I2C, etc.
2813d393bb7SJamin Lin
2823d393bb7SJamin LinAST1030 SoC based machines :
2833d393bb7SJamin Lin
2843d393bb7SJamin Lin- ``ast1030-evb``          Aspeed AST1030 Evaluation board (Cortex-M4F)
2853d393bb7SJamin Lin
2863d393bb7SJamin LinSupported devices
2873d393bb7SJamin Lin-----------------
2883d393bb7SJamin Lin
2893d393bb7SJamin Lin * SMP (for the AST1030 Cortex-M4F)
2903d393bb7SJamin Lin * Interrupt Controller (VIC)
2913d393bb7SJamin Lin * Timer Controller
2923d393bb7SJamin Lin * I2C Controller
2933d393bb7SJamin Lin * System Control Unit (SCU)
2943d393bb7SJamin Lin * SRAM mapping
2953d393bb7SJamin Lin * Static Memory Controller (SMC or FMC) - Only SPI Flash support
2963d393bb7SJamin Lin * SPI Memory Controller
2973d393bb7SJamin Lin * USB 2.0 Controller
2983d393bb7SJamin Lin * Watchdog Controller
2993d393bb7SJamin Lin * GPIO Controller (Master only)
3003d393bb7SJamin Lin * UART
3013d393bb7SJamin Lin * LPC Peripheral Controller (a subset of subdevices are supported)
3023d393bb7SJamin Lin * Hash/Crypto Engine (HACE) - Hash support only. TODO: HMAC and RSA
3033d393bb7SJamin Lin * ADC
3041d6fb3d0SCédric Le Goater * Secure Boot Controller
3051d6fb3d0SCédric Le Goater * PECI Controller (minimal)
3063d393bb7SJamin Lin
3073d393bb7SJamin Lin
3083d393bb7SJamin LinMissing devices
3093d393bb7SJamin Lin---------------
3103d393bb7SJamin Lin
3113d393bb7SJamin Lin * PWM and Fan Controller
3123d393bb7SJamin Lin * Slave GPIO Controller
3133d393bb7SJamin Lin * Mailbox Controller
3143d393bb7SJamin Lin * Virtual UART
3153d393bb7SJamin Lin * eSPI Controller
3163d393bb7SJamin Lin * I3C Controller
3173d393bb7SJamin Lin
3183d393bb7SJamin LinBoot options
3193d393bb7SJamin Lin------------
3203d393bb7SJamin Lin
3213d393bb7SJamin LinThe Aspeed machines can be started using the ``-kernel`` to load a
3223d393bb7SJamin LinZephyr OS or from a firmware. Images can be downloaded from the
3233d393bb7SJamin LinASPEED GitHub release repository :
3243d393bb7SJamin Lin
3253d393bb7SJamin Lin   https://github.com/AspeedTech-BMC/zephyr/releases
3263d393bb7SJamin Lin
3273d393bb7SJamin LinTo boot a kernel directly from a Zephyr build tree:
3283d393bb7SJamin Lin
3293d393bb7SJamin Lin.. code-block:: bash
3303d393bb7SJamin Lin
3313d393bb7SJamin Lin  $ qemu-system-arm -M ast1030-evb -nographic \
3323d393bb7SJamin Lin        -kernel zephyr.elf
333