qemu/hw/arm
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
..
allwinner-a10.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
allwinner-h3.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
allwinner-r40.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
armsse.c qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
armv7m.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
aspeed.c hw/arm/aspeed: Add support for loading vbootrom image via "-bios" 2025-05-05 09:38:55 +02:00
aspeed_ast10x0.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
aspeed_ast27x0-ssp.c hw/arm/aspeed_ast27x0-ssp: Introduce AST27x0 A1 SSP SoC 2025-05-05 09:38:55 +02:00
aspeed_ast27x0-tsp.c hw/arm/aspeed_ast27x0-tsp: Introduce AST27x0 A1 TSP SoC 2025-05-05 09:38:55 +02:00
aspeed_ast27x0.c aspeed: ast27x0: Correct hex notation for device addresses 2025-05-05 09:38:55 +02:00
aspeed_ast2400.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
aspeed_ast2600.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
aspeed_eeprom.c aspeed: Clean up includes 2024-01-30 21:20:20 +03:00
aspeed_eeprom.h aspeed: Clean up includes 2024-01-30 21:20:20 +03:00
aspeed_soc_common.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
b-l475e-iot01a.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
bananapi_m2u.c include/system: Move exec/address-spaces.h to system/address-spaces.h 2025-04-23 14:08:21 -07:00
bcm2835_peripherals.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
bcm2836.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
bcm2838.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
bcm2838_peripherals.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
boot.c hw/arm/boot: make compilation unit hw common 2025-04-23 15:07:32 -07:00
collie.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
cubieboard.c hw/boards: Rename no_sdcard -> auto_create_sdcard 2025-02-16 14:25:08 +01:00
digic.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
digic_boards.c hw/arm/digic_boards: prepare compilation unit to be common 2025-04-23 15:07:32 -07:00
exynos4_boards.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
exynos4210.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
fby35.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
fsl-imx6.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
fsl-imx6ul.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
fsl-imx7.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
fsl-imx8mp.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
fsl-imx25.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
fsl-imx31.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
highbank.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
imx8mp-evk.c include/system: Move exec/address-spaces.h to system/address-spaces.h 2025-04-23 14:08:21 -07:00
imx25_pdk.c hw/boards: Rename no_sdcard -> auto_create_sdcard 2025-02-16 14:25:08 +01:00
integratorcp.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
Kconfig rust: Kconfig: Factor out whether PL011 is Rust or C 2025-03-20 09:23:18 +01:00
kzm.c include/system: Move exec/address-spaces.h to system/address-spaces.h 2025-04-23 14:08:21 -07:00
mcimx6ul-evk.c hw/boards: Rename no_sdcard -> auto_create_sdcard 2025-02-16 14:25:08 +01:00
mcimx7d-sabre.c hw/boards: Rename no_sdcard -> auto_create_sdcard 2025-02-16 14:25:08 +01:00
meson.build hw/arm/aspeed_ast27x0-tsp: Introduce AST27x0 A1 TSP SoC 2025-05-05 09:38:55 +02:00
microbit.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
mps2-tz.c qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
mps2.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
mps3r.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
msf2-soc.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
msf2-som.c include/system: Move exec/address-spaces.h to system/address-spaces.h 2025-04-23 14:08:21 -07:00
musca.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
musicpal.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
netduino2.c hw/arm: Remove all invalid uses of auto_create_sdcard=true 2025-02-16 14:25:08 +01:00
netduinoplus2.c hw/arm: Remove all invalid uses of auto_create_sdcard=true 2025-02-16 14:25:08 +01:00
npcm7xx.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
npcm7xx_boards.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
npcm8xx.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
npcm8xx_boards.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
nrf51_soc.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
olimex-stm32-h405.c hw/arm: Remove all invalid uses of auto_create_sdcard=true 2025-02-16 14:25:08 +01:00
omap1.c include/system: Move exec/address-spaces.h to system/address-spaces.h 2025-04-23 14:08:21 -07:00
omap_sx1.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
orangepi.c include/system: Move exec/address-spaces.h to system/address-spaces.h 2025-04-23 14:08:21 -07:00
raspi.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
raspi4b.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
realview.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
sabrelite.c hw/boards: Rename no_sdcard -> auto_create_sdcard 2025-02-16 14:25:08 +01:00
sbsa-ref.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
smmu-common.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
smmu-internal.h hw/arm/smmu: Introduce smmu_configs_inv_sid_range() helper 2025-03-07 10:59:25 +00:00
smmuv3-internal.h hw/arm/smmuv3: Assert input to oas2bits() is valid 2024-07-29 13:34:18 +01:00
smmuv3.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
stellaris.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
stm32f100_soc.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
stm32f205_soc.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
stm32f405_soc.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
stm32l4x5_soc.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
stm32vldiscovery.c hw/arm: Remove all invalid uses of auto_create_sdcard=true 2025-02-16 14:25:08 +01:00
strongarm.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
strongarm.h include/system: Move exec/memory.h to system/memory.h 2025-04-23 14:08:21 -07:00
trace-events hw/arm/smmu: Introduce smmu_configs_inv_sid_range() helper 2025-03-07 10:59:25 +00:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00
versatilepb.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
vexpress.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
virt-acpi-build.c acpi/ghes: simplify the per-arch caller to build HEST table 2025-01-15 13:06:49 -05:00
virt.c qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
xen-pvh.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
xen-stubs.c cleanup: Drop pointless return at end of function 2025-04-24 09:33:42 +02:00
xilinx_zynq.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
xlnx-versal-virt.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
xlnx-versal.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
xlnx-zcu102.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
xlnx-zynqmp.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00