From fb84879e66bc5a26241bcf0472688851f7240acb Mon Sep 17 00:00:00 2001
From: Atish Patra <atish.patra@wdc.com>
Date: Mon, 23 Mar 2020 12:48:56 -0700
Subject: platform: Add OpenPiton platform support

OpenPiton is a research platform from Princeton University [1].

"OpenPiton is the world's first open source, general purpose,
multithreaded manycore processor. It is a tiled manycore
framework scalable from one to 1/2 billion cores."

Add OpenSBI support for OpenPiton. As it is based on ariane core,
it reuses the platform code from arine project.

[1]. https://github.com/PrincetonUniversity/openpiton

Signed-off-by: Atish Patra <atish.patra@wdc.com>
Reviewed-by: Anup Patel <anup.patel@wdc.com>
---
 docs/platform/fpga-openpiton.md | 33 +++++++++++++++++++++++++++++++++
 docs/platform/platform.md       |  4 ++++
 2 files changed, 37 insertions(+)
 create mode 100644 docs/platform/fpga-openpiton.md

(limited to 'docs/platform')

diff --git a/docs/platform/fpga-openpiton.md b/docs/platform/fpga-openpiton.md
new file mode 100644
index 0000000..7861a19
--- /dev/null
+++ b/docs/platform/fpga-openpiton.md
@@ -0,0 +1,33 @@
+OpenPiton FPGA SoC Platform
+========================
+OpenPiton is the world's first open source, general purpose, multithreaded
+manycore processor. It is a tiled manycore framework scalable from one to
+1/2 billion cores. Currently, OpenPiton supports the 64bit Ariane RISC-V
+processor from ETH Zurich. To this end, Ariane has been equipped with a
+different L1 cache subsystem that follows a write-through protocol and that has
+support for cache invalidations and atomics.
+
+To build platform specific library and firmwares, provide the
+*PLATFORM=fpga/openpiton* parameter to the top level `make` command.
+
+Platform Options
+----------------
+
+The *OpenPiton* platform does not have any platform-specific options.
+
+Building Ariane FPGA Platform
+-----------------------------
+
+**Linux Kernel Payload**
+
+```
+make PLATFORM=fpga/openpiton FW_PAYLOAD_PATH=<linux_build_directory>/arch/riscv/boot/Image
+```
+
+Booting Ariane FPGA Platform
+----------------------------
+
+**Linux Kernel Payload**
+
+As Linux kernel image is embedded in the OpenSBI firmware binary, Ariane will
+directly boot into Linux directly after powered on.
diff --git a/docs/platform/platform.md b/docs/platform/platform.md
index d34ce7a..5580283 100644
--- a/docs/platform/platform.md
+++ b/docs/platform/platform.md
@@ -25,6 +25,9 @@ OpenSBI currently supports the following virtual and hardware platforms:
 
 * **Spike**: Platform support for the Spike emulator.
 
+* **OpenPiton FPGA SoC**: Platform support OpenPiton research platform based on
+ariane core.
+
 The code for these supported platforms can be used as example to implement
 support for other platforms. The *platform/template* directory also provides
 template files for implementing support for a new platform. The *object.mk*,
@@ -37,3 +40,4 @@ facilitate the implementation.
 [andes_ae350.md]: andes-ae350.md
 [thead-c910.md]: thead-c910.md
 [spike.md]: spike.md
+[fpga_openpiton.md]: fpga_openpiton.md
-- 
cgit v1.2.3