Skip to content

Commit a9029e5

Browse files
Marvell/SolidRun: Rework Readme.md files
This patch reworks Readme.md files of Marvell and SolidRun platforms as follows: * Add supported features list. * Leave minmal EDK2 build command. * Add 'NOTE' box about INCLUDE_TFTP_COMMAND build flag. * Move full firmware image build/burn howtos to external wiki pages. * Add links and update paragraphs.
1 parent 958fc02 commit a9029e5

File tree

3 files changed

+124
-202
lines changed

3 files changed

+124
-202
lines changed

Platform/Marvell/Cn913xDb/Readme.md

Lines changed: 38 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -5,93 +5,65 @@
55

66
This is a port of 64-bit TianoCore EDK II firmware for the Marvell CN913x Development Board.
77

8-
# Building the firmware
9-
10-
## Prepare toolchain (for cross-compilation only):
11-
12-
1. Download the toolchain:
13-
14-
```
15-
wget https://releases.linaro.org/components/toolchain/binaries/7.5-2019.12/aarch64-linux-gnu/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.xz
16-
```
8+
# Supported features
179

18-
1. After extracting, setup the path and compiler prefix to GCC5\_AARCH64\_PREFIX variable:
10+
Features supported in EDK2:
1911

20-
```
21-
export GCC5_AARCH64_PREFIX=<toolchain_path>/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-
22-
```
12+
* 1x PCIE root complex
13+
* Networking:
14+
* 3x 10 GbE via SFP+
15+
* 2x 1 GbE RGMII via RJ45
16+
* 5x USB 2.0/3.0
17+
* 3x SATA
18+
* 2x uSD
19+
* 1x eMMC
20+
* RTC
21+
* SPI flash & memory-mapped variable storage access
22+
* I2C
23+
* GPIO
2324

24-
## Prepare prerequisites
25+
Hardware description:
2526

26-
1. Create a new folder (directory) on your local development machine
27-
for use as your workspace. This example uses `/work/git/tianocore`, modify as
28-
appropriate for your needs.
27+
* ACPI (default)
28+
* Device Tree
2929

30-
```
31-
$ export WORKSPACE=/work/git/tianocore
32-
$ mkdir -p $WORKSPACE
33-
$ cd $WORKSPACE
34-
```
30+
Others:
3531

36-
1. Clone the Trusted Firmware repository:
32+
* Signed capsule update
33+
* X64 option ROM emulator
3734

38-
```
39-
$ cd ${WORKSPACE}
40-
$ git clone https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git
41-
```
42-
1. Clone repository for auxiliary firmware on the SoC co-processors and checkout to binaries-marvell-armada-SDK10.0.1.0:
43-
44-
```
45-
$ cd ${WORKSPACE}
46-
$ git clone https://github.com/MarvellEmbeddedProcessors/binaries-marvell.git
47-
$ cd binaries-marvell/
48-
$ git checkout -b binaries-marvell-armada-SDK10.0.1.0 origin/binaries-marvell-armada-SDK10.0.1.0
49-
```
50-
1. Clone the DDR training code from:
35+
# Building the firmware
5136

52-
```
53-
$ cd ${WORKSPACE}
54-
$ git clone https://github.com/MarvellEmbeddedProcessors/mv-ddr-marvell.git
55-
```
5637
## Prepare EDKII environment:
5738

