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