hw/riscv: Initial support for Microchip PolarFire SoC Icicle Kit board
commit56f6e31e7b7e06a66a0efd5464fa4257de7ec242
authorBin Meng <bin.meng@windriver.com>
Tue, 1 Sep 2020 01:38:59 +0000 (1 09:38 +0800)
committerAlistair Francis <alistair.francis@wdc.com>
Wed, 9 Sep 2020 22:54:18 +0000 (9 15:54 -0700)
tree34fb904ab4bb7b1ae2a8284a49050fc84eb3056d
parent73f6ed97acdbf7aec72d368fd5e16c00e04ac172
hw/riscv: Initial support for Microchip PolarFire SoC Icicle Kit board

This is an initial support for Microchip PolarFire SoC Icicle Kit.
The Icicle Kit board integrates a PolarFire SoC, with one SiFive's
E51 plus four U54 cores and many on-chip peripherals and an FPGA.

For more details about Microchip PolarFire Soc, please see:
https://www.microsemi.com/product-directory/soc-fpgas/5498-polarfire-soc-fpga

Unlike SiFive FU540, the RISC-V core resect vector is at 0x20220000.
The following perepherals are created as an unimplemented device:

- Bus Error Uint 0/1/2/3/4
- L2 cache controller
- SYSREG
- MPUCFG
- IOSCBCFG

More devices will be added later.

The BIOS image used by this machine is hss.bin, aka Hart Software
Services, which can be built from:
https://github.com/polarfire-soc/hart-software-services

To launch this machine:
$ qemu-system-riscv64 -nographic -M microchip-icicle-kit

The memory is set to 1 GiB by default to match the hardware.
A sanity check on ram size is performed in the machine init routine
to prompt user to increase the RAM size to > 1 GiB when less than
1 GiB ram is detected.

Signed-off-by: Bin Meng <bin.meng@windriver.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-Id: <1598924352-89526-5-git-send-email-bmeng.cn@gmail.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
MAINTAINERS
default-configs/riscv64-softmmu.mak
hw/riscv/Kconfig
hw/riscv/meson.build
hw/riscv/microchip_pfsoc.c [new file with mode: 0644]
include/hw/riscv/microchip_pfsoc.h [new file with mode: 0644]