1*91f16700Schasinglulu# 2*91f16700Schasinglulu# Copyright 2021 NXP 3*91f16700Schasinglulu# 4*91f16700Schasinglulu# SPDX-License-Identifier: BSD-3-Clause 5*91f16700Schasinglulu# 6*91f16700Schasinglulu# 7*91f16700Schasinglulu 8*91f16700SchasingluluCSF_HDR_SOURCES := $(PLAT_DRIVERS_PATH)/auth/csf_hdr_parser/csf_hdr_parser.c 9*91f16700Schasinglulu 10*91f16700SchasingluluCSF_HDR_SOURCES += $(PLAT_DRIVERS_PATH)/auth/csf_hdr_parser/plat_img_parser.c 11*91f16700Schasinglulu 12*91f16700SchasingluluPLAT_INCLUDES += -I$(PLAT_DRIVERS_INCLUDE_PATH)/auth/csf_hdr_parser/ 13*91f16700Schasinglulu 14*91f16700Schasinglulu$(eval $(call add_define, CSF_HEADER_PREPENDED)) 15*91f16700Schasinglulu 16*91f16700Schasinglulu 17*91f16700Schasinglulu# Path to CST directory is required to generate the CSF header 18*91f16700Schasinglulu# and prepend it to image before fip image gets generated 19*91f16700Schasingluluifeq (${CST_DIR},) 20*91f16700Schasinglulu $(error Error: CST_DIR not set) 21*91f16700Schasingluluendif 22*91f16700Schasinglulu 23*91f16700Schasinglulu# Rules are created for generating and appending CSF header to images before 24*91f16700Schasinglulu# FIT image generation 25*91f16700Schasinglulu 26*91f16700Schasinglulu# CST_BL31 27*91f16700Schasingluludefine CST_BL31_RULE 28*91f16700Schasinglulu$(1): $(2) 29*91f16700Schasinglulu @echo " Generating CSF Header for $$@ $$<" 30*91f16700Schasinglulu $(Q)$(CST_DIR)/create_hdr_esbc --in $(2) --out $(1) --app_off ${CSF_HDR_SZ} \ 31*91f16700Schasinglulu --app $(2) ${BL31_INPUT_FILE} 32*91f16700Schasingluluendef 33*91f16700Schasinglulu 34*91f16700SchasingluluCST_BL31_SUFFIX := .cst 35*91f16700Schasinglulu 36*91f16700Schasinglulu# CST_BL32 37*91f16700Schasingluludefine CST_BL32_RULE 38*91f16700Schasinglulu$(1): $(2) 39*91f16700Schasinglulu @echo " Generating CSF Header for $$@ $$<" 40*91f16700Schasinglulu $(Q)$(CST_DIR)/create_hdr_esbc --in $(2) --out $(1) --app_off ${CSF_HDR_SZ} \ 41*91f16700Schasinglulu --app $(2) ${BL32_INPUT_FILE} 42*91f16700Schasingluluendef 43*91f16700Schasinglulu 44*91f16700SchasingluluCST_BL32_SUFFIX := .cst 45*91f16700Schasinglulu 46*91f16700Schasinglulu# CST_BL33 47*91f16700Schasingluludefine CST_BL33_RULE 48*91f16700Schasinglulu$(1): $(2) 49*91f16700Schasinglulu @echo " Generating CSF Header for $$@ $$<" 50*91f16700Schasinglulu $(Q)$(CST_DIR)/create_hdr_esbc --in $(2) --out $(1) --app_off ${CSF_HDR_SZ} \ 51*91f16700Schasinglulu --app $(2) ${BL33_INPUT_FILE} 52*91f16700Schasingluluendef 53*91f16700Schasinglulu 54*91f16700SchasingluluCST_BL33_SUFFIX := .cst 55*91f16700Schasinglulu 56*91f16700Schasinglulu# CST_SCP_BL2 57*91f16700Schasingluludefine CST_SCP_BL2_RULE 58*91f16700Schasinglulu$(1): $(2) 59*91f16700Schasinglulu @echo " Generating CSF Header for $$@ $$<" 60*91f16700Schasinglulu $(Q)$(CST_DIR)/create_hdr_esbc --in $(2) --out $(1) --app_off ${CSF_HDR_SZ} \ 61*91f16700Schasinglulu --app $(2) ${FUSE_INPUT_FILE} 62*91f16700Schasingluluendef 63*91f16700Schasinglulu 64*91f16700SchasingluluCST_SCP_BL2_SUFFIX := .cst 65