diff options
author | Ting Liu <ting.liu@nxp.com> | 2021-10-14 15:57:26 +0800 |
---|---|---|
committer | Ting Liu <ting.liu@nxp.com> | 2021-10-15 21:17:52 +0800 |
commit | 115d33d607bbf3b743a8047861883e0275271222 (patch) | |
tree | 435b3cf5de775b3dbd4bf20cda110ca40fdabcab /recipes-bsp/atf/qoriq-atf_2.4.bb | |
parent | 426a8d3ddc8ef0b2e293d8f0d82b56be64884025 (diff) | |
download | meta-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.bb | 186 |
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 @@ | |||
1 | require recipes-bsp/atf/qoriq-atf-2.4.inc | ||
2 | |||
3 | inherit deploy | ||
4 | |||
5 | DEPENDS += "u-boot-mkimage-native u-boot openssl openssl-native mbedtls rcw cst-native bc-native" | ||
6 | DEPENDS:append:lx2160a += "ddr-phy" | ||
7 | DEPENDS:append:lx2162a += "ddr-phy" | ||
8 | do_compile[depends] += "u-boot:do_deploy rcw:do_deploy uefi:do_deploy" | ||
9 | |||
10 | SRC_URI += "git://github.com/ARMmbed/mbedtls;nobranch=1;destsuffix=git/mbedtls;name=mbedtls" | ||
11 | SRCREV_mbedtls = "0795874acdf887290b2571b193cafd3c4041a708" | ||
12 | SRCREV_FORMAT = "atf" | ||
13 | |||
14 | COMPATIBLE_MACHINE = "(qoriq)" | ||
15 | |||
16 | PACKAGE_ARCH = "${MACHINE_ARCH}" | ||
17 | |||
18 | PLATFORM = "${MACHINE}" | ||
19 | PLATFORM:ls1088ardb-pb = "ls1088ardb" | ||
20 | PLATFORM_ADDITIONAL_TARGET ??= "" | ||
21 | PLATFORM_ADDITIONAL_TARGET:ls1012afrwy = "ls1012afrwy_512mb" | ||
22 | |||
23 | RCW_FOLDER ?= "${MACHINE}" | ||
24 | RCW_FOLDER:ls1088ardb-pb = "ls1088ardb" | ||
25 | RCW_FOLDER:lx2160ardb = "lx2160ardb_rev2" | ||
26 | |||
27 | RCW_SUFFIX ?= ".bin" | ||
28 | RCW_SUFFIX:ls1012a = "${@bb.utils.contains('DISTRO_FEATURES', 'secure', '_sben.bin', '_default.bin', d)}" | ||
29 | RCW_SUFFIX:ls1043a = "${@bb.utils.contains('DISTRO_FEATURES', 'secure', '_sben.bin', '.bin', d)}" | ||
30 | RCW_SUFFIX:ls1046a = "${@bb.utils.contains('DISTRO_FEATURES', 'secure', '_sben.bin', '.bin', d)}" | ||
31 | |||
32 | UBOOT_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 | |||
34 | SECURE_EXTENTION ?= "${@bb.utils.contains('DISTRO_FEATURES', 'secure', '_sec', '', d)}" | ||
35 | |||
36 | BOOTTYPE ?= "nor nand qspi flexspi_nor sd emmc" | ||
37 | |||
38 | chassistype ?= "ls2088_1088" | ||
39 | chassistype:ls1012a = "ls104x_1012" | ||
40 | chassistype:ls1043a = "ls104x_1012" | ||
41 | chassistype:ls1046a = "ls104x_1012" | ||
42 | |||
43 | DDR_PHY_BIN_PATH ?= "" | ||
44 | DDR_PHY_BIN_PATH:lx2160a = "${DEPLOY_DIR_IMAGE}/ddr-phy" | ||
45 | DDR_PHY_BIN_PATH:lx2162a = "${DEPLOY_DIR_IMAGE}/ddr-phy" | ||
46 | |||
47 | # requires CROSS_COMPILE set by hand as there is no configure script | ||
48 | export CROSS_COMPILE="${TARGET_PREFIX}" | ||
49 | export ARCH="arm64" | ||
50 | |||
51 | # Let the Makefile handle setting up the CFLAGS and LDFLAGS as it is | ||
52 | # a standalone application | ||
53 | CFLAGS[unexport] = "1" | ||
54 | LDFLAGS[unexport] = "1" | ||
55 | AS[unexport] = "1" | ||
56 | LD[unexport] = "1" | ||
57 | |||
58 | EXTRA_OEMAKE += "HOSTCC='${BUILD_CC} ${BUILD_CPPFLAGS} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}'" | ||
59 | EXTRA_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 | |||
66 | PACKAGECONFIG ??= " \ | ||
67 | ${@bb.utils.filter('COMBINED_FEATURES', 'optee', d)} \ | ||
68 | " | ||
69 | PACKAGECONFIG[optee] = ",,optee-os-qoriq" | ||
70 | |||
71 | python() { | ||
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 | |||
77 | do_configure[noexec] = "1" | ||
78 | |||
79 | do_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 | |||
167 | do_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 | |||
179 | do_deploy() { | ||
180 | install -d ${DEPLOYDIR}/atf/ | ||
181 | cp ${D}/boot/atf/* ${DEPLOYDIR}/atf/ | ||
182 | } | ||
183 | addtask deploy after do_install | ||
184 | |||
185 | FILES:${PN} += "/boot" | ||
186 | BBCLASSEXTEND = "native nativesdk" | ||