mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 16:23:55 -06:00
hw/{misc, riscv}: pfsoc: add system controller as unimplemented
The system controller on PolarFire SoC is access via a mailbox. The control registers for this mailbox lie in the "IOSCB" region & the interrupt is cleared via write to the "SYSREG" region. It also has a QSPI controller, usually connected to a flash chip, that is used for storing FPGA bitstreams and used for In-Application Programming (IAP). Linux has an implementation of the system controller, through which the hwrng is accessed, leading to load/store access faults. Add the QSPI as unimplemented and a very basic (effectively unimplemented) version of the system controller's mailbox. Rather than purely marking the regions as unimplemented, service the mailbox requests by reporting failures and raising the interrupt so a guest can better handle the lack of support. Signed-off-by: Conor Dooley <conor.dooley@microchip.com> Acked-by: Alistair Francis <alistair.francis@wdc.com> Message-Id: <20221117225518.4102575-4-conor@kernel.org> Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
This commit is contained in:
parent
8d32e374a8
commit
592f0a9429
6 changed files with 95 additions and 6 deletions
|
@ -29,6 +29,8 @@ typedef struct MchpPfSoCIoscbState {
|
|||
MemoryRegion lane01;
|
||||
MemoryRegion lane23;
|
||||
MemoryRegion ctrl;
|
||||
MemoryRegion qspixip;
|
||||
MemoryRegion mailbox;
|
||||
MemoryRegion cfg;
|
||||
MemoryRegion ccc;
|
||||
MemoryRegion pll_mss;
|
||||
|
@ -41,6 +43,7 @@ typedef struct MchpPfSoCIoscbState {
|
|||
MemoryRegion cfm_sgmii;
|
||||
MemoryRegion bc_sgmii;
|
||||
MemoryRegion io_calib_sgmii;
|
||||
qemu_irq irq;
|
||||
} MchpPfSoCIoscbState;
|
||||
|
||||
#define TYPE_MCHP_PFSOC_IOSCB "mchp.pfsoc.ioscb"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue