mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-21 20:14:29 +00:00

Currently the SCMI driver supports MHUv1, but Arm platforms may have varied versions of MHU driver, with MHUv2 controllers being in the latest Arm platforms. This patch updates the SCMI driver to support MHUv2, specifically that the sender must send the wake-up to the receiver before initiating any data transfer. Also, the existing mhu driver files, css_mhu.c and css_mhu.h, have been moved from the scpi directory to a new directory, css/drivers/mhu. Change-Id: I9b46b492a3e1d9e26db12d83a9773958a8c8402f Signed-off-by: Samarth Parikh <samarth.parikh@arm.com>
86 lines
2.7 KiB
Makefile
86 lines
2.7 KiB
Makefile
#
|
|
# Copyright (c) 2015-2018, ARM Limited and Contributors. All rights reserved.
|
|
#
|
|
# SPDX-License-Identifier: BSD-3-Clause
|
|
#
|
|
|
|
|
|
# By default, SCP images are needed by CSS platforms.
|
|
CSS_LOAD_SCP_IMAGES ?= 1
|
|
|
|
# By default, SCMI driver is disabled for CSS platforms
|
|
CSS_USE_SCMI_SDS_DRIVER ?= 0
|
|
|
|
PLAT_INCLUDES += -Iinclude/plat/arm/css/common \
|
|
-Iinclude/plat/arm/css/common/aarch64
|
|
|
|
|
|
PLAT_BL_COMMON_SOURCES += plat/arm/css/common/${ARCH}/css_helpers.S
|
|
|
|
BL1_SOURCES += plat/arm/css/common/css_bl1_setup.c
|
|
|
|
BL2_SOURCES += plat/arm/css/common/css_bl2_setup.c
|
|
|
|
BL2U_SOURCES += plat/arm/css/common/css_bl2u_setup.c
|
|
|
|
BL31_SOURCES += plat/arm/css/common/css_pm.c \
|
|
plat/arm/css/common/css_topology.c
|
|
|
|
ifeq (${CSS_USE_SCMI_SDS_DRIVER},0)
|
|
BL31_SOURCES += plat/arm/css/drivers/scp/css_pm_scpi.c \
|
|
plat/arm/css/drivers/mhu/css_mhu.c \
|
|
plat/arm/css/drivers/scpi/css_scpi.c
|
|
else
|
|
BL31_SOURCES += plat/arm/css/drivers/scp/css_pm_scmi.c \
|
|
plat/arm/css/drivers/scmi/scmi_common.c \
|
|
plat/arm/css/drivers/scmi/scmi_pwr_dmn_proto.c \
|
|
plat/arm/css/drivers/scmi/scmi_sys_pwr_proto.c \
|
|
plat/arm/css/drivers/mhu/css_mhu_doorbell.c
|
|
endif
|
|
|
|
ifneq (${RESET_TO_BL31},0)
|
|
$(error "Using BL31 as the reset vector is not supported on CSS platforms. \
|
|
Please set RESET_TO_BL31 to 0.")
|
|
endif
|
|
|
|
# Process CSS_LOAD_SCP_IMAGES flag
|
|
$(eval $(call assert_boolean,CSS_LOAD_SCP_IMAGES))
|
|
$(eval $(call add_define,CSS_LOAD_SCP_IMAGES))
|
|
|
|
ifeq (${CSS_LOAD_SCP_IMAGES},1)
|
|
NEED_SCP_BL2 := yes
|
|
ifneq (${TRUSTED_BOARD_BOOT},0)
|
|
$(eval $(call TOOL_ADD_IMG,scp_bl2u,--scp-fwu-cfg,FWU_))
|
|
endif
|
|
|
|
ifeq (${CSS_USE_SCMI_SDS_DRIVER},1)
|
|
BL2U_SOURCES += plat/arm/css/drivers/scp/css_sds.c \
|
|
plat/arm/css/drivers/sds/sds.c
|
|
|
|
BL2_SOURCES += plat/arm/css/drivers/scp/css_sds.c \
|
|
plat/arm/css/drivers/sds/sds.c
|
|
else
|
|
BL2U_SOURCES += plat/arm/css/drivers/scp/css_bom_bootloader.c \
|
|
plat/arm/css/drivers/mhu/css_mhu.c \
|
|
plat/arm/css/drivers/scpi/css_scpi.c
|
|
|
|
BL2_SOURCES += plat/arm/css/drivers/scp/css_bom_bootloader.c \
|
|
plat/arm/css/drivers/mhu/css_mhu.c \
|
|
plat/arm/css/drivers/scpi/css_scpi.c
|
|
# Enable option to detect whether the SCP ROM firmware in use predates version
|
|
# 1.7.0 and therefore, is incompatible.
|
|
CSS_DETECT_PRE_1_7_0_SCP := 1
|
|
|
|
# Process CSS_DETECT_PRE_1_7_0_SCP flag
|
|
$(eval $(call assert_boolean,CSS_DETECT_PRE_1_7_0_SCP))
|
|
$(eval $(call add_define,CSS_DETECT_PRE_1_7_0_SCP))
|
|
endif
|
|
endif
|
|
|
|
ifeq (${CSS_USE_SCMI_SDS_DRIVER},1)
|
|
PLAT_BL_COMMON_SOURCES += plat/arm/css/drivers/sds/${ARCH}/sds_helpers.S
|
|
endif
|
|
|
|
# Process CSS_USE_SCMI_SDS_DRIVER flag
|
|
$(eval $(call assert_boolean,CSS_USE_SCMI_SDS_DRIVER))
|
|
$(eval $(call add_define,CSS_USE_SCMI_SDS_DRIVER))
|