From: Grzegorz Bernacki <g...@semihalf.com> 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.
Signed-off-by: Marcin Wojtas <m...@semihalf.com> --- In order to ease review/merge the patch is available in a public repository: https://github.com/Semihalf/edk2-platforms/commits/marvell-howtos-upstream-r20220314 Platform/Marvell/Cn913xDb/Readme.md | 104 +++++++----------- Platform/SolidRun/Armada80x0McBin/Readme.md | 113 ++++++++------------ Platform/SolidRun/Cn913xCEx7Eval/Readme.md | 109 ++++++++----------- 3 files changed, 124 insertions(+), 202 deletions(-) diff --git a/Platform/Marvell/Cn913xDb/Readme.md b/Platform/Marvell/Cn913xDb/Readme.md index ecdb78302b..0b2ab676f8 100644 --- a/Platform/Marvell/Cn913xDb/Readme.md +++ b/Platform/Marvell/Cn913xDb/Readme.md @@ -5,93 +5,65 @@ This is a port of 64-bit TianoCore EDK II firmware for the Marvell CN913x Development Board. -# Building the firmware - -## Prepare toolchain (for cross-compilation only): - -1. Download the toolchain: - - ``` - 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 - ``` +# Supported features -1. After extracting, setup the path and compiler prefix to GCC5\_AARCH64\_PREFIX variable: +Features supported in EDK2: - ``` - export GCC5_AARCH64_PREFIX=<toolchain_path>/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu- - ``` +* 1x PCIE root complex +* Networking: + * 3x 10 GbE via SFP+ + * 2x 1 GbE RGMII via RJ45 +* 5x USB 2.0/3.0 +* 3x SATA +* 2x uSD +* 1x eMMC +* RTC +* SPI flash & memory-mapped variable storage access +* I2C +* GPIO -## Prepare prerequisites +Hardware description: -1. Create a new folder (directory) on your local development machine - for use as your workspace. This example uses `/work/git/tianocore`, modify as - appropriate for your needs. +* ACPI (default) +* Device Tree - ``` - $ export WORKSPACE=/work/git/tianocore - $ mkdir -p $WORKSPACE - $ cd $WORKSPACE - ``` +Others: -1. Clone the Trusted Firmware repository: +* Signed capsule update +* X64 option ROM emulator - ``` - $ cd ${WORKSPACE} - $ git clone https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git - ``` -1. Clone repository for auxiliary firmware on the SoC co-processors and checkout to binaries-marvell-armada-SDK10.0.1.0: - - ``` - $ cd ${WORKSPACE} - $ git clone https://github.com/MarvellEmbeddedProcessors/binaries-marvell.git - $ cd binaries-marvell/ - $ git checkout -b binaries-marvell-armada-SDK10.0.1.0 origin/binaries-marvell-armada-SDK10.0.1.0 - ``` -1. Clone the DDR training code from: +# Building the firmware - ``` - $ cd ${WORKSPACE} - $ git clone https://github.com/MarvellEmbeddedProcessors/mv-ddr-marvell.git - ``` ## Prepare EDKII environment: -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). +Please follow instructions from [Obtaining source code](https://github.com/tianocore/edk2-platforms#obtaining-source-code) +and [Manual building](https://github.com/tianocore/edk2-platforms#manual-building) from the +top level edk2-platforms [Readme.md](https://github.com/tianocore/edk2-platforms#readme). ## Build EDKII: -1. Use below build command: +Use below build command: - ``` - $ cd ${WORKSPACE} - $ build -a AARCH64 -t GCC5 -b RELEASE -D CN9132 -D INCLUDE_TFTP_COMMAND -D CAPSULE_ENABLE -p Platform/Marvell/Cn913xDb/Cn913xDbA.dsc - ``` + ``` + $ build -a AARCH64 -t GCC5 -b RELEASE -D CN9132 -D CAPSULE_ENABLE -D X64EMU_ENABLE -p Platform/Marvell/Cn913xDb/Cn913xDbA.dsc + ``` -## Build the final firmware image: +--- +**NOTE** -1. Set BL33 variable to path to EDK II output binary: +'-D INCLUDE_TFTP_COMMAND' is optional and can be added in order to enable `tftp` command in UEFI Shell. - ``` - $ export BL33=${WORKSPACE}/Build/Cn9132DbA-AARCH64/RELEASE_GCC5/FV/ARMADA_EFI.fd - ``` -1. Export SCP_BL2 variable: +--- - ``` - $ export SCP_BL2=${WORKSKPACE}/binaries-marvell/mrvl_scp_bl2.img - ``` -1. Export compiler variables (for cross-compilation only): +## Build the final firmware image: - ``` - $ export ARCH=arm64 - $ export CROSS_COMPILE=<toolchain_path>/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu- - ``` -1. Build the image: +In addition to EDKII binary, the complete firmware image comprises the TF-A and other components. +A complete build instruction can be found at [wiki page](https://github.com/Semihalf/edk2-platforms/wiki/Build_firmware). - ``` - $ cd ${WORKSPACE}/trusted-firmware-a/ - $ make LOG_LEVEL=20 MV_DDR_PATH=${WORKSPACE}/mv-ddr-marvell CP_NUM=3 PLAT=t9130 all fip mrvl_flash +## Burning the firmware - ``` -The firmware image `flash-image.bin` can be found in `build/t9130/release/` directory. +Please follow instruction at [wiki page](https://github.com/Semihalf/edk2-platforms/wiki/Burning_firmware) +to burn image to desired boot device. # ARM System Ready certification. diff --git a/Platform/SolidRun/Armada80x0McBin/Readme.md b/Platform/SolidRun/Armada80x0McBin/Readme.md index c63cf41b2d..8c514835c4 100644 --- a/Platform/SolidRun/Armada80x0McBin/Readme.md +++ b/Platform/SolidRun/Armada80x0McBin/Readme.md @@ -3,94 +3,69 @@ # Summary -This is a port of 64-bit TianoCore EDK II firmware for the SolidRun MacchiatoBin platform based on the Marvell ARMADA 8040 SoC. +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) +platform based on the Marvell ARMADA 8040 SoC. -# Building the firmware +# Supported features -## Prepare toolchain (for cross-compilation only): +Features supported in EDK2: -1. Download the toolchain: +* 1x PCIE x4 +* Networking: + * 2x 10 GbE via SFP+ / RJ45 + * 1x 2500 Base-X via SFP+ + * 1x 1 GbE SGMII via RJ45 +* 1x USB 3.0 +* 2x USB 2.0 +* 3x SATA +* 1x uSD +* 1x eMMC +* RTC +* SPI flash & memory-mapped variable storage access +* GPIO - ``` - 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 - ``` +Hardware description: -1. After extracting, setup the path and compiler prefix to GCC5\_AARCH64\_PREFIX variable: +* ACPI (default) +* Device Tree - ``` - export GCC5_AARCH64_PREFIX=<toolchain_path>/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu- - ``` +Others: -## Prepare prerequisites +* Signed capsule update +* X64 option ROM emulator -1. Create a new folder (directory) on your local development machine - for use as your workspace. This example uses `/work/git/tianocore`, modify as - appropriate for your needs. +# Building the firmware - ``` - $ export WORKSPACE=/work/git/tianocore - $ mkdir -p $WORKSPACE - $ cd $WORKSPACE - ``` +## Prepare EDKII environment: -1. Clone the Trusted Firmware repository: +Please follow instructions from [Obtaining source code](https://github.com/tianocore/edk2-platforms#obtaining-source-code) +and [Manual building](https://github.com/tianocore/edk2-platforms#manual-building) from the +top level edk2-platforms [Readme.md](https://github.com/tianocore/edk2-platforms#readme). - ``` - $ cd ${WORKSPACE} - $ git clone https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git - ``` -1. Clone repository for auxiliary firmware on the SoC co-processors and checkout to binaries-marvell-armada-SDK10.0.1.0: +## Build EDKII: - ``` - $ cd ${WORKSPACE} - $ git clone https://github.com/MarvellEmbeddedProcessors/binaries-marvell.git - $ cd binaries-marvell/ - $ git checkout -b binaries-marvell-armada-SDK10.0.1.0 origin/binaries-marvell-armada-SDK10.0.1.0 - ``` -1. Clone the DDR training code from: +Use below build command: - ``` - $ cd ${WORKSPACE} - $ git clone https://github.com/MarvellEmbeddedProcessors/mv-ddr-marvell.git - ``` -## Prepare EDKII environment: + ``` + $ build -a AARCH64 -t GCC5 -b RELEASE -D X64EMU_ENABLE -p Platform/SolidRun/Armada80x0McBin/Armada80x0McBin.dsc + ``` -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). +--- +**NOTE** -## Build EDKII: - -1. Use below build command: +'-D INCLUDE_TFTP_COMMAND' is optional and can be added in order to enable `tftp` command in UEFI Shell. - ``` - $ cd ${WORKSPACE} - $ build -a AARCH64 -t GCC5 -b RELEASE -D INCLUDE_TFTP_COMMAND -D X64EMU_ENABLE -p Platform/SolidRun/Armada80x0McBin/Armada80x0McBin.dsc - ``` +--- ## Build the final firmware image: -1. Set BL33 variable to path to EDK II output binary: - - ``` - $ export BL33=${WORKSPACE}/Build/Armada80x0McBin-AARCH64/RELEASE_GCC5/FV/ARMADA_EFI.fd - ``` -1. Export SCP_BL2 variable: - - ``` - $ export SCP_BL2=${WORKSKPACE}/binaries-marvell/mrvl_scp_bl2.img - ``` -1. Export compiler variables (for cross-compilation only): - - ``` - $ export ARCH=arm64 - $ export CROSS_COMPILE=<toolchain_path>/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu- - ``` -1. Build the image: - - ``` - $ cd ${WORKSPACE}/trusted-firmware-a/ - $ make LOG_LEVEL=20 MV_DDR_PATH=${WORKSPACE}/mv-ddr-marvell PLAT=a80x0_mcbin all fip mrvl_flash - ``` -The firmware image `flash-image.bin` can be found in `build/a80x0_mcbin/release/` directory. +In addition to EDKII binary, the complete firmware image comprises the TF-A and other components. +A complete build instruction can be found at [wiki page](https://github.com/Semihalf/edk2-platforms/wiki/Build_firmware). + +## Burning the firmware + +Please follow instruction at [wiki page](https://github.com/Semihalf/edk2-platforms/wiki/Burning_firmware) +to burn image to desired boot device. # ARM System Ready certification. diff --git a/Platform/SolidRun/Cn913xCEx7Eval/Readme.md b/Platform/SolidRun/Cn913xCEx7Eval/Readme.md index 813e723b65..0db22b5175 100644 --- a/Platform/SolidRun/Cn913xCEx7Eval/Readme.md +++ b/Platform/SolidRun/Cn913xCEx7Eval/Readme.md @@ -3,95 +3,70 @@ # Summary -This is a port of 64-bit TianoCore EDK II firmware for the SolidRun CN913x CEx7 Evaluation Board. +This is a port of 64-bit TianoCore EDK II firmware for the [SolidRun CN913x CEx7 Evaluation Board](https://solidrun.atlassian.net/wiki/spaces/developer/pages/197493948/CN9132+COM+EVK+Quick+Start+Guide). -# Building the firmware - -## Prepare toolchain (for cross-compilation only): - -1. Download the toolchain: - - ``` - 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 - ``` +# Supported features -1. After extracting, setup the path and compiler prefix to GCC5\_AARCH64\_PREFIX variable: +Features supported in EDK2: - ``` - export GCC5_AARCH64_PREFIX=<toolchain_path>/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu- - ``` +* 1x PCIE x4 + 6x PCIE x1 +* Networking: + * 1x 10 GbE via SFP+ + * 2x 5 GbE via RJ45 + * 1x 2500 Base-X via quad 1 Gbps switch + * 1x 1 GbE RGMII via RJ45 +* 2x USB 3.0 +* 4x USB 2.0 +* 2x SATA +* 1x uSD +* 1x eMMC +* RTC +* SPI flash & memory-mapped variable storage access +* I2C +* GPIO -## Prepare prerequisites +Hardware description: -1. Create a new folder (directory) on your local development machine - for use as your workspace. This example uses `/work/git/tianocore`, modify as - appropriate for your needs. +* ACPI (default) +* Device Tree - ``` - $ export WORKSPACE=/work/git/tianocore - $ mkdir -p $WORKSPACE - $ cd $WORKSPACE - ``` +Others: -1. Clone the Trusted Firmware repository: +* Signed capsule update +* X64 option ROM emulator - ``` - $ cd ${WORKSPACE} - $ git clone https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git - ``` -1. Clone repository for auxiliary firmware on the SoC co-processors and checkout to binaries-marvell-armada-SDK10.0.1.0: - - ``` - $ cd ${WORKSPACE} - $ git clone https://github.com/MarvellEmbeddedProcessors/binaries-marvell.git - $ cd binaries-marvell/ - $ git checkout -b binaries-marvell-armada-SDK10.0.1.0 origin/binaries-marvell-armada-SDK10.0.1.0 - ``` -1. Clone the DDR training code from: +# Building the firmware - ``` - $ cd ${WORKSPACE} - $ git clone https://github.com/MarvellEmbeddedProcessors/mv-ddr-marvell.git - ``` ## Prepare EDKII environment: -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). +Please follow instructions from [Obtaining source code](https://github.com/tianocore/edk2-platforms#obtaining-source-code) +and [Manual building](https://github.com/tianocore/edk2-platforms#manual-building) from the +top level edk2-platforms [Readme.md](https://github.com/tianocore/edk2-platforms#readme). ## Build EDKII: -1. Use below build command: +Use below build command: - ``` - $ cd ${WORKSPACE} - $ build -a AARCH64 -t GCC5 -b RELEASE -D INCLUDE_TFTP_COMMAND -D CAPSULE_ENABLE -D X64EMU_ENABLE -p Platform/SolidRun/Cn913xCEx7Eval/Cn913xCEx7Eval.dsc - ``` + ``` + build -a AARCH64 -t GCC5 -b RELEASE -D CAPSULE_ENABLE -D X64EMU_ENABLE -p Platform/SolidRun/Cn913xCEx7Eval/Cn913xCEx7Eval.dsc + ``` -## Build the final firmware image: +--- +**NOTE** -1. Set BL33 variable to path to EDK II output binary: +'-D INCLUDE_TFTP_COMMAND' is optional and can be added in order to enable `tftp` command in UEFI Shell. - ``` - $ export BL33=${WORKSPACE}/Build/Cn913xCEx7Eval-AARCH64/RELEASE_GCC5/FV/ARMADA_EFI.fd - ``` -1. Export SCP_BL2 variable: +--- - ``` - $ export SCP_BL2=${WORKSKPACE}/binaries-marvell/mrvl_scp_bl2.img - ``` -1. Export compiler variables (for cross-compilation only): +## Build the final firmware image: - ``` - $ export ARCH=arm64 - $ export CROSS_COMPILE=<toolchain_path>/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu- - ``` -1. Build the image: +In addition to EDKII binary, the complete firmware image comprises the TF-A and other components. +A complete build instruction can be found at [wiki page](https://github.com/Semihalf/edk2-platforms/wiki/Build_firmware). - ``` - $ cd ${WORKSPACE}/trusted-firmware-a/ - $ make LOG_LEVEL=20 MV_DDR_PATH=${WORKSPACE}/mv-ddr-marvell CP_NUM=3 PLAT=t9130_cex7_eval all fip mrvl_flash +## Burning the firmware - ``` -The firmware image `flash-image.bin` can be found in `build/t9130_cex7_eval/release/` directory. +Please follow instruction at [wiki page](https://github.com/Semihalf/edk2-platforms/wiki/Burning_firmware) +to burn image to desired boot device. # ARM System Ready certification. -- 2.29.0 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#87537): https://edk2.groups.io/g/devel/message/87537 Mute This Topic: https://groups.io/mt/89771621/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-