qemu/hw/intc
Jamin Lin 38ba38d87d hw/intc/aspeed: Add Support for AST2700 INTCIO Controller
Introduce a new ast2700 INTCIO class to support AST2700 INTCIO.
Added new register definitions for INTCIO, including enable and status
registers for IRQs GICINT192 through GICINT197.
Created a dedicated IRQ array for INTCIO, supporting six input pins and six
output pins, aligning with the newly defined registers.
Implemented "aspeed_intcio_read" and "aspeed_intcio_write" to handle
INTCIO-specific register access.

 To GICINT196                                                                                |

       ETH1    |-----------|                    |--------------------------|
      -------->|0          |                    |         INTCIO           |
       ETH2    |          4|   orgates[0]------>|inpin[0]-------->outpin[0]|
      -------->|1         5|   orgates[1]------>|inpin[1]-------->outpin[1]|
       ETH3    |          6|   orgates[2]------>|inpin[2]-------->outpin[2]|
      -------->|2        19|   orgates[3]------>|inpin[3]-------->outpin[3]|
       UART0   |         20|-->orgates[4]------>|inpin[4]-------->outpin[4]|
      -------->|7        21|   orgates[5]------>|inpin[5]-------->outpin[5]|
       UART1   |         22|                    |--------------------------|
      -------->|8        23|
       UART2   |         24|
      -------->|9        25|
       UART3   |         26|
      ---------|10       27|
       UART5   |         28|
      -------->|11       29|
       UART6   |           |
      -------->|12       30|
       UART7   |         31|
      -------->|13         |
       UART8   |  OR[0:31] |
      -------->|14         |
       UART9   |           |
      -------->|15         |
       UART10  |           |
      -------->|16         |
       UART11  |           |
      -------->|17         |
       UART12  |           |
      -------->|18         |
               |-----------|

