Merge changes from topic "marvell-armada-docs" into integration

* changes:
  docs: marvell: Replace ESPRESSObin-Ultra TF-A build example by full example how to build production release of Marvell firmware image
  docs: marvell: Fix description of flash-image.bin image
  docs: marvell: Add information into CLOCKSPRESET option how to identify CPU frequency
  docs: marvell: Reformat DDR_TOPOLOGY option and mention EspressoBin-Ultra board
  docs: marvell: Move Supported Marvell platforms to PLAT build option
This commit is contained in:
Manish Pandey 2021-02-02 12:15:50 +00:00 committed by TrustedFirmware Code Review
commit 477e28de58
1 changed files with 46 additions and 26 deletions

View File

@ -51,6 +51,18 @@ Install ARM 32-bit cross compiler, which is required for building WTMI image for
There are several build options:
- PLAT
Supported Marvell platforms are:
- a3700 - A3720 DB, EspressoBin and Turris MOX
- a70x0
- a70x0_amc - AMC board
- a80x0
- a80x0_mcbin - MacchiatoBin
- a80x0_puzzle - IEI Puzzle-M801
- t9130 - CN913x
- DEBUG
Default is without debug information (=0). in order to enable it use ``DEBUG=1``.
@ -139,15 +151,15 @@ There are several build options:
For Armada37x0 only, the DDR topology map index/name, default is 0.
Supported Options:
- 0 - DDR3 1CS: DB-88F3720-DDR3-Modular (512MB); EspressoBIN (512MB)
- 1 - DDR4 1CS: DB-88F3720-DDR4-Modular (512MB)
- 2 - DDR3 2CS: EspressoBIN V3-V5 (1GB 2CS)
- 3 - DDR4 2CS: DB-88F3720-DDR4-Modular (4GB)
- 4 - DDR3 1CS: DB-88F3720-DDR3-Modular (1GB); EspressoBIN V3-V5 (1GB 1CS)
- 5 - DDR4 1CS: EspressoBin V7 (1GB)
- 6 - DDR4 2CS: EspressoBin V7 (2GB)
- 7 - DDR3 2CS: EspressoBin V3-V5 (2GB)
- CUST - CUSTOMER: Customer board, DDR3 1CS 512MB
- 0 - DDR3 1CS 512MB (DB-88F3720-DDR3-Modular, EspressoBin V3-V5)
- 1 - DDR4 1CS 512MB (DB-88F3720-DDR4-Modular)
- 2 - DDR3 2CS 1GB (EspressoBin V3-V5)
- 3 - DDR4 2CS 4GB (DB-88F3720-DDR4-Modular)
- 4 - DDR3 1CS 1GB (DB-88F3720-DDR3-Modular, EspressoBin V3-V5)
- 5 - DDR4 1CS 1GB (EspressoBin V7, EspressoBin-Ultra)
- 6 - DDR4 2CS 2GB (EspressoBin V7)
- 7 - DDR3 2CS 2GB (EspressoBin V3-V5)
- CUST - CUSTOMER BOARD (Customer board settings)
- CLOCKSPRESET
@ -159,6 +171,13 @@ There are several build options:
- CPU_1000_DDR_800 - CPU at 1000 MHz, DDR at 800 MHz
- CPU_1200_DDR_750 - CPU at 1200 MHz, DDR at 750 MHz
Look at Armada37x0 chip package marking on board to identify correct CPU frequency.
The last line on package marking (next line after the 88F37x0 line) should contain:
- C080 or I080 - chip with 800 MHz CPU - use ``CLOCKSPRESET=CPU_800_DDR_800``
- C100 or I100 - chip with 1000 MHz CPU - use ``CLOCKSPRESET=CPU_1000_DDR_800``
- C120 - chip with 1200 MHz CPU - use ``CLOCKSPRESET=CPU_1200_DDR_750``
- BOOTDEV
For Armada37x0 only, the flash boot device, default is ``SPINOR``.
@ -254,24 +273,24 @@ To build just TF-A without WTMI image (useful for A3720 Turris MOX board), run f
> make USE_COHERENT_MEM=0 PLAT=a3700 CM3_SYSTEM_RESET=1 BL33=/path/to/u-boot.bin \
CROSS_COMPILE=aarch64-linux-gnu- mrvl_bootimage
You can build TF-A for the Globalscale ESPRESSObin-Ultra board (DDR4, 1 GB) by running the following command:
Here is full example how to build production release of Marvell firmware image (concatenated
binary of Marvell secure firmware, TF-A and U-Boot) for EspressoBin board (PLAT=a3700) with
1GHz CPU (CLOCKSPRESET=CPU_1000_DDR_800) and 1GB DDR4 RAM (DDR_TOPOLOGY=5):
.. code:: shell
> make DEBUG=1 USE_COHERENT_MEM=0 LOG_LEVEL=20 CLOCKSPRESET=CPU_1200_DDR_750 \
MARVELL_SECURE_BOOT=0 DDR_TOPOLOGY=5 BOOTDEV=SPINOR PARTNUM=0 PLAT=a3700 \
MV_DDR_PATH=/path/to/mv-ddr-marvell/ WTP=/path/to/A3700-utils-marvell/ \
CRYPTOPP_PATH=/path/to/cryptopp/ BL33=/path/to/u-boot.bin \
all fip mrvl_bootimage mrvl_flash
> git clone https://review.trustedfirmware.org/TF-A/trusted-firmware-a
> git clone https://gitlab.denx.de/u-boot/u-boot.git
> git clone https://github.com/weidai11/cryptopp.git
> git clone https://github.com/MarvellEmbeddedProcessors/mv-ddr-marvell.git -b master
> git clone https://github.com/MarvellEmbeddedProcessors/A3700-utils-marvell.git -b master
> make -C u-boot CROSS_COMPILE=aarch64-linux-gnu- mvebu_espressobin-88f3720_defconfig u-boot.bin
> make -C trusted-firmware-a CROSS_COMPILE=aarch64-linux-gnu- CROSS_CM3=arm-linux-gnueabi- \
USE_COHERENT_MEM=0 PLAT=a3700 CLOCKSPRESET=CPU_1000_DDR_800 DDR_TOPOLOGY=5 \
MV_DDR_PATH=$PWD/mv-ddr-marvell/ WTP=$PWD/A3700-utils-marvell/ CRYPTOPP_PATH=$PWD/cryptopp/ \
BL33=$PWD/u-boot/u-boot.bin mrvl_flash
Supported MARVELL_PLATFORM are:
- a3700 (for both A3720 DB and EspressoBin)
- a70x0
- a70x0_amc (for AMC board)
- a80x0
- a80x0_mcbin (for MacchiatoBin)
- a80x0_puzzle (for IEI Puzzle-M801)
- t9130 (OcteonTX2 CN913x)
Produced Marvell firmware flash image: ``trusted-firmware-a/build/a3700/release/flash-image.bin``
Special Build Flags
--------------------
@ -295,14 +314,15 @@ Build output
------------
Marvell's TF-A compilation generates 8 files:
- ble.bin - BLe image
- ble.bin - BLe image (not available for Armada37x0)
- bl1.bin - BL1 image
- bl2.bin - BL2 image
- bl31.bin - BL31 image
- fip.bin - FIP image (contains BL2, BL31 & BL33 (U-Boot) images)
- boot-image.bin - TF-A image (contains BL1 and FIP images)
- flash-image.bin - Image which contains boot-image.bin and SPL image.
Should be placed on the boot flash/device.
- flash-image.bin - Flashable Marvell firmware image. For Armada37x0 it
contains TIM, WTMI and boot-image.bin images. For other platforms it contains
BLe and boot-image.bin images. Should be placed on the boot flash/device.
- uart-images.tgz.bin - GZIPed TAR archive which contains Armada37x0 images
for booting via UART. Could be loaded via Marvell's WtpDownload tool from
A3700-utils-marvell repository.