On Tue, Apr 13, 2021 at 3:44 AM Vijai Kumar K <vi...@behindbytes.com> wrote: > > Add documentation for Shakti C reference platform. > > Signed-off-by: Vijai Kumar K <vi...@behindbytes.com>
Thanks! Applied to riscv-to-apply.next Alistair > --- > docs/system/riscv/shakti-c.rst | 82 ++++++++++++++++++++++++++++++++++ > 1 file changed, 82 insertions(+) > create mode 100644 docs/system/riscv/shakti-c.rst > > diff --git a/docs/system/riscv/shakti-c.rst b/docs/system/riscv/shakti-c.rst > new file mode 100644 > index 0000000000..a6035d42b0 > --- /dev/null > +++ b/docs/system/riscv/shakti-c.rst > @@ -0,0 +1,82 @@ > +Shakti C Reference Platform (``shakti_c``) > +========================================== > + > +Shakti C Reference Platform is a reference platform based on arty a7 100t > +for the Shakti SoC. > + > +Shakti SoC is a SoC based on the Shakti C-class processor core. Shakti C > +is a 64bit RV64GCSUN processor core. > + > +For more details on Shakti SoC, please see: > +https://gitlab.com/shaktiproject/cores/shakti-soc/-/blob/master/fpga/boards/artya7-100t/c-class/README.rst > + > +For more info on the Shakti C-class core, please see: > +https://c-class.readthedocs.io/en/latest/ > + > +Supported devices > +----------------- > + > +The ``shakti_c`` machine supports the following devices: > + > + * 1 C-class core > + * Core Level Interruptor (CLINT) > + * Platform-Level Interrupt Controller (PLIC) > + * 1 UART > + > +Boot options > +------------ > + > +The ``shakti_c`` machine can start using the standard -bios > +functionality for loading the baremetal application or opensbi. > + > +Boot the machine > +---------------- > + > +Shakti SDK > +~~~~~~~~~~ > +Shakti SDK can be used to generate the baremetal example UART applications. > + > +.. code-block:: bash > + > + $ git clone https://gitlab.com/behindbytes/shakti-sdk.git > + $ cd shakti-sdk > + $ make software PROGRAM=loopback TARGET=artix7_100t > + > +Binary would be generated in: > + software/examples/uart_applns/loopback/output/loopback.shakti > + > +You could also download the precompiled example applicatons using below > +commands. > + > +.. code-block:: bash > + > + $ wget -c > https://gitlab.com/behindbytes/shakti-binaries/-/raw/master/sdk/shakti_sdk_qemu.zip > + $ unzip shakti_sdk_qemu.zip > + > +Then we can run the UART example using: > + > +.. code-block:: bash > + > + $ qemu-system-riscv64 -M shakti_c -nographic \ > + -bios path/to/shakti_sdk_qemu/loopback.shakti > + > +OpenSBI > +~~~~~~~ > +We can also run OpenSBI with Test Payload. > + > +.. code-block:: bash > + > + $ git clone https://github.com/riscv/opensbi.git -b v0.9 > + $ cd opensbi > + $ wget -c > https://gitlab.com/behindbytes/shakti-binaries/-/raw/master/dts/shakti.dtb > + $ export CROSS_COMPILE=riscv64-unknown-elf- > + $ export FW_FDT_PATH=./shakti.dtb > + $ make PLATFORM=generic > + > +fw_payload.elf would be generated in > build/platform/generic/firmware/fw_payload.elf. > +Boot it using the below qemu command. > + > +.. code-block:: bash > + > + $ qemu-system-riscv64 -M shakti_c -nographic \ > + -bios path/to/fw_payload.elf > -- > 2.25.1 > > >