diff options
Diffstat (limited to 'recipes-bsp/u-boot/u-boot-qoriq_2018.09.bb')
-rw-r--r-- | recipes-bsp/u-boot/u-boot-qoriq_2018.09.bb | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/recipes-bsp/u-boot/u-boot-qoriq_2018.09.bb b/recipes-bsp/u-boot/u-boot-qoriq_2018.09.bb new file mode 100644 index 00000000..d01efdd5 --- /dev/null +++ b/recipes-bsp/u-boot/u-boot-qoriq_2018.09.bb @@ -0,0 +1,79 @@ +require recipes-bsp/u-boot/u-boot.inc +require u-boot-qoriq-common_${PV}.inc + +DESCRIPTION = "U-Boot provided by Freescale with focus on QorIQ boards" +PROVIDES += "u-boot" + +INHIBIT_DEFAULT_DEPS = "1" +DEPENDS = "libgcc virtual/${TARGET_PREFIX}gcc bison-native bc-native swig-native python-native" +DEPENDS_append_qoriq-arm64 = " change-file-endianess-native dtc-native tcl-native" +DEPENDS_append_qoriq-arm = " change-file-endianess-native dtc-native tcl-native" +DEPENDS_append_qoriq-ppc = " boot-format-native" + +python () { + if d.getVar("TCMODE", True) == "external-fsl": + return + + ml = d.getVar("MULTILIB_VARIANTS", True) + arch = d.getVar("OVERRIDES", True) + + if "e5500-64b:" in arch or "e6500-64b:" in arch: + if not "lib32" in ml: + raise bb.parse.SkipPackage("Building the u-boot for this arch requires multilib to be enabled") + sys_multilib = d.getVar('TARGET_VENDOR') + 'mllib32-linux' + sys_original = d.getVar('TARGET_VENDOR') + '-' + d.getVar('TARGET_OS') + workdir = d.getVar('WORKDIR').replace(sys_original,sys_multilib) + d.setVar('DEPENDS_append', ' lib32-gcc-cross-powerpc lib32-libgcc') + d.setVar('PATH_append', ':' + d.getVar('STAGING_BINDIR_NATIVE') + '/powerpc' + sys_multilib) + d.setVar('TOOLCHAIN_OPTIONS', '--sysroot=' + workdir + '/lib32-recipe-sysroot') + d.setVar("WRAP_TARGET_PREFIX", 'powerpc' + sys_multilib + '-') + elif "fsl-lsch2-32b:" in arch: + if not "lib64" in ml: + raise bb.parse.SkipRecipe("Building the u-boot for this arch requires multilib to be enabled") + sys_multilib = d.getVar('TARGET_VENDOR') + 'mllib64-linux' + sys_original = d.getVar('TARGET_VENDOR') + '-' + d.getVar('TARGET_OS') + workdir = d.getVar('WORKDIR').replace(sys_original,sys_multilib) + d.setVar('DEPENDS_append', ' lib64-gcc-cross-aarch64 lib64-libgcc') + d.setVar('PATH_append', ':' + d.getVar('STAGING_BINDIR_NATIVE') + '/aarch64' + sys_multilib) + d.setVar('TOOLCHAIN_OPTIONS', '--sysroot=' + workdir + '/lib64-recipe-sysroot') + d.setVar("WRAP_TARGET_PREFIX", 'aarch64' + sys_multilib + '-') +} + +LE_UBOOT_FOR_ARMBE_TARGET ?= "0" +ENDIANNESS_GCC = "${@bb.utils.contains("LE_UBOOT_FOR_ARMBE_TARGET", "1", "-mlittle-endian", "", d)}" +ENDIANNESS_LD = "${@bb.utils.contains("LE_UBOOT_FOR_ARMBE_TARGET", "1", "-EL", "", d)}" + +WRAP_TARGET_PREFIX ?= "${TARGET_PREFIX}" +EXTRA_OEMAKE = 'CROSS_COMPILE=${WRAP_TARGET_PREFIX} CC="${WRAP_TARGET_PREFIX}gcc ${TOOLCHAIN_OPTIONS} ${ENDIANNESS_GCC}" LD="${WRAP_TARGET_PREFIX}ld ${ENDIANNESS_LD}" V=1' +EXTRA_OEMAKE += 'HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}"' + +do_compile_append_qoriq() { + unset i j k + for config in ${UBOOT_MACHINE}; do + i=`expr $i + 1`; + for type in ${UBOOT_CONFIG}; do + j=`expr $j + 1`; + for binary in ${UBOOT_BINARIES}; do + k=`expr $k + 1` + if [ $j -eq $i ] && [ $k -eq $i ]; then + if [ -n "${BOOTFORMAT_CONFIG}" ] && echo "${type}" |grep -q spi;then + # regenerate spi binary if BOOTFORMAT_CONFIG is set + boot_format ${STAGING_DATADIR_NATIVE}/boot_format/${BOOTFORMAT_CONFIG} \ + ${config}/u-boot-${type}.${UBOOT_SUFFIX} -spi ${config}/u-boot.format.bin + cp ${config}/u-boot.format.bin ${config}/u-boot-${type}.${UBOOT_SUFFIX} + elif [ "qspi" = "${type}" ];then + cp ${config}/${binary} ${config}/u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} + fi + fi + done + unset k + done + unset j + done + unset i +} + + +PACKAGES += "${PN}-images" +FILES_${PN}-images += "/boot" +COMPATIBLE_MACHINE = "(qoriq)" |