Signed-off-by: Jamin Lin <jamin_lin@aspeedtech.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Link: https://lore.kernel.org/qemu-devel/20250307035945.3698802-18-jamin_lin@aspeedtech.com
Signed-off-by: Cédric Le Goater <clg@redhat.com>
2025-03-09 14:36:53 +01:00
..
allwinner-a10-pic.c hw/arm: Mark Allwinner Technology devices as little-endian 2025-02-16 14:41:46 +01:00
apic.c hw/intc/apic: Fixes magic number use, removes outdated comment 2025-02-16 14:25:07 +01:00
apic_common.c Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
arm_gic.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
arm_gic_common.c Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
arm_gic_kvm.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
arm_gicv2m.c Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
arm_gicv3.c hw/intc/arm_gicv3: Implement NMI interrupt priority 2024-04-25 10:21:05 +01:00
arm_gicv3_common.c Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
arm_gicv3_cpuif.c hw/intc/arm_gicv3_cpuif(): Remove redundant tests of is_a64() 2025-02-20 14:20:28 +00:00
arm_gicv3_cpuif_common.c hw/intc/arm_gicv3: Extract gicv3_set_gicv3state from arm_gicv3_cpuif.c 2021-12-15 10:11:34 +00:00
arm_gicv3_dist.c hw/intc/arm_gicv3: Implement GICD_INMIR 2024-04-25 10:21:05 +01:00
arm_gicv3_its.c * qdev: second part of Property cleanups 2024-12-21 08:06:50 -05:00
arm_gicv3_its_common.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
arm_gicv3_its_kvm.c Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
arm_gicv3_kvm.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
arm_gicv3_redist.c hw/intc/arm_gicv3: Implement NMI interrupt priority 2024-04-25 10:21:05 +01:00
armv7m_nvic.c exec: Declare tlb_flush*() in 'exec/cputlb.h' 2025-03-08 07:56:14 -08:00
aspeed_intc.c hw/intc/aspeed: Add Support for AST2700 INTCIO Controller 2025-03-09 14:36:53 +01:00
aspeed_vic.c hw: Use device_class_set_legacy_reset() instead of opencoding 2024-09-13 15:31:44 +01:00
bcm2835_ic.c hw: Use device_class_set_legacy_reset() instead of opencoding 2024-09-13 15:31:44 +01:00
bcm2836_control.c hw: Use device_class_set_legacy_reset() instead of opencoding 2024-09-13 15:31:44 +01:00
exynos4210_combiner.c include/hw/qdev-properties: Remove DEFINE_PROP_END_OF_LIST 2024-12-19 19:36:37 +01:00
exynos4210_gic.c include/hw/qdev-properties: Remove DEFINE_PROP_END_OF_LIST 2024-12-19 19:36:37 +01:00
gic_internal.h hw/intc/arm_gic: Fix deactivation of SPI lines 2024-06-21 14:01:58 +01:00
gicv3_internal.h hw/intc/arm_gicv3: Handle icv_nmiar1_read() for icc_nmiar1_read() 2024-04-25 10:21:05 +01:00
goldfish_pic.c include/hw/qdev-properties: Remove DEFINE_PROP_END_OF_LIST 2024-12-19 19:36:37 +01:00
grlib_irqmp.c include/hw/qdev-properties: Remove DEFINE_PROP_END_OF_LIST 2024-12-19 19:36:37 +01:00
heathrow_pic.c hw: Use device_class_set_legacy_reset() instead of opencoding 2024-09-13 15:31:44 +01:00
i8259.c hw: Use device_class_set_legacy_reset() instead of opencoding 2024-09-13 15:31:44 +01:00
i8259_common.c include/hw/qdev-properties: Remove DEFINE_PROP_END_OF_LIST 2024-12-19 19:36:37 +01:00
imx_avic.c hw: Use device_class_set_legacy_reset() instead of opencoding 2024-09-13 15:31:44 +01:00
imx_gpcv2.c hw: Use device_class_set_legacy_reset() instead of opencoding 2024-09-13 15:31:44 +01:00
intc.c intc: add an interface to gather statistics/informations on interrupt controllers 2016-10-04 10:00:25 +02:00
ioapic-stub.c i386: select correct components for no-board build 2024-05-10 15:45:15 +02:00
ioapic.c Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
ioapic_common.c hw/intc: Avoid using Monitor in INTERRUPT_STATS_PROVIDER::print_info() 2024-06-19 12:40:49 +02:00
ioapic_internal.h hw: Move ioapic*.h to intc/ 2023-02-27 22:29:01 +01:00
Kconfig hw/intc: Remove TCG dependency on ARM_GICV3 2025-03-04 14:45:34 +01:00
kvm_irqcount.c hw/intc: Extract the IRQ counting functions into a separate file 2023-01-13 16:22:57 +01:00
loongarch_extioi.c hw/intc/loongarch_extioi: Move gpio irq initial to common code 2025-03-05 09:39:17 +08:00
loongarch_extioi_common.c hw/intc/loongarch_extioi: Implment cpu hotplug interface 2025-03-05 09:39:17 +08:00
loongarch_ipi.c hw/intc/loongarch_ipi: Implment cpu hotplug interface 2025-03-05 09:39:17 +08:00
loongarch_pch_msi.c include/hw/qdev-properties: Remove DEFINE_PROP_END_OF_LIST 2024-12-19 19:36:37 +01:00
loongarch_pch_pic.c include/hw/qdev-properties: Remove DEFINE_PROP_END_OF_LIST 2024-12-19 19:36:37 +01:00
loongarch_pic_common.c * qdev: second part of Property cleanups 2024-12-21 08:06:50 -05:00
loongson_ipi.c hw/intc/loongson_ipi: Add more input parameter for cpu_by_arch_id 2025-01-15 14:33:49 +08:00
loongson_ipi_common.c hw/intc/loongson_ipi: Add more input parameter for cpu_by_arch_id 2025-01-15 14:33:49 +08:00
loongson_liointc.c hw/other: spelling fixes 2023-09-21 11:31:16 +03:00
m68k_irqc.c include/hw/qdev-properties: Remove DEFINE_PROP_END_OF_LIST 2024-12-19 19:36:37 +01:00
meson.build hw/intc: Remove TCG dependency on ARM_GICV3 2025-03-04 14:45:34 +01:00
mips_gic.c Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
omap_intc.c include/hw/qdev-properties: Remove DEFINE_PROP_END_OF_LIST 2024-12-19 19:36:37 +01:00
ompic.c include/hw/qdev-properties: Remove DEFINE_PROP_END_OF_LIST 2024-12-19 19:36:37 +01:00
openpic.c include/hw/qdev-properties: Remove DEFINE_PROP_END_OF_LIST 2024-12-19 19:36:37 +01:00
openpic_kvm.c Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
pl190.c hw: Use device_class_set_legacy_reset() instead of opencoding 2024-09-13 15:31:44 +01:00
pnv_xive.c Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
pnv_xive2.c Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
pnv_xive2_regs.h pnv/xive2: Enable VST NVG and NVC index compression 2024-07-26 09:51:33 +10:00
pnv_xive_regs.h ppc/xive: Handle END triggers between chips with MMIOs 2023-09-06 11:19:33 +02:00
ppc-uic.c include/hw/qdev-properties: Remove DEFINE_PROP_END_OF_LIST 2024-12-19 19:36:37 +01:00
realview_gic.c error: Eliminate error_propagate() with Coccinelle, part 1 2020-07-10 15:18:08 +02:00
riscv_aclint.c include/hw/qdev-properties: Remove DEFINE_PROP_END_OF_LIST 2024-12-19 19:36:37 +01:00
riscv_aplic.c hw/intc/aplic: refine kvm_msicfgaddr 2025-03-04 15:42:54 +10:00
riscv_imsic.c hw/intc/imsic: refine the IMSIC realize 2025-03-04 15:42:54 +10:00
rx_icu.c include/hw/qdev-properties: Remove DEFINE_PROP_END_OF_LIST 2024-12-19 19:36:37 +01:00
s390_flic.c hw/s390x: Remove the "adapter_routes_max_batch" property from the flic 2025-01-07 14:51:39 +01:00
s390_flic_kvm.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
sh_intc.c hw/intc/sh_intc: Remove unneeded local variable initialisers 2021-10-30 18:39:37 +02:00
sifive_plic.c Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
slavio_intctl.c hw: Use device_class_set_legacy_reset() instead of opencoding 2024-09-13 15:31:44 +01:00
spapr_xive.c Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
spapr_xive_kvm.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
trace-events hw/intc/aspeed: Add Support for Multi-Output IRQ Handling 2025-03-09 14:36:53 +01:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00
vgic_common.h intc/gic: Extract some reusable vGIC code 2015-09-24 01:29:36 +01:00
xics.c Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
xics_kvm.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
xics_pnv.c non-virt: Fix Lesser GPL version number 2020-11-15 16:38:24 +01:00
xics_spapr.c hw/ppc: Avoid using Monitor in SpaprInterruptControllerClass::print_info() 2024-06-19 12:40:49 +02:00
xilinx_intc.c hw/intc/xilinx_intc: Make device endianness configurable 2025-02-16 14:34:09 +01:00
xive.c Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
xive2.c Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
xlnx-pmu-iomod-intc.c include/hw/qdev-properties: Remove DEFINE_PROP_END_OF_LIST 2024-12-19 19:36:37 +01:00
xlnx-zynqmp-ipi.c hw: Use device_class_set_legacy_reset() instead of opencoding 2024-09-13 15:31:44 +01:00