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