blob: 06601d13611f766b51c805e47026fb147b71a7ff [file] [log] [blame]
Pali Rohárbdb68ca2022-08-09 13:15:09 +02001TF-A UART Booting Instructions for Marvell Platforms
2====================================================
3
4This section describes how to temporary boot the Trusted Firmware-A (TF-A) project over UART
5without flashing it to non-volatile storage for Marvell's platforms.
6
7See :ref:`TF-A Build Instructions for Marvell Platforms` how to build ``mrvl_uart`` and
8``mrvl_flash`` targets used in this section.
9
10Armada37x0 UART image downloading
11---------------------------------
12
13There are two options how to download UART image into any Armada37x0 board.
14
15Marvell Wtpdownloader
16~~~~~~~~~~~~~~~~~~~~~
17
18Marvell Wtpdownloader works only with UART images stored in separate files and supports only upload
19speed with 115200 bauds. Target ``mrvl_uart`` produces GZIPed TAR archive ``uart-images.tgz.bin``
20with either three files ``TIM_ATF.bin``, ``wtmi_h.bin`` and ``boot-image_h.bin`` for non-secure
21boot or with four files ``TIM_ATF_TRUSTED.bin``, ``TIMN_ATF_TRUSTED.bin``, ``wtmi_h.bin`` and
22``boot-image_h.bin`` when secure boot is enabled.
23
24Compilation:
25
26.. code:: shell
27
28 > git clone https://github.com/MarvellEmbeddedProcessors/A3700-utils-marvell.git
29 > make -C A3700-utils-marvell/wtptp/src/Wtpdownloader_Linux -f makefile.mk
30
31It produces executable binary ``A3700-utils-marvell/wtptp/src/Wtpdownloader_Linux/WtpDownload_linux``
32
33To download images from ``uart-images.tgz.bin`` archive unpack it and for non-secure boot variant run:
34
35.. code:: shell
36
37 > stty -F /dev/ttyUSB<port#> clocal
38 > WtpDownload_linux -P UART -C <port#> -E -B TIM_ATF.bin -I wtmi_h.bin -I boot-image_h.bin
39
40After that immediately start terminal on ``/dev/ttyUSB<port#>`` to see boot output.
41
42CZ.NIC mox-imager
43~~~~~~~~~~~~~~~~~
44
45CZ.NIC mox-imager supports all Armada37x0 boards (not only Turris MOX as name suggests). It works
46with either with separate files from ``uart-images.tgz.bin`` archive (like Marvell Wtpdownloader)
47produced by ``mrvl_uart`` target or also with ``flash-image.bin`` file produced by ``mrvl_flash``
48target, which is the exactly same file as used for flashing. So when using CZ.NIC mox-imager there
49is no need to build separate files for UART flashing like in case with Marvell Wtpdownloader.
50
51CZ.NIC mox-imager moreover supports higher upload speeds up to the 6000000 bauds (which seems to
52be limit of Armada37x0 SoC) which is much higher and faster than Marvell Wtpdownloader.
53
54Compilation:
55
56.. code:: shell
57
58 > git clone https://gitlab.nic.cz/turris/mox-imager.git
59 > make -C mox-imager
60
61It produces executable binary ``mox-imager/mox-imager``
62
63To download single file image built by ``mrvl_flash`` target at the highest speed, run:
64
65.. code:: shell
66
67 > mox-imager -D /dev/ttyUSB<port#> -E -b 6000000 -t flash-image.bin
68
69To download images from ``uart-images.tgz.bin`` archive built by ``mrvl_uart`` target for
70non-secure boot variant (like Wtpdownloader) but at the highest speed, first unpack
71``uart-images.tgz.bin`` archive and then run:
72
73.. code:: shell
74
75 > mox-imager -D /dev/ttyUSB<port#> -E -b 6000000 -t TIM_ATF.bin wtmi_h.bin boot-image_h.bin
76
77CZ.NIC mox-imager after successful download will start its own mini terminal (option ``-t``) to
78not loose any boot output. It also prints boot output which is sent either by image files or by
79bootrom during transferring of image files. This mini terminal can be quit by CTRL-\\ + C keypress.
80
81
82A7K/8K/CN913x UART image downloading
83------------------------------------
84
85A7K/8K/CN913x uses same image ``flash-image.bin`` for both flashing and booting over UART.
86For downloading image over UART it is possible to use mvebu64boot tool.
87
88Compilation:
89
90.. code:: shell
91
92 > git clone https://github.com/pali/mvebu64boot.git
93 > make -C mvebu64boot
94
95It produces executable binary ``mvebu64boot/mvebu64boot``
96
97To download ``flash-image.bin`` image run:
98
99.. code:: shell
100
101 > mvebu64boot -t -b flash-image.bin /dev/ttyUSB0
102
103After successful download it will start own mini terminal (option ``-t``) like CZ.NIC mox-imager.