From db56ef367cd6dc9dab94076f4c8a3fa9d91bd1f2 Mon Sep 17 00:00:00 2001
From: Vijai Kumar K <vijai@behindbytes.com>
Date: Wed, 17 Jun 2020 19:25:16 +0530
Subject: platform: Add support for Shakti C-class SoC from IIT-M

C-Class is a member of the SHAKTI family of processors from Indian
Institute of Technology - Madras(IIT-M).
It is an extremely configurable and commercial-grade 5-stage in-order
core supporting the standard RV64GCSUN ISA extensions.

https://gitlab.com/shaktiproject/cores/c-class/blob/master/README.md

We add OpenSBI support for Shakti C-class SoC.

Signed-off-by: Vijai Kumar K <vijai@behindbytes.com>
Reviewed-by: Anup Patel <anup.patel@wdc.com>
---
 docs/platform/generic.md       |  2 ++
 docs/platform/platform.md      |  5 +++++
 docs/platform/shakti_cclass.md | 33 +++++++++++++++++++++++++++++++++
 3 files changed, 40 insertions(+)
 create mode 100644 docs/platform/shakti_cclass.md

(limited to 'docs/platform')

diff --git a/docs/platform/generic.md b/docs/platform/generic.md
index 60916c7..f1f7f64 100644
--- a/docs/platform/generic.md
+++ b/docs/platform/generic.md
@@ -47,6 +47,8 @@ RISC-V Platforms Using Generic Platform
 
 * **QEMU RISC-V Virt Machine** (*[qemu_virt.md]*)
 * **Spike** (*[spike.md]*)
+* **Shakti C-class SoC Platform** (*[shakti_cclass.md]*)
 
 [qemu_virt.md]: qemu_virt.md
 [spike.md]: spike.md
+[shakti_cclass.md]: shakti_cclass.md
diff --git a/docs/platform/platform.md b/docs/platform/platform.md
index 3e0dc39..7f47068 100644
--- a/docs/platform/platform.md
+++ b/docs/platform/platform.md
@@ -38,6 +38,10 @@ OpenSBI currently supports the following virtual and hardware platforms:
   on ariane core. More details on this platform can be found in the file
   *[fpga_openpiton.md]*.
 
+* **Shakti C-class SoC Platform**: Platform support for Shakti C-class
+  processor based SOCs. More details on this platform can be found in the
+  file *[shakti_cclass.md]*.
+
 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*,
@@ -52,3 +56,4 @@ facilitate the implementation.
 [thead-c910.md]: thead-c910.md
 [spike.md]: spike.md
 [fpga_openpiton.md]: fpga_openpiton.md
+[shakti_cclass.md]: shakti_cclass.md
diff --git a/docs/platform/shakti_cclass.md b/docs/platform/shakti_cclass.md
new file mode 100644
index 0000000..2f4a699
--- /dev/null
+++ b/docs/platform/shakti_cclass.md
@@ -0,0 +1,33 @@
+Shakti C-class SoC Platform
+===========================
+C-Class is a member of the SHAKTI family of processors from
+Indian Institute of Technology - Madras (IIT-M).
+
+It is an extremely configurable and commercial-grade 5-stage
+in-order core supporting the standard RV64GCSUN ISA extensions.
+
+For more details, refer:
+* https://gitlab.com/shaktiproject/cores/c-class/blob/master/README.md
+* https://c-class.readthedocs.io/en/latest
+* https://shakti.org.in
+
+Platform Options
+----------------
+
+The *Shakti C-class SoC* platform does not have any platform-specific
+options.
+
+Building Shakti C-class Platform
+--------------------------------
+
+**Linux Kernel Payload**
+
+```
+make PLATFORM=generic FW_PAYLOAD_PATH=<linux_build_directory>/arch/riscv/boot/Image FW_PAYLOAD_FDT_PATH=<shakti.dtb path>
+```
+
+**Test Payload**
+
+```
+make PLATFORM=generic FW_PAYLOAD_FDT_PATH=<shakti.dtb path>
+```
-- 
cgit v1.2.3