Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
documentation/mpfs: add mpfs and icile board to documentation
- Loading branch information
1 parent
d620564
commit 3927493
Showing
3 changed files
with
161 additions
and
0 deletions.
There are no files selected for viewing
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
79 changes: 79 additions & 0 deletions
79
Documentation/platforms/risc-v/mpfs/boards/icicle/index.rst
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,79 @@ | ||
==================== | ||
PolarFire Icicle Kit | ||
==================== | ||
|
||
.. list-table:: | ||
:align: center | ||
|
||
* - .. figure:: icicle.png | ||
:align: center | ||
|
||
CPU | ||
--- | ||
PolarFire SoC FPGA (MPFS250T-FCVG484EES) | ||
|
||
- SiFive E51 Monitor core (1 x RV64IMAC) | ||
- SiFive U54 Application cores (4 x RV64GC) | ||
- and Secure boot | ||
|
||
|
||
Memory and storage | ||
------------------ | ||
- 2 GB LPDDR4 x 32 | ||
- 1 Gb SPI flash | ||
- 8 GB eMMC flash & SD card slot (multiplexed) | ||
|
||
|
||
Programming & Debugging | ||
----------------------- | ||
Onboard JTAG connector or onboard embedded FlashPro (multiplexed) | ||
|
||
- UART via micro USB | ||
- 52 x test points | ||
|
||
|
||
Interfaces | ||
---------- | ||
|
||
- 4 x 12.7 Gbps SERDES | ||
- PCIe Gen2 Rootport | ||
- 2 x Gigabit Ethernet | ||
- Micro USB 2.0 Hi-Speed OTG | ||
- 4 x UART (via single micro USB) | ||
- 2 x CAN | ||
- 2 x SPI | ||
- 2 x I²C | ||
|
||
Expansion | ||
--------- | ||
- Raspberry Pi compatible 40-pin header | ||
- mikroBUS socket | ||
|
||
Sensor | ||
------ | ||
- Power sensor (pac1934) | ||
|
||
|
||
|
||
Buttons and LEDs | ||
================ | ||
|
||
Buttons | ||
------- | ||
There are 3 buttons and reset button. The Reset button is not available | ||
to software by default. | ||
|
||
|
||
LEDs | ||
---- | ||
There is 4 user controlled on-board LEDs. | ||
|
||
|
||
Configurations | ||
============== | ||
|
||
nsh | ||
--- | ||
|
||
Basic configuration to run the NuttShell (nsh). | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,82 @@ | ||
=========================== | ||
Microchip Polarfile (MPFS) | ||
=========================== | ||
|
||
RV64 64-bit RISC-V multiprocessor-based Microcontroller Subsystem | ||
(MPFS025T, MPFS095T, MPFS160T, MPFS250T, MPFS460T) | ||
|
||
|
||
MPFS Toolchain | ||
============== | ||
|
||
A generic RISC-V toolchain can be used to build MPFS projects. | ||
Like: https://xpack.github.io/riscv-none-embed-gcc or https://github.com/sifive/freedom-tools/releases | ||
|
||
|
||
Booting | ||
======= | ||
|
||
The NuttX port for now relies on HSS bootloader to carry on some hardware initializations. | ||
|
||
|
||
Building and flashing | ||
===================== | ||
|
||
First make sure that ``hss-payload-generator`` is installed. | ||
Available from: https://github.com/polarfire-soc/hart-software-services | ||
|
||
This tool is used to convert the ELF/bin to a compatible HSS payload image | ||
|
||
Configure the NuttX project: ``./tools/configure.sh icicle:nsh`` | ||
Run ``make`` to build the project. | ||
|
||
Create HSS payload bin:: | ||
|
||
hss-payload-generator -v -c hss-nuttx.yml payload.bin | ||
|
||
|
||
Debugging with OpenOCD | ||
====================== | ||
|
||
Compatible OpenOCD and configs can be downloaded from: | ||
https://www.microsemi.com/product-directory/design-tools/4879-softconsole#downloads | ||
|
||
|
||
OpenOCD can then be used:: | ||
|
||
openocd -c "set DEVICE MPFS" --file board/microsemi-riscv.cfg | ||
|
||
|
||
Peripheral Support | ||
================== | ||
|
||
The following list indicates the state of peripherals' support in NuttX: | ||
|
||
============ ======= ===== | ||
Peripheral Support NOTES | ||
============ ======= ===== | ||
GPIO Yes | ||
MMUART Yes Uart mode only | ||
SPI No | ||
I2C No | ||
Timers No | ||
Watchdog No | ||
RTC No | ||
CAN No | ||
eNVM No | ||
USB No | ||
eMMC SD/SDIO No | ||
============ ======= ===== | ||
|
||
|
||
|
||
Supported Boards | ||
================ | ||
|
||
.. toctree:: | ||
:glob: | ||
:maxdepth: 1 | ||
|
||
boards/*/* | ||
|
||
|