summaryrefslogtreecommitdiff
path: root/doc/board/phytec/imx91-93-phycore.rst
blob: 42bcda100e0f1d15233b3da52c5def87e95ca95d (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
.. SPDX-License-Identifier: GPL-2.0+

phyCORE-i.MX 91/93
==================

U-Boot for the phyCORE-i.MX 91/93. Both SoC variants, that is i.MX 91 and i.MX 93,
are supported by same board code, however each variant uses different defconfig
and ATF/ELE firmware blobs. Please follow the correct steps for the populated SoC.

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

- Get and Build the ARM Trusted firmware
- Get the DDR firmware
- Get ahab-container.img
- Build U-Boot

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

For phyCORE-i.MX 91 variant:

.. code-block:: bash

   $ unset LDFLAGS
   $ make PLAT=imx91 bl31
   $ cp build/imx91/release/bl31.bin $(srctree)

For phyCORE-i.MX 93 variant:

.. code-block:: bash

   $ unset LDFLAGS
   $ make PLAT=imx93 bl31
   $ cp build/imx93/release/bl31.bin $(srctree)

Get the DDR firmware
--------------------

.. code-block:: bash

   $ wget https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/firmware-imx-8.21.bin
   $ chmod +x firmware-imx-8.21.bin
   $ ./firmware-imx-8.21.bin
   $ cp firmware-imx-8.21/firmware/ddr/synopsys/lpddr4*.bin $(srctree)

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

.. code-block:: bash

   $ wget  https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/firmware-ele-imx-1.3.0-17945fc.bin
   $ chmod +x firmware-ele-imx-1.3.0-17945fc.bin
   $ ./firmware-ele-imx-1.3.0-17945fc.bin
   $ cp firmware-ele-imx-1.3.0-17945fc/mx91a0-ahab-container.img $(srctree)
   $ cp firmware-ele-imx-1.3.0-17945fc/mx93a1-ahab-container.img $(srctree)

Build U-Boot
------------

For phyCORE-i.MX 91 variant:

.. code-block:: bash

   $ make imx91-phycore_defconfig
   $ make

For phyCORE-i.MX 93 variant:

.. code-block:: bash

   $ make imx93-phycore_defconfig
   $ make

Burn the flash.bin to MicroSD card offset 32KB:

.. code-block:: bash

   $ dd if=flash.bin of=/dev/sd[x] bs=1024 seek=32 conv=notrunc