# Introduction U5SeriesPkg provides the common EFI library and driver modules for SiFive U5 series core platforms. Currently the supported platforms are Freedom U500 VC707 platform and Freedom U540 HiFive Unleashed platform.
Both platforms are built with below common packages,
This is a sample RISC-V EDK2 platform package used agaist SiFive Freedom U500 VC707 FPGA Dev Kit, please refer to «SiFive Freedom U500 VC707 FPGA Getting Started Guide» on https://www.sifive.com/documentation.
This is a sample RISC-V EDK2 platform package used against SiFive Freedom U540 HiFive Unleashed development board, please refer to «SiFive Freedom U540-C000 Manual» on https://www.sifive.com. The binary built from Platform/SiFive/U5SeriesPkg/FreedomU540HiFiveUnleashedBoard/ can run on main stream QEMU using qemu-system-riscv64 under riscv64-softmmu. Launch the binary with
-cpu sifive-u54 -machine sifive_u
git clone https://github.com/tianocore/edk2-staging.git
# Checkout RISC-V-V2 branch
git clone https://github.com/tianocore/edk2-platforms.git
# Checkout devel-riscvplatforms branch
git clone https://github.com/tianocore/edk2-non-osi.git
Chang, Abner abner.chang@hpe.com Chen, Gilbert gilbert.chen@hpe.com
Currently the binary built from U500Pkg can boot SiFive Freedom U500 VC707 FPGA to EFI shell with console in/out enabled.
You can build the RISC-V platform using below script,
build -a RISCV64 -t GCC5 -p Platform/SiFive/U5SeriesPkg/FreedomU500VC707Board/U500.dsc
Only support to boot to EFI Shell so far.
Only RISC-V RV64 is verified on this platform.
This is the library to create RISC-V core characteristics for building up RISC-V related SMBIOS records to support the unified boot loader and OS image. This library leverage the silicon libraries provided in Silicon/SiFive.
This is common U5 series platform timer library which has the platform-specific timer implementation.
This is U5 series platform timer DXE driver whcih has the platform-specific timer implementation.
In order to reduce the dependencies with RISC-V OpenSBI project (https://github.com/riscv/opensbi) and fewer burdens to EDK2 build process, the implementation of RISC-V EDK2 platform is leveraging platform source code from OpenSBI code tree. The «platform.c» under OpenSbiPlatformLib is cloned from RISC-V OpenSBI code tree (in EDK2 RiscVPkg) and built based on EDK2 build environment.
This is the platform-implementation specific library which is executed in early PEI phase for U500 platform initialization.
In order to reduce the dependencies with RISC-V OpenSBI project (https://github.com/riscv/opensbi) and fewer burdens to EDK2 build process, the implementation of RISC-V EDK2 platform is leveraging platform source code from OpenSBI code tree. The «platform.c» under OpenSbiPlatformLib is cloned from RISC-V OpenSBI code tree (in EDK2 RiscVPkg) and built based on EDK2 build environment.
This is the platform-implementation specific library which is executed in early PEI phase for U540 platform initialization.
PCD name | Usage |
---|---|
PcdNumberofU5Cores | Number of U5 core enabled on U5 series platform |
PcdE5MCSupported | Indicates whether the Monitor Core (E5) is supported on U5 series platform |
PcdU5UartBase | Platform serial port base address |