public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Marcin Wojtas" <mw@semihalf.com>
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 <mw@semihalf.com>
Subject: [edk2-platforms PATCH] Marvell/SolidRun: Rework Readme.md files
Date: Mon, 14 Mar 2022 13:06:02 +0100	[thread overview]
Message-ID: <20220314120602.1869373-1-mw@semihalf.com> (raw)

From: Grzegorz Bernacki <gjb@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 <mw@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


             reply	other threads:[~2022-03-14 12:14 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-14 12:06 Marcin Wojtas [this message]
2022-03-14 17:17 ` [edk2-platforms PATCH] Marvell/SolidRun: Rework Readme.md files Sunny Wang
2022-04-06 20:02   ` Marcin Wojtas
2022-04-20  8:28     ` Ard Biesheuvel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220314120602.1869373-1-mw@semihalf.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox