zephyr/drivers/interrupt_controller
Ziad Elhanafy 9a236f82c1 drivers: gic: Add multiple GIC redistributors regions support
For GIC multiple views feature support, all GIC Re-distributor's
GICR_TYPER.last will be set. Because configuration view-0 can
assign non-contiguous CPUs to views other than 0, in this case
the GIC Redistributors' registers won't seem contiguous.

So the GIC driver should cope with multiple sets of redistributors
like multi-chip scenarios. In this patch we add multiple GIC
redistributor regions support in GIC redistributor iteration.

For more information, refer to the Multi view subsection
in the GIC Technical Reference Manual.
For example:
https://developer.arm.com/documentation/101516/0400/Operation-of-GIC-700/Multi-view

Signed-off-by: Ziad Elhanafy <ziad.elhanafy@arm.com>
2025-01-21 11:16:12 +01:00
..
CMakeLists.txt drivers: add the pfic interrupt controller 2024-11-26 14:41:46 +00:00
intc_arcv2_irq_unit.c intc: arcv2: convert SYS_INIT to DEVICE_DT_INST_DEFINE 2023-09-22 09:22:55 +02:00
intc_cavs.c drivers: intc: update to use multi-level API 2024-05-25 11:24:32 +03:00
intc_cavs.h
intc_dw.c drivers: intc: update to use multi-level API 2024-05-25 11:24:32 +03:00
intc_dw.h drivers: intc_dw: fixed misnumbered value of reserved slots in structure 2022-10-17 13:37:09 -04:00
intc_dw_ace.c drivers: intc: update to use multi-level API 2024-05-25 11:24:32 +03:00
intc_eirq_nxp_s32.c drivers: nxp: convert SIUL2 drivers to native 2024-07-31 10:08:24 +02:00
intc_esp32.c drivers: esp32: update to hal_espressif v5.1 2024-04-05 13:39:53 +02:00
intc_esp32c3.c drivers: interrupt_controller: esp32c6: reserve IRQ 1 for WiFi 2024-12-23 13:23:59 +01:00
intc_exti_stm32.c drivers: intc: stm32: correct inconsistent parameter names 2024-10-07 17:12:34 +01:00
intc_gd32_exti.c include: add missing irq.h include 2022-10-11 18:05:17 +02:00
intc_gic.c drivers: interrupt_controller: do not set sgi type 2024-11-16 14:57:44 -05:00
intc_gic_common_priv.h
intc_gicv3.c drivers: gic: Add multiple GIC redistributors regions support 2025-01-21 11:16:12 +01:00
intc_gicv3_its.c drivers: interrupt_controller: Place API into iterable section 2024-12-05 09:41:52 +01:00
intc_gicv3_priv.h drivers: gic: Add multiple GIC redistributors regions support 2025-01-21 11:16:12 +01:00
intc_gpio_stm32wb0.c drivers: intc: stm32: correct inconsistent parameter names 2024-10-07 17:12:34 +01:00
intc_intel_vtd.c drivers: interrupt_controller: Place API into iterable section 2024-12-02 22:08:07 +00:00
intc_intel_vtd.h
intc_ioapic.c drivers: intc_ioapic: Fix get ioapic_id 2023-12-19 11:04:19 +01:00
intc_ioapic_priv.h
intc_irqmp.c intc: irqmp: convert SYS_INIT to DEVICE_DT_INST_DEFINE 2023-09-22 09:22:55 +02:00
intc_ite_it8xxx2.c Revert "drivers/interrupt: it8xxx2: Register interrupt number 0 to handle" 2024-08-28 06:49:36 -04:00
intc_ite_it8xxx2.h it8xxx2: generalize ILM support 2022-10-21 20:31:47 +02:00
intc_ite_it8xxx2_v2.c Revert "drivers/interrupt: it8xxx2: Register interrupt number 0 to handle" 2024-08-28 06:49:36 -04:00
intc_loapic.c drivers: loapic: move 'z_loapic_int_vec_set()' into pinned section 2024-06-13 17:49:01 +02:00
intc_loapic_spurious.S
intc_mchp_ecia_xec.c zephyr: bulk update to DT_NODE_HAS_STATUS_OKAY 2024-10-03 17:06:52 +01:00
intc_miwu.c drivers: gpio: npcx: workaround both trigger issue for npcx9m7fb 2024-03-15 08:43:47 +00:00
intc_mtk_adsp.c drivers: MediaTek MT8195 Audio DSP interrupt controller 2024-06-01 05:40:05 -07:00
intc_nrfx_clic.c drivers: interrupt_controller: add intc_nrfx_clic 2024-04-23 15:35:12 +02:00
intc_nrfx_clic.S drivers: interrupt_controller: add intc_nrfx_clic 2024-04-23 15:35:12 +02:00
intc_nuclei_eclic.c drivers: interrupt_controller: nuclei_eclic: always use clic common entry 2024-08-26 17:05:53 +02:00
intc_nuclei_eclic.S drivers: interrupt_controller: nuclei_eclic: always use clic common entry 2024-08-26 17:05:53 +02:00
intc_nxp_irqsteer.c drivers: intc: irqstr: initialize 'enabled' variable 2024-10-18 14:16:21 +02:00
intc_nxp_pint.c drivers: interrupt_controller: Enable PINT-irq when deepsleep is not used 2024-04-11 11:28:52 -05:00
intc_plic.c drivers: intc: plic: use per-instance spinlock 2024-11-20 08:26:02 -05:00
intc_renesas_ra_icu.c drivers: intc: Rename renesas ra driver 2024-01-29 11:32:46 +01:00
intc_rv32m1_intmux.c drivers: intc: update to use multi-level API 2024-05-25 11:24:32 +03:00
intc_sam0_eic.c include: add missing irq.h include 2022-10-11 18:05:17 +02:00
intc_sam0_eic_priv.h include: add missing errno.h include 2022-10-11 18:05:17 +02:00
intc_shared_irq.c drivers: interrupt_controller: Place API into iterable section 2024-12-02 22:08:07 +00:00
intc_swerv_pic.c style: drivers: comply with MISRA C:2012 Rule 15.6 2024-08-20 10:33:51 +02:00
intc_system_apic.c drivers: added missing parenthesis 2024-05-17 09:29:48 +02:00
intc_vexriscv_litex.c drivers: intc: litex: add helper for interrupts 2024-08-01 08:59:37 +01:00
intc_vim.c include: arch: arm: Remove aarch32 directory 2023-09-13 10:08:05 +01:00
intc_wch_pfic.c drivers: add the pfic interrupt controller 2024-11-26 14:41:46 +00:00
intc_wkpu_nxp_s32.c drivers: intc: nxp: convert wkpu to native driver 2024-08-02 15:14:33 -05:00
intc_xmc4xxx.c drivers: interrupt_controller: Add XMC4XXX ERU driver 2022-12-12 10:51:29 +01:00
Kconfig drivers: add the pfic interrupt controller 2024-11-26 14:41:46 +00:00
Kconfig.cavs drivers: intc: Update drivers to use devicetree Kconfig symbol 2022-09-01 10:25:36 +02:00
Kconfig.clic drivers: interrupt_controller: nuclei_eclic: always use clic common entry 2024-08-26 17:05:53 +02:00
Kconfig.dw drivers: intc_dw_ace: use CONFIG_DW_ICTL_ACE 2022-10-11 12:50:05 -04:00
Kconfig.esp32 drivers: intc: esp32c2: Added support 2024-08-16 14:08:22 -04:00
Kconfig.esp32c3 drivers: intc: esp32c2: Added support 2024-08-16 14:08:22 -04:00
Kconfig.gd32_exti drivers: intc: Update drivers to use devicetree Kconfig symbol 2022-09-01 10:25:36 +02:00
Kconfig.gic drivers: gicv3: add distributor safe configuration 2024-10-24 14:08:07 +02:00
Kconfig.intel_vtd drivers: intc: Update drivers to use devicetree Kconfig symbol 2022-09-01 10:25:36 +02:00
Kconfig.it8xxx2 ITE drivers/interrupt_controller: add intc_ite_it8xxx2_v2 driver 2023-04-19 03:48:38 -04:00
Kconfig.loapic drivers: loapic: add device tree support for loapic 2023-09-01 16:36:18 +02:00
Kconfig.mtk_adsp drivers: MediaTek MT8195 Audio DSP interrupt controller 2024-06-01 05:40:05 -07:00
Kconfig.multilevel drivers: intc: manage multi-level interrupt configs 2023-12-11 18:23:23 -05:00
Kconfig.multilevel.aggregator_template
Kconfig.npcx drivers: gpio: npcx: workaround both trigger issue for npcx9m7fb 2024-03-15 08:43:47 +00:00
Kconfig.nxp_irqsteer drivers: interrupt_controller: Add driver for NXP's IRQ_STEER IP 2023-12-04 09:52:38 -06:00
Kconfig.nxp_pint drivers: interrupt_controller: introduce PINT driver 2023-04-18 16:14:57 -05:00
Kconfig.nxp_s32 boards: nxp: Removing CONFIG_PINCTRL from the boards defconfig 2024-10-15 19:09:45 -04:00
Kconfig.plic drivers: intc: plic: convert trigger type to use Kconfig 2024-10-09 09:41:50 +02:00
Kconfig.renesas_ra drivers: interrupt_controller: renesas_ra: Enable GEN_ISR_TABLES explicitly 2024-06-20 12:57:54 +02:00
Kconfig.rv32m1 drivers: intc: Update drivers to use devicetree Kconfig symbol 2022-09-01 10:25:36 +02:00
Kconfig.sam0 drivers: intc: Update drivers to use devicetree Kconfig symbol 2022-09-01 10:25:36 +02:00
Kconfig.shared_irq drivers: intc: Update drivers to use devicetree Kconfig symbol 2022-09-01 10:25:36 +02:00
Kconfig.stm32 drivers: intc: add STM32WB0 GPIO interrupt controller 2024-09-12 10:03:37 +02:00
Kconfig.vim drivers: interrupt-controller: Add VIM Interrupt Controller support 2023-09-04 10:53:09 +02:00
Kconfig.wch_pfic drivers: add the pfic interrupt controller 2024-11-26 14:41:46 +00:00
Kconfig.xec drivers: intc: Update drivers to use devicetree Kconfig symbol 2022-09-01 10:25:36 +02:00
Kconfig.xmc4xxx drivers: interrupt_controller: Add XMC4XXX ERU driver 2022-12-12 10:51:29 +01:00
wuc_ite_it8xxx2.c device: remove redundant init functions 2023-04-19 10:00:25 +02:00