1.. SPDX-License-Identifier: GPL-2.0+ 2 3Kontron Electronics SL i.MX8MM SoM 4================================== 5 6The Kontron SoM-Line i.MX8MM (N801x) by Kontron Electronics GmbH is a SoM module 7with an i.MX8M-Mini SoC, 1/2/4 GB LPDDR4 RAM, SPI NOR, eMMC and PMIC. 8 9The matching evaluation boards (Board-Line) have two Ethernet ports, USB 2.0, 10HDMI/LVDS, SD card, CAN, RS485, RS232 and much more. 11 12Quick Start 13----------- 14 15- Get and Build the Trusted Firmware-A (TF-A) 16- Get the DDR firmware 17- Build U-Boot 18- Boot 19 20Get and Build the Trusted Firmware-A (TF-A) 21^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 22 23Note: builddir is U-Boot build directory (source directory for in-tree builds) 24 25There are two sources for the TF-A. Mainline and NXP. Get the one you prefer 26(support and features might differ). 27 28**NXP's imx-atf** 29 301. Get TF-A from: https://source.codeaurora.org/external/imx/imx-atf, branch: imx_5.4.70_2.3.0 312. Apply the patch to select the correct UART for the console, otherwise the TF-A will lock up during boot. 323. Build 33 34 .. code-block:: bash 35 36 $ make PLAT=imx8mm bl31 37 $ cp build/imx8mm/release/bl31.bin $(builddir) 38 39**Mainline TF-A** 40 411. Get TF-A from: https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git/, tag: v2.4 422. Build 43 44 .. code-block:: bash 45 46 $ make PLAT=imx8mm CROSS_COMPILE=aarch64-linux-gnu- IMX_BOOT_UART_BASE="0x30880000" bl31 47 $ cp build/imx8mm/release/bl31.bin $(builddir) 48 49Get the DDR firmware 50^^^^^^^^^^^^^^^^^^^^ 51 52.. code-block:: bash 53 54 $ wget https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/firmware-imx-8.9.bin 55 $ chmod +x firmware-imx-8.9.bin 56 $ ./firmware-imx-8.9.bin 57 $ cp firmware-imx-8.9/firmware/ddr/synopsys/lpddr4*.bin $(builddir) 58 59Build U-Boot 60^^^^^^^^^^^^ 61 62.. code-block:: bash 63 64 $ make kontron-sl-mx8mm_defconfig 65 $ export ATF_LOAD_ADDR=0x920000 66 $ make 67 68Burn the flash.bin to SD card at an offset of 33 KiB: 69 70.. code-block:: bash 71 72 $ dd if=flash.bin of=/dev/sd[x] bs=1K seek=33 conv=notrunc 73 74Boot 75^^^^ 76 77Put the SD card in the slot on the board and apply power. 78 79Further Information 80------------------- 81 82The bootloader configuration is setup to be used with kernel FIT images. Legacy 83images might not be working out of the box. 84 85Please see https://docs.kontron-electronics.de for further vendor documentation. 86