blob: 327ce6e49cc01167c748b19c43cf808e13ec6acb [file] [log] [blame]
Peng Fan50ce1bf2020-10-14 17:12:02 +08001.. SPDX-License-Identifier: GPL-2.0+
2
3imx8mm_evk
4==========
5
6U-Boot for the NXP i.MX8MM EVK board
7
8Quick Start
9-----------
10
11- Build the ARM Trusted firmware binary
12- Get ddr firmware
13- Build U-Boot
14- Boot
15
16Get and Build the ARM Trusted firmware
17--------------------------------------
18
19Note: builddir is U-Boot build directory (source directory for in-tree builds)
Fabio Estevamf0f46122023-01-12 21:52:23 -030020Get ATF from: https://github.com/nxp-imx/imx-atf
Andrey Zhizhikin1396e412020-12-13 20:36:06 +000021branch: imx_5.4.47_2.2.0
Peng Fan50ce1bf2020-10-14 17:12:02 +080022
23.. code-block:: bash
24
25 $ make PLAT=imx8mm bl31
26 $ cp build/imx8mm/release/bl31.bin $(builddir)
27
28Get the ddr firmware
29--------------------
30
31.. code-block:: bash
32
Andrey Zhizhikin1396e412020-12-13 20:36:06 +000033 $ wget https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/firmware-imx-8.9.bin
34 $ chmod +x firmware-imx-8.9.bin
35 $ ./firmware-imx-8.9
36 $ cp firmware-imx-8.9/firmware/ddr/synopsys/lpddr4*.bin $(builddir)
Peng Fan50ce1bf2020-10-14 17:12:02 +080037
Mamta Shukla4ae1fa32022-07-12 14:36:23 +000038Build U-Boot for sd card
39--------------------------
Peng Fan50ce1bf2020-10-14 17:12:02 +080040
41.. code-block:: bash
42
43 $ export CROSS_COMPILE=aarch64-poky-linux-
44 $ make imx8mm_evk_defconfig
Peng Fana505fd32021-04-06 11:58:58 +080045 $ make
Peng Fan50ce1bf2020-10-14 17:12:02 +080046
47Burn the flash.bin to MicroSD card offset 33KB:
48
49.. code-block:: bash
50
51 $sudo dd if=flash.bin of=/dev/sd[x] bs=1024 seek=33 conv=notrunc
Peng Fan50ce1bf2020-10-14 17:12:02 +080052
53Boot
54----
55Set Boot switch to SD boot
Mamta Shukla4ae1fa32022-07-12 14:36:23 +000056
57Build U-Boot for qspi flash card
58------------------------------------
59
60.. code-block:: bash
61
62 $ export CROSS_COMPILE=aarch64-poky-linux-
63 $ make imx8mm_evk_fspi_defconfig
64 $ make
65
66Currently, there is no direct support to write to QSPI Flash.
67Copy flash.bin to ${loadaddr} either from sd card or over network and then copy to
68qspi flash
69
70From sd card to memory
71
72.. code-block:: bash
73
74 $mmc dev 1
75 $mmc read ${loadaddr} 0x00 <size_of_flash.bin/512>
76
77.. code-block:: bash
78
79 $ sf probe
80 $ sf erase 0 <size_of_flash.bin_in_hex>
81 $ sf write $loadaddr 0x00 <size_of_flash.bin_in_hex>
82
83Boot from QSPI Flash
84-----------------------
85Set Boot Switch to QSPI Flash
86
87Pin configuration for imx8mm_revC evk to boot from qspi flash
88SW1101: 0110xxxxxx
89SW1102: 00100x0010