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