58-
Please follow instructions from "Obtaining source code" and "Manual building" from the top level edk2-platforms [Readme.md](https://github.com/tianocore/edk2-platforms#readme).
39+
Please follow instructions from [Obtaining source code](https://github.com/tianocore/edk2-platforms#obtaining-source-code)
40+
and [Manual building](https://github.com/tianocore/edk2-platforms#manual-building) from the
41+
top level edk2-platforms [Readme.md](https://github.com/tianocore/edk2-platforms#readme).
5942

6043
## Build EDKII:
6144

62-
1. Use below build command:
45+
Use below build command:
6346

64-
```
65-
$ cd ${WORKSPACE}
66-
$ build -a AARCH64 -t GCC5 -b RELEASE -D CN9132 -D INCLUDE_TFTP_COMMAND -D CAPSULE_ENABLE -p Platform/Marvell/Cn913xDb/Cn913xDbA.dsc
67-
```
47+
```
48+
$ build -a AARCH64 -t GCC5 -b RELEASE -D CN9132 -D CAPSULE_ENABLE -D X64EMU_ENABLE -p Platform/Marvell/Cn913xDb/Cn913xDbA.dsc
49+
```
6850

69-
## Build the final firmware image:
51+
---
52+
**NOTE**
7053

71-
1. Set BL33 variable to path to EDK II output binary:
54+
'-D INCLUDE_TFTP_COMMAND' is optional and can be added in order to enable `tftp` command in UEFI Shell.
7255

73-
```
74-
$ export BL33=${WORKSPACE}/Build/Cn9132DbA-AARCH64/RELEASE_GCC5/FV/ARMADA_EFI.fd
75-
```
76-
1. Export SCP_BL2 variable:
56+
---
7757

78-
```
79-
$ export SCP_BL2=${WORKSKPACE}/binaries-marvell/mrvl_scp_bl2.img
80-
```
81-
1. Export compiler variables (for cross-compilation only):
58+
## Build the final firmware image:
8259

83-
```
84-
$ export ARCH=arm64
85-
$ export CROSS_COMPILE=<toolchain_path>/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-
86-
```
87-
1. Build the image:
60+
In addition to EDKII binary, the complete firmware image comprises the TF-A and other components.
61+
A complete build instruction can be found at [wiki page](https://github.com/Semihalf/edk2-platforms/wiki/Build_firmware).
8862

89-
```
90-
$ cd ${WORKSPACE}/trusted-firmware-a/
91-
$ make LOG_LEVEL=20 MV_DDR_PATH=${WORKSPACE}/mv-ddr-marvell CP_NUM=3 PLAT=t9130 all fip mrvl_flash
63+
## Burning the firmware
9264

93-
```
94-
The firmware image `flash-image.bin` can be found in `build/t9130/release/` directory.
65+
Please follow instruction at [wiki page](https://github.com/Semihalf/edk2-platforms/wiki/Burning_firmware)
66+
to burn image to desired boot device.
9567

9668
# ARM System Ready certification.
9769

Platform/SolidRun/Armada80x0McBin/Readme.md

Lines changed: 44 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -3,94 +3,69 @@
33

44
# Summary
55

6-
This is a port of 64-bit TianoCore EDK II firmware for the SolidRun MacchiatoBin platform based on the Marvell ARMADA 8040 SoC.
6+
This is a port of 64-bit TianoCore EDK II firmware for the [SolidRun MacchiatoBin Double Shot](https://solidrun.atlassian.net/wiki/spaces/developer/pages/286655749/MACCHIATObin+Single+Double+Shot+Quick+Start+Guide)
7+
platform based on the Marvell ARMADA 8040 SoC.
78

8-
# Building the firmware
9+
# Supported features
910

10-
## Prepare toolchain (for cross-compilation only):
11+
Features supported in EDK2:
1112

12-
1. Download the toolchain:
13+
* 1x PCIE x4
14+
* Networking:
15+
* 2x 10 GbE via SFP+ / RJ45
16+
* 1x 2500 Base-X via SFP+
17+
* 1x 1 GbE SGMII via RJ45
18+
* 1x USB 3.0
19+
* 2x USB 2.0
20+
* 3x SATA
21+
* 1x uSD
22+
* 1x eMMC
23+
* RTC
24+
* SPI flash & memory-mapped variable storage access
25+
* GPIO
1326

14-
```
15-
wget https://releases.linaro.org/components/toolchain/binaries/7.5-2019.12/aarch64-linux-gnu/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.xz
16-
```
27+
Hardware description:
1728

18-
1. After extracting, setup the path and compiler prefix to GCC5\_AARCH64\_PREFIX variable:
29+
* ACPI (default)
30+
* Device Tree
1931

20-
```
21-
export GCC5_AARCH64_PREFIX=<toolchain_path>/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-
22-
```
32+
Others:
2333

24-
## Prepare prerequisites
34+
* Signed capsule update
35+
* X64 option ROM emulator
2536

26-
1. Create a new folder (directory) on your local development machine
27-
for use as your workspace. This example uses `/work/git/tianocore`, modify as
28-
appropriate for your needs.
37+
# Building the firmware
2938

30-
```
31-
$ export WORKSPACE=/work/git/tianocore
32-
$ mkdir -p $WORKSPACE
33-
$ cd $WORKSPACE
34-
```
39+
## Prepare EDKII environment:
3540

36-
1. Clone the Trusted Firmware repository:
41+
Please follow instructions from [Obtaining source code](https://github.com/tianocore/edk2-platforms#obtaining-source-code)
42+
and [Manual building](https://github.com/tianocore/edk2-platforms#manual-building) from the
43+
top level edk2-platforms [Readme.md](https://github.com/tianocore/edk2-platforms#readme).
3744

38-
```
39-
$ cd ${WORKSPACE}
40-
$ git clone https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git
41-
```
42-
1. Clone repository for auxiliary firmware on the SoC co-processors and checkout to binaries-marvell-armada-SDK10.0.1.0:
45+
## Build EDKII:
4346

44-
```
45-
$ cd ${WORKSPACE}
46-
$ git clone https://github.com/MarvellEmbeddedProcessors/binaries-marvell.git
47-
$ cd binaries-marvell/
48-
$ git checkout -b binaries-marvell-armada-SDK10.0.1.0 origin/binaries-marvell-armada-SDK10.0.1.0
49-
```
50-
1. Clone the DDR training code from:
47+
Use below build command:
5148

52-
```
53-
$ cd ${WORKSPACE}
54-
$ git clone https://github.com/MarvellEmbeddedProcessors/mv-ddr-marvell.git
55-
```
56-
## Prepare EDKII environment:
49+
```
50+
$ build -a AARCH64 -t GCC5 -b RELEASE -D X64EMU_ENABLE -p Platform/SolidRun/Armada80x0McBin/Armada80x0McBin.dsc
51+
```
5752

58-
Please follow instructions from "Obtaining source code" and "Manual building" from the top level edk2-platforms [Readme.md](https://github.com/tianocore/edk2-platforms#readme).
53+
---
54+
**NOTE**
5955

60-
## Build EDKII:
61-
62-
1. Use below build command:
56+
'-D INCLUDE_TFTP_COMMAND' is optional and can be added in order to enable `tftp` command in UEFI Shell.
6357

64-
```
65-
$ cd ${WORKSPACE}
66-
$ build -a AARCH64 -t GCC5 -b RELEASE -D INCLUDE_TFTP_COMMAND -D X64EMU_ENABLE -p Platform/SolidRun/Armada80x0McBin/Armada80x0McBin.dsc
67-
```
58+
---
6859

6960
## Build the final firmware image:
7061

71-
1. Set BL33 variable to path to EDK II output binary:
72-
73-
```
74-
$ export BL33=${WORKSPACE}/Build/Armada80x0McBin-AARCH64/RELEASE_GCC5/FV/ARMADA_EFI.fd
75-
```
76-
1. Export SCP_BL2 variable:
77-
78-
```
79-
$ export SCP_BL2=${WORKSKPACE}/binaries-marvell/mrvl_scp_bl2.img
80-
```
81-
1. Export compiler variables (for cross-compilation only):
82-
83-
```
84-
$ export ARCH=arm64
85-
$ export CROSS_COMPILE=<toolchain_path>/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-
86-
```
87-
1. Build the image:
88-
89-
```
90-
$ cd ${WORKSPACE}/trusted-firmware-a/
91-
$ make LOG_LEVEL=20 MV_DDR_PATH=${WORKSPACE}/mv-ddr-marvell PLAT=a80x0_mcbin all fip mrvl_flash
92-
```
93-
The firmware image `flash-image.bin` can be found in `build/a80x0_mcbin/release/` directory.
62+
In addition to EDKII binary, the complete firmware image comprises the TF-A and other components.
63+
A complete build instruction can be found at [wiki page](https://github.com/Semihalf/edk2-platforms/wiki/Build_firmware).
64+
65+
## Burning the firmware
66+
67+
Please follow instruction at [wiki page](https://github.com/Semihalf/edk2-platforms/wiki/Burning_firmware)
68+
to burn image to desired boot device.
9469

9570
# ARM System Ready certification.
9671

0 commit comments

Comments
 (0)