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