From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-lf1-f47.google.com (mail-lf1-f47.google.com [209.85.167.47]) by mx.groups.io with SMTP id smtpd.web08.25177.1647260053259576884 for ; Mon, 14 Mar 2022 05:14:13 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@semihalf-com.20210112.gappssmtp.com header.s=20210112 header.b=baZfWXdY; spf=none, err=SPF record not found (domain: semihalf.com, ip: 209.85.167.47, mailfrom: mw@semihalf.com) Received: by mail-lf1-f47.google.com with SMTP id 3so26709731lfr.7 for ; Mon, 14 Mar 2022 05:14:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=semihalf-com.20210112.gappssmtp.com; s=20210112; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=Y8kOgtutyymE5h7wAOBsd2c7w8+MzWjEtN/SzA28eik=; b=baZfWXdY0E9oesG1z+E5eux/tUubE2hD8t+V+SNFl2r+NXda3ENfPE+dxEmk2pZef2 8oXhJZZJuBVfBbydqjeMLvG6CWZDR2yw66WEQQzRJfGIsykV6ZinFWJ/xEhLQBUWLnAo mbIU11pbTgKk9I8VnN5+fAJvZ/b4nj8oVcjRwIrG7P3VIsRKmVK/KV4P/z7FLFd6WW4a Xlh3YL8qgP1+Iy/1dHx6M0lSQVNjX9YlNr1lF/1vOemNpxn20G2NB3ugbFgsRTK7YXgg pSArQa6QZ3IKzIb9wRilgEpTNTVnGTclweFvXdhtdZkp/ASUXvtuYe7djH/CxFDaxwHc 6eKg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=Y8kOgtutyymE5h7wAOBsd2c7w8+MzWjEtN/SzA28eik=; b=ftoHDwvwp6YL4Uzu9QVO6eG4VrRDHYWkk8ndo10pgWajuUsyrKgaBORysPdT4ESWoT 4xE8abHud5s1vIKx01TIypmjn4qJn7LLcB5yFPeaHU3WIOD4rDLFRpdVdeRXEDEjRHNi VjJp7+tLeRMNS7/m2byaKxyK0HTtohpTrjw7fv/ToU6UK8/FLeEw+4gOZJa3M3SQefaX OP+hF4fuJ97D6Sfm0XP+bqMvIP5B1ICoKvTrEth/OFuKQCKlTiR3PqAXDqaE2/td76KN zux1fexlDkx3qsF1ti9ktr/HT6YzdVAiztzPAhYFQj/30j9cnOyDI3AC+yLQlKPXWDas y2/g== X-Gm-Message-State: AOAM531fkOTK2DmRIhvI9FoUNVc/78PQ/c2UqYyP673YUEeIR2Dpnn2Z eBt90pafNPj9F6HbL4BbipyOAZ1zx+QDkQ== X-Google-Smtp-Source: ABdhPJx40vHpJ186TiAuuExCMXta7VhOOGcMGx8yHKF7dCnUR81N+eBqwS7bCjQrS3wCz7I+uh06vg== X-Received: by 2002:a05:6512:3767:b0:448:59e1:8259 with SMTP id z7-20020a056512376700b0044859e18259mr12941955lft.83.1647260051215; Mon, 14 Mar 2022 05:14:11 -0700 (PDT) Return-Path: Received: from gilgamesh.lab.semihalf.net ([83.142.187.85]) by smtp.gmail.com with ESMTPSA id d16-20020a2eb050000000b002461d8f365bsm3918920ljl.38.2022.03.14.05.14.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Mar 2022 05:14:10 -0700 (PDT) From: "Marcin Wojtas" To: devel@edk2.groups.io Cc: quic_llindhol@quicinc.com, ardb+tianocore@kernel.org, jaz@semihalf.com, gjb@semihalf.com, sunny.Wang@arm.com, Marcin Wojtas Subject: [edk2-platforms PATCH] Marvell/SolidRun: Rework Readme.md files Date: Mon, 14 Mar 2022 13:06:02 +0100 Message-Id: <20220314120602.1869373-1-mw@semihalf.com> X-Mailer: git-send-email 2.29.0 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable From: Grzegorz Bernacki 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 --- 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/Cn913xD= b/Readme.md index ecdb78302b..0b2ab676f8 100644 --- a/Platform/Marvell/Cn913xDb/Readme.md +++ b/Platform/Marvell/Cn913xDb/Readme.md @@ -5,93 +5,65 @@ =0D This is a port of 64-bit TianoCore EDK II firmware for the Marvell CN913x = Development Board.=0D =0D -# Building the firmware=0D -=0D -## Prepare toolchain (for cross-compilation only):=0D -=0D -1. Download the toolchain:=0D -=0D - ```=0D - 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=0D - ```=0D +# Supported features=0D =0D -1. After extracting, setup the path and compiler prefix to GCC5\_AARCH64\_= PREFIX variable:=0D +Features supported in EDK2:=0D =0D - ```=0D - export GCC5_AARCH64_PREFIX=3D/gcc-linaro-7.5.0-2019.12-= x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-=0D - ```=0D +* 1x PCIE root complex=0D +* Networking:=0D + * 3x 10 GbE via SFP+=0D + * 2x 1 GbE RGMII via RJ45=0D +* 5x USB 2.0/3.0=0D +* 3x SATA=0D +* 2x uSD=0D +* 1x eMMC=0D +* RTC=0D +* SPI flash & memory-mapped variable storage access=0D +* I2C=0D +* GPIO=0D =0D -## Prepare prerequisites=0D +Hardware description:=0D =0D -1. Create a new folder (directory) on your local development machine=0D - for use as your workspace. This example uses `/work/git/tianocore`, mod= ify as=0D - appropriate for your needs.=0D +* ACPI (default)=0D +* Device Tree=0D =0D - ```=0D - $ export WORKSPACE=3D/work/git/tianocore=0D - $ mkdir -p $WORKSPACE=0D - $ cd $WORKSPACE=0D - ```=0D +Others:=0D =0D -1. Clone the Trusted Firmware repository:=0D +* Signed capsule update=0D +* X64 option ROM emulator=0D =0D - ```=0D - $ cd ${WORKSPACE}=0D - $ git clone https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git= =0D - ```=0D -1. Clone repository for auxiliary firmware on the SoC co-processors and ch= eckout to binaries-marvell-armada-SDK10.0.1.0:=0D -=0D - ```=0D - $ cd ${WORKSPACE}=0D - $ git clone https://github.com/MarvellEmbeddedProcessors/binaries-marve= ll.git=0D - $ cd binaries-marvell/=0D - $ git checkout -b binaries-marvell-armada-SDK10.0.1.0 origin/binaries-m= arvell-armada-SDK10.0.1.0=0D - ```=0D -1. Clone the DDR training code from:=0D +# Building the firmware=0D =0D - ```=0D - $ cd ${WORKSPACE}=0D - $ git clone https://github.com/MarvellEmbeddedProcessors/mv-ddr-marvell= .git=0D - ```=0D ## Prepare EDKII environment:=0D =0D -Please follow instructions from "Obtaining source code" and "Manual buildi= ng" from the top level edk2-platforms [Readme.md](https://github.com/tianoc= ore/edk2-platforms#readme).=0D +Please follow instructions from [Obtaining source code](https://github.com= /tianocore/edk2-platforms#obtaining-source-code)=0D +and [Manual building](https://github.com/tianocore/edk2-platforms#manual-b= uilding) from the=0D +top level edk2-platforms [Readme.md](https://github.com/tianocore/edk2-pla= tforms#readme).=0D =0D ## Build EDKII:=0D =0D -1. Use below build command:=0D +Use below build command:=0D =0D - ```=0D - $ cd ${WORKSPACE}=0D - $ build -a AARCH64 -t GCC5 -b RELEASE -D CN9132 -D INCLUDE_TFTP_COMMAND= -D CAPSULE_ENABLE -p Platform/Marvell/Cn913xDb/Cn913xDbA.dsc=0D - ```=0D + ```=0D + $ build -a AARCH64 -t GCC5 -b RELEASE -D CN9132 -D CAPSULE_ENABLE -D X64= EMU_ENABLE -p Platform/Marvell/Cn913xDb/Cn913xDbA.dsc=0D + ```=0D =0D -## Build the final firmware image:=0D +---=0D +**NOTE**=0D =0D -1. Set BL33 variable to path to EDK II output binary:=0D +'-D INCLUDE_TFTP_COMMAND' is optional and can be added in order to enable = `tftp` command in UEFI Shell.=0D =0D - ```=0D - $ export BL33=3D${WORKSPACE}/Build/Cn9132DbA-AARCH64/RELEASE_GCC5/FV/AR= MADA_EFI.fd=0D - ```=0D -1. Export SCP_BL2 variable:=0D +---=0D =0D - ```=0D - $ export SCP_BL2=3D${WORKSKPACE}/binaries-marvell/mrvl_scp_bl2.img=0D - ```=0D -1. Export compiler variables (for cross-compilation only):=0D +## Build the final firmware image:=0D =0D - ```=0D - $ export ARCH=3Darm64=0D - $ export CROSS_COMPILE=3D/gcc-linaro-7.5.0-2019.12-x86_= 64_aarch64-linux-gnu/bin/aarch64-linux-gnu-=0D - ```=0D -1. Build the image:=0D +In addition to EDKII binary, the complete firmware image comprises the TF-= A and other components.=0D +A complete build instruction can be found at [wiki page](https://github.co= m/Semihalf/edk2-platforms/wiki/Build_firmware).=0D =0D - ```=0D - $ cd ${WORKSPACE}/trusted-firmware-a/=0D - $ make LOG_LEVEL=3D20 MV_DDR_PATH=3D${WORKSPACE}/mv-ddr-marvell CP_NUM= =3D3 PLAT=3Dt9130 all fip mrvl_flash=0D +## Burning the firmware=0D =0D - ```=0D -The firmware image `flash-image.bin` can be found in `build/t9130/release/= ` directory.=0D +Please follow instruction at [wiki page](https://github.com/Semihalf/edk2-= platforms/wiki/Burning_firmware)=0D +to burn image to desired boot device.=0D =0D # ARM System Ready certification.=0D =0D diff --git a/Platform/SolidRun/Armada80x0McBin/Readme.md b/Platform/SolidRu= n/Armada80x0McBin/Readme.md index c63cf41b2d..8c514835c4 100644 --- a/Platform/SolidRun/Armada80x0McBin/Readme.md +++ b/Platform/SolidRun/Armada80x0McBin/Readme.md @@ -3,94 +3,69 @@ =0D # Summary=0D =0D -This is a port of 64-bit TianoCore EDK II firmware for the SolidRun Macchi= atoBin platform based on the Marvell ARMADA 8040 SoC.=0D +This is a port of 64-bit TianoCore EDK II firmware for the [SolidRun Macch= iatoBin Double Shot](https://solidrun.atlassian.net/wiki/spaces/developer/p= ages/286655749/MACCHIATObin+Single+Double+Shot+Quick+Start+Guide)=0D +platform based on the Marvell ARMADA 8040 SoC.=0D =0D -# Building the firmware=0D +# Supported features=0D =0D -## Prepare toolchain (for cross-compilation only):=0D +Features supported in EDK2:=0D =0D -1. Download the toolchain:=0D +* 1x PCIE x4=0D +* Networking:=0D + * 2x 10 GbE via SFP+ / RJ45=0D + * 1x 2500 Base-X via SFP+=0D + * 1x 1 GbE SGMII via RJ45=0D +* 1x USB 3.0=0D +* 2x USB 2.0=0D +* 3x SATA=0D +* 1x uSD=0D +* 1x eMMC=0D +* RTC=0D +* SPI flash & memory-mapped variable storage access=0D +* GPIO=0D =0D - ```=0D - 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=0D - ```=0D +Hardware description:=0D =0D -1. After extracting, setup the path and compiler prefix to GCC5\_AARCH64\_= PREFIX variable:=0D +* ACPI (default)=0D +* Device Tree=0D =0D - ```=0D - export GCC5_AARCH64_PREFIX=3D/gcc-linaro-7.5.0-2019.12-= x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-=0D - ```=0D +Others:=0D =0D -## Prepare prerequisites=0D +* Signed capsule update=0D +* X64 option ROM emulator=0D =0D -1. Create a new folder (directory) on your local development machine=0D - for use as your workspace. This example uses `/work/git/tianocore`, mod= ify as=0D - appropriate for your needs.=0D +# Building the firmware=0D =0D - ```=0D - $ export WORKSPACE=3D/work/git/tianocore=0D - $ mkdir -p $WORKSPACE=0D - $ cd $WORKSPACE=0D - ```=0D +## Prepare EDKII environment:=0D =0D -1. Clone the Trusted Firmware repository:=0D +Please follow instructions from [Obtaining source code](https://github.com= /tianocore/edk2-platforms#obtaining-source-code)=0D +and [Manual building](https://github.com/tianocore/edk2-platforms#manual-b= uilding) from the=0D +top level edk2-platforms [Readme.md](https://github.com/tianocore/edk2-pla= tforms#readme).=0D =0D - ```=0D - $ cd ${WORKSPACE}=0D - $ git clone https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git= =0D - ```=0D -1. Clone repository for auxiliary firmware on the SoC co-processors and ch= eckout to binaries-marvell-armada-SDK10.0.1.0:=0D +## Build EDKII:=0D =0D - ```=0D - $ cd ${WORKSPACE}=0D - $ git clone https://github.com/MarvellEmbeddedProcessors/binaries-marve= ll.git=0D - $ cd binaries-marvell/=0D - $ git checkout -b binaries-marvell-armada-SDK10.0.1.0 origin/binaries-m= arvell-armada-SDK10.0.1.0=0D - ```=0D -1. Clone the DDR training code from:=0D +Use below build command:=0D =0D - ```=0D - $ cd ${WORKSPACE}=0D - $ git clone https://github.com/MarvellEmbeddedProcessors/mv-ddr-marvell= .git=0D - ```=0D -## Prepare EDKII environment:=0D + ```=0D + $ build -a AARCH64 -t GCC5 -b RELEASE -D X64EMU_ENABLE -p Platform/Solid= Run/Armada80x0McBin/Armada80x0McBin.dsc=0D + ```=0D =0D -Please follow instructions from "Obtaining source code" and "Manual buildi= ng" from the top level edk2-platforms [Readme.md](https://github.com/tianoc= ore/edk2-platforms#readme).=0D +---=0D +**NOTE**=0D =0D -## Build EDKII:=0D -=0D -1. Use below build command:=0D +'-D INCLUDE_TFTP_COMMAND' is optional and can be added in order to enable = `tftp` command in UEFI Shell.=0D =0D - ```=0D - $ cd ${WORKSPACE}=0D - $ build -a AARCH64 -t GCC5 -b RELEASE -D INCLUDE_TFTP_COMMAND -D X64EMU= _ENABLE -p Platform/SolidRun/Armada80x0McBin/Armada80x0McBin.dsc=0D - ```=0D +---=0D =0D ## Build the final firmware image:=0D =0D -1. Set BL33 variable to path to EDK II output binary:=0D -=0D - ```=0D - $ export BL33=3D${WORKSPACE}/Build/Armada80x0McBin-AARCH64/RELEASE_GCC5= /FV/ARMADA_EFI.fd=0D - ```=0D -1. Export SCP_BL2 variable:=0D -=0D - ```=0D - $ export SCP_BL2=3D${WORKSKPACE}/binaries-marvell/mrvl_scp_bl2.img=0D - ```=0D -1. Export compiler variables (for cross-compilation only):=0D -=0D - ```=0D - $ export ARCH=3Darm64=0D - $ export CROSS_COMPILE=3D/gcc-linaro-7.5.0-2019.12-x86_= 64_aarch64-linux-gnu/bin/aarch64-linux-gnu-=0D - ```=0D -1. Build the image:=0D -=0D - ```=0D - $ cd ${WORKSPACE}/trusted-firmware-a/=0D - $ make LOG_LEVEL=3D20 MV_DDR_PATH=3D${WORKSPACE}/mv-ddr-marvell PLAT=3D= a80x0_mcbin all fip mrvl_flash=0D - ```=0D -The firmware image `flash-image.bin` can be found in `build/a80x0_mcbin/re= lease/` directory.=0D +In addition to EDKII binary, the complete firmware image comprises the TF-= A and other components.=0D +A complete build instruction can be found at [wiki page](https://github.co= m/Semihalf/edk2-platforms/wiki/Build_firmware).=0D +=0D +## Burning the firmware=0D +=0D +Please follow instruction at [wiki page](https://github.com/Semihalf/edk2-= platforms/wiki/Burning_firmware)=0D +to burn image to desired boot device.=0D =0D # ARM System Ready certification.=0D =0D 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 @@ =0D # Summary=0D =0D -This is a port of 64-bit TianoCore EDK II firmware for the SolidRun CN913x= CEx7 Evaluation Board.=0D +This is a port of 64-bit TianoCore EDK II firmware for the [SolidRun CN913= x CEx7 Evaluation Board](https://solidrun.atlassian.net/wiki/spaces/develop= er/pages/197493948/CN9132+COM+EVK+Quick+Start+Guide).=0D =0D -# Building the firmware=0D -=0D -## Prepare toolchain (for cross-compilation only):=0D -=0D -1. Download the toolchain:=0D -=0D - ```=0D - 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=0D - ```=0D +# Supported features=0D =0D -1. After extracting, setup the path and compiler prefix to GCC5\_AARCH64\_= PREFIX variable:=0D +Features supported in EDK2:=0D =0D - ```=0D - export GCC5_AARCH64_PREFIX=3D/gcc-linaro-7.5.0-2019.12-= x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-=0D - ```=0D +* 1x PCIE x4 + 6x PCIE x1=0D +* Networking:=0D + * 1x 10 GbE via SFP+=0D + * 2x 5 GbE via RJ45=0D + * 1x 2500 Base-X via quad 1 Gbps switch=0D + * 1x 1 GbE RGMII via RJ45=0D +* 2x USB 3.0=0D +* 4x USB 2.0=0D +* 2x SATA=0D +* 1x uSD=0D +* 1x eMMC=0D +* RTC=0D +* SPI flash & memory-mapped variable storage access=0D +* I2C=0D +* GPIO=0D =0D -## Prepare prerequisites=0D +Hardware description:=0D =0D -1. Create a new folder (directory) on your local development machine=0D - for use as your workspace. This example uses `/work/git/tianocore`, mod= ify as=0D - appropriate for your needs.=0D +* ACPI (default)=0D +* Device Tree=0D =0D - ```=0D - $ export WORKSPACE=3D/work/git/tianocore=0D - $ mkdir -p $WORKSPACE=0D - $ cd $WORKSPACE=0D - ```=0D +Others:=0D =0D -1. Clone the Trusted Firmware repository:=0D +* Signed capsule update=0D +* X64 option ROM emulator=0D =0D - ```=0D - $ cd ${WORKSPACE}=0D - $ git clone https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git= =0D - ```=0D -1. Clone repository for auxiliary firmware on the SoC co-processors and ch= eckout to binaries-marvell-armada-SDK10.0.1.0:=0D -=0D - ```=0D - $ cd ${WORKSPACE}=0D - $ git clone https://github.com/MarvellEmbeddedProcessors/binaries-marve= ll.git=0D - $ cd binaries-marvell/=0D - $ git checkout -b binaries-marvell-armada-SDK10.0.1.0 origin/binaries-m= arvell-armada-SDK10.0.1.0=0D - ```=0D -1. Clone the DDR training code from:=0D +# Building the firmware=0D =0D - ```=0D - $ cd ${WORKSPACE}=0D - $ git clone https://github.com/MarvellEmbeddedProcessors/mv-ddr-marvell= .git=0D - ```=0D ## Prepare EDKII environment:=0D =0D -Please follow instructions from "Obtaining source code" and "Manual buildi= ng" from the top level edk2-platforms [Readme.md](https://github.com/tianoc= ore/edk2-platforms#readme).=0D +Please follow instructions from [Obtaining source code](https://github.com= /tianocore/edk2-platforms#obtaining-source-code)=0D +and [Manual building](https://github.com/tianocore/edk2-platforms#manual-b= uilding) from the=0D +top level edk2-platforms [Readme.md](https://github.com/tianocore/edk2-pla= tforms#readme).=0D =0D ## Build EDKII:=0D =0D -1. Use below build command:=0D +Use below build command:=0D =0D - ```=0D - $ cd ${WORKSPACE}=0D - $ build -a AARCH64 -t GCC5 -b RELEASE -D INCLUDE_TFTP_COMMAND -D CAPSUL= E_ENABLE -D X64EMU_ENABLE -p Platform/SolidRun/Cn913xCEx7Eval/Cn913xCEx7Eva= l.dsc=0D - ```=0D + ```=0D + build -a AARCH64 -t GCC5 -b RELEASE -D CAPSULE_ENABLE -D X64EMU_ENABLE -= p Platform/SolidRun/Cn913xCEx7Eval/Cn913xCEx7Eval.dsc=0D + ```=0D =0D -## Build the final firmware image:=0D +---=0D +**NOTE**=0D =0D -1. Set BL33 variable to path to EDK II output binary:=0D +'-D INCLUDE_TFTP_COMMAND' is optional and can be added in order to enable = `tftp` command in UEFI Shell.=0D =0D - ```=0D - $ export BL33=3D${WORKSPACE}/Build/Cn913xCEx7Eval-AARCH64/RELEASE_GCC5/= FV/ARMADA_EFI.fd=0D - ```=0D -1. Export SCP_BL2 variable:=0D +---=0D =0D - ```=0D - $ export SCP_BL2=3D${WORKSKPACE}/binaries-marvell/mrvl_scp_bl2.img=0D - ```=0D -1. Export compiler variables (for cross-compilation only):=0D +## Build the final firmware image:=0D =0D - ```=0D - $ export ARCH=3Darm64=0D - $ export CROSS_COMPILE=3D/gcc-linaro-7.5.0-2019.12-x86_= 64_aarch64-linux-gnu/bin/aarch64-linux-gnu-=0D - ```=0D -1. Build the image:=0D +In addition to EDKII binary, the complete firmware image comprises the TF-= A and other components.=0D +A complete build instruction can be found at [wiki page](https://github.co= m/Semihalf/edk2-platforms/wiki/Build_firmware).=0D =0D - ```=0D - $ cd ${WORKSPACE}/trusted-firmware-a/=0D - $ make LOG_LEVEL=3D20 MV_DDR_PATH=3D${WORKSPACE}/mv-ddr-marvell CP_NUM= =3D3 PLAT=3Dt9130_cex7_eval all fip mrvl_flash=0D +## Burning the firmware=0D =0D - ```=0D -The firmware image `flash-image.bin` can be found in `build/t9130_cex7_eva= l/release/` directory.=0D +Please follow instruction at [wiki page](https://github.com/Semihalf/edk2-= platforms/wiki/Burning_firmware)=0D +to burn image to desired boot device.=0D =0D # ARM System Ready certification.=0D =0D --=20 2.29.0