]> git.proxmox.com Git - mirror_qemu.git/commit
hw/fsi: Aspeed APB2OPB & On-chip peripheral bus
authorNinad Palsule <ninad@linux.ibm.com>
Fri, 26 Jan 2024 10:49:52 +0000 (04:49 -0600)
committerCédric Le Goater <clg@kaod.org>
Thu, 1 Feb 2024 07:33:18 +0000 (08:33 +0100)
commiteb04c35da2c063515667e513028d64e27178365f
tree3aa9940a6d85d0f6c3a6e1fb248b477cfe278e75
parentca0331073722d27b033ca43a827f04fdf2a2bcce
hw/fsi: Aspeed APB2OPB & On-chip peripheral bus

This is a part of patchset where IBM's Flexible Service Interface is
introduced.

An APB-to-OPB bridge enabling access to the OPB from the ARM core in
the AST2600. Hardware limitations prevent the OPB from being directly
mapped into APB, so all accesses are indirect through the bridge.

The On-Chip Peripheral Bus (OPB): A low-speed bus typically found in
POWER processors. This now makes an appearance in the ASPEED SoC due
to tight integration of the FSI master IP with the OPB, mainly the
existence of an MMIO-mapping of the CFAM address straight onto a
sub-region of the OPB address space.

Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
Signed-off-by: Ninad Palsule <ninad@linux.ibm.com>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
[ clg: - moved FSIMasterState under AspeedAPB2OPBState
       - modified fsi_opb_fsi_master_address() and
         fsi_opb_opb2fsi_address()
       - instroduced fsi_aspeed_apb2opb_init()
       - reworked fsi_aspeed_apb2opb_realize()
       - removed FSIMasterState object and fsi_opb_realize()
       - simplified OPBus
       - introduced fsi_aspeed_apb2opb_rw to fix endianness issue ]
Signed-off-by: Cédric Le Goater <clg@kaod.org>
hw/arm/Kconfig
hw/fsi/Kconfig
hw/fsi/aspeed_apb2opb.c [new file with mode: 0644]
hw/fsi/meson.build
hw/fsi/trace-events
include/hw/fsi/aspeed_apb2opb.h [new file with mode: 0644]