Files
Linux_Drivers/build/scripts/atf.mk
sam.xiang a4f213ceb0 [build] add cvitek build scripts
Change-Id: If63ce4a669e5d4d72b8e3b9253336dd99bf74c30
2023-03-10 20:35:59 +08:00

149 lines
5.1 KiB
Makefile

################################################################################
# BLD targets
################################################################################
BM_BLD_OUTPUT := ${BM_BLD_PATH}/out
bld-build:
${Q}mkdir -p $(RELEASE_BIN_BLD_DIR)
${Q}mkdir -p $(RELEASE_BIN_BLDP_DIR)
${Q}mkdir -p $(RELEASE_BIN_BLP_DIR)
bld: export ARCH=$(patsubst "%",%,$(CONFIG_ARCH))
bld: bld-build
$(call print_target)
${Q}$(MAKE) -C ${BM_BLD_PATH} bld
${Q}cp ${BM_BLD_OUTPUT}/bldp.bin ${RELEASE_BIN_BLDP_DIR}/bldp_${CHIP_ARCH_L}_${CHIP}_${DDR_CFG}.bin
${Q}cp ${BM_BLD_OUTPUT}/blp.bin ${RELEASE_BIN_BLP_DIR}/blp_${CHIP_ARCH_L}_${CHIP}.bin
${Q}git -C ${BM_BLD_PATH} log --pretty=oneline -n 1 > ${RELEASE_BIN_BLDP_DIR}/bldp_${CHIP_ARCH_L}_${CHIP}_${DDR_CFG}.txt
${Q}git -C ${BM_BLD_PATH} log --pretty=oneline -n 1 > ${RELEASE_BIN_BLP_DIR}/blp_${CHIP_ARCH_L}_${CHIP}.txt
bld-clean:
$(call print_target)
${Q}$(MAKE) -C ${BM_BLD_PATH} clean
################################################################################
# arm-trusted-firmware targets
################################################################################
ATF_FIP_PATH := ${ATF_PATH}/build/${CHIP}_${SUBTYPE}/release/fip.bin
# clear is not encrypted
# key0 is encrypted by keys in ATF git repo
export ATF_KEY_SEL := $(subst default,,${ATF_KEY_SEL})
ifeq ($(CHIP_ARCH_L),$(filter $(CHIP_ARCH_L),cv183x cv75x1 cv952x))
define atf_post_action
${Q}mv ${ATF_FIP_PATH} ${ATF_FIP_PATH}.ori
# append blp.bin and bldp.bin to fip.bin
${Q}dd if=${ATF_FIP_PATH}.ori of=${ATF_FIP_PATH} bs=2K conv=sync
${Q}dd if=${BLP_PATH} bs=2K conv=sync >> ${ATF_FIP_PATH}
${Q}dd if=${DDRC_PATH} bs=2K conv=sync >> ${ATF_FIP_PATH}
endef
ATF_KEY_SEL := $(or ${ATF_KEY_SEL},key0)
else
ATF_KEY_SEL := $(or ${ATF_KEY_SEL},clear)
endif
export IMG_ENC_KPATH :=
export IMG_ENC_KSRC := dev
ifeq (${ATF_KEY_SEL},clear)
export ATF_TBBR := 0
export IMG_ENC := 0
export ATF_CRC := 1
else
export ATF_TBBR := 1
export IMG_ENC := 1
export ATF_CRC := 0
endif
# ARM ATF TBBR configuration
TBBR_MAKE_OPT :=
TBBR_MAKE_TGT :=
ifeq (${ATF_TBBR},1)
TBBR_MAKE_OPT := TRUSTED_BOARD_BOOT=1
#TGT is short for TarGeT
TBBR_MAKE_TGT := certificates
endif
# ARM ATF bl32
SPD_MAKE_OPT :=
ifeq (${ATF_BL32},1)
SPD_MAKE_OPT := SPD=opteed
endif
FAKE_BL31_32_TGT :=
ifeq (${FAKE_BL31_32},1)
FAKE_BL31_32_TGT := fake_bl31_32
endif
ifeq ($(wildcard ${BM_BLD_PATH}/*),)
arm-trusted-firmware-build: export BLP_PATH=${ATF_PATH}/tools/blp.bin
arm-trusted-firmware-build: export DDRC_PATH=${ATF_PATH}/tools/bldp.bin
arm-trusted-firmware: export SCP_BL2=${ATF_PATH}/tools/bld.bin
else
ifeq (${CONFIG_FIP_V1},y)
arm-trusted-firmware-build: bld
arm-trusted-firmware-build: export BLP_PATH=${BM_BLD_OUTPUT}/blp.bin
arm-trusted-firmware-build: export DDRC_PATH=${BM_BLD_OUTPUT}/bldp.bin
arm-trusted-firmware: export RTC_CORE_SRAM_BIN_PATH=${BM_BLD_OUTPUT}/blds.bin
else
arm-trusted-firmware-build: export BLP_PATH=${ATF_PATH}/tools/blp.bin
arm-trusted-firmware-build: export DDRC_PATH=${ATF_PATH}/tools/bldp.bin
arm-trusted-firmware-build: export SCP_BL2=${ATF_PATH}/tools/bld.bin
arm-trusted-firmware-build: export RTC_CORE_SRAM_BIN_PATH=${ATF_PATH}/tools/bld.bin
endif
ifeq (${CONFIG_MULTI_FIP},y)
ATF_DEFAULT_SUFFIX := ${ATF_DEFAULT_SUFFIX}_single
arm-trusted-firmware: export MULTI_FIP=1
arm-trusted-firmware: export SCP_BL2=${ATF_PATH}/tools/fastboot/fake_bld_enc.bin
arm-trusted-firmware: export DDR_INIT=${BM_BLD_OUTPUT}/bld.bin
else
arm-trusted-firmware: export SCP_BL2=${BM_BLD_OUTPUT}/bld.bin
endif
endif
arm-trusted-firmware-build: export CROSS_COMPILE=${CROSS_COMPILE_64}
arm-trusted-firmware-build: export BL33=${ATF_PATH}/build/fake_bl33.bin
arm-trusted-firmware-build:
$(call print_target)
${Q}mkdir -p $(dir ${BL33})
${Q}mkdir -p ${RELEASE_BIN_ATF_DIR}
${Q}printf 'BL33............' > ${BL33}
${Q}echo "SCP_BL2=${SCP_BL2}"
${Q}$(MAKE) -j${NPROC} -C ${ATF_PATH} \
CRC=${ATF_CRC} IMG_BLD=1 DEBUG=0 ENABLE_ASSERTIONS=1 \
${SPD_MAKE_OPT} ${TBBR_MAKE_TGT} ${TBBR_MAKE_OPT} ${FAKE_BL31_32_TGT} all fip
$(call atf_post_action)
ifeq (${ATF_TBBR},0)
ATF_DEFAULT_SUFFIX := clear
else
ATF_DEFAULT_SUFFIX := key0
endif
ifeq (${CONFIG_FIP_V1},y)
arm-trusted-firmware-pack: arm-trusted-firmware-build
$(call print_target)
${Q}cp ${ATF_FIP_PATH} ${RELEASE_BIN_ATF_DIR}/fip_atf_${CHIP_ARCH_L}_${ATF_DEFAULT_SUFFIX}.bin
ifneq ($(wildcard ${BM_BLD_PATH}/*),)
${Q}python3 ${TOOLS_PATH}/${CHIP_ARCH_L}/pack_fip/pack_fip.py $(if ${CONFIG_MULTI_FIP},--multibin) \
--tar-bld ${ATF_FIP_PATH} \
--output ${RELEASE_BIN_BLD_DIR}/bld_${CHIP_ARCH_L}_${CHIP}_${BOARD}_${ATF_DEFAULT_SUFFIX}.tar
${Q}git -C ${BM_BLD_PATH} log --pretty=oneline -n 1 > ${RELEASE_BIN_BLD_DIR}/bld_${CHIP_ARCH_L}_${CHIP}_${BOARD}_${ATF_DEFAULT_SUFFIX}.txt
endif
${Q}git -C ${ATF_PATH} log --pretty=oneline -n 1 > ${RELEASE_BIN_ATF_DIR}/fip_atf_${CHIP_ARCH_L}_${ATF_DEFAULT_SUFFIX}.txt
arm-trusted-firmware: arm-trusted-firmware-pack
endif
arm-trusted-firmware: arm-trusted-firmware-build
arm-trusted-firmware-clean: bld-clean
$(call print_target)
${Q}$(MAKE) -C ${ATF_PATH} clean
${Q}$(MAKE) -C ${ATF_PATH}/tools/fiptool clean