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