diff options
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.bb | 73 |
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 @@ | |||
1 | require recipes-bsp/u-boot/u-boot.inc | ||
2 | require u-boot-fslc-common_${PV}.inc | ||
3 | |||
4 | DESCRIPTION = "U-Boot based on mainline U-Boot used by FSL Community BSP in \ | ||
5 | order to provide support for some backported features and fixes, or because it \ | ||
6 | was submitted for revision and it takes some time to become part of a stable \ | ||
7 | version, or because it is not applicable for upstreaming." | ||
8 | |||
9 | inherit ${@oe.utils.ifelse(d.getVar('UBOOT_PROVIDES_BOOT_CONTAINER') == '1', 'imx-boot-container', '')} | ||
10 | |||
11 | DEPENDS += "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 | ||
17 | BOOT_TOOLS = "imx-boot-tools" | ||
18 | |||
19 | PROVIDES += "u-boot" | ||
20 | |||
21 | B = "${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. | ||
26 | EXTRA_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. | ||
51 | do_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 | |||
72 | PACKAGE_ARCH = "${MACHINE_ARCH}" | ||
73 | COMPATIBLE_MACHINE = "(mxs|mx5|mx6|mx7|vf|use-mainline-bsp)" | ||