[PATCH 0/3] Microchip PolarFire SoC support

Padmarao Begari padmarao.begari at microchip.com
Thu Sep 8 15:43:29 UTC 2022


This patch set adds the Microchip PolarFire SoC BSP Variant
support to RISC-V RTEMS.

The PolarFire SoC is the 4x 64-bit RISC-V U54 cores and
a 64-bit RISC-V E51 monitor core SoC from Microchip, more
info available here:
	https://www.microchip.com/en-us/products/fpgas-and-plds/
	system-on-chip-fpgas/polarfire-soc-fpgas#Overview

This new BSP variant is added for the 4x U54 cores not for E51
because the E51 monitor core is resreved for first stage
bootloader (Hart Software Services).

The boot HARTID configurable is implemented for the riscv BSP
to work with individual hart(cpu core) or SMP.

This BSP support components: 4 CPU Cores (U54), Interrupt
controller (PLIC), Timer (CLINT), UART (16550-compatible)
work fine on actual Microchip PolarFire SoC Icicle Kit.

Padmarao Begari (3):
  bsps/riscv: Add device tree blob
  bsps/riscv: Add Microchip PolarFire SoC BSP variant
  bsps/shared/: Use device tree blob

 bsps/riscv/riscv/clock/clockdrv.c             |   6 +-
 bsps/riscv/riscv/config/mpfs64imafdc.cfg      |   9 +
 bsps/riscv/riscv/dts/mpfs.dts                 | 365 +++++++++++
 bsps/riscv/riscv/include/bsp/mpfs_dtb.h       | 574 ++++++++++++++++++
 bsps/riscv/riscv/include/bsp/riscv.h          |   4 +
 bsps/riscv/riscv/irq/irq.c                    |  83 ++-
 bsps/riscv/riscv/start/bsp_fatal_halt.c       |   3 +
 bsps/riscv/riscv/start/bspsmp.c               |   2 +-
 bsps/riscv/riscv/start/bspstart.c             |  20 +-
 bsps/riscv/shared/start/start.S               |   2 +
 bsps/shared/start/bsp-fdt.c                   |  11 +-
 .../score/cpu/riscv/include/rtems/score/cpu.h |   2 +-
 .../cpu/riscv/include/rtems/score/cpuimpl.h   |   2 +-
 spec/build/bsps/riscv/optextirqmax.yml        |   5 +-
 spec/build/bsps/riscv/optrambegin.yml         |   5 +-
 spec/build/bsps/riscv/optramsize.yml          |   5 +-
 spec/build/bsps/riscv/riscv/abi.yml           |   6 +
 .../bsps/riscv/riscv/bspmpfs64imafdc.yml      |  19 +
 spec/build/bsps/riscv/riscv/grp.yml           |   6 +
 spec/build/bsps/riscv/riscv/optdtb.yml        |  19 +
 .../bsps/riscv/riscv/optdtbheaderpath.yml     |  20 +
 spec/build/bsps/riscv/riscv/optmpfs.yml       |  18 +
 spec/build/bsps/riscv/riscv/optns16550max.yml |   3 +
 spec/build/cpukit/cpuopts.yml                 |   2 +
 spec/build/cpukit/optarchbits.yml             |   1 +
 spec/build/cpukit/optboothartid.yml           |  19 +
 spec/build/cpukit/optsmp.yml                  |   1 +
 27 files changed, 1196 insertions(+), 16 deletions(-)
 create mode 100644 bsps/riscv/riscv/config/mpfs64imafdc.cfg
 create mode 100644 bsps/riscv/riscv/dts/mpfs.dts
 create mode 100644 bsps/riscv/riscv/include/bsp/mpfs_dtb.h
 create mode 100644 spec/build/bsps/riscv/riscv/bspmpfs64imafdc.yml
 create mode 100644 spec/build/bsps/riscv/riscv/optdtb.yml
 create mode 100644 spec/build/bsps/riscv/riscv/optdtbheaderpath.yml
 create mode 100644 spec/build/bsps/riscv/riscv/optmpfs.yml
 create mode 100644 spec/build/cpukit/optboothartid.yml

-- 
2.25.1



More information about the devel mailing list