.. | .. |
---|
27 | 27 | # nodes |
---|
28 | 28 | function gen_uboot_node() |
---|
29 | 29 | { |
---|
| 30 | + if [ -z ${UBOOT_LOAD_ADDR} ]; then |
---|
| 31 | + return |
---|
| 32 | + fi |
---|
| 33 | + |
---|
30 | 34 | UBOOT="u-boot-nodtb.bin" |
---|
31 | 35 | echo " uboot { |
---|
32 | 36 | description = \"U-Boot\"; |
---|
.. | .. |
---|
53 | 57 | algo = \"sha256\"; |
---|
54 | 58 | }; |
---|
55 | 59 | };" |
---|
| 60 | + |
---|
| 61 | + LOADABLE_UBOOT="\"uboot\", " |
---|
56 | 62 | } |
---|
57 | 63 | |
---|
58 | 64 | function gen_fdt_node() |
---|
59 | 65 | { |
---|
| 66 | + if [ -z ${UBOOT_LOAD_ADDR} ]; then |
---|
| 67 | + return |
---|
| 68 | + fi |
---|
| 69 | + |
---|
60 | 70 | echo " fdt { |
---|
61 | 71 | description = \"U-Boot dtb\"; |
---|
62 | 72 | data = /incbin/(\"./u-boot.dtb\"); |
---|
.. | .. |
---|
67 | 77 | algo = \"sha256\"; |
---|
68 | 78 | }; |
---|
69 | 79 | };" |
---|
| 80 | + |
---|
| 81 | + FDT_SIGN=", \"fdt\"" |
---|
| 82 | + FDT="fdt = \"fdt\"${PROP_KERN_DTB};" |
---|
70 | 83 | }; |
---|
71 | 84 | |
---|
72 | 85 | function gen_kfdt_node() |
---|
73 | 86 | { |
---|
| 87 | + if [ -z ${UBOOT_LOAD_ADDR} ]; then |
---|
| 88 | + return |
---|
| 89 | + fi |
---|
| 90 | + |
---|
74 | 91 | KERN_DTB=`sed -n "/CONFIG_EMBED_KERNEL_DTB_PATH=/s/CONFIG_EMBED_KERNEL_DTB_PATH=//p" .config | tr -d '"'` |
---|
75 | | - if [ -z "${KERN_DTB}" ]; then |
---|
| 92 | + if [ -z ${KERN_DTB} ]; then |
---|
76 | 93 | return; |
---|
77 | 94 | fi |
---|
78 | 95 | |
---|
.. | .. |
---|
96 | 113 | ${srctree}/arch/arm/mach-rockchip/decode_bl31.py |
---|
97 | 114 | |
---|
98 | 115 | NUM=1 |
---|
99 | | - for ATF in `ls -l bl31_0x*.bin | sort --key=5 -nr | awk '{ print $9 }'` |
---|
| 116 | + for ATF in `ls -1 -S bl31_0x*.bin` |
---|
100 | 117 | do |
---|
101 | 118 | ATF_LOAD_ADDR=`echo ${ATF} | awk -F "_" '{ printf $2 }' | awk -F "." '{ printf $1 }'` |
---|
102 | 119 | # only atf-1 support compress |
---|
.. | .. |
---|
135 | 152 | };" |
---|
136 | 153 | fi |
---|
137 | 154 | |
---|
138 | | - if [ ${NUM} -gt 1 ]; then |
---|
| 155 | + if [ ${NUM} -eq 2 ]; then |
---|
| 156 | + LOADABLE_ATF=${LOADABLE_ATF}"\"atf-${NUM}\"" |
---|
| 157 | + elif [ ${NUM} -gt 2 ]; then |
---|
139 | 158 | LOADABLE_ATF=${LOADABLE_ATF}", \"atf-${NUM}\"" |
---|
140 | 159 | fi |
---|
141 | 160 | NUM=`expr ${NUM} + 1` |
---|
.. | .. |
---|
152 | 171 | # If not AArch32 mode |
---|
153 | 172 | if ! grep -q '^CONFIG_ARM64_BOOT_AARCH32=y' .config ; then |
---|
154 | 173 | ENTRY="entry = <"${TEE_LOAD_ADDR}">;" |
---|
| 174 | + |
---|
| 175 | + # if disable packing tee.bin |
---|
| 176 | + if ! grep -q '^CONFIG_SPL_OPTEE=y' .config ; then |
---|
| 177 | + return |
---|
| 178 | + fi |
---|
| 179 | + |
---|
155 | 180 | fi |
---|
156 | 181 | fi |
---|
157 | 182 | |
---|
.. | .. |
---|
179 | 204 | };" |
---|
180 | 205 | LOADABLE_OPTEE=", \"optee\"" |
---|
181 | 206 | FIRMWARE_OPTEE="firmware = \"optee\";" |
---|
182 | | - FIRMWARE_SIGN=", \"firmware\"" |
---|
| 207 | + FIRMWARE_SIGN="\"firmware\"" |
---|
183 | 208 | } |
---|
184 | 209 | |
---|
185 | 210 | function gen_mcu_node() |
---|
.. | .. |
---|
314 | 339 | function gen_arm64_configurations() |
---|
315 | 340 | { |
---|
316 | 341 | PLATFORM=`sed -n "/CONFIG_DEFAULT_DEVICE_TREE/p" .config | awk -F "=" '{ print $2 }' | tr -d '"'` |
---|
317 | | -if grep -q '^CONFIG_FIT_ENABLE_RSASSA_PSS_SUPPORT=y' .config ; then |
---|
| 342 | +if grep -q '^CONFIG_FIT_ENABLE_RSASSA_PSS_SUPPORT=y' .config ; then |
---|
318 | 343 | ALGO_PADDING=" padding = \"pss\";" |
---|
| 344 | +fi |
---|
| 345 | +if grep -q '^CONFIG_FIT_ENABLE_RSA4096_SUPPORT=y' .config ; then |
---|
| 346 | + ALGO_NAME=" algo = \"sha256,rsa4096\";" |
---|
| 347 | +else |
---|
| 348 | + ALGO_NAME=" algo = \"sha256,rsa2048\";" |
---|
319 | 349 | fi |
---|
320 | 350 | echo " }; |
---|
321 | 351 | |
---|
.. | .. |
---|
325 | 355 | description = \"${PLATFORM}\"; |
---|
326 | 356 | rollback-index = <0x0>; |
---|
327 | 357 | firmware = \"atf-1\"; |
---|
328 | | - loadables = \"uboot\"${LOADABLE_ATF}${LOADABLE_OPTEE}${LOADABLE_OTHER}; |
---|
| 358 | + loadables = ${LOADABLE_UBOOT}${LOADABLE_ATF}${LOADABLE_OPTEE}${LOADABLE_OTHER}; |
---|
329 | 359 | ${STANDALONE_MCU} |
---|
330 | | - fdt = \"fdt\"${PROP_KERN_DTB}; |
---|
| 360 | + ${FDT} |
---|
331 | 361 | signature { |
---|
332 | | - algo = \"sha256,rsa2048\"; |
---|
| 362 | + ${ALGO_NAME} |
---|
333 | 363 | ${ALGO_PADDING} |
---|
334 | 364 | key-name-hint = \"dev\"; |
---|
335 | | - sign-images = \"fdt\", \"firmware\", \"loadables\"${STANDALONE_SIGN}; |
---|
| 365 | + sign-images = \"firmware\", \"loadables\"${FDT_SIGN}${STANDALONE_SIGN}; |
---|
336 | 366 | }; |
---|
337 | 367 | }; |
---|
338 | 368 | }; |
---|
.. | .. |
---|
343 | 373 | function gen_arm_configurations() |
---|
344 | 374 | { |
---|
345 | 375 | PLATFORM=`sed -n "/CONFIG_DEFAULT_DEVICE_TREE/p" .config | awk -F "=" '{ print $2 }' | tr -d '"'` |
---|
346 | | -if grep -q '^CONFIG_FIT_ENABLE_RSASSA_PSS_SUPPORT=y' .config ; then |
---|
| 376 | +if grep -q '^CONFIG_FIT_ENABLE_RSASSA_PSS_SUPPORT=y' .config ; then |
---|
347 | 377 | ALGO_PADDING=" padding = \"pss\";" |
---|
348 | 378 | fi |
---|
| 379 | +if grep -q '^CONFIG_FIT_ENABLE_RSA4096_SUPPORT=y' .config ; then |
---|
| 380 | + ALGO_NAME=" algo = \"sha256,rsa4096\";" |
---|
| 381 | +else |
---|
| 382 | + ALGO_NAME=" algo = \"sha256,rsa2048\";" |
---|
| 383 | +fi |
---|
| 384 | +if [ ! -z "${LOADABLE_UBOOT}" ] || [ ! -z "${LOADABLE_OTHER}" ]; then |
---|
| 385 | + LOADABLE_UBOOT="\"uboot\"" |
---|
| 386 | + LOADABLES="loadables = ${LOADABLE_UBOOT}${LOADABLE_OTHER};" |
---|
| 387 | + if [ -z ${FIRMWARE_SIGN} ]; then |
---|
| 388 | + LOADABLES_SIGN="\"loadables\"" |
---|
| 389 | + else |
---|
| 390 | + LOADABLES_SIGN=", \"loadables\"" |
---|
| 391 | + fi |
---|
| 392 | +fi |
---|
| 393 | + |
---|
349 | 394 | echo " }; |
---|
350 | 395 | |
---|
351 | 396 | configurations { |
---|
.. | .. |
---|
354 | 399 | description = \"${PLATFORM}\"; |
---|
355 | 400 | rollback-index = <0x0>; |
---|
356 | 401 | ${FIRMWARE_OPTEE} |
---|
357 | | - loadables = \"uboot\"${LOADABLE_OTHER}; |
---|
| 402 | + ${LOADABLES} |
---|
358 | 403 | ${STANDALONE_MCU} |
---|
359 | | - fdt = \"fdt\"${PROP_KERN_DTB}; |
---|
| 404 | + ${FDT} |
---|
360 | 405 | signature { |
---|
361 | | - algo = \"sha256,rsa2048\"; |
---|
| 406 | + ${ALGO_NAME} |
---|
362 | 407 | ${ALGO_PADDING} |
---|
363 | 408 | key-name-hint = \"dev\"; |
---|
364 | | - sign-images = \"fdt\", \"loadables\"${FIRMWARE_SIGN}${STANDALONE_SIGN}; |
---|
| 409 | + sign-images = ${FIRMWARE_SIGN}${LOADABLES_SIGN}${FDT_SIGN}${STANDALONE_SIGN}; |
---|
365 | 410 | }; |
---|
366 | 411 | }; |
---|
367 | 412 | }; |
---|