diff options
| author | Maxim Paymushkin <bmx666@users.noreply.github.com> | 2023-02-27 21:26:44 +0100 |
|---|---|---|
| committer | Daiane Angolini <daiane.angolini@foundries.io> | 2023-09-22 17:08:10 -0300 |
| commit | 45db18727813b50b8f16a04830f82f7280f55591 (patch) | |
| tree | 904a757688af0da26f3b8bd6a033473641c19556 | |
| parent | 66552db05b59eecd551a1cf2f94cfaf9239a7379 (diff) | |
| download | meta-freescale-45db18727813b50b8f16a04830f82f7280f55591.tar.gz | |
u-boot-imx: deploy multiple boot images for i.MX 8M
if env UBOOT_CONFIG contains multiple U-boot configurations,
then "do_deploy_append_mx8m" always returns an error due to
installing the same dtb-file defined in env UBOOT_DTB_NAME.
Even env UBOOT_DTB_NAME contains the same dtb-name for all
U-boot configs it can not be used without an extra suffix
(U-boot config) because different U-boot configs can
generate different dtb files based on the same dts file.
In case different UBOOT_DTB_NAMEs are used in U-boot
configurations, then the same flags for env UBOOT_DTB_NAME
must be used in the machine configuration as in
U-boot configurations.
UBOOT_CONFIG = "a b"
UBOOT_DTB_NAME[a] = "a.dtb"
UBOOT_DTB_NAME[b] = "b.dtb"
See PR #1439 and #1642
Signed-off-by: Maxim Paymushkin <maxim.paymushkin@gmail.com>
Signed-off-by: Daiane Angolini <daiane.angolini@foundries.io>
| -rw-r--r-- | recipes-bsp/u-boot/u-boot-imx_2023.04.bb | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/recipes-bsp/u-boot/u-boot-imx_2023.04.bb b/recipes-bsp/u-boot/u-boot-imx_2023.04.bb index 3d588564e..14c226f78 100644 --- a/recipes-bsp/u-boot/u-boot-imx_2023.04.bb +++ b/recipes-bsp/u-boot/u-boot-imx_2023.04.bb | |||
| @@ -27,8 +27,27 @@ do_deploy:append:mx8m-generic-bsp() { | |||
| 27 | if [ $j -eq $i ] | 27 | if [ $j -eq $i ] |
| 28 | then | 28 | then |
| 29 | install -d ${DEPLOYDIR}/${BOOT_TOOLS} | 29 | install -d ${DEPLOYDIR}/${BOOT_TOOLS} |
| 30 | install -m 0644 ${B}/${config}/arch/arm/dts/${UBOOT_DTB_NAME} ${DEPLOYDIR}/${BOOT_TOOLS} | 30 | install -m 0644 ${B}/${config}/u-boot-nodtb.bin ${DEPLOYDIR}/${BOOT_TOOLS}/u-boot-nodtb.bin-${MACHINE}-${type} |
| 31 | install -m 0644 ${B}/${config}/u-boot-nodtb.bin ${DEPLOYDIR}/${BOOT_TOOLS}/u-boot-nodtb.bin-${MACHINE}-${type} | 31 | UBOOT_DTB_NAME_FLAGS="${type}:${UBOOT_DTB_NAME}" |
| 32 | for key_value in ${UBOOT_DTB_NAME_FLAGS}; do | ||
| 33 | local type_key="${key_value%%:*}" | ||
| 34 | local dtb_name="${key_value#*:}" | ||
| 35 | if [ "$type_key" = "$type" ] | ||
| 36 | then | ||
| 37 | bbnote "UBOOT_CONFIG = $type, UBOOT_DTB_NAME = $dtb_name" | ||
| 38 | # There is only one ${dtb_name}, the first one. All the other are with the type appended | ||
| 39 | if [ ! -f "${DEPLOYDIR}/${BOOT_TOOLS}/${dtb_name}" ]; then | ||
| 40 | install -m 0644 ${B}/${config}/arch/arm/dts/${dtb_name} ${DEPLOYDIR}/${BOOT_TOOLS}/${dtb_name} | ||
| 41 | else | ||
| 42 | bbwarn "Use custom wks.in for $dtb_name = $type" | ||
| 43 | fi | ||
| 44 | install -m 0644 ${B}/${config}/arch/arm/dts/${dtb_name} ${DEPLOYDIR}/${BOOT_TOOLS}/${dtb_name}-${type} | ||
| 45 | fi | ||
| 46 | unset type_key | ||
| 47 | unset dtb_name | ||
| 48 | done | ||
| 49 | |||
| 50 | unset UBOOT_DTB_NAME_FLAGS | ||
| 32 | fi | 51 | fi |
| 33 | done | 52 | done |
| 34 | unset j | 53 | unset j |
