1NXP i.MX 8M Plus Evaluation Kit (``imx8mp-evk``) 2================================================ 3 4The ``imx8mp-evk`` machine models the i.MX 8M Plus Evaluation Kit, based on an 5i.MX 8M Plus SoC. 6 7Supported devices 8----------------- 9 10The ``imx8mp-evk`` machine implements the following devices: 11 12 * Up to 4 Cortex-A53 cores 13 * Generic Interrupt Controller (GICv3) 14 * 4 UARTs 15 * 3 USDHC Storage Controllers 16 * 1 Designware PCI Express Controller 17 * 5 GPIO Controllers 18 * 6 I2C Controllers 19 * 3 SPI Controllers 20 * 3 Watchdogs 21 * 6 General Purpose Timers 22 * Secure Non-Volatile Storage (SNVS) including an RTC 23 * Clock Tree 24 25Boot options 26------------ 27 28The ``imx8mp-evk`` machine can start a Linux kernel directly using the standard 29``-kernel`` functionality. 30 31Direct Linux Kernel Boot 32'''''''''''''''''''''''' 33 34Probably the easiest way to get started with a whole Linux system on the machine 35is to generate an image with Buildroot. Version 2024.11.1 is tested at the time 36of writing and involves three steps. First run the following commands in the 37toplevel directory of the Buildroot source tree: 38 39.. code-block:: bash 40 41 $ make freescale_imx8mpevk_defconfig 42 $ make 43 44Once finished successfully there is an ``output/image`` subfolder. Navigate into 45it and resize the SD card image to a power of two: 46 47.. code-block:: bash 48 49 $ qemu-img resize sdcard.img 256M 50 51Finally, the device tree needs to be patched with the following commands which 52will remove the ``cpu-idle-states`` properties from CPU nodes: 53 54.. code-block:: bash 55 56 $ dtc imx8mp-evk.dtb | sed '/cpu-idle-states/d' > imx8mp-evk-patched.dts 57 $ dtc imx8mp-evk-patched.dts -o imx8mp-evk-patched.dtb 58 59Now that everything is prepared the machine can be started as follows: 60 61.. code-block:: bash 62 63 $ qemu-system-aarch64 -M imx8mp-evk -smp 4 -m 3G \ 64 -display none -serial null -serial stdio \ 65 -kernel Image \ 66 -dtb imx8mp-evk-patched.dtb \ 67 -append "root=/dev/mmcblk2p2" \ 68 -drive file=sdcard.img,if=sd,bus=2,format=raw,id=mmcblk2 69