diff --git a/drivers/interrupt_controller/Kconfig b/drivers/interrupt_controller/Kconfig index eae6f632ce2..b07c68f0cda 100644 --- a/drivers/interrupt_controller/Kconfig +++ b/drivers/interrupt_controller/Kconfig @@ -39,13 +39,6 @@ config VEXRISCV_LITEX_IRQ help IRQ implementation for LiteX VexRiscv -config GIC - bool "ARM Generic Interrupt Controller (GIC)" - depends on CPU_CORTEX_R - help - The ARM Generic Interrupt Controller works with Cortex-A and - Cortex-R processors. - source "drivers/interrupt_controller/Kconfig.multilevel" source "drivers/interrupt_controller/Kconfig.loapic" @@ -60,4 +53,6 @@ source "drivers/interrupt_controller/Kconfig.rv32m1" source "drivers/interrupt_controller/Kconfig.sam0" +source "drivers/interrupt_controller/Kconfig.gic" + endmenu diff --git a/drivers/interrupt_controller/Kconfig.gic b/drivers/interrupt_controller/Kconfig.gic new file mode 100644 index 00000000000..bff602d7819 --- /dev/null +++ b/drivers/interrupt_controller/Kconfig.gic @@ -0,0 +1,39 @@ +# ARM Generic Interrupt Controller (GIC) configuration + +# Copyright (c) 2019 Stephanos Ioannidis +# SPDX-License-Identifier: Apache-2.0 + +if CPU_CORTEX + +config GIC + bool + +config GIC_V1 + bool + select GIC + help + The ARM Generic Interrupt Controller v1 (e.g. PL390) works with the + ARM Cortex-family processors. + +config GIC_V2 + bool + select GIC + help + The ARM Generic Interrupt Controller v2 (e.g. GIC-400) works with the + ARM Cortex-family processors. + +config GIC_V3 + bool + select GIC + help + The ARM Generic Interrupt Controller v3 (e.g. GIC-500 and GIC-600) + works with the ARM Cortex-family processors. + +config GIC_VER + int + depends on GIC + default 1 if GIC_V1 + default 2 if GIC_V2 + default 3 if GIC_V3 + +endif # CPU_CORTEX diff --git a/soc/arm/xilinx_zynqmp/Kconfig.soc b/soc/arm/xilinx_zynqmp/Kconfig.soc index cb0a41a9be0..9ce2180fac7 100644 --- a/soc/arm/xilinx_zynqmp/Kconfig.soc +++ b/soc/arm/xilinx_zynqmp/Kconfig.soc @@ -4,6 +4,6 @@ config SOC_XILINX_ZYNQMP bool "Xilinx ZynqMP" select CPU_CORTEX_R5 - select GIC + select GIC_V1 select MULTI_LEVEL_INTERRUPTS select 2ND_LEVEL_INTERRUPTS