qemu/hw
Steven Lee 2d64e6a009 hw/arm/aspeed_ast27x0-tsp: Introduce AST27x0 A1 TSP SoC
AST2700 TSP(Tertiary Service Processor) is a Cortex-M4 coprocessor
The patch adds support for TSP with following update:

- Introduce Aspeed27x0TSPSoCState structure in aspeed_soc.h
- Implement initialization and realization functions
- Add support for UART, INTC, and SCU devices
- Map unimplemented devices for IPC and SCUIO
- Defined memory map and IRQ maps for AST27x0 A1 TSP SoC

The IRQ mapping is similar to AST2700 CA35 SoC, featuring a two-level
interrupt controller.

Difference from AST2700:

    - AST2700
      - Support GICINT128 to GICINT136 in INTC
      - The INTCIO GIC_192_201 has 10 output pins, mapped as follows:
          Bit 0 -> GIC 192
          Bit 1 -> GIC 193
          Bit 2 -> GIC 194
          Bit 3 -> GIC 195
          Bit 4 -> GIC 196

    - AST2700-tsp
      - Support TSPINT128 to TSPINT136 in INTC
      - The INTCIO TSPINT_160_169 has 10 output pins, mapped as follows:
          Bit 0 -> TSPINT 160
          Bit 1 -> TSPINT 161
          Bit 2 -> TSPINT 162
          Bit 3 -> TSPINT 163
          Bit 4 -> TSPINT 164

Signed-off-by: Steven Lee <steven_lee@aspeedtech.com>
Change-Id: I69eec2b68b26ef04187b2922c5f2e584b9076c66
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Link: https://lore.kernel.org/qemu-devel/20250502103449.3091642-7-steven_lee@aspeedtech.com
[ clg: removed local 'Error* err' in aspeed_soc_ast27x0tsp_realize() ]
Signed-off-by: Cédric Le Goater <clg@redhat.com>
2025-05-05 09:38:55 +02:00
..
9pfs qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
acpi qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
adc qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
alpha qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
arm hw/arm/aspeed_ast27x0-tsp: Introduce AST27x0 A1 TSP SoC 2025-05-05 09:38:55 +02:00
audio qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
avr qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
block qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
char qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
core Various patches loosely related to single binary work: 2025-04-27 12:47:16 -04:00
cpu qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
cxl qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
display exec: Rename target_words_bigendian() -> target_big_endian() 2025-04-25 17:00:42 +02:00
dma qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
fsi qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
gpio qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
hppa qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
hyperv qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
i2c qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
i386 qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
ide qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
input qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
intc hw/intc/aspeed: Add support for AST2700 TSP INTC 2025-05-05 09:38:55 +02:00
ipack qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
ipmi qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
isa qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
loongarch qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
m68k qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
mem qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
microblaze hw/microblaze: Evaluate TARGET_BIG_ENDIAN at compile time 2025-04-25 17:09:58 +02:00
mips hw/mips: Evaluate TARGET_BIG_ENDIAN at compile time 2025-04-25 17:09:58 +02:00
misc qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
net hw/net/can: Fix type conflict of GLib function pointers 2025-04-25 17:09:53 +02:00
nubus qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
nvme qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
nvram qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
openrisc qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
pci qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
pci-bridge qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
pci-host qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
ppc Various patches loosely related to single binary work: 2025-04-27 12:47:16 -04:00
remote qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
riscv qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
rtc qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
rx qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
s390x Various patches loosely related to single binary work: 2025-04-27 12:47:16 -04:00
scsi qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
sd qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
sensor qom: Constify TypeInfo::class_data 2025-04-25 17:00:41 +02:00
sh4 codebase: prepare to remove cpu.h from exec/exec-all.h 2025-04-23 13:52:25 -07:00
smbios ipmi: add fwinfo to pci ipmi devices 2025-04-11 10:50:42 -05:00
sparc qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
sparc64 qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
ssi hw/ssi/aspeed_smc: Allow 64-bit wide flash accesses 2025-05-05 09:38:55 +02:00
timer qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
tpm qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
tricore qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
uefi qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
ufs qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
usb hw/usb/hcd-xhci: Unmap canceled packet 2025-04-25 17:00:42 +02:00
vfio Various patches loosely related to single binary work: 2025-04-27 12:47:16 -04:00
virtio exec: Rename target_words_bigendian() -> target_big_endian() 2025-04-25 17:00:42 +02:00
vmapple qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
watchdog qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
xen qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
xenpv hw/boards: Do not create unusable default if=sd drives 2025-02-16 14:25:08 +01:00
xtensa qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
Kconfig Misc HW patches 2025-03-05 21:54:58 +08:00
meson.build Misc HW patches 2025-03-05 21:54:58 +08:00