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