xref: /rk3399_ARM-atf/tools/nxp/create_pbl/pbl_ch2.mk (revision 326694760f270861631aee5bec748572751cf50c)
1*32669476SPankaj Gupta#
2*32669476SPankaj Gupta# Copyright 2020 NXP
3*32669476SPankaj Gupta#
4*32669476SPankaj Gupta# SPDX-License-Identifier: BSD-3-Clause
5*32669476SPankaj Gupta#
6*32669476SPankaj Gupta#
7*32669476SPankaj Gupta
8*32669476SPankaj GuptaCREATE_PBL	?=	${CREATE_PBL_TOOL_PATH}/create_pbl${BIN_EXT}
9*32669476SPankaj GuptaBYTE_SWAP	?=	${CREATE_PBL_TOOL_PATH}/byte_swap${BIN_EXT}
10*32669476SPankaj Gupta
11*32669476SPankaj GuptaHOST_GCC	:= gcc
12*32669476SPankaj Gupta
13*32669476SPankaj Gupta.PHONY: pbl
14*32669476SPankaj Guptapbl:	${BUILD_PLAT}/bl2.bin
15*32669476SPankaj Guptaifeq ($(SECURE_BOOT),yes)
16*32669476SPankaj Guptapbl: ${BUILD_PLAT}/bl2.bin
17*32669476SPankaj Guptaifeq ($(RCW),"")
18*32669476SPankaj Gupta	${Q}echo "Platform ${PLAT} requires rcw file. Please set RCW to point to the right RCW file for boot mode ${BOOT_MODE}"
19*32669476SPankaj Guptaelse
20*32669476SPankaj Gupta	# Generate header for bl2.bin
21*32669476SPankaj Gupta	$(Q)$(CST_DIR)/create_hdr_isbc --in ${BUILD_PLAT}/bl2.bin --out ${BUILD_PLAT}/hdr_bl2 ${BL2_INPUT_FILE}
22*32669476SPankaj Gupta	# Compile create_pbl tool
23*32669476SPankaj Gupta	${Q}${MAKE} CPPFLAGS="-DVERSION='\"${VERSION_STRING}\"'" --no-print-directory -C ${CREATE_PBL_TOOL_PATH};\
24*32669476SPankaj Gupta	# Add bl2.bin to RCW
25*32669476SPankaj Gupta	${CREATE_PBL} -r ${RCW} -i ${BUILD_PLAT}/bl2.bin -b ${BOOT_MODE} -c ${SOC_NUM} -d ${BL2_BASE} -e ${BL2_BASE}\
26*32669476SPankaj Gupta			-o ${BUILD_PLAT}/bl2_${BOOT_MODE}.pbl ;\
27*32669476SPankaj Gupta	# Add header to RCW
28*32669476SPankaj Gupta	${CREATE_PBL} -r ${BUILD_PLAT}/bl2_${BOOT_MODE}.pbl -i ${BUILD_PLAT}/hdr_bl2 -b ${BOOT_MODE} -c ${SOC_NUM} \
29*32669476SPankaj Gupta			-d ${BL2_HDR_LOC} -e ${BL2_HDR_LOC} -o ${BUILD_PLAT}/bl2_${BOOT_MODE}_sec.pbl -s;\
30*32669476SPankaj Gupta	rm ${BUILD_PLAT}/bl2_${BOOT_MODE}.pbl
31*32669476SPankaj Gupta# Swapping of RCW is required for QSPi Chassis 2 devices
32*32669476SPankaj Guptaifeq (${BOOT_MODE}, qspi)
33*32669476SPankaj Guptaifeq ($(SWAP),1)
34*32669476SPankaj Gupta	${Q}echo "Byteswapping RCW for QSPI"
35*32669476SPankaj Gupta	${BYTE_SWAP} ${BUILD_PLAT}/bl2_${BOOT_MODE}_sec.pbl;
36*32669476SPankaj Guptaendif # SWAP
37*32669476SPankaj Guptaendif # BOOT_MODE
38*32669476SPankaj Gupta	cd ${CREATE_PBL_TOOL_PATH}; ${MAKE} clean ; cd -;
39*32669476SPankaj Guptaendif
40*32669476SPankaj Guptaelse  # NON SECURE_BOOT
41*32669476SPankaj Guptaifeq ($(RCW),"")
42*32669476SPankaj Gupta	${Q}echo "Platform ${PLAT} requires rcw file. Please set RCW to point to the right RCW file for boot mode ${BOOT_MODE}"
43*32669476SPankaj Guptaelse
44*32669476SPankaj Gupta	# -a option appends the image for Chassis 3 devices in case of non secure boot
45*32669476SPankaj Gupta	${Q}${MAKE} CPPFLAGS="-DVERSION='\"${VERSION_STRING}\"'" --no-print-directory -C ${CREATE_PBL_TOOL_PATH};
46*32669476SPankaj Gupta	${CREATE_PBL} -r ${RCW} -i ${BUILD_PLAT}/bl2.bin -b ${BOOT_MODE} -c ${SOC_NUM} -d ${BL2_BASE} -e ${BL2_BASE} \
47*32669476SPankaj Gupta	-o ${BUILD_PLAT}/bl2_${BOOT_MODE}.pbl ;
48*32669476SPankaj Gupta# Swapping of RCW is required for QSPi Chassis 2 devices
49*32669476SPankaj Guptaifeq (${BOOT_MODE}, qspi)
50*32669476SPankaj Guptaifeq ($(SWAP),1)
51*32669476SPankaj Gupta	${Q}echo "Byteswapping RCW for QSPI"
52*32669476SPankaj Gupta	${BYTE_SWAP} ${BUILD_PLAT}/bl2_${BOOT_MODE}.pbl;
53*32669476SPankaj Guptaendif # SWAP
54*32669476SPankaj Guptaendif # BOOT_MODE
55*32669476SPankaj Gupta	cd ${CREATE_PBL_TOOL_PATH}; ${MAKE} clean ; cd -;
56*32669476SPankaj Guptaendif
57*32669476SPankaj Guptaendif # SECURE_BOOT
58*32669476SPankaj Gupta
59*32669476SPankaj Gupta
60*32669476SPankaj Gupta
61