]> git.ipfire.org Git - thirdparty/qemu.git/commit
hw/arm/aspeed_ast27x0-tsp: Introduce AST27x0 A1 TSP SoC
authorSteven Lee <steven_lee@aspeedtech.com>
Fri, 2 May 2025 10:34:42 +0000 (18:34 +0800)
committerCédric Le Goater <clg@redhat.com>
Mon, 5 May 2025 07:38:55 +0000 (09:38 +0200)
commit2d64e6a009e1efbf6d9ae63a3dc5d35f356641e7
treee078d24a65f9ec1f20a000e9691d9688a029c2e8
parent541da2604fe157d9db5995808097230a9f966b4a
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>
hw/arm/aspeed_ast27x0-tsp.c [new file with mode: 0644]
hw/arm/meson.build
include/hw/arm/aspeed_soc.h