summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVincent Guittot <vincent.guittot@linaro.org>2023-11-28 15:52:21 +0100
committerVincent Guittot <vincent.guittot@linaro.org>2023-11-30 08:53:10 +0100
commit890a5aca7d74c98961f1aa7e2940bd8639c544f5 (patch)
tree75801e36629c176b4fb6967ea432f018f49b84fd
parent0c6d2b491fbdb0998f1f79ec05383a9234007a6c (diff)
Include scmi compilation entry
Include scmi compilation. Signed-off-by: Vincent Guittot <vincent.guittot@linaro.org>
-rw-r--r--Makefile44
-rw-r--r--plat/arm/fvp/platform.mk6
2 files changed, 48 insertions, 2 deletions
diff --git a/Makefile b/Makefile
index 4896ba9..a1adb27 100644
--- a/Makefile
+++ b/Makefile
@@ -143,6 +143,7 @@ endif
ifeq (${ARCH}-${PLAT},$(filter ${ARCH}-${PLAT},aarch64-fvp aarch64-tc))
include spm/cactus/cactus.mk
include spm/ivy/ivy.mk
+include spm/scmi/cactus.mk
endif
################################################################################
@@ -308,6 +309,7 @@ NS_BL1U_CFLAGS += -mbranch-protection=${BP_OPTION}
NS_BL2U_CFLAGS += -mbranch-protection=${BP_OPTION}
CACTUS_MM_CFLAGS += -mbranch-protection=${BP_OPTION}
CACTUS_CFLAGS += -mbranch-protection=${BP_OPTION}
+SCMI_CFLAGS += -mbranch-protection=${BP_OPTION}
IVY_CFLAGS += -mbranch-protection=${BP_OPTION}
REALM_CFLAGS += -mbranch-protection=${BP_OPTION}
endif
@@ -348,6 +350,12 @@ CACTUS_CFLAGS += ${COMMON_CFLAGS} -fpie
CACTUS_ASFLAGS += ${COMMON_ASFLAGS}
CACTUS_LDFLAGS += ${COMMON_LDFLAGS} $(PIE_LDFLAGS)
+#SCMI_SOURCES += ${LIBC_SRCS}
+#SCMI_INCLUDES += ${PLAT_INCLUDES}
+SCMI_CFLAGS += ${COMMON_CFLAGS} -fpie
+SCMI_ASFLAGS += ${COMMON_ASFLAGS}
+SCMI_LDFLAGS += ${COMMON_LDFLAGS} $(PIE_LDFLAGS)
+
IVY_SOURCES += ${LIBC_SRCS}
IVY_INCLUDES += ${PLAT_INCLUDES}
IVY_CFLAGS += ${COMMON_CFLAGS} -fpie
@@ -448,6 +456,11 @@ cactus:
@echo "ERROR: $@ is supported only on AArch64 FVP or TC."
@exit 1
+.PHONY: scmi
+scmi:
+ @echo "ERROR: $@ is supported only on AArch64 FVP or TC."
+ @exit 1
+
.PHONY: ivy
ivy:
@echo "ERROR: $@ is supported only on AArch64 FVP or TC."
@@ -542,8 +555,9 @@ $(ELF) : $(OBJS) $(LINKERFILE)
@echo 'const char build_message[] = "Built : "__TIME__", "__DATE__; \
const char version_string[] = "${VERSION_STRING}";' | \
$$(CC) $$(${IMG_PREFIX}_CFLAGS) ${${IMG_PREFIX}_INCLUDES} ${${IMG_PREFIX}_DEFINES} -c -xc - -o $(BUILD_DIR)/build_message.o
- $$(Q)$$(LD) -o $$@ $$(${IMG_PREFIX}_LDFLAGS) -Map=$(MAPFILE) \
- -T $(LINKERFILE) $(BUILD_DIR)/build_message.o $(OBJS)
+ $$(Q)$$(LD) -o $$@ -Map=$(MAPFILE) \
+ -T $(LINKERFILE) $(BUILD_DIR)/build_message.o $(OBJS) \
+ $$(${IMG_PREFIX}_LDFLAGS)
$(DUMP) : $(ELF)
@echo " OD $$@"
@@ -563,6 +577,28 @@ all : $(1)
endef
+define COPY_IMG
+ $(eval IMG_PREFIX := $(call uppercase, $(1)))
+ $(eval BUILD_DIR := ${BUILD_PLAT}/$(1))
+ $(eval BIN := $(BUILD_PLAT)/$(1).bin)
+
+$(BUILD_DIR) :
+ $$(Q)mkdir -p "$$@"
+
+$(BIN) :
+ @echo " BIN $$@"
+ cp ${EXTERNAL_SCMI}/scmi.bin $$@
+ cp ${EXTERNAL_SCMI}/scmi.dtb ${BUILD_PLAT}/
+ cp ${EXTERNAL_SCMI}/scmi.dts ${BUILD_PLAT}/
+ @echo
+ @echo "Built $$@ successfully"
+ @echo
+
+.PHONY : $(1)
+$(1) : $(BUILD_DIR) $(BIN)
+
+endef
+
ifeq (${ARCH},aarch32)
ARCH_TESTS_SKIP_LIST := tftf/tests/aarch32_tests_to_skip.txt
endif
@@ -592,6 +628,10 @@ endif
ifeq (${ARCH}-${PLAT},aarch64-fvp)
$(eval $(call MAKE_IMG,cactus_mm))
$(eval $(call MAKE_IMG,cactus))
+ $(eval $(call MAKE_IMG,scmi))
+ifneq (${EXTERNAL_SCMI},)
+ $(eval $(call COPY_IMG,scmi))
+endif
$(eval $(call MAKE_IMG,ivy))
endif
diff --git a/plat/arm/fvp/platform.mk b/plat/arm/fvp/platform.mk
index 864e008..31268a5 100644
--- a/plat/arm/fvp/platform.mk
+++ b/plat/arm/fvp/platform.mk
@@ -63,6 +63,10 @@ $(eval $(call add_define,CACTUS_DEFINES,FVP_CLUSTER_COUNT))
$(eval $(call add_define,CACTUS_DEFINES,FVP_MAX_CPUS_PER_CLUSTER))
$(eval $(call add_define,CACTUS_DEFINES,FVP_MAX_PE_PER_CPU))
+$(eval $(call add_define,SCMI_DEFINES,FVP_CLUSTER_COUNT))
+$(eval $(call add_define,SCMI_DEFINES,FVP_MAX_CPUS_PER_CLUSTER))
+$(eval $(call add_define,SCMI_DEFINES,FVP_MAX_PE_PER_CPU))
+
$(eval $(call add_define,CACTUS_MM_DEFINES,FVP_CLUSTER_COUNT))
$(eval $(call add_define,CACTUS_MM_DEFINES,FVP_MAX_CPUS_PER_CLUSTER))
$(eval $(call add_define,CACTUS_MM_DEFINES,FVP_MAX_PE_PER_CPU))
@@ -88,6 +92,7 @@ $(eval $(call add_define,TFTF_DEFINES,TFTF_MAX_IMAGE_SIZE))
PA_SIZE := 36
$(eval $(call add_define,CACTUS_DEFINES,PA_SIZE))
+$(eval $(call add_define,SCMI_DEFINES,PA_SIZE))
$(eval $(call add_define,IVY_DEFINES,PA_SIZE))
$(eval $(call add_define,NS_BL1U_DEFINES,PA_SIZE))
$(eval $(call add_define,NS_BL2U_DEFINES,PA_SIZE))
@@ -109,6 +114,7 @@ PLAT_SOURCES := drivers/arm/gic/arm_gic_v2v3.c \
plat/arm/fvp/plat_setup.c
CACTUS_SOURCES += plat/arm/fvp/${ARCH}/plat_helpers.S
+#SCMI_SOURCES += plat/arm/fvp/${ARCH}/plat_helpers.S
IVY_SOURCES += plat/arm/fvp/${ARCH}/plat_helpers.S
# Firmware update is implemented on FVP.