summaryrefslogtreecommitdiff
path: root/doc/board/nxp/imx943_evk.rst
blob: 651db08a0f7c5c8d431bfb34de12f674f12ff62b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
.. SPDX-License-Identifier: GPL-2.0+

imx943_evk
=======================

U-Boot for the NXP i.MX943 19x19 EVK board

Quick Start
-----------

- Get ahab-container.img
- Get DDR PHY Firmware Images
- Get and Build OEI Images
- Get and Build System Manager Image
- Get and Build the ARM Trusted Firmware
- Build the Bootloader Image
- Boot

Get ahab-container.img
--------------------------------------

Note: srctree is U-Boot source directory

.. code-block:: bash

   $ wget https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/firmware-ele-imx-2.0.2-89161a8.bin
   $ sh firmware-ele-imx-2.0.2-89161a8.bin --auto-accept
   $ cp firmware-ele-imx-2.0.2-89161a8/mx943a0-ahab-container.img $(srctree)

Get DDR PHY Firmware Images
--------------------------------------

Note: srctree is U-Boot source directory

.. code-block:: bash

   $ wget https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/firmware-imx-8.28-994fa14.bin
   $ sh firmware-imx-8.28-994fa14.bin --auto-accept
   $ cp firmware-imx-8.28-994fa14/firmware/ddr/synopsys/lpddr5*v202409.bin $(srctree)

Get and Build OEI Images
--------------------------------------

Note: srctree is U-Boot source directory
Get OEI from: https://github.com/nxp-imx/imx-oei
branch: master

.. code-block:: bash

   $ sudo apt -y install make gcc g++-multilib srecord
   $ wget https://developer.arm.com/-/media/Files/downloads/gnu/13.3.rel1/binrel/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi.tar.xz
   $ tar xvf arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi.tar.xz
   $ export TOOLS=$PWD
   $ git clone -b master https://github.com/nxp-imx/imx-oei.git
   $ cd imx-oei
   $ make board=mx943lp5-19 oei=ddr DEBUG=1 all
   $ cp build/mx943lp5-19/ddr/oei-m33-ddr.bin $(srctree)

Get and Build System Manager Image
--------------------------------------

Note: srctree is U-Boot source directory
Get System Manager from: https://github.com/nxp-imx/imx-sm
branch: master

.. code-block:: bash

   $ sudo apt -y install make gcc g++-multilib srecord
   $ wget https://developer.arm.com/-/media/Files/downloads/gnu/13.3.rel1/binrel/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi.tar.xz
   $ tar xvf arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi.tar.xz
   $ export TOOLS=$PWD
   $ git clone -b master https://github.com/nxp-imx/imx-sm.git
   $ cd imx-sm
   $ make config=mx94evk all
   $ cp build/mx94evk/m33_image.bin $(srctree)

Get and Build the ARM Trusted Firmware
--------------------------------------

Note: srctree is U-Boot source directory
Get ATF from: https://github.com/nxp-imx/imx-atf/
branch: lf_v2.12

.. code-block:: bash

   $ export CROSS_COMPILE=aarch64-poky-linux-
   $ unset LDFLAGS
   $ unset AS
   $ git clone -b lf_v2.12 https://github.com/nxp-imx/imx-atf.git
   $ cd imx-atf
   $ make PLAT=imx94 bl31
   $ cp build/imx94/release/bl31.bin $(srctree)

Build the Bootloader Image
--------------------------

.. code-block:: bash

   $ export CROSS_COMPILE=aarch64-poky-linux-
   $ make imx943_evk_defconfig
   $ make

Copy flash.bin to the MicroSD card:

.. code-block:: bash

   $ sudo dd if=flash.bin of=/dev/sd[x] bs=1k seek=32 conv=fsync

Boot
----

Set i.MX943 boot device to MicroSD card