Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
adam.huang
Arm Trusted Firmware
Commits
27c5e15e
Commit
27c5e15e
authored
Mar 31, 2020
by
Manish Pandey
Committed by
TrustedFirmware Code Review
Mar 31, 2020
Browse files
Merge "TF-A GICv3 driver: Introduce makefile" into integration
parents
93b2434f
a6ea06f5
Changes
20
Hide whitespace changes
Inline
Side-by-side
docs/getting_started/build-options.rst
View file @
27c5e15e
...
...
@@ -667,6 +667,27 @@ Common build options
cluster
platforms
).
If
this
option
is
enabled
,
then
warm
boot
path
enables
D
-
caches
immediately
after
enabling
MMU
.
This
option
defaults
to
0.
GICv3
driver
options
--------------------
GICv3
driver
files
are
included
using
directive
:
``
include
drivers
/
arm
/
gic
/
v3
/
gicv3
.
mk
``
The
driver
can
be
configured
with
the
following
options
set
in
the
platform
makefile
:
-
``
GICV3_IMPL
``:
Selects
between
GIC
-
500
and
GIC
-
600
variants
of
GICv3
.
This
option
can
take
values
GIC500
and
GIC600
with
default
set
to
GIC500
.
-
``
GICV3_IMPL_GIC600_MULTICHIP
``:
Selects
GIC
-
600
variant
with
multichip
functionality
.
This
option
defaults
to
0
-
``
GICV3_OVERRIDE_DISTIF_PWR_OPS
``:
Allows
override
of
default
implementation
of
``
arm_gicv3_distif_pre_save
``
and
``
arm_gicv3_distif_post_restore
``
functions
.
This
is
required
for
FVP
platform
which
need
to
simulate
GIC
save
and
restore
during
SYSTEM_SUSPEND
without
powering
down
GIC
.
Default
is
0.
Debugging
options
-----------------
...
...
drivers/arm/gic/v3/gicv3.mk
0 → 100644
View file @
27c5e15e
#
# Copyright (c) 2013-2020, Arm Limited and Contributors. All rights reserved.
#
# SPDX-License-Identifier: BSD-3-Clause
#
# Default configuration values
GICV3_IMPL
?=
GIC500
GICV3_IMPL_GIC600_MULTICHIP
?=
0
GICV3_OVERRIDE_DISTIF_PWR_OPS
?=
0
GICV3_SOURCES
+=
drivers/arm/gic/common/gic_common.c
\
drivers/arm/gic/v3/gicv3_main.c
\
drivers/arm/gic/v3/gicv3_helpers.c
\
drivers/arm/gic/v3/gicdv3_helpers.c
\
drivers/arm/gic/v3/gicrv3_helpers.c
ifeq
(${GICV3_OVERRIDE_DISTIF_PWR_OPS}, 0)
GICV3_SOURCES
+=
drivers/arm/gic/v3/arm_gicv3_common.c
endif
# Either GIC-600 or GIC-500 can be selected at one time
ifeq
(${GICV3_IMPL}, GIC600)
# GIC-600 sources
GICV3_SOURCES
+=
drivers/arm/gic/v3/gic600.c
ifeq
(${GICV3_IMPL_GIC600_MULTICHIP}, 1)
GICV3_SOURCES
+=
drivers/arm/gic/v3/gic600_multichip.c
endif
else
ifeq
(${GICV3_IMPL}, GIC500)
# GIC-500 sources
GICV3_SOURCES
+=
drivers/arm/gic/v3/gic500.c
else
$(error
"Incorrect GICV3_IMPL value ${GICV3_IMPL}"
)
endif
plat/arm/board/fvp/platform.mk
View file @
27c5e15e
...
...
@@ -48,21 +48,23 @@ endif
$(eval
$(call
add_define,FVP_INTERCONNECT_DRIVER))
FVP_GICV3_SOURCES
:=
drivers/arm/gic/common/gic_common.c
\
drivers/arm/gic/v3/gicv3_main.c
\
drivers/arm/gic/v3/gicv3_helpers.c
\
drivers/arm/gic/v3/gicdv3_helpers.c
\
drivers/arm/gic/v3/gicrv3_helpers.c
\
# Choose the GIC sources depending upon the how the FVP will be invoked
ifeq
(${FVP_USE_GIC_DRIVER},$(filter ${FVP_USE_GIC_DRIVER},FVP_GICV3 FVP_GIC600))
ifeq
(${FVP_USE_GIC_DRIVER}, FVP_GIC600)
GICV3_IMPL
:=
GIC600
endif
# GIC500 is the default option in case GICV3_IMPL is not set
GICV3_OVERRIDE_DISTIF_PWR_OPS
:=
1
# Include GICv3 driver files
include
drivers/arm/gic/v3/gicv3.mk
FVP_GIC_SOURCES
:=
${GICV3_SOURCES}
\
plat/common/plat_gicv3.c
\
plat/arm/common/arm_gicv3.c
# Choose the GIC sources depending upon the how the FVP will be invoked
ifeq
(${FVP_USE_GIC_DRIVER}, FVP_GICV3)
FVP_GIC_SOURCES
:=
${FVP_GICV3_SOURCES}
\
drivers/arm/gic/v3/gic500.c
else
ifeq
(${FVP_USE_GIC_DRIVER},FVP_GIC600)
FVP_GIC_SOURCES
:=
${FVP_GICV3_SOURCES}
\
drivers/arm/gic/v3/gic600.c
else
ifeq
(${FVP_USE_GIC_DRIVER}, FVP_GICV2)
FVP_GIC_SOURCES
:=
drivers/arm/gic/common/gic_common.c
\
drivers/arm/gic/v2/gicv2_main.c
\
...
...
plat/arm/board/n1sdp/platform.mk
View file @
27c5e15e
...
...
@@ -14,16 +14,16 @@ PLAT_INCLUDES := -I${N1SDP_BASE}/include
N1SDP_CPU_SOURCES
:=
lib/cpus/aarch64/neoverse_n1.S
# GIC-600 configuration
GICV3_IMPL
:=
GIC600
GICV3_IMPL_GIC600_MULTICHIP
:=
1
N1SDP_GIC_SOURCES
:=
drivers/arm/gic/common/gic_common.c
\
drivers/arm/gic/v3/gicv3_main.c
\
drivers/arm/gic/v3/gicv3_helpers.c
\
drivers/arm/gic/v3/gicdv3_helpers.c
\
drivers/arm/gic/v3/gicrv3_helpers.c
\
drivers/arm/gic/v3/gic600_multichip.c
\
# Include GICv3 driver files
include
drivers/arm/gic/v3/gicv3.mk
N1SDP_GIC_SOURCES
:=
${GICV3_SOURCES}
\
plat/common/plat_gicv3.c
\
plat/arm/common/arm_gicv3.c
\
drivers/arm/gic/v3/gic600.c
PLAT_BL_COMMON_SOURCES
:=
${N1SDP_BASE}
/n1sdp_plat.c
\
${N1SDP_BASE}
/aarch64/n1sdp_helper.S
...
...
plat/arm/board/rdn1edge/platform.mk
View file @
27c5e15e
...
...
@@ -4,6 +4,9 @@
# SPDX-License-Identifier: BSD-3-Clause
#
# GIC-600 configuration
GICV3_IMPL_GIC600_MULTICHIP
:=
1
include
plat/arm/css/sgi/sgi-common.mk
RDN1EDGE_BASE
=
plat/arm/board/rdn1edge
...
...
@@ -26,7 +29,6 @@ BL31_SOURCES += ${SGI_CPU_SOURCES} \
${RDN1EDGE_BASE}
/rdn1edge_plat.c
\
${RDN1EDGE_BASE}
/rdn1edge_topology.c
\
drivers/cfi/v2m/v2m_flash.c
\
drivers/arm/gic/v3/gic600_multichip.c
\
lib/utils/mem_region.c
\
plat/arm/common/arm_nor_psci_mem_protect.c
...
...
plat/arm/css/sgi/sgi-common.mk
View file @
27c5e15e
...
...
@@ -22,15 +22,15 @@ INTERCONNECT_SOURCES := ${CSS_ENT_BASE}/sgi_interconnect.c
PLAT_INCLUDES
+=
-I
${CSS_ENT_BASE}
/include
ENT_GIC_SOURCES
:=
drivers/arm/gic/common/gic_common.c
\
drivers/arm/gic/v3/gicv3_main.c
\
drivers/arm/gic/v3/gicv3_helpers.c
\
drivers/arm/gic/v3/gicdv3_helpers.c
\
drivers/arm/gic/v3/gicrv3_helpers.c
\
plat/common/plat_gicv3.c
\
plat/arm/common/arm_gicv3.c
\
drivers/arm/gic/v3/gic600.c
# GIC-600 configuration
GICV3_IMPL
:=
GIC600
# Include GICv3 driver files
include
drivers/arm/gic/v3/gicv3.mk
ENT_GIC_SOURCES
:=
${GICV3_SOURCES}
\
plat/common/plat_gicv3.c
\
plat/arm/common/arm_gicv3.c
PLAT_BL_COMMON_SOURCES
+=
${CSS_ENT_BASE}
/sgi_plat.c
\
${CSS_ENT_BASE}
/aarch64/sgi_helper.S
...
...
plat/arm/css/sgm/sgm-common.mk
View file @
27c5e15e
...
...
@@ -22,15 +22,15 @@ SGM_CPU_SOURCES := lib/cpus/aarch64/cortex_a55.S \
INTERCONNECT_SOURCES
:=
${CSS_SGM_BASE}
/sgm_interconnect.c
SGM_GIC_SOURCES
:=
drivers/arm/gic/common/gic_common.c
\
drivers/arm/gic/v3/gicv3_main.c
\
drivers/arm/gic/v3/gicv3_helpers.c
\
drivers/arm/gic/v3/gicdv3_helpers.c
\
drivers/arm/gic/v3/gicrv3_helpers.c
\
# GIC-600 configuration
GICV3_IMPL
:=
GIC600
# Include GICv3 driver files
include
drivers/arm/gic/v3/gicv3.mk
SGM_GIC_SOURCES
:=
${GICV3_SOURCES}
\
plat/common/plat_gicv3.c
\
plat/arm/common/arm_gicv3.c
\
drivers/arm/gic/v3/gic600.c
\
drivers/arm/gic/v3/arm_gicv3_common.c
plat/arm/common/arm_gicv3.c
BL1_SOURCES
+=
$(SGM_CPU_SOURCES)
\
${INTERCONNECT_SOURCES}
\
...
...
plat/imx/imx8m/imx8mm/platform.mk
View file @
27c5e15e
...
...
@@ -8,13 +8,10 @@ PLAT_INCLUDES := -Iplat/imx/common/include \
-Iplat
/imx/imx8m/include
\
-Iplat
/imx/imx8m/imx8mm/include
IMX_GIC_SOURCES
:=
drivers/arm/gic/v3/gicv3_helpers.c
\
drivers/arm/gic/v3/gicdv3_helpers.c
\
drivers/arm/gic/v3/gicrv3_helpers.c
\
drivers/arm/gic/v3/arm_gicv3_common.c
\
drivers/arm/gic/v3/gic500.c
\
drivers/arm/gic/v3/gicv3_main.c
\
drivers/arm/gic/common/gic_common.c
\
# Include GICv3 driver files
include
drivers/arm/gic/v3/gicv3.mk
IMX_GIC_SOURCES
:=
${GICV3_SOURCES}
\
plat/common/plat_gicv3.c
\
plat/common/plat_psci_common.c
\
plat/imx/common/plat_imx8_gic.c
...
...
plat/imx/imx8m/imx8mq/platform.mk
View file @
27c5e15e
...
...
@@ -8,13 +8,10 @@ PLAT_INCLUDES := -Iplat/imx/common/include \
-Iplat
/imx/imx8m/include
\
-Iplat
/imx/imx8m/imx8mq/include
IMX_GIC_SOURCES
:=
drivers/arm/gic/v3/gicv3_helpers.c
\
drivers/arm/gic/v3/gicdv3_helpers.c
\
drivers/arm/gic/v3/gicrv3_helpers.c
\
drivers/arm/gic/v3/arm_gicv3_common.c
\
drivers/arm/gic/v3/gic500.c
\
drivers/arm/gic/v3/gicv3_main.c
\
drivers/arm/gic/common/gic_common.c
\
# Include GICv3 driver files
include
drivers/arm/gic/v3/gicv3.mk
IMX_GIC_SOURCES
:=
${GICV3_SOURCES}
\
plat/common/plat_gicv3.c
\
plat/common/plat_psci_common.c
\
plat/imx/common/plat_imx8_gic.c
...
...
plat/imx/imx8qm/platform.mk
View file @
27c5e15e
...
...
@@ -7,13 +7,10 @@
PLAT_INCLUDES
:=
-Iplat
/imx/imx8qm/include
\
-Iplat
/imx/common/include
\
IMX_GIC_SOURCES
:=
drivers/arm/gic/v3/gicv3_helpers.c
\
drivers/arm/gic/v3/gicdv3_helpers.c
\
drivers/arm/gic/v3/gicrv3_helpers.c
\
drivers/arm/gic/v3/arm_gicv3_common.c
\
drivers/arm/gic/v3/gic500.c
\
drivers/arm/gic/v3/gicv3_main.c
\
drivers/arm/gic/common/gic_common.c
\
# Include GICv3 driver files
include
drivers/arm/gic/v3/gicv3.mk
IMX_GIC_SOURCES
:=
${GICV3_SOURCES}
\
plat/common/plat_gicv3.c
\
plat/common/plat_psci_common.c
\
plat/imx/common/plat_imx8_gic.c
...
...
plat/imx/imx8qx/platform.mk
View file @
27c5e15e
...
...
@@ -7,13 +7,10 @@
PLAT_INCLUDES
:=
-Iplat
/imx/imx8qx/include
\
-Iplat
/imx/common/include
\
IMX_GIC_SOURCES
:=
drivers/arm/gic/v3/gicv3_helpers.c
\
drivers/arm/gic/v3/gicdv3_helpers.c
\
drivers/arm/gic/v3/gicrv3_helpers.c
\
drivers/arm/gic/v3/arm_gicv3_common.c
\
drivers/arm/gic/v3/gic500.c
\
drivers/arm/gic/v3/gicv3_main.c
\
drivers/arm/gic/common/gic_common.c
\
# Include GICv3 driver files
include
drivers/arm/gic/v3/gicv3.mk
IMX_GIC_SOURCES
:=
${GICV3_SOURCES}
\
plat/common/plat_gicv3.c
\
plat/imx/common/plat_imx8_gic.c
...
...
plat/marvell/a3700/common/a3700_common.mk
View file @
27c5e15e
...
...
@@ -78,14 +78,11 @@ $(eval $(call add_define,CONFIG_GICV3))
# CCI-400
$(eval
$(call
add_define,USE_CCI))
MARVELL_GIC_SOURCES
:=
drivers/arm/gic/common/gic_common.c
\
drivers/arm/gic/v3/gicv3_main.c
\
drivers/arm/gic/v3/gicv3_helpers.c
\
drivers/arm/gic/v3/gicdv3_helpers.c
\
drivers/arm/gic/v3/gicrv3_helpers.c
\
drivers/arm/gic/v3/arm_gicv3_common.c
\
plat/common/plat_gicv3.c
\
drivers/arm/gic/v3/gic500.c
# Include GICv3 driver files
include
drivers/arm/gic/v3/gicv3.mk
MARVELL_GIC_SOURCES
:=
${GICV3_SOURCES}
\
plat/common/plat_gicv3.c
PLAT_INCLUDES
:=
-I
$(PLAT_FAMILY_BASE)
/
$(PLAT)
\
-I
$(PLAT_COMMON_BASE)
/include
\
...
...
plat/mediatek/mt8183/platform.mk
View file @
27c5e15e
...
...
@@ -26,15 +26,12 @@ PLAT_BL_COMMON_SOURCES := lib/xlat_tables/aarch64/xlat_tables.c \
plat/common/plat_psci_common.c
\
plat/common/aarch64/crash_console_helpers.S
# Include GICv3 driver files
include
drivers/arm/gic/v3/gicv3.mk
BL31_SOURCES
+=
common/desc_image_load.c
\
drivers/arm/cci/cci.c
\
drivers/arm/gic/common/gic_common.c
\
drivers/arm/gic/v3/arm_gicv3_common.c
\
drivers/arm/gic/v3/gicv3_helpers.c
\
drivers/arm/gic/v3/gicdv3_helpers.c
\
drivers/arm/gic/v3/gicrv3_helpers.c
\
drivers/arm/gic/v3/gic500.c
\
drivers/arm/gic/v3/gicv3_main.c
\
${GICV3_SOURCES}
\
drivers/delay_timer/delay_timer.c
\
drivers/delay_timer/generic_delay_timer.c
\
drivers/gpio/gpio.c
\
...
...
plat/qemu/qemu/platform.mk
View file @
27c5e15e
...
...
@@ -139,11 +139,10 @@ QEMU_GICV2_SOURCES := drivers/arm/gic/v2/gicv2_helpers.c \
plat/common/plat_gicv2.c
\
${PLAT_QEMU_COMMON_PATH}
/qemu_gicv2.c
QEMU_GICV3_SOURCES
:=
drivers/arm/gic/v3/gicv3_helpers.c
\
drivers/arm/gic/v3/gicdv3_helpers.c
\
drivers/arm/gic/v3/gicrv3_helpers.c
\
drivers/arm/gic/v3/gicv3_main.c
\
drivers/arm/gic/common/gic_common.c
\
# Include GICv3 driver files
include
drivers/arm/gic/v3/gicv3.mk
QEMU_GICV3_SOURCES
:=
${GICV3_SOURCES}
\
plat/common/plat_gicv3.c
\
${PLAT_QEMU_COMMON_PATH}
/qemu_gicv3.c
...
...
plat/qemu/qemu_sbsa/platform.mk
View file @
27c5e15e
...
...
@@ -62,11 +62,10 @@ BL2_SOURCES += ${PLAT_QEMU_COMMON_PATH}/qemu_bl2_mem_params_desc.c \
common/desc_image_load.c
endif
QEMU_GIC_SOURCES
:=
drivers/arm/gic/v3/gicv3_helpers.c
\
drivers/arm/gic/v3/gicdv3_helpers.c
\
drivers/arm/gic/v3/gicrv3_helpers.c
\
drivers/arm/gic/v3/gicv3_main.c
\
drivers/arm/gic/common/gic_common.c
\
# Include GICv3 driver files
include
drivers/arm/gic/v3/gicv3.mk
QEMU_GIC_SOURCES
:=
${GICV3_SOURCES}
\
plat/common/plat_gicv3.c
\
${PLAT_QEMU_COMMON_PATH}
/qemu_gicv3.c
...
...
plat/rockchip/rk3399/platform.mk
View file @
27c5e15e
...
...
@@ -24,13 +24,10 @@ PLAT_INCLUDES := -I${RK_PLAT_COMMON}/ \
-I
${RK_PLAT_SOC}
/include/
\
-I
${RK_PLAT_SOC}
/include/shared/
\
RK_GIC_SOURCES
:=
drivers/arm/gic/common/gic_common.c
\
drivers/arm/gic/v3/arm_gicv3_common.c
\
drivers/arm/gic/v3/gic500.c
\
drivers/arm/gic/v3/gicv3_main.c
\
drivers/arm/gic/v3/gicv3_helpers.c
\
drivers/arm/gic/v3/gicdv3_helpers.c
\
drivers/arm/gic/v3/gicrv3_helpers.c
\
# Include GICv3 driver files
include
drivers/arm/gic/v3/gicv3.mk
RK_GIC_SOURCES
:=
${GICV3_SOURCES}
\
plat/common/plat_gicv3.c
\
${RK_PLAT}
/common/rockchip_gicv3.c
...
...
plat/socionext/synquacer/platform.mk
View file @
27c5e15e
...
...
@@ -30,12 +30,11 @@ PLAT_BL_COMMON_SOURCES += $(PLAT_PATH)/sq_helpers.S \
drivers/delay_timer/generic_delay_timer.c
\
${XLAT_TABLES_LIB_SRCS}
# Include GICv3 driver files
include
drivers/arm/gic/v3/gicv3.mk
BL31_SOURCES
+=
drivers/arm/ccn/ccn.c
\
drivers/arm/gic/common/gic_common.c
\
drivers/arm/gic/v3/gicv3_helpers.c
\
drivers/arm/gic/v3/gicdv3_helpers.c
\
drivers/arm/gic/v3/gicrv3_helpers.c
\
drivers/arm/gic/v3/gicv3_main.c
\
${GICV3_SOURCES}
\
lib/cpus/aarch64/cortex_a53.S
\
plat/common/plat_gicv3.c
\
plat/common/plat_psci_common.c
\
...
...
plat/socionext/uniphier/platform.mk
View file @
27c5e15e
...
...
@@ -55,12 +55,11 @@ BL2_SOURCES += common/desc_image_load.c \
$(PLAT_PATH)
/uniphier_scp.c
\
$(PLAT_PATH)
/uniphier_usb.c
# Include GICv3 driver files
include
drivers/arm/gic/v3/gicv3.mk
BL31_SOURCES
+=
drivers/arm/cci/cci.c
\
drivers/arm/gic/common/gic_common.c
\
drivers/arm/gic/v3/gicv3_helpers.c
\
drivers/arm/gic/v3/gicdv3_helpers.c
\
drivers/arm/gic/v3/gicrv3_helpers.c
\
drivers/arm/gic/v3/gicv3_main.c
\
${GICV3_SOURCES}
\
lib/cpus/aarch64/cortex_a53.S
\
lib/cpus/aarch64/cortex_a72.S
\
plat/common/plat_gicv3.c
\
...
...
plat/ti/k3/common/plat_common.mk
View file @
27c5e15e
...
...
@@ -53,12 +53,11 @@ K3_CONSOLE_SOURCES += \
drivers/ti/uart/aarch64/16550_console.S
\
${PLAT_PATH}
/common/k3_console.c
\
# Include GICv3 driver files
include
drivers/arm/gic/v3/gicv3.mk
K3_GIC_SOURCES
+=
\
drivers/arm/gic/common/gic_common.c
\
drivers/arm/gic/v3/gicv3_main.c
\
drivers/arm/gic/v3/gicv3_helpers.c
\
drivers/arm/gic/v3/gicdv3_helpers.c
\
drivers/arm/gic/v3/gicrv3_helpers.c
\
${GICV3_SOURCES}
\
plat/common/plat_gicv3.c
\
${PLAT_PATH}
/common/k3_gicv3.c
\
...
...
plat/xilinx/versal/platform.mk
View file @
27c5e15e
...
...
@@ -43,17 +43,14 @@ PLAT_INCLUDES := -Iinclude/plat/arm/common/ \
-Iplat
/xilinx/versal/include/
\
-Iplat
/xilinx/versal/pm_service/
# Include GICv3 driver files
include
drivers/arm/gic/v3/gicv3.mk
PLAT_BL_COMMON_SOURCES
:=
lib/xlat_tables/xlat_tables_common.c
\
lib/xlat_tables/aarch64/xlat_tables.c
\
drivers/delay_timer/delay_timer.c
\
drivers/delay_timer/generic_delay_timer.c
\
drivers/arm/gic/common/gic_common.c
\
drivers/arm/gic/v3/arm_gicv3_common.c
\
drivers/arm/gic/v3/gic500.c
\
drivers/arm/gic/v3/gicv3_main.c
\
drivers/arm/gic/v3/gicv3_helpers.c
\
drivers/arm/gic/v3/gicdv3_helpers.c
\
drivers/arm/gic/v3/gicrv3_helpers.c
\
${GICV3_SOURCES}
\
drivers/arm/pl011/aarch64/pl011_console.S
\
plat/common/aarch64/crash_console_helpers.S
\
plat/arm/common/arm_cci.c
\
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment