qemu/include/hw/arm
Steven Lee 541da2604f hw/arm/aspeed_ast27x0-ssp: Introduce AST27x0 A1 SSP SoC
The AST2700 SSP (Secondary Service Processor) is a Cortex-M4 coprocessor.
This patch adds support for A1 SSP with the following updates:

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

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-ssp
      - Support SSPINT128 to SSPINT136 in INTC
      - The INTCIO SSPINT_160_169 has 10 output pins, mapped as follows:
          Bit 0 -> SSPINT 160
          Bit 1 -> SSPINT 161
          Bit 2 -> SSPINT 162
          Bit 3 -> SSPINT 163
          Bit 4 -> SSPINT 164

Signed-off-by: Steven Lee <steven_lee@aspeedtech.com>
Change-Id: I924bf1a657f1e83f9e16d6673713f4a06ecdb496
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Link: https://lore.kernel.org/qemu-devel/20250502103449.3091642-6-steven_lee@aspeedtech.com
[ clg: removed local 'Error* err' in aspeed_soc_ast27x0ssp_realize() ]
Signed-off-by: Cédric Le Goater <clg@redhat.com>
2025-05-05 09:38:55 +02:00
..
allwinner-a10.h include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
allwinner-h3.h include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
allwinner-r40.h include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
armsse-version.h hw/arm/armsse: Introduce SSE subsystem version property 2021-03-08 17:20:01 +00:00
armsse.h hw/arm: Set number of MPU regions correctly for an505, an521, an524 2023-08-31 11:07:02 +01:00
armv7m.h hw/arm/armv7m: alias the NVIC "num-prio-bits" property 2024-01-09 14:42:40 +00:00
aspeed.h hw/arm/aspeed: Add support for loading vbootrom image via "-bios" 2025-05-05 09:38:55 +02:00
aspeed_soc.h hw/arm/aspeed_ast27x0-ssp: Introduce AST27x0 A1 SSP SoC 2025-05-05 09:38:55 +02:00
bcm2835_peripherals.h hw/arm: Connect OTP device to BCM2835 2024-07-01 12:48:55 +01:00
bcm2836.h hw/arm/bcm2853_peripherals: Split out common part of peripherals 2024-02-27 13:01:42 +00:00
bcm2838.h hw/arm/bcm2838: Add GIC-400 to BCM2838 SoC 2024-02-27 13:01:42 +00:00
bcm2838_peripherals.h hw/arm/bcm2838_peripherals: Add clock_isp stub 2024-02-27 13:01:42 +00:00
boot.h hw/arm/boot: Propagate vCPU to arm_load_dtb() 2025-02-07 16:09:18 +00:00
bsa.h target/arm: Implement SEL2 physical and virtual timers 2025-03-07 10:08:21 +00:00
digic.h Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
exynos4210.h hw/arm/exynos4210: Get arm_boot_info declaration from 'hw/arm/boot.h' 2023-10-19 13:01:52 +01:00
fdt.h hw/arm/sysbus-fdt: enable vfio-calxeda-xgmac dynamic instantiation 2015-06-19 14:17:44 +01:00
fsl-imx6.h include/system: Move exec/memory.h to system/memory.h 2025-04-23 14:08:21 -07:00
fsl-imx6ul.h include/system: Move exec/memory.h to system/memory.h 2025-04-23 14:08:21 -07:00
fsl-imx7.h hw/pci-host/designware: Expose MSI IRQ 2025-01-27 13:50:14 +00:00
fsl-imx8mp.h hw/arm/fsl-imx8mp: Remove unused define 2025-03-31 16:25:59 +02:00
fsl-imx25.h include/system: Move exec/memory.h to system/memory.h 2025-04-23 14:08:21 -07:00
fsl-imx31.h include/system: Move exec/memory.h to system/memory.h 2025-04-23 14:08:21 -07:00
linux-boot-if.h Use DECLARE_*CHECKER* macros 2020-09-09 09:27:09 -04:00
msf2-soc.h hw/arm/msf2: Simplify setting MachineClass::valid_cpu_types[] 2024-02-02 13:51:58 +00:00
npcm7xx.h hw/misc: Move NPCM7XX CLK to NPCM CLK 2025-02-20 15:22:22 +00:00
npcm8xx.h hw/arm: Add NPCM845 Evaluation board 2025-02-20 15:22:22 +00:00
nrf51.h hw/arm/nrf51: Add NRF51_PERIPHERAL_SIZE definition 2020-05-11 11:05:11 +01:00
nrf51_soc.h hw/arm/nrf51: Rename ARMv7MState 'cpu' -> 'armv7m' 2025-01-27 12:58:26 +00:00
omap.h include/system: Move exec/memory.h to system/memory.h 2025-04-23 14:08:21 -07:00
primecell.h hw: move headers to include/ 2013-04-08 18:13:10 +02:00
raspberrypi-fw-defs.h hw/misc: Implement mailbox properties for customer OTP and device specific private keys 2024-07-01 12:48:55 +01:00
raspi_platform.h hw/arm: Add memory region for BCM2837 RPiVid ASB 2024-02-27 13:01:42 +00:00
sharpsl.h hw/gpio/zaurus.c: Use LOG_GUEST_ERROR for bad guest register accesses 2020-07-03 16:59:45 +01:00
smmu-common.h hw/arm/smmu: Introduce smmu_configs_inv_sid_range() helper 2025-03-07 10:59:25 +00:00
smmuv3.h hw/arm/smmuv3: Add knob to choose translation stage and enable stage-2 2023-05-30 15:50:16 +01:00
soc_dma.h Include exec/memory.h slightly less 2019-08-16 13:31:52 +02:00
stm32f100_soc.h hw/arm/stm32f100: Report error when incorrect CPU is used 2023-11-20 15:30:59 +00:00
stm32f205_soc.h hw/arm/stm32f205: Report error when incorrect CPU is used 2023-11-20 15:30:59 +00:00
stm32f405_soc.h hw/arm/stm32f405: Add RCC device to stm32f405 SoC 2024-10-15 11:29:45 +01:00
stm32l4x5_soc.h include/system: Move exec/memory.h to system/memory.h 2025-04-23 14:08:21 -07:00
virt.h include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
xen_arch_hvm.h hw/arm: introduce xenpvh machine 2023-06-15 16:46:47 -07:00
xlnx-versal.h hw/arm/xlnx: Connect secondary CGEM IRQs 2024-10-01 13:55:38 +01:00
xlnx-zynqmp.h hw/arm/xlnx: Connect secondary CGEM IRQs 2024-10-01 13:55:38 +01:00