Skip to content

Add SiFive Premier P550 #276

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
76 changes: 76 additions & 0 deletions Hardware/p550.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
---
riscv_hardware: true
cmake_plat: p550
xcompiler_arg: -DRISCV64=1
platform: HiFive Premier P550
arch: RV64GC
virtualization: "No"
iommu: "No"
simulation_target: false
Status: "Unverified"
Contrib: "Community"
Maintained: "seL4 Foundation"
soc: ESWIN EIC7700X
cpu: P550
SPDX-License-Identifier: CC-BY-SA-4.0
SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC.
---

# HiFive Premier P550

The HiFive Premier P550 is a RISC-V development platform from SiFive based
on the ESWIN EIC7700X SoC. It is a quad-core SoC using the SiFive P550
CPU.

Details and links to manuals can be found on the [SiFive product page]
(https://www.sifive.com/boards/hifive-premier-p550).

The SoC technical reference manual can be found [here]
(https://github.com/eswincomputing/EIC7700X-SoC-Technical-Reference-Manual/releases).

The P550 arrives with the following boot process from the SPI flash:

1. Firmware starts
2. OpenSBI starts
3. U-Boot proper starts

From U-Boot proper you can then load and start an seL4 image, see below for details.

## Building the GCC toolchain

{% include risc-v.md %}

## Building seL4test

{% include sel4test.md %}

## Booting via microSD card

These instructions expect the microSD card to be paritioned with FAT.

The microSD card slot registers as device `1` in U-Boot so to see if the device
is recognised run:
```sh
mmc dev 1
# Check that the card info is expected
mmc info
# List partitions
mmc part
```

To load and run the image:
```sh
fatload mmc 1:<PARTITION> 0x90000000 sel4test-driver-image-riscv-p550
go 0x90000000
```

## Booting via TFTP

If you have setup a TFTP server, enter the following commands on the U-Boot console
to load an image via the network.

```sh
dhcp
tftpboot 0x90000000 <YOUR_TFTP_SERVER_IP_ADDRESS>:sel4test-driver-image-riscv-p550
go 0x90000000
```