public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Abner Chang" <abner.chang@hpe.com>
To: devel@edk2.groups.io
Cc: abner.chang@hpe.com,
	Michael D Kinney <michael.d.kinney@intel.com>,
	Ard Biesheuvel <ard.biesheuvel@linaro.org>,
	Leif Lindholm <leif.lindholm@linaro.org>,
	Gilbert Chen <gilbert.chen@hpe.com>,
	Palmer Dabbelt <palmer@sifive.com>
Subject: [platform/devel-riscv-v2 PATCHv5 16/18] SiFive/U5SeriesPkg Add U5SeriesPkg.
Date: Mon, 28 Oct 2019 12:20:31 +0800	[thread overview]
Message-ID: <1572236433-15404-17-git-send-email-abner.chang@hpe.com> (raw)
In-Reply-To: <1572236433-15404-1-git-send-email-abner.chang@hpe.com>

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=y, Size: 8624 bytes --]

Initial U5SeriesPkg for U5 series platforms.

Signed-off-by: Abner Chang <abner.chang@hpe.com>

Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Leif Lindholm <leif.lindholm@linaro.org>
Cc: Gilbert Chen <gilbert.chen@hpe.com>
Cc: Palmer Dabbelt <palmer@sifive.com>
Signed-off-by: Abner Chang <abner.chang@hpe.com>
---
 Platform/SiFive/U5SeriesPkg/U5SeriesPkg.dec      |  33 +++++++
 Platform/SiFive/U5SeriesPkg/Readme.md            | 110 +++++++++++++++++++++++
 Platform/SiFive/U5SeriesPkg/U5SeriesPkg.uni      |  13 +++
 Platform/SiFive/U5SeriesPkg/U5SeriesPkgExtra.uni |  12 +++
 4 files changed, 168 insertions(+)
 create mode 100644 Platform/SiFive/U5SeriesPkg/U5SeriesPkg.dec
 create mode 100644 Platform/SiFive/U5SeriesPkg/Readme.md
 create mode 100644 Platform/SiFive/U5SeriesPkg/U5SeriesPkg.uni
 create mode 100644 Platform/SiFive/U5SeriesPkg/U5SeriesPkgExtra.uni

diff --git a/Platform/SiFive/U5SeriesPkg/U5SeriesPkg.dec b/Platform/SiFive/U5SeriesPkg/U5SeriesPkg.dec
new file mode 100644
index 0000000..a01135b
--- /dev/null
+++ b/Platform/SiFive/U5SeriesPkg/U5SeriesPkg.dec
@@ -0,0 +1,33 @@
+## @file  U5SeriesPkg.dec
+# This Package provides modules and libraries.for SiFive U5 series platforms.
+#
+# Copyright (c) 2019, Hewlett Packard Enterprise Development LP. All rights reserved.<BR>
+#
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+#
+##
+
+[Defines]
+  DEC_SPECIFICATION              = 0x0001001b
+  PACKAGE_NAME                   = U5SeriesPkg
+  PACKAGE_UNI_FILE               = U5SeriesPkg.uni
+  PACKAGE_GUID                   = AD6E43CA-7FED-4CEA-8151-68B2C5F12B3A
+  PACKAGE_VERSION                = 1.0
+
+[Includes]
+  Include
+
+[LibraryClasses]
+
+[Guids]
+  gSiFiveU5SeriesPlatformsPkgTokenSpaceGuid  = {0x725B804B, 0x10B5, 0x4326, { 0xAD, 0xFF, 0x59, 0xCE, 0x6E, 0xFD, 0x5B, 0x36 }}
+
+[PcdsFixedAtBuild]
+  gSiFiveU5SeriesPlatformsPkgTokenSpaceGuid.PcdNumberofU5Cores|0x8|UINT32|0x00001000
+  gSiFiveU5SeriesPlatformsPkgTokenSpaceGuid.PcdE5MCSupported|TRUE|BOOLEAN|0x00001001
+  gSiFiveU5SeriesPlatformsPkgTokenSpaceGuid.PcdU5UartBase|0x0|UINT32|0x00001002
+
+[PcdsPatchableInModule]
+
+[UserExtensions.TianoCore."ExtraFiles"]
+  U5SeriesPkg.uni
diff --git a/Platform/SiFive/U5SeriesPkg/Readme.md b/Platform/SiFive/U5SeriesPkg/Readme.md
new file mode 100644
index 0000000..535fa9d
--- /dev/null
+++ b/Platform/SiFive/U5SeriesPkg/Readme.md
@@ -0,0 +1,110 @@
+# 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,
+- **U5SeriesPkg**, edk2 platform branch
+  (Currently is in edk2-platforms/devel-riscv-v2-PATCHv5 branch)
+- **RiscVPlatformPkg**, edk2 master branch
+  (Currently is in edk2-staging/RISC-V-V2 branch)
+- **RiscVPkg**, edk2 master branch
+  (Currently is in edk2-staging/RISC-V-V2 branch)
+
+## U500 Platform
+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.
+
+## U540 Platform
+This is a sample RISC-V EDK2 platform package used agaist 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/FreedomU540HiFiveUnleashedBoard can run
+on main stream [QEMU](https://git.qemu.org/?p=qemu.git;a=summary)
+using qemu-system-riscv64 under riscv64-softmmu. Launch the binary with
+
+```
+-cpu sifive-u54 -machine sifive_u
+```
+
+## Download the sources
+```
+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-riscv-v2-PATCHv5 branch
+git clone https://github.com/tianocore/edk2-non-osi.git
+```
+
+## Platform Owners
+Chang, Abner <abner.chang@hpe.com>
+Chen, Gilbert <gilbert.chen@hpe.com>
+
+## Platform Status
+Currently the binary built from U500Pkg can boot SiFive Freedom U500 VC707
+FPGA to EFI shell with console in/out enabled.
+
+## Linux Build Instructions
+You can build the RISC-V platform using below script,
+`build -a RISCV64  -t GCC5 -p Platform/SiFive/FreedomU500VC707Board/U500.dsc`
+
+## Supported Operating Systems
+Only support to boot to EFI Shell so far.
+
+## Known Issues and Limitations
+Only RISC-V RV64 is verified on this platform.
+
+## Related Materials
+- [RISC-V OpenSbi](https://github.com/riscv/opensbi)
+- [SiFive U500 VC707 FPGA Getting Started Guide](https://sifive.cdn.prismic.io/sifive%2Fc248fabc-5e44-4412-b1c3-6bb6aac73a2c_sifive-u500-vc707-gettingstarted-v0.2.pdf)
+- [SiFive Freedom U540-C000 Manual](https://sifive.cdn.prismic.io/sifive%2F834354f0-08e6-423c-bf1f-0cb58ef14061_fu540-c000-v1.0.pdf)
+- [SiFive RISC-V Core Document](https://www.sifive.com/documentation)
+
+## U5SeriesPkg Libraries and Drivers
+### PeiCoreInfoHobLib
+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.
+
+### RiscVPlatformTimerLib
+This is common U5 series  platform timer library which has the
+platform-specific timer implementation.
+
+### TimerDxe
+This is U5 series  platform timer DXE driver whcih has the platform-specific
+timer implementation.
+
+## U500 Platform Libraries and Drivers
+### RiscVOpnesbiPlatformLib
+In order to reduce the dependencies with RISC-V OpenSBI project
+(https://github.com/riscv/opensbi) and less burdens to EDK2 build process, the
+implementation of RISC-V EDK2 platform is leverage 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.
+
+### PlatformPei
+This is the platform-implementation specific library which is executed in early
+PEI phase for U500 platform initialization.
+
+## U540 Platform Libraries and Drivers
+### RiscVOpnesbiPlatformLib
+In order to reduce the dependencies with RISC-V OpenSBI project
+(https://github.com/riscv/opensbi) and less burdens to EDK2 build process, the
+implementation of RISC-V EDK2 platform is leverage 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.
+
+### PlatformPei
+This is the platform-implementation specific library which is executed in early
+PEI phase for U540 platform initialization.
+
+## U5SeriesPkg Platform PCD settings
+
+| **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|
diff --git a/Platform/SiFive/U5SeriesPkg/U5SeriesPkg.uni b/Platform/SiFive/U5SeriesPkg/U5SeriesPkg.uni
new file mode 100644
index 0000000..12e8c15
--- /dev/null
+++ b/Platform/SiFive/U5SeriesPkg/U5SeriesPkg.uni
@@ -0,0 +1,13 @@
+// /** @file
+// SiFive U5 Series Package Localized Strings and Content.
+//
+// Copyright (c) 2019, Hewlett Packard Enterprise Development LP. All rights reserved.<BR>
+//
+// SPDX-License-Identifier: BSD-2-Clause-Patent
+//
+// **/
+
+
+#string STR_PACKAGE_ABSTRACT            #language en-US "Provides SiFIve RISC-V U5 series platform modules and libraries"
+
+#string STR_PACKAGE_DESCRIPTION         #language en-US "This Package SiFIve RISC-V U5 series platform modules and libraries."
diff --git a/Platform/SiFive/U5SeriesPkg/U5SeriesPkgExtra.uni b/Platform/SiFive/U5SeriesPkg/U5SeriesPkgExtra.uni
new file mode 100644
index 0000000..244595a
--- /dev/null
+++ b/Platform/SiFive/U5SeriesPkg/U5SeriesPkgExtra.uni
@@ -0,0 +1,12 @@
+// /** @file
+// SiFive U5 Series Package Localized Strings and Content.
+//
+// Copyright (c) 2019, Hewlett Packard Enterprise Development LP. All rights reserved.<BR>
+//
+// SPDX-License-Identifier: BSD-2-Clause-Patent
+//
+// **/
+
+#string STR_PROPERTIES_PACKAGE_NAME
+#language en-US
+"SiFive U5 series platform package"
-- 
2.7.4


  parent reply	other threads:[~2019-10-28  4:53 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-28  4:20 [platform/devel-riscv-v2 PATCHv5 00/18] Initial version of RISC-V Abner Chang
2019-10-28  4:20 ` [platform/devel-riscv-v2 PATCHv5 01/18] Silicon/SiFive: Initial version of SiFive silicon package Abner Chang
2019-10-28  4:20 ` [platform/devel-riscv-v2 PATCHv5 02/18] SiFive/E51: Initial version of SiFive E51 core library Abner Chang
2019-10-28  4:20 ` [platform/devel-riscv-v2 PATCHv5 03/18] SiFive/U54: Initial version of SiFive U54 " Abner Chang
2019-10-28  4:20 ` [platform/devel-riscv-v2 PATCHv5 04/18] SiFive/U54MC: Initial version of SiFive U54MC Coreplex library Abner Chang
2019-10-28  4:20 ` [platform/devel-riscv-v2 PATCHv5 05/18] U5SeriesPkg/PeiCoreInfoHobLib: Library to create core information Abner Chang
2019-10-28  4:20 ` [platform/devel-riscv-v2 PATCHv5 06/18] U5SeriesPkg/TimerDxe: U5 Series Platform Timer DXE driver Abner Chang
2019-10-28  4:20 ` [platform/devel-riscv-v2 PATCHv5 07/18] U5SeriesPkg/RamFvbServicesRuntimeDxe: Firmware Volume Block service Abner Chang
2019-10-28  4:20 ` [platform/devel-riscv-v2 PATCHv5 08/18] U5SeriesPkg/RiscVPlatformTimerLib: Platform Timer library Abner Chang
2019-10-28  4:20 ` [platform/devel-riscv-v2 PATCHv5 09/18] U5SeriesPkg/SerialIoLib: Platform Serial Port library Abner Chang
2019-11-19 15:30   ` [edk2-devel] " Mark Salter
2019-10-28  4:20 ` [platform/devel-riscv-v2 PATCHv5 10/18] FreedomU540HiFiveUnleashedBoard/PlatformPei:Platform PEI Abner Chang
2019-10-28  4:20 ` [platform/devel-riscv-v2 PATCHv5 11/18] FreedomU540HiFiveUnleashedBoard/OpensbiPlatformLib:OpenSBI platform lib Abner Chang
2019-11-19 15:30   ` [edk2-devel] " Mark Salter
2019-10-28  4:20 ` [platform/devel-riscv-v2 PATCHv5 12/18] U5SeriesPkg/FreedomU540HiFiveUnleashedBoard: Add SiFive U540 platform Abner Chang
2019-10-28  4:20 ` [platform/devel-riscv-v2 PATCHv5 13/18] FreedomU500VC707Board/PlatformPei: Platform initialization PEI module Abner Chang
2019-10-28  4:20 ` [platform/devel-riscv-v2 PATCHv5 14/18] FreedomU500VC707Board/OpensbiPlatformLib: OpenSBI platform interface Abner Chang
2019-10-28  4:20 ` [platform/devel-riscv-v2 PATCHv5 15/18] U5SeriesPkg/FreedomU500VC707Board: Add SiFive U500 platform Abner Chang
2019-10-28  4:20 ` Abner Chang [this message]
2019-10-28  4:20 ` [platform/devel-riscv-v2 PATCHv5 17/18] edk2-platforms: Update Readme.md for RISC-V platform Abner Chang
2019-10-28  4:20 ` [platform/devel-riscv-v2 PATCHv5 18/18] edk2-platforms: Update Maintainers file Abner Chang
2019-11-26 15:22 ` [edk2-devel] [platform/devel-riscv-v2 PATCHv5 00/18] Initial version of RISC-V Leif Lindholm
2019-12-22  6:09   ` Abner Chang

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=1572236433-15404-17-git-send-email-abner.chang@hpe.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