Initial commit
This commit is contained in:
183
package/boot/tfa-layerscape/Makefile
Normal file
183
package/boot/tfa-layerscape/Makefile
Normal file
@@ -0,0 +1,183 @@
|
||||
#
|
||||
# Copyright 2019 NXP
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=tfa-layerscape
|
||||
PKG_VERSION:=LSDK-20.12
|
||||
PKG_RELEASE:=$(AUTORELEASE)
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL:=https://source.codeaurora.org/external/qoriq/qoriq-components/atf
|
||||
PKG_SOURCE_VERSION:=LSDK-20.12
|
||||
PKG_MIRROR_HASH:=8e3a0bd33c00657beeb2df88a881b1831aeb790751cacd4c4fdf33ffa01e956e
|
||||
PKG_BUILD_DEPENDS:=tfa-layerscape/host
|
||||
|
||||
include $(INCLUDE_DIR)/host-build.mk
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
HOST_CFLAGS += -Wall -Werror -pedantic -std=c99
|
||||
define Host/Compile
|
||||
$(MAKE) -C \
|
||||
$(HOST_BUILD_DIR)/tools/fiptool \
|
||||
CFLAGS="$(HOST_CFLAGS)" \
|
||||
LDFLAGS="$(HOST_LDFLAGS)"
|
||||
$(MAKE) -C \
|
||||
$(HOST_BUILD_DIR)/plat/nxp/tools \
|
||||
CFLAGS="$(HOST_CFLAGS)"
|
||||
endef
|
||||
|
||||
define Host/Install
|
||||
$(INSTALL_BIN) $(HOST_BUILD_DIR)/tools/fiptool/fiptool $(STAGING_DIR_HOST)/bin/fiptool-layerscape
|
||||
$(INSTALL_BIN) $(HOST_BUILD_DIR)/plat/nxp/tools/create_pbl $(STAGING_DIR_HOST)/bin/tfa-create-pbl
|
||||
$(INSTALL_BIN) $(HOST_BUILD_DIR)/plat/nxp/tools/byte_swap $(STAGING_DIR_HOST)/bin/tfa-byte-swap
|
||||
endef
|
||||
|
||||
define Package/tfa-generic
|
||||
SECTION:=boot
|
||||
CATEGORY:=Boot Loaders
|
||||
DEPENDS:=@TARGET_layerscape_armv8_64b +layerscape-rcw +u-boot-fsl_$(subst tfa-,,$(1))
|
||||
VARIANT:=$(subst tfa-,,$(1))
|
||||
endef
|
||||
|
||||
define Package/tfa-ls1012a-frdm
|
||||
$(Package/tfa-generic)
|
||||
TITLE:=NXP LS1012AFRDM Trusted Firmware
|
||||
PLAT:=ls1012afrdm
|
||||
BOOT_MODE:=qspi
|
||||
endef
|
||||
|
||||
define Package/tfa-ls1012a-rdb
|
||||
$(Package/tfa-generic)
|
||||
TITLE:=NXP LS1012ARDB Trusted Firmware
|
||||
PLAT:=ls1012ardb
|
||||
BOOT_MODE:=qspi
|
||||
endef
|
||||
|
||||
define Package/tfa-ls1012a-frwy-sdboot
|
||||
$(Package/tfa-generic)
|
||||
TITLE:=NXP LS1012AFRWY Trusted Firmware
|
||||
PLAT:=ls1012afrwy
|
||||
BOOT_MODE:=qspi
|
||||
endef
|
||||
|
||||
define Package/tfa-ls1043a-rdb
|
||||
$(Package/tfa-generic)
|
||||
TITLE:=NXP LS1043ARDB Trusted Firmware
|
||||
PLAT:=ls1043ardb
|
||||
BOOT_MODE:=nor
|
||||
endef
|
||||
|
||||
define Package/tfa-ls1043a-rdb-sdboot
|
||||
$(Package/tfa-generic)
|
||||
TITLE:=NXP LS1043ARDB SD Boot Trusted Firmware
|
||||
PLAT:=ls1043ardb
|
||||
BOOT_MODE:=sd
|
||||
endef
|
||||
|
||||
define Package/tfa-ls1046a-frwy
|
||||
$(Package/tfa-generic)
|
||||
TITLE:=NXP LS1046AFRWY Trusted Firmware
|
||||
PLAT:=ls1046afrwy
|
||||
BOOT_MODE:=qspi
|
||||
endef
|
||||
|
||||
define Package/tfa-ls1046a-frwy-sdboot
|
||||
$(Package/tfa-generic)
|
||||
TITLE:=NXP LS1046AFRWY SD Boot Trusted Firmware
|
||||
PLAT:=ls1046afrwy
|
||||
BOOT_MODE:=sd
|
||||
endef
|
||||
|
||||
define Package/tfa-ls1046a-rdb
|
||||
$(Package/tfa-generic)
|
||||
TITLE:=NXP LS1046ARDB Trusted Firmware
|
||||
PLAT:=ls1046ardb
|
||||
BOOT_MODE:=qspi
|
||||
endef
|
||||
|
||||
define Package/tfa-ls1046a-rdb-sdboot
|
||||
$(Package/tfa-generic)
|
||||
TITLE:=NXP LS1046ARDB SD Boot Trusted Firmware
|
||||
PLAT:=ls1046ardb
|
||||
BOOT_MODE:=sd
|
||||
endef
|
||||
|
||||
define Package/tfa-ls1088a-rdb
|
||||
$(Package/tfa-generic)
|
||||
TITLE:=NXP LS1088ARDB Trusted Firmware
|
||||
PLAT:=ls1088ardb
|
||||
BOOT_MODE:=qspi
|
||||
endef
|
||||
|
||||
define Package/tfa-ls1088a-rdb-sdboot
|
||||
$(Package/tfa-generic)
|
||||
TITLE:=NXP LS1088ARDB SD Boot Trusted Firmware
|
||||
PLAT:=ls1088ardb
|
||||
BOOT_MODE:=sd
|
||||
endef
|
||||
|
||||
define Package/tfa-ls2088a-rdb
|
||||
$(Package/tfa-generic)
|
||||
TITLE:=NXP LS2088ARDB Trusted Firmware
|
||||
PLAT:=ls2088ardb
|
||||
BOOT_MODE:=nor
|
||||
endef
|
||||
|
||||
define Package/tfa-lx2160a-rdb
|
||||
$(Package/tfa-generic)
|
||||
TITLE:=NXP LX2160ARDB Trusted Firmware
|
||||
PLAT:=lx2160ardb
|
||||
BOOT_MODE:=flexspi_nor
|
||||
endef
|
||||
|
||||
define Package/tfa-lx2160a-rdb-sdboot
|
||||
$(Package/tfa-generic)
|
||||
TITLE:=NXP LX2160ARDB SD Boot Trusted Firmware
|
||||
PLAT:=lx2160ardb
|
||||
BOOT_MODE:=sd
|
||||
endef
|
||||
|
||||
define Build/InstallDev
|
||||
$(INSTALL_DIR) $(STAGING_DIR_IMAGE)
|
||||
$(CP) $(PKG_BUILD_DIR)/build/$(PLAT)/release/bl2_$(BOOT_MODE).pbl \
|
||||
$(STAGING_DIR_IMAGE)/fsl_$(BUILD_VARIANT)-bl2.pbl
|
||||
$(CP) $(PKG_BUILD_DIR)/build/$(PLAT)/release/fip.bin \
|
||||
$(STAGING_DIR_IMAGE)/fsl_$(BUILD_VARIANT)-fip.bin
|
||||
endef
|
||||
|
||||
define Build/Compile
|
||||
$(eval $(Package/tfa-$(BUILD_VARIANT))) \
|
||||
$(MAKE) -C $(PKG_BUILD_DIR) CROSS_COMPILE=$(TARGET_CROSS) \
|
||||
fip pbl PLAT=$(PLAT) BOOT_MODE=$(BOOT_MODE) \
|
||||
RCW=$(STAGING_DIR_IMAGE)/fsl_$(BUILD_VARIANT)-rcw.bin \
|
||||
BL33=$(STAGING_DIR_IMAGE)/fsl_$(BUILD_VARIANT)-uboot.bin \
|
||||
FIPTOOL=$(STAGING_DIR_HOST)/bin/fiptool-layerscape \
|
||||
CREATE_PBL=$(STAGING_DIR_HOST)/bin/tfa-create-pbl \
|
||||
BYTE_SWAP=$(STAGING_DIR_HOST)/bin/tfa-byte-swap
|
||||
endef
|
||||
|
||||
TFAS := \
|
||||
ls1012a-frdm \
|
||||
ls1012a-rdb \
|
||||
ls1012a-frwy-sdboot \
|
||||
ls1043a-rdb \
|
||||
ls1043a-rdb-sdboot \
|
||||
ls1046a-frwy \
|
||||
ls1046a-frwy-sdboot \
|
||||
ls1046a-rdb \
|
||||
ls1046a-rdb-sdboot \
|
||||
ls1088a-rdb \
|
||||
ls1088a-rdb-sdboot \
|
||||
ls2088a-rdb \
|
||||
lx2160a-rdb \
|
||||
lx2160a-rdb-sdboot
|
||||
|
||||
$(eval $(call HostBuild))
|
||||
$(foreach tfa,$(TFAS), \
|
||||
$(eval $(call BuildPackage,tfa-$(tfa))) \
|
||||
)
|
||||
@@ -0,0 +1,71 @@
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -448,10 +448,6 @@ endif
|
||||
CRTTOOLPATH ?= tools/cert_create
|
||||
CRTTOOL ?= ${CRTTOOLPATH}/cert_create${BIN_EXT}
|
||||
|
||||
-# Variables for use with Firmware Image Package
|
||||
-FIPTOOLPATH ?= tools/fiptool
|
||||
-FIPTOOL ?= ${FIPTOOLPATH}/fiptool${BIN_EXT}
|
||||
-
|
||||
################################################################################
|
||||
# Include BL specific makefiles
|
||||
################################################################################
|
||||
@@ -661,14 +657,12 @@ endif
|
||||
clean:
|
||||
@echo " CLEAN"
|
||||
$(call SHELL_REMOVE_DIR,${BUILD_PLAT})
|
||||
- ${Q}${MAKE} --no-print-directory -C ${FIPTOOLPATH} clean
|
||||
${Q}${MAKE} PLAT=${PLAT} --no-print-directory -C ${CRTTOOLPATH} clean
|
||||
|
||||
realclean distclean:
|
||||
@echo " REALCLEAN"
|
||||
$(call SHELL_REMOVE_DIR,${BUILD_BASE})
|
||||
$(call SHELL_DELETE_ALL, ${CURDIR}/cscope.*)
|
||||
- ${Q}${MAKE} --no-print-directory -C ${FIPTOOLPATH} clean
|
||||
${Q}${MAKE} PLAT=${PLAT} --no-print-directory -C ${CRTTOOLPATH} clean
|
||||
|
||||
checkcodebase: locate-checkpatch
|
||||
@@ -717,7 +711,7 @@ certificates: ${CRT_DEPS} ${CRTTOOL}
|
||||
@${ECHO_BLANK_LINE}
|
||||
endif
|
||||
|
||||
-${BUILD_PLAT}/${FIP_NAME}: ${FIP_DEPS} ${FIPTOOL}
|
||||
+${BUILD_PLAT}/${FIP_NAME}: ${FIP_DEPS}
|
||||
${Q}${FIPTOOL} create ${FIP_ARGS} $@
|
||||
${Q}${FIPTOOL} info $@
|
||||
@${ECHO_BLANK_LINE}
|
||||
@@ -733,21 +727,16 @@ fwu_certificates: ${FWU_CRT_DEPS} ${CRTT
|
||||
@${ECHO_BLANK_LINE}
|
||||
endif
|
||||
|
||||
-${BUILD_PLAT}/${FWU_FIP_NAME}: ${FWU_FIP_DEPS} ${FIPTOOL}
|
||||
+${BUILD_PLAT}/${FWU_FIP_NAME}: ${FWU_FIP_DEPS}
|
||||
${Q}${FIPTOOL} create ${FWU_FIP_ARGS} $@
|
||||
${Q}${FIPTOOL} info $@
|
||||
@${ECHO_BLANK_LINE}
|
||||
@echo "Built $@ successfully"
|
||||
@${ECHO_BLANK_LINE}
|
||||
|
||||
-fiptool: ${FIPTOOL}
|
||||
fip: ${BUILD_PLAT}/${FIP_NAME}
|
||||
fwu_fip: ${BUILD_PLAT}/${FWU_FIP_NAME}
|
||||
|
||||
-.PHONY: ${FIPTOOL}
|
||||
-${FIPTOOL}:
|
||||
- ${Q}${MAKE} CPPFLAGS="-DVERSION='\"${VERSION_STRING}\"'" --no-print-directory -C ${FIPTOOLPATH}
|
||||
-
|
||||
cscope:
|
||||
@echo " CSCOPE"
|
||||
${Q}find ${CURDIR} -name "*.[chsS]" > cscope.files
|
||||
--- a/tools/fiptool/Makefile
|
||||
+++ b/tools/fiptool/Makefile
|
||||
@@ -37,7 +37,7 @@ all: ${PROJECT} fip_create
|
||||
|
||||
${PROJECT}: ${OBJECTS} Makefile
|
||||
@echo " LD $@"
|
||||
- ${Q}${HOSTCC} ${OBJECTS} -o $@ ${LDLIBS}
|
||||
+ ${Q}${HOSTCC} ${OBJECTS} -o $@ ${LDLIBS} $(LDFLAGS)
|
||||
@${ECHO_BLANK_LINE}
|
||||
@echo "Built $@ successfully"
|
||||
@${ECHO_BLANK_LINE}
|
||||
@@ -0,0 +1,53 @@
|
||||
From 8a458876013991fe2f288bbe4694264b16c3b9e9 Mon Sep 17 00:00:00 2001
|
||||
From: Biwen Li <biwen.li@nxp.com>
|
||||
Date: Fri, 26 Jul 2019 15:44:10 +0800
|
||||
Subject: [PATCH 3/3] plat/nxp/tools: fix create_pbl and byte_swap host build
|
||||
|
||||
Not compile create_pbl and byte_swap in the process of cross compilation
|
||||
|
||||
Signed-off-by: Biwen Li <biwen.li@nxp.com>
|
||||
---
|
||||
plat/nxp/tools/pbl_ch2.mk | 3 ---
|
||||
plat/nxp/tools/pbl_ch3.mk | 5 -----
|
||||
2 files changed, 8 deletions(-)
|
||||
|
||||
--- a/plat/nxp/tools/pbl_ch2.mk
|
||||
+++ b/plat/nxp/tools/pbl_ch2.mk
|
||||
@@ -20,8 +20,6 @@ ifeq ($(RCW),"")
|
||||
else
|
||||
# Generate header for bl2.bin
|
||||
$(Q)$(CST_DIR)/create_hdr_isbc --in ${BUILD_PLAT}/bl2.bin --out ${BUILD_PLAT}/hdr_bl2 ${BL2_INPUT_FILE}
|
||||
- # Compile create_pbl tool
|
||||
- ${Q}${MAKE} CPPFLAGS="-DVERSION='\"${VERSION_STRING}\"'" --no-print-directory -C ${PLAT_TOOL_PATH};\
|
||||
# Add bl2.bin to RCW
|
||||
${CREATE_PBL} -r ${RCW} -i ${BUILD_PLAT}/bl2.bin -b ${BOOT_MODE} -c ${SOC_NUM} -d ${BL2_BASE} -e ${BL2_BASE}\
|
||||
-o ${BUILD_PLAT}/bl2_${BOOT_MODE}.pbl ;\
|
||||
@@ -43,7 +41,6 @@ ifeq ($(RCW),"")
|
||||
${Q}echo "Platform ${PLAT} requires rcw file. Please set RCW to point to the right RCW file for boot mode ${BOOT_MODE}"
|
||||
else
|
||||
# -a option appends the image for Chassis 3 devices in case of non secure boot
|
||||
- ${Q}${MAKE} CPPFLAGS="-DVERSION='\"${VERSION_STRING}\"'" --no-print-directory -C ${PLAT_TOOL_PATH};
|
||||
${CREATE_PBL} -r ${RCW} -i ${BUILD_PLAT}/bl2.bin -b ${BOOT_MODE} -c ${SOC_NUM} -d ${BL2_BASE} -e ${BL2_BASE} \
|
||||
-o ${BUILD_PLAT}/bl2_${BOOT_MODE}.pbl ;
|
||||
# Swapping of RCW is required for QSPi Chassis 2 devices
|
||||
--- a/plat/nxp/tools/pbl_ch3.mk
|
||||
+++ b/plat/nxp/tools/pbl_ch3.mk
|
||||
@@ -27,9 +27,6 @@ else
|
||||
# Generate header for bl2.bin
|
||||
$(Q)$(CST_DIR)/create_hdr_isbc --in ${BUILD_PLAT}/bl2.bin --out ${BUILD_PLAT}/hdr_bl2 ${BL2_INPUT_FILE}
|
||||
|
||||
- # Compile create_pbl tool
|
||||
- ${Q}${MAKE} CPPFLAGS="-DVERSION='\"${VERSION_STRING}\"'" --no-print-directory -C ${PLAT_TOOL_PATH};\
|
||||
-
|
||||
# Add Block Copy command for bl2.bin to RCW
|
||||
${CREATE_PBL} -r ${RCW} -i ${BUILD_PLAT}/bl2.bin -b ${BOOT_MODE} -c ${SOC_NUM} -d ${BL2_BASE} -e ${BL2_BASE}\
|
||||
-o ${BUILD_PLAT}/bl2_${BOOT_MODE}.pbl -f ${BL2_SRC_OFFSET};\
|
||||
@@ -57,8 +54,6 @@ else #SECURE_BOOT
|
||||
ifeq ($(RCW),"")
|
||||
${Q}echo "Platform ${PLAT} requires rcw file. Please set RCW to point to the right RCW file for boot mode ${BOOT_MODE}"
|
||||
else
|
||||
- ${Q}${MAKE} CPPFLAGS="-DVERSION='\"${VERSION_STRING}\"'" --no-print-directory -C ${PLAT_TOOL_PATH};
|
||||
-
|
||||
# Add Block Copy command and populate boot loc ptrfor bl2.bin to RCW
|
||||
${CREATE_PBL} -r ${RCW} -i ${BUILD_PLAT}/bl2.bin -b ${BOOT_MODE} -c ${SOC_NUM} -d ${BL2_BASE} -e ${BL2_BASE} \
|
||||
-o ${BUILD_PLAT}/bl2_${BOOT_MODE}.pbl -f ${BL2_SRC_OFFSET};
|
||||
20
package/boot/tfa-layerscape/patches/010-gcc11.patch
Normal file
20
package/boot/tfa-layerscape/patches/010-gcc11.patch
Normal file
@@ -0,0 +1,20 @@
|
||||
--- a/common/runtime_svc.c
|
||||
+++ b/common/runtime_svc.c
|
||||
@@ -38,7 +38,7 @@ uintptr_t handle_runtime_svc(uint32_t smc_fid,
|
||||
u_register_t x1, x2, x3, x4;
|
||||
int index;
|
||||
unsigned int idx;
|
||||
- const rt_svc_desc_t *rt_svc_descs;
|
||||
+ rt_svc_desc_t *rt_svc_descs = NULL;
|
||||
|
||||
assert(handle);
|
||||
idx = get_unique_oen_from_smc_fid(smc_fid);
|
||||
@@ -48,7 +48,7 @@ uintptr_t handle_runtime_svc(uint32_t smc_fid,
|
||||
if (index < 0 || index >= (int)RT_SVC_DECS_NUM)
|
||||
SMC_RET1(handle, SMC_UNK);
|
||||
|
||||
- rt_svc_descs = (rt_svc_desc_t *) RT_SVC_DESCS_START;
|
||||
+ memcpy(rt_svc_descs, (rt_svc_desc_t *)RT_SVC_DESCS_START, MAX_RT_SVCS);
|
||||
|
||||
get_smc_params_from_ctx(handle, x1, x2, x3, x4);
|
||||
|
||||
Reference in New Issue
Block a user