summaryrefslogtreecommitdiffstats
path: root/recipes-bsp/atf/qoriq-atf_2.4.bb
diff options
context:
space:
mode:
authorTing Liu <ting.liu@nxp.com>2021-10-14 15:57:26 +0800
committerTing Liu <ting.liu@nxp.com>2021-10-15 21:17:52 +0800
commit115d33d607bbf3b743a8047861883e0275271222 (patch)
tree435b3cf5de775b3dbd4bf20cda110ca40fdabcab /recipes-bsp/atf/qoriq-atf_2.4.bb
parent426a8d3ddc8ef0b2e293d8f0d82b56be64884025 (diff)
downloadmeta-freescale-115d33d607bbf3b743a8047861883e0275271222.tar.gz
qoriq-atf: upgrade to 2.4
Signed-off-by: Ting Liu <ting.liu@nxp.com>
Diffstat (limited to 'recipes-bsp/atf/qoriq-atf_2.4.bb')
-rw-r--r--recipes-bsp/atf/qoriq-atf_2.4.bb186
1 files changed, 186 insertions, 0 deletions
diff --git a/recipes-bsp/atf/qoriq-atf_2.4.bb b/recipes-bsp/atf/qoriq-atf_2.4.bb
new file mode 100644
index 00000000..9c8937a2
--- /dev/null
+++ b/recipes-bsp/atf/qoriq-atf_2.4.bb
@@ -0,0 +1,186 @@
1require recipes-bsp/atf/qoriq-atf-2.4.inc
2
3inherit deploy
4
5DEPENDS += "u-boot-mkimage-native u-boot openssl openssl-native mbedtls rcw cst-native bc-native"
6DEPENDS:append:lx2160a += "ddr-phy"
7DEPENDS:append:lx2162a += "ddr-phy"
8do_compile[depends] += "u-boot:do_deploy rcw:do_deploy uefi:do_deploy"
9
10SRC_URI += "git://github.com/ARMmbed/mbedtls;nobranch=1;destsuffix=git/mbedtls;name=mbedtls"
11SRCREV_mbedtls = "0795874acdf887290b2571b193cafd3c4041a708"
12SRCREV_FORMAT = "atf"
13
14COMPATIBLE_MACHINE = "(qoriq)"
15
16PACKAGE_ARCH = "${MACHINE_ARCH}"
17
18PLATFORM = "${MACHINE}"
19PLATFORM:ls1088ardb-pb = "ls1088ardb"
20PLATFORM_ADDITIONAL_TARGET ??= ""
21PLATFORM_ADDITIONAL_TARGET:ls1012afrwy = "ls1012afrwy_512mb"
22
23RCW_FOLDER ?= "${MACHINE}"
24RCW_FOLDER:ls1088ardb-pb = "ls1088ardb"
25RCW_FOLDER:lx2160ardb = "lx2160ardb_rev2"
26
27RCW_SUFFIX ?= ".bin"
28RCW_SUFFIX:ls1012a = "${@bb.utils.contains('DISTRO_FEATURES', 'secure', '_sben.bin', '_default.bin', d)}"
29RCW_SUFFIX:ls1043a = "${@bb.utils.contains('DISTRO_FEATURES', 'secure', '_sben.bin', '.bin', d)}"
30RCW_SUFFIX:ls1046a = "${@bb.utils.contains('DISTRO_FEATURES', 'secure', '_sben.bin', '.bin', d)}"
31
32UBOOT_BINARY ?= "${@bb.utils.contains('DISTRO_FEATURES', 'secure', '${DEPLOY_DIR_IMAGE}/u-boot.bin-tfa-secure-boot', '${DEPLOY_DIR_IMAGE}/u-boot.bin-tfa', d)}"
33
34SECURE_EXTENTION ?= "${@bb.utils.contains('DISTRO_FEATURES', 'secure', '_sec', '', d)}"
35
36BOOTTYPE ?= "nor nand qspi flexspi_nor sd emmc"
37
38chassistype ?= "ls2088_1088"
39chassistype:ls1012a = "ls104x_1012"
40chassistype:ls1043a = "ls104x_1012"
41chassistype:ls1046a = "ls104x_1012"
42
43DDR_PHY_BIN_PATH ?= ""
44DDR_PHY_BIN_PATH:lx2160a = "${DEPLOY_DIR_IMAGE}/ddr-phy"
45DDR_PHY_BIN_PATH:lx2162a = "${DEPLOY_DIR_IMAGE}/ddr-phy"
46
47# requires CROSS_COMPILE set by hand as there is no configure script
48export CROSS_COMPILE="${TARGET_PREFIX}"
49export ARCH="arm64"
50
51# Let the Makefile handle setting up the CFLAGS and LDFLAGS as it is
52# a standalone application
53CFLAGS[unexport] = "1"
54LDFLAGS[unexport] = "1"
55AS[unexport] = "1"
56LD[unexport] = "1"
57
58EXTRA_OEMAKE += "HOSTCC='${BUILD_CC} ${BUILD_CPPFLAGS} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}'"
59EXTRA_OEMAKE += "\
60 ${@bb.utils.contains('COMBINED_FEATURES', 'optee', 'BL32=${RECIPE_SYSROOT}${nonarch_base_libdir}/firmware/tee_${MACHINE}.bin SPD=opteed', '', d)} \
61 ${@bb.utils.contains('DISTRO_FEATURES', 'secure', 'TRUSTED_BOARD_BOOT=1 CST_DIR=${RECIPE_SYSROOT_NATIVE}/usr/bin/cst', '', d)} \
62 ${@bb.utils.contains('DISTRO_FEATURES', 'arm-cot', 'GENERATE_COT=1 MBEDTLS_DIR=${S}/mbedtls', '', d)} \
63 ${@bb.utils.contains('DISTRO_FEATURES', 'fuse', 'fip_fuse FUSE_PROG=1 FUSE_PROV_FILE=fuse_scr.bin', '', d)} \
64"
65
66PACKAGECONFIG ??= " \
67 ${@bb.utils.filter('COMBINED_FEATURES', 'optee', d)} \
68"
69PACKAGECONFIG[optee] = ",,optee-os-qoriq"
70
71python() {
72 if bb.utils.contains("DISTRO_FEATURES", "arm-cot", True, False, d):
73 if not bb.utils.contains("DISTRO_FEATURES", "secure", True, False, d):
74 bb.fatal("arm-cot needs 'secure' being set in DISTRO_FEATURES")
75}
76
77do_configure[noexec] = "1"
78
79do_compile() {
80 if [ ! -f ${RECIPE_SYSROOT_NATIVE}/usr/bin/cst/srk.pri ]; then
81 ${RECIPE_SYSROOT_NATIVE}/usr/bin/cst/gen_keys 1024
82 else
83 cp ${RECIPE_SYSROOT_NATIVE}/usr/bin/cst/srk.pri .
84 cp ${RECIPE_SYSROOT_NATIVE}/usr/bin/cst/srk.pub .
85 fi
86
87 ${RECIPE_SYSROOT_NATIVE}/usr/bin/cst/gen_fusescr \
88 ${RECIPE_SYSROOT_NATIVE}/usr/bin/cst/input_files/gen_fusescr/${chassistype}/input_fuse_file
89
90 for d in ${BOOTTYPE}; do
91 case $d in
92 nor)
93 rcwimg="${RCWNOR}${RCW_SUFFIX}"
94 uefiboot="${UEFI_NORBOOT}"
95 ;;
96 nand)
97 rcwimg="${RCWNAND}${RCW_SUFFIX}"
98 ;;
99 qspi)
100 rcwimg="${RCWQSPI}${RCW_SUFFIX}"
101 uefiboot="${UEFI_QSPIBOOT}"
102 if [ -n "${SECURE_EXTENTION}" ] && [ "${MACHINE}" = ls1046ardb ]; then
103 rcwimg="RR_FFSSPPPH_1133_5559/rcw_1600_qspiboot_sben.bin"
104 fi
105 ;;
106 auto)
107 rcwimg="${RCWAUTO}${RCW_SUFFIX}"
108 ;;
109 sd)
110 rcwimg="${RCWSD}${RCW_SUFFIX}"
111 ;;
112 emmc)
113 rcwimg="${RCWEMMC}${RCW_SUFFIX}"
114 ;;
115 flexspi_nor)
116 rcwimg="${RCWXSPI}${RCW_SUFFIX}"
117 uefiboot="${UEFI_XSPIBOOT}"
118 ;;
119 esac
120
121 if [ -f ${DEPLOY_DIR_IMAGE}/rcw/${RCW_FOLDER}/$rcwimg ]; then
122 make V=1 realclean
123 if [ -f rot_key.pem ];then
124 mkdir -p build/${PLATFORM}/release/
125 cp *.pem build/${PLATFORM}/release/
126 fi
127
128 oe_runmake V=1 all fip pbl PLAT=${PLATFORM} BOOT_MODE=${d} RCW=${DEPLOY_DIR_IMAGE}/rcw/${RCW_FOLDER}/${rcwimg} BL33=${UBOOT_BINARY}
129 cp build/${PLATFORM}/release/bl2_${d}${SECURE_EXTENTION}.pbl .
130 cp build/${PLATFORM}/release/fip.bin fip_uboot${SECURE_EXTENTION}.bin
131 if [ -e build/${PLATFORM}/release/fuse_fip.bin ]; then
132 cp build/${PLATFORM}/release/fuse_fip.bin .
133 fi
134
135 if [ -n "${SECURE_EXTENTION}" -a -n "${DDR_PHY_BIN_PATH}" -a ! -f ddr_fip_sec.bin ]; then
136 oe_runmake V=1 fip_ddr PLAT=${PLATFORM} DDR_PHY_BIN_PATH=${DDR_PHY_BIN_PATH}
137 if [ -e build/${PLATFORM}/release/ddr_fip_sec.bin ]; then
138 cp build/${PLATFORM}/release/ddr_fip_sec.bin .
139 fi
140 fi
141
142 if [ -e build/${PLATFORM}/release/rot_key.pem ] && [ ! -f rot_key.pem ]; then
143 cp build/${PLATFORM}/release/*.pem .
144 fi
145
146 if [ -n "${PLATFORM_ADDITIONAL_TARGET}" ]; then
147 make V=1 realclean
148 oe_runmake V=1 all fip pbl PLAT=${PLATFORM_ADDITIONAL_TARGET} BOOT_MODE=${d} RCW=${DEPLOY_DIR_IMAGE}/rcw/${RCW_FOLDER}/${rcwimg} BL33=${UBOOT_BINARY}
149 cp build/${PLATFORM_ADDITIONAL_TARGET}/release/bl2_${d}${SECURE_EXTENTION}.pbl bl2_${d}${SECURE_EXTENTION}_${PLATFORM_ADDITIONAL_TARGET}.pbl
150 cp build/${PLATFORM_ADDITIONAL_TARGET}/release/fip.bin fip_uboot${SECURE_EXTENTION}_${PLATFORM_ADDITIONAL_TARGET}.bin
151 if [ -e build/${PLATFORM_ADDITIONAL_TARGET}/release/fuse_fip.bin ]; then
152 cp build/${PLATFORM_ADDITIONAL_TARGET}/release/fuse_fip.bin fuse_fip_${PLATFORM_ADDITIONAL_TARGET}.bin
153 fi
154 fi
155
156 if [ -z "${SECURE_EXTENTION}" -a -f "${DEPLOY_DIR_IMAGE}/uefi/${PLATFORM}/${uefiboot}" ]; then
157 make V=1 realclean
158 oe_runmake V=1 all fip pbl PLAT=${PLATFORM} BOOT_MODE=${d} RCW=${DEPLOY_DIR_IMAGE}/rcw/${RCW_FOLDER}/${rcwimg} BL33=${DEPLOY_DIR_IMAGE}/uefi/${PLATFORM}/${uefiboot}
159 cp build/${PLATFORM}/release/fip.bin fip_uefi.bin
160 fi
161 fi
162 rcwimg=""
163 uefiboot=""
164 done
165}
166
167do_install() {
168 install -d ${D}/boot/atf/
169 cp srk.pri ${D}/boot/atf/
170 cp srk.pub ${D}/boot/atf/
171 cp *.pbl ${D}/boot/atf/
172 if [ ! -e fuse_fip.bin ]; then
173 rm -f fuse_scr.bin
174 fi
175 cp *.bin ${D}/boot/atf/
176 chown -R root:root ${D}
177}
178
179do_deploy() {
180 install -d ${DEPLOYDIR}/atf/
181 cp ${D}/boot/atf/* ${DEPLOYDIR}/atf/
182}
183addtask deploy after do_install
184
185FILES:${PN} += "/boot"
186BBCLASSEXTEND = "native nativesdk"