All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/3] Add (more) missing PolarFire SoC io regions
@ 2022-11-17 22:55 Conor Dooley
  2022-11-17 22:55 ` [PATCH v3 1/3] hw/misc: pfsoc: add fabric clocks to ioscb Conor Dooley
                   ` (3 more replies)
  0 siblings, 4 replies; 6+ messages in thread
From: Conor Dooley @ 2022-11-17 22:55 UTC (permalink / raw)
  To: Bin Meng, Palmer Dabbelt, Alistair Francis
  Cc: Philippe Mathieu-Daudé, qemu-riscv, qemu-devel, Conor Dooley

From: Conor Dooley <conor.dooley@microchip.com>

Hey all,
Apart from DDR (see [1]), these should be the last bits needed to get
recent Linux kernels booting again for Icicle/PolarFire SoC. Previously,
I had been disabling the hwrng and PCI but I keep forgetting that is
required and decided to fix that.

I'm not entirely sure if I have done some sort of no-no thing by
registering the same interrupt with both the IOSCB and SYSREG regions.
The interrupt is raised after the system controller handles a service
via the mailbox. The mailbox's status, control and mailbox registers
are all part of the IOSCB region. It's cleared by a write to a register
in the SYSREG region.
Since my goal here is to add the regions/peripherals without actually
implementing them so that Linux etc, I'm just raising an interrupt
once a guest requests a service & reporting a status indicating that the
service request failed.

Thanks,
Conor.

1 - https://lore.kernel.org/all/Y2+dUCpd8OP52%2FDJ@spud/

Changes since v2:
- fix the actual bits in the register used for the service return
  status
- remove a duplicate irq_lower() in the sysreg bits of patch 3
- move the irq raise to a write function, raising it in the read one was
  causing the irq to get raised twice by the linux driver that works
  properly with the actual hardware. oops.

Conor Dooley (3):
  hw/misc: pfsoc: add fabric clocks to ioscb
  hw/riscv: pfsoc: add missing FICs as unimplemented
  hw/{misc,riscv}: pfsoc: add system controller as unimplemented

 hw/misc/mchp_pfsoc_ioscb.c          |  78 +++++++++++++++++-
 hw/misc/mchp_pfsoc_sysreg.c         |  18 ++++-
 hw/riscv/microchip_pfsoc.c          | 121 ++++++++++++++++------------
 include/hw/misc/mchp_pfsoc_ioscb.h  |   4 +
 include/hw/misc/mchp_pfsoc_sysreg.h |   1 +
 include/hw/riscv/microchip_pfsoc.h  |   3 +
 6 files changed, 167 insertions(+), 58 deletions(-)

-- 
2.37.2



^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2022-12-06  6:59 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-11-17 22:55 [PATCH v3 0/3] Add (more) missing PolarFire SoC io regions Conor Dooley
2022-11-17 22:55 ` [PATCH v3 1/3] hw/misc: pfsoc: add fabric clocks to ioscb Conor Dooley
2022-11-17 22:55 ` [PATCH v3 2/3] hw/riscv: pfsoc: add missing FICs as unimplemented Conor Dooley
2022-11-17 22:55 ` [PATCH v3 3/3] hw/{misc, riscv}: pfsoc: add system controller " Conor Dooley
2022-12-05 22:49   ` Alistair Francis
2022-12-06  6:57 ` [PATCH v3 0/3] Add (more) missing PolarFire SoC io regions Alistair Francis

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.