summaryrefslogtreecommitdiffstats
path: root/recipes-bsp/u-boot/u-boot-fslc_2021.07.bb
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-bsp/u-boot/u-boot-fslc_2021.07.bb')
-rw-r--r--recipes-bsp/u-boot/u-boot-fslc_2021.07.bb73
1 files changed, 73 insertions, 0 deletions
diff --git a/recipes-bsp/u-boot/u-boot-fslc_2021.07.bb b/recipes-bsp/u-boot/u-boot-fslc_2021.07.bb
new file mode 100644
index 00000000..4f97c722
--- /dev/null
+++ b/recipes-bsp/u-boot/u-boot-fslc_2021.07.bb
@@ -0,0 +1,73 @@
1require recipes-bsp/u-boot/u-boot.inc
2require u-boot-fslc-common_${PV}.inc
3
4DESCRIPTION = "U-Boot based on mainline U-Boot used by FSL Community BSP in \
5order to provide support for some backported features and fixes, or because it \
6was submitted for revision and it takes some time to become part of a stable \
7version, or because it is not applicable for upstreaming."
8
9inherit ${@oe.utils.ifelse(d.getVar('UBOOT_PROVIDES_BOOT_CONTAINER') == '1', 'imx-boot-container', '')}
10
11DEPENDS += "bc-native dtc-native python3-setuptools-native"
12
13# Location known to imx-boot component, where U-Boot artifacts
14# should be additionally deployed.
15# See below note above do_deploy_append_mx8m for the purpose of
16# this delopyment location
17BOOT_TOOLS = "imx-boot-tools"
18
19PROVIDES += "u-boot"
20
21B = "${WORKDIR}/build"
22
23# FIXME: Allow linking of 'tools' binaries with native libraries
24# used for generating the boot logo and other tools used
25# during the build process.
26EXTRA_OEMAKE += 'HOSTCC="${BUILD_CC} ${BUILD_CPPFLAGS}" \
27 HOSTLDFLAGS="${BUILD_LDFLAGS}" \
28 HOSTSTRIP=true'
29
30#
31# imx8m machines require additional deployment tasks to be
32# carried out due to the fact that final boot image is constructed
33# using imx-boot recipe. It produces a boot binary image, which is
34# constructed from various binary components (u-boot with separate
35# dtb, atf, DDR firmware and optional op-tee) into a single image
36# using FIT format. This image is then parsed and loaded either via
37# SPL directly (imx8mm), or using bootrom code (imx8mn and imx8mp).
38#
39# In order for imx-boot to construct the final binary boot image,
40# it is required that the U-Boot dtb files are to be deployed into
41# a location known by imx-boot so they could be picked up and
42# inserted into the boot container.
43#
44# NOTE: This is only applicable to those derivatives of mx8m family,
45# which did not adopt the boot container mechanism provided by U-Boot
46# build system itself. U-Boot is capable of producing a result binary,
47# which includes all those deployed pieces below, hence once derivative
48# starts to use it - below append would not be necessary.
49# Once all mx8m derivatives are migrated to use the 'flash.bin' boot
50# container - this append can be dropped completely.
51do_deploy_append_mx8m() {
52 # Deploy the mkimage, u-boot-nodtb.bin and fsl-imx8m*-XX.dtb for mkimage to generate boot binary
53 if [ -n "${UBOOT_CONFIG}" ]; then
54 for config in ${UBOOT_MACHINE}; do
55 i=$(expr $i + 1);
56 for type in ${UBOOT_CONFIG}; do
57 j=$(expr $j + 1);
58 if [ $j -eq $i ]
59 then
60 install -d ${DEPLOYDIR}/${BOOT_TOOLS}
61 install -m 0777 ${B}/${config}/arch/arm/dts/${UBOOT_DTB_NAME} ${DEPLOYDIR}/${BOOT_TOOLS}
62 install -m 0777 ${B}/${config}/u-boot-nodtb.bin ${DEPLOYDIR}/${BOOT_TOOLS}/u-boot-nodtb.bin-${MACHINE}-${UBOOT_CONFIG}
63 fi
64 done
65 unset j
66 done
67 unset i
68 fi
69}
70
71
72PACKAGE_ARCH = "${MACHINE_ARCH}"
73COMPATIBLE_MACHINE = "(mxs|mx5|mx6|mx7|vf|use-mainline-bsp)"