xref: /rk3399_ARM-atf/plat/nxp/common/fip_handler/fuse_fip/fuse.mk (revision cd8eb18d580e9c413ec9e2c33ebf32992ffd31ca)
16df5c0c9SPankaj Gupta#
26df5c0c9SPankaj Gupta# Copyright 2018-2020 NXP
3*7c4e1eeaSChris Kay# Copyright (c) 2023-2024, Arm Limited. All rights reserved.
46df5c0c9SPankaj Gupta#
56df5c0c9SPankaj Gupta# SPDX-License-Identifier: BSD-3-Clause
66df5c0c9SPankaj Gupta#
76df5c0c9SPankaj Gupta#
86df5c0c9SPankaj Gupta
96df5c0c9SPankaj GuptaNEED_FUSE	:= yes
106df5c0c9SPankaj Gupta
116df5c0c9SPankaj Gupta$(eval $(call add_define, PLAT_DEF_FIP_UUID))
126df5c0c9SPankaj Gupta$(eval $(call add_define, POLICY_FUSE_PROVISION))
136df5c0c9SPankaj Gupta$(eval $(call add_define, PLAT_TBBR_IMG_DEF))
146df5c0c9SPankaj Gupta
156df5c0c9SPankaj Gupta$(eval $(call SET_NXP_MAKE_FLAG,IMG_LOADR_NEEDED,BL2))
166df5c0c9SPankaj Gupta$(eval $(call SET_NXP_MAKE_FLAG,SFP_NEEDED,BL2))
176df5c0c9SPankaj Gupta$(eval $(call SET_NXP_MAKE_FLAG,GPIO_NEEDED,BL2))
186df5c0c9SPankaj Gupta
196df5c0c9SPankaj GuptaFIP_HANDLER_PATH	:=  ${PLAT_COMMON_PATH}/fip_handler
206df5c0c9SPankaj GuptaFIP_HANDLER_COMMON_PATH	:=  ${FIP_HANDLER_PATH}/common
216df5c0c9SPankaj Gupta
226df5c0c9SPankaj GuptaFUSE_SOURCES		:=  ${FIP_HANDLER_PATH}/fuse_fip/fuse_io_storage.c
236df5c0c9SPankaj Gupta
246df5c0c9SPankaj GuptaPLAT_INCLUDES		+=  -I${FIP_HANDLER_COMMON_PATH}\
256df5c0c9SPankaj Gupta			    -I${FIP_HANDLER_PATH}/fuse_fip
266df5c0c9SPankaj Gupta
276df5c0c9SPankaj GuptaFUSE_FIP_NAME		:=	fuse_fip.bin
286df5c0c9SPankaj Gupta
296df5c0c9SPankaj Guptafip_fuse: ${BUILD_PLAT}/${FUSE_FIP_NAME}
306df5c0c9SPankaj Gupta
316df5c0c9SPankaj Guptaifeq (${FUSE_PROV_FILE},)
326df5c0c9SPankaj Gupta
336df5c0c9SPankaj Guptaelse
346df5c0c9SPankaj Guptaifeq (${TRUSTED_BOARD_BOOT},1)
356df5c0c9SPankaj GuptaFUSE_PROV_FILE_SB = $(notdir ${FUSE_PROV_FILE})_prov.sb
366df5c0c9SPankaj GuptaFUSE_FIP_ARGS += --fuse-prov ${BUILD_PLAT}/${FUSE_PROV_FILE_SB}
376df5c0c9SPankaj GuptaFUSE_FIP_DEPS += ${BUILD_PLAT}/${FUSE_PROV_FILE_SB}
386df5c0c9SPankaj Guptaelse
396df5c0c9SPankaj GuptaFUSE_FIP_ARGS += --fuse-prov ${FUSE_PROV_FILE}
406df5c0c9SPankaj GuptaFUSE_FIP_DEPS += ${FUSE_PROV_FILE}
416df5c0c9SPankaj Guptaendif
426df5c0c9SPankaj Guptaendif
436df5c0c9SPankaj Gupta
446df5c0c9SPankaj Guptaifeq (${FUSE_UP_FILE},)
456df5c0c9SPankaj Guptaelse
466df5c0c9SPankaj Guptaifeq (${TRUSTED_BOARD_BOOT},1)
476df5c0c9SPankaj GuptaFUSE_UP_FILE_SB = $(notdir ${FUSE_UP_FILE})_up.sb
486df5c0c9SPankaj GuptaFUSE_FIP_ARGS += --fuse-up ${BUILD_PLAT}/${FUSE_UP_FILE_SB}
496df5c0c9SPankaj GuptaFUSE_FIP_DEPS += ${BUILD_PLAT}/${FUSE_UP_FILE_SB}
506df5c0c9SPankaj Guptaelse
516df5c0c9SPankaj GuptaFUSE_FIP_ARGS += --fuse-up ${FUSE_UP_FILE}
526df5c0c9SPankaj GuptaFUSE_FIP_DEPS += ${FUSE_UP_FILE}
536df5c0c9SPankaj Guptaendif
546df5c0c9SPankaj Guptaendif
556df5c0c9SPankaj Gupta
566df5c0c9SPankaj Guptaifeq (${TRUSTED_BOARD_BOOT},1)
576df5c0c9SPankaj Gupta
586df5c0c9SPankaj Guptaifeq (${MBEDTLS_DIR},)
596df5c0c9SPankaj Guptaelse
606df5c0c9SPankaj Gupta  $(error Error: Trusted Board Boot with X509 certificates not supported with FUSE_PROG build option)
616df5c0c9SPankaj Guptaendif
626df5c0c9SPankaj Gupta
636df5c0c9SPankaj Gupta# Path to CST directory is required to generate the CSF header
646df5c0c9SPankaj Gupta# and prepend it to image before fip image gets generated
656df5c0c9SPankaj Guptaifeq (${CST_DIR},)
666df5c0c9SPankaj Gupta  $(error Error: CST_DIR not set)
676df5c0c9SPankaj Guptaendif
686df5c0c9SPankaj Gupta
696df5c0c9SPankaj Guptaifeq (${FUSE_INPUT_FILE},)
706df5c0c9SPankaj GuptaFUSE_INPUT_FILE := $(PLAT_DRIVERS_PATH)/auth/csf_hdr_parser/${CSF_FILE}
716df5c0c9SPankaj Guptaendif
726df5c0c9SPankaj Gupta
736df5c0c9SPankaj Guptaifeq (${FUSE_PROV_FILE},)
746df5c0c9SPankaj Guptaelse
756df5c0c9SPankaj Gupta${BUILD_PLAT}/${FUSE_PROV_FILE_SB}: ${FUSE_PROV_FILE}
76*7c4e1eeaSChris Kay	$(s)echo " Generating CSF Header for $@ $<"
776df5c0c9SPankaj Gupta	$(CST_DIR)/create_hdr_esbc --in $< --out $@ --app_off ${CSF_HDR_SZ} \
786df5c0c9SPankaj Gupta					--app $< ${FUSE_INPUT_FILE}
796df5c0c9SPankaj Guptaendif
806df5c0c9SPankaj Gupta
816df5c0c9SPankaj Guptaifeq (${FUSE_UP_FILE},)
826df5c0c9SPankaj Guptaelse
836df5c0c9SPankaj Gupta${BUILD_PLAT}/${FUSE_UP_FILE_SB}: ${FUSE_UP_FILE}
84*7c4e1eeaSChris Kay	$(s)echo " Generating CSF Header for $@ $<"
856df5c0c9SPankaj Gupta	$(CST_DIR)/create_hdr_esbc --in $< --out $@ --app_off ${CSF_HDR_SZ} \
866df5c0c9SPankaj Gupta					--app $< ${FUSE_INPUT_FILE}
876df5c0c9SPankaj Guptaendif
886df5c0c9SPankaj Gupta
896df5c0c9SPankaj Guptaendif
906df5c0c9SPankaj Gupta
916df5c0c9SPankaj Gupta${BUILD_PLAT}/${FUSE_FIP_NAME}: fiptool ${FUSE_FIP_DEPS}
926df5c0c9SPankaj Guptaifeq (${FUSE_FIP_DEPS},)
936df5c0c9SPankaj Gupta	$(error "Error: FUSE_PROV_FILE or/and FUSE_UP_FILE needs to point to the right file")
946df5c0c9SPankaj Guptaendif
956df5c0c9SPankaj Gupta	${FIPTOOL} create ${FUSE_FIP_ARGS} $@
966df5c0c9SPankaj Gupta	${FIPTOOL} info $@
97*7c4e1eeaSChris Kay	$(s)echo
98*7c4e1eeaSChris Kay	$(s)echo "Built $@ successfully"
99*7c4e1eeaSChris Kay	$(s)echo
100