dts: bindings: interrupt-controller: GIC: Allow specifying version in DT

Currently, only the presence of a GIC is reflected in the device tree,
and its version must be set separately in each SoC's Kconfig.
This patch adds separate bindings for each GIC version whose presence
in the device tree automatically enables the corresponding Kconfig symbol.

Signed-off-by: Piotr Wojnarowski <pwojnarowski@antmicro.com>
This commit is contained in:
Piotr Wojnarowski 2023-05-17 17:35:23 +02:00 committed by Anas Nashif
commit 2f5ac45e53
4 changed files with 36 additions and 3 deletions

View file

@ -8,26 +8,38 @@ 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
bool
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
bool
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
bool
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

View file

@ -0,0 +1,7 @@
# SPDX-License-Identifier: Apache-2.0
description: ARM Generic Interrupt Controller v1
compatible: arm,gic-v1
include: arm,gic.yaml

View file

@ -0,0 +1,7 @@
# SPDX-License-Identifier: Apache-2.0
description: ARM Generic Interrupt Controller v2
compatible: arm,gic-v2
include: arm,gic.yaml

View file

@ -0,0 +1,7 @@
# SPDX-License-Identifier: Apache-2.0
description: ARM Generic Interrupt Controller v3
compatible: arm,gic-v3
include: arm,gic.yaml