# ARM Generic Interrupt Controller (GIC) configuration # Copyright (c) 2019 Stephanos Ioannidis # SPDX-License-Identifier: Apache-2.0 if CPU_CORTEX config GIC bool # Selecting these symbols directly is deprecated: the GIC architecture version # should be specified by adding the appropriate compat (for example arm,gic-v2) # to the DT. config GIC_V1 def_bool DT_HAS_ARM_GIC_V1_ENABLED select GIC select DEPRECATED if !DT_HAS_ARM_GIC_V1_ENABLED help The ARM Generic Interrupt Controller v1 (e.g. PL390) works with the ARM Cortex-family processors. Selecting this symbol directly is deprecated. Please add the arm,gic-v1 compatible to the GIC node in your DT and remove the direct selection. config GIC_V2 def_bool DT_HAS_ARM_GIC_V2_ENABLED select GIC select DEPRECATED if !DT_HAS_ARM_GIC_V2_ENABLED help The ARM Generic Interrupt Controller v2 (e.g. GIC-400) works with the ARM Cortex-family processors. Selecting this symbol directly is deprecated. Please add the arm,gic-v2 compatible to the GIC node in your DT and remove the direct selection. config GIC_V3 def_bool DT_HAS_ARM_GIC_V3_ENABLED select GIC select DEPRECATED if !DT_HAS_ARM_GIC_V3_ENABLED help The ARM Generic Interrupt Controller v3 (e.g. GIC-500 and GIC-600) works with the ARM Cortex-family processors. Selecting this symbol directly is deprecated. Please add the arm,gic-v3 compatible to the GIC node in your DT and remove the direct selection. config GIC_VER int depends on GIC default 1 if GIC_V1 default 2 if GIC_V2 default 3 if GIC_V3 config GIC_SINGLE_SECURITY_STATE bool depends on GIC_V3 help Some ARM Cortex-family processors only supports single security state. config GIC_V3_RDIST_MATCHING_AFF0_ONLY bool depends on GIC_V3 default y if CPU_CORTEX_R52 help Some platforms only use aff0 to match mpdir and GICR.aff. With this enabled, we find the target redistributor by comparing the aff0 only. config GIC_V3_ITS bool "GIC v3 Interrupt Translation Service" depends on GIC_V3 # ITS generates Non-secure Group 1 LPI interrupts, requiring EL1NS select ARMV8_A_NS select DYNAMIC_INTERRUPTS help Support for the optional Interrupt Translation Service used to translate hardware interrupt from PCIe MSI messages for example. Please note that ITS uses dynamic memory, so HEAP_MEM_POOL_SIZE should be enough to allocate ITS tables (size is probed at runtime). endif # CPU_CORTEX