include conf/machine/include/imx-base.inc
include conf/machine/include/tune-arm926ejs.inc
+# This machine is not supported by u-boot-imx as it is not tested by NXP on this
+# board. So we force it to use u-boot-fslc which is based on mainline here.
+IMX_DEFAULT_BOOTLOADER = "u-boot-fslc"
+
+UBOOT_MAKE_TARGET = "u-boot.sb"
+UBOOT_SUFFIX = "sb"
+
UBOOT_MACHINE = "mx23evk_config"
KERNEL_DEVICETREE = "imx23-evk.dtb"
include conf/machine/include/imx-base.inc
include conf/machine/include/tune-arm926ejs.inc
+# This machine is not supported by u-boot-imx as it is not tested by NXP on this
+# board. So we force it to use u-boot-fslc which is based on mainline here.
+IMX_DEFAULT_BOOTLOADER = "u-boot-fslc"
+
+UBOOT_MAKE_TARGET = "u-boot.imx"
+UBOOT_SUFFIX = "imx"
+
UBOOT_MACHINE ?= "mx25pdk_defconfig"
KERNEL_DEVICETREE = "imx25-pdk.dtb"
include conf/machine/include/imx-base.inc
include conf/machine/include/tune-arm926ejs.inc
+# This machine is not supported by u-boot-imx as it is not tested by NXP on this
+# board. So we force it to use u-boot-fslc which is based on mainline here.
+IMX_DEFAULT_BOOTLOADER = "u-boot-fslc"
+
+UBOOT_MAKE_TARGET = "u-boot.sb"
+UBOOT_SUFFIX = "sb"
+
UBOOT_CONFIG ??= "sd"
UBOOT_CONFIG[sd] = "mx28evk_config,sdcard"
UBOOT_CONFIG[nand] = "mx28evk_nand_config,ubifs"
KERNEL_DEVICETREE = "imx51-babbage.dtb"
+# This machine is not supported by u-boot-imx as it is not tested by NXP on this
+# board. So we force it to use u-boot-fslc which is based on mainline here.
+IMX_DEFAULT_BOOTLOADER = "u-boot-fslc"
+
+UBOOT_MAKE_TARGET = "u-boot.imx"
+UBOOT_SUFFIX = "imx"
+
UBOOT_MACHINE = "mx51evk_config"
PERF_FEATURES_ENABLE = ""
KERNEL_DEVICETREE = "imx53-ard.dtb"
+KERNEL_IMAGETYPE = "uImage"
+
+# This machine is not supported by u-boot-imx as it is not tested by NXP on this
+# board. So we force it to use u-boot-fslc which is based on mainline here.
+IMX_DEFAULT_BOOTLOADER = "u-boot-fslc"
+
+UBOOT_MAKE_TARGET = "u-boot.imx"
+UBOOT_SUFFIX = "imx"
UBOOT_MACHINE = "mx53ard_config"
-KERNEL_IMAGETYPE = "uImage"
MACHINE_FIRMWARE += "linux-firmware-ar3k \
linux-firmware-ath6k"
KERNEL_DEVICETREE = "imx53-qsb.dtb imx53-qsrb.dtb"
+# This machine is not supported by u-boot-imx as it is not tested by NXP on this
+# board. So we force it to use u-boot-fslc which is based on mainline here.
+IMX_DEFAULT_BOOTLOADER = "u-boot-fslc"
+
+UBOOT_MAKE_TARGET = "u-boot.imx"
+UBOOT_SUFFIX = "imx"
+
UBOOT_MACHINE = "mx53loco_config"
MACHINE_FIRMWARE = "linux-firmware-ar3k \
imx6dl-sabreauto.dtb \
"
-UBOOT_MACHINE ?= "mx6sabreauto_defconfig"
+### u-boot-fslc settings ###
-# Use fslc u-boot by default. See also imx-base.inc.
-UBOOT_MAKE_TARGET = "all"
-UBOOT_SUFFIX = "img"
-SPL_BINARY = "SPL"
-WKS_FILE = "imx-uboot-spl-bootpart.wks.in"
+SPL_BINARY_pn-u-boot-fslc = "SPL"
+UBOOT_MACHINE_pn-u-boot-fslc ?= "mx6sabreauto_defconfig"
+UBOOT_SUFFIX_pn-u-boot-fslc = "img"
+
+### u-boot-imx settings ###
# The u-boot-imx does not provide unified functionality for DL/Q/QP SoC
# variants. Change the defconfig to the targeted SoC variant.
+SPL_BINARY_pn-u-boot-imx = ""
UBOOT_MACHINE_pn-u-boot-imx = "mx6qsabreauto_defconfig"
+UBOOT_MAKE_TARGET_pn-u-boot-imx = "u-boot.imx"
+UBOOT_SUFFIX_pn-u-boot-imx = "imx"
+
+WKS_FILE = " \
+ ${@bb.utils.contains('IMX_DEFAULT_BOOTLOADER', \
+ 'u-boot-fslc', 'imx-uboot-spl-bootpart.wks.in', \
+ 'imx-uboot-bootpart.wks.in', d)}"
SERIAL_CONSOLES = "115200;ttymxc3"
imx6dl-sabresd.dtb \
"
-UBOOT_MACHINE ?= "mx6sabresd_defconfig"
+### u-boot-fslc settings ###
-# Use fslc u-boot by default. See also imx-base.inc.
-UBOOT_MAKE_TARGET = "all"
-UBOOT_SUFFIX = "img"
-SPL_BINARY = "SPL"
-WKS_FILE = "imx-uboot-spl-bootpart.wks.in"
+SPL_BINARY_pn-u-boot-fslc = "SPL"
+UBOOT_MACHINE_pn-u-boot-fslc ?= "mx6sabresd_defconfig"
+UBOOT_SUFFIX_pn-u-boot-fslc = "img"
+
+### u-boot-imx settings ###
# The u-boot-imx does not provide unified functionality for DL/Q/QP SoC
# variants. Change the defconfig to the targeted SoC variant.
-UBOOT_MACHINE_pn-u-boot-imx = "mx6qsabresd_defconfig"
+SPL_BINARY_pn-u-boot-imx = ""
+UBOOT_MACHINE_pn-u-boot-imx ?= "mx6qsabresd_defconfig"
+UBOOT_MAKE_TARGET_pn-u-boot-imx = "u-boot.imx"
+UBOOT_SUFFIX_pn-u-boot-imx = "imx"
+
+WKS_FILE = " \
+ ${@bb.utils.contains('IMX_DEFAULT_BOOTLOADER', \
+ 'u-boot-fslc', 'imx-uboot-spl-bootpart.wks.in', \
+ 'imx-uboot-bootpart.wks.in', d)}"
SERIAL_CONSOLES = "115200;ttymxc0"
imx6sl-evk-uart.dtb \
"
+UBOOT_MAKE_TARGET = "u-boot.imx"
+UBOOT_SUFFIX = "imx"
+
UBOOT_CONFIG ??= " \
sd \
${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'sd-optee', '', d)} \
KERNEL_DEVICETREE = "imx6sll-evk.dtb"
+UBOOT_MAKE_TARGET = "u-boot.imx"
+UBOOT_SUFFIX = "imx"
+
UBOOT_CONFIG ??= " \
sd \
${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'sd-optee', '', d)} \
KERNEL_DEVICETREE = "imx6sx-sabreauto.dtb"
KERNEL_DEVICETREE_use-mainline-bsp = "imx6sx-sabreauto.dtb"
-PREFERRED_PROVIDER_u-boot = "u-boot-fslc"
-PREFERRED_PROVIDER_virtual/bootloader = "u-boot-fslc"
+UBOOT_MAKE_TARGET = "u-boot.imx"
+UBOOT_SUFFIX = "imx"
UBOOT_CONFIG ??= " \
sd \
imx6sx-sdb-reva-ldo.dtb \
"
+UBOOT_MAKE_TARGET = "u-boot.imx"
+UBOOT_SUFFIX = "imx"
+
UBOOT_CONFIG ??= " \
sd \
${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'sd-optee', '', d)} \
"
KERNEL_DEVICETREE_use-mainline-bsp = "imx6ul-14x14-evk.dtb"
-# Use fslc u-boot by default. See also imx-base.inc.
-UBOOT_MAKE_TARGET = ""
-UBOOT_SUFFIX = "img"
-SPL_BINARY = "SPL"
-WKS_FILE = "imx-uboot-spl-bootpart.wks.in"
+### u-boot-fslc settings ###
+
+SPL_BINARY_pn-u-boot-fslc = "SPL"
+UBOOT_SUFFIX_pn-u-boot-fslc = "img"
+
+### u-boot-imx settings ###
+
+# The u-boot-imx does not provide unified functionality for DL/Q/QP SoC
+# variants. Change the defconfig to the targeted SoC variant.
+SPL_BINARY_pn-u-boot-imx = ""
+UBOOT_MAKE_TARGET_pn-u-boot-imx = "u-boot.imx"
+UBOOT_SUFFIX_pn-u-boot-imx = "imx"
+
+WKS_FILE = " \
+ ${@bb.utils.contains('IMX_DEFAULT_BOOTLOADER', \
+ 'u-boot-fslc', 'imx-uboot-spl-bootpart.wks.in', \
+ 'imx-uboot-bootpart.wks.in', d)}"
UBOOT_CONFIG ??= " \
sd \
imx6ull-14x14-evk-gpmi-weim.dtb \
"
+UBOOT_MAKE_TARGET = "u-boot.imx"
+UBOOT_SUFFIX = "imx"
+
UBOOT_CONFIG ??= " \
sd \
${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'sd-optee', '', d)} \
imx6ulz-14x14-evk-gpmi-weim.dtb \
"
+UBOOT_MAKE_TARGET = "u-boot.imx"
+UBOOT_SUFFIX = "imx"
+
UBOOT_CONFIG ??= " \
sd \
${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'sd-optee', '', d)} \
imx7d-sdb-usd-wifi.dtb \
"
+UBOOT_MAKE_TARGET = "u-boot.imx"
+UBOOT_SUFFIX = "imx"
UBOOT_CONFIG ??= " \
sd \
imx7ulp-evkb-spi-slave.dtb \
"
+UBOOT_MAKE_TARGET = "u-boot.imx"
+UBOOT_SUFFIX = "imx"
+
UBOOT_CONFIG ??= " \
sd \
${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'sd-optee', '', d)} \
ATF_PLATFORM = "imx8dxl"
IMX_BOOT_SOC_TARGET = "iMX8DXL"
+# This machine is not supported by u-boot-fslc, so we force it to use
+# u-boot-imx here.
+IMX_DEFAULT_BOOTLOADER = "u-boot-imx"
+
UBOOT_MAKE_TARGET = "all"
SPL_BINARY = "spl/u-boot-spl.bin"
+UBOOT_SUFFIX = "bin"
UBOOT_CONFIG ??= "sd"
UBOOT_CONFIG[sd] = "imx8dxl_evk_defconfig,sdcard"
freescale/imx8mp-evk-spdif-lb.dtb \
"
+IMX_DEFAULT_BOOTLOADER_use-nxp-bsp = "u-boot-imx"
+IMX_DEFAULT_BOOTLOADER_use-mainline-bsp = "u-boot-fslc"
+
+UBOOT_SUFFIX = "bin"
+
UBOOT_CONFIG ??= "sd"
UBOOT_CONFIG[sd] = "imx8mp_evk_defconfig,sdcard"
UBOOT_CONFIG[fspi] = "imx8mp_evk_defconfig"
freescale/imx8mq-evk-usdhc2-m2.dtb \
"
+IMX_DEFAULT_BOOTLOADER_use-nxp-bsp = "u-boot-imx"
+IMX_DEFAULT_BOOTLOADER_use-mainline-bsp = "u-boot-fslc"
+
+UBOOT_SUFFIX = "bin"
+
UBOOT_CONFIG ??= "sd"
UBOOT_CONFIG[sd] = "imx8mq_evk_config,sdcard"
UBOOT_CONFIG[mfgtool] = "imx8mq_evk_config"
SPL_BINARY = \
"${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'spl/u-boot-spl.bin', \
'', d)}"
+IMX_DEFAULT_BOOTLOADER_use-nxp-bsp = "u-boot-imx"
+IMX_DEFAULT_BOOTLOADER_use-mainline-bsp = "u-boot-fslc"
+
UBOOT_SUFFIX = "bin"
UBOOT_CONFIG ??= "sd"
MACHINEOVERRIDES =. "use-${IMX_DEFAULT_BSP}-bsp:"
+# UBOOT_BINARY is used inside the wks files to dynamically find the required
+# U-Boot file.
+UBOOT_BINARY ?= "u-boot.${UBOOT_SUFFIX}"
+
+# Using the 'IMX_DEFAULT_BOOTLOADER' the machine can support multiple bootloader
+# versions. This is done for NXP reference board where we support 'u-boot-fslc'
+# and 'u-boot-imx'.
+#
+# So, for example in imx6qdlsabresd, we support both flavor and for this we
+# define:
+#
+# ,----[ imx6qdlsabresd.conf ]
+# | ### u-boot-fslc settings ###
+# |
+# | SPL_BINARY_pn-u-boot-fslc = "SPL"
+# | UBOOT_MACHINE_pn-u-boot-fslc ?= "mx6sabresd_defconfig"
+# | UBOOT_SUFFIX_pn-u-boot-fslc = "img"
+# |
+# | ### u-boot-imx settings ###
+# |
+# | # The u-boot-imx does not provide unified functionality for DL/Q/QP SoC
+# | # variants. Change the defconfig to the targeted SoC variant.
+# | UBOOT_MACHINE_pn-u-boot-imx ?= "mx6qsabresd_defconfig"
+# | UBOOT_SUFFIX_pn-u-boot-imx = "imx"
+# `----
+#
+# As result, the 'UBOOT_SUFFIX' is dynamically set based on the preferred U-Boot
+# flavor to use.
+#
+# For machines where one of the flavors is required, we can force it. An example
+# is the imx53qsb, which we define:
+#
+# ,----[ imx53qsb.conf ]
+# | # This machine is not supported by u-boot-imx as it is not tested by NXP on this
+# | # board. So we force it to use u-boot-fslc which is based on mainline here.
+# | IMX_DEFAULT_BOOTLOADER = "u-boot-fslc"
+# |
+# | UBOOT_MAKE_TARGET = "u-boot.imx"
+# | UBOOT_SUFFIX = "imx"
+# |
+# | UBOOT_MACHINE = "mx53loco_config"
+# `----
IMX_DEFAULT_BOOTLOADER ??= "u-boot-fslc"
+UBOOT_SUFFIX ?= "${UBOOT_SUFFIX_pn-${IMX_DEFAULT_BOOTLOADER}}"
IMX_DEFAULT_UBOOTTOOLS = "${@bb.utils.contains('IMX_DEFAULT_BOOTLOADER', 'u-boot-imx','u-boot-imx-tools', 'u-boot-tools', d)}"
PREFERRED_PROVIDER_u-boot-mxsboot-native ??= "u-boot-fslc-mxsboot-native"
-# Set specific make target and binary suffix
-UBOOT_BINARY ?= "u-boot.${UBOOT_SUFFIX}"
-UBOOT_MAKE_TARGET ?= "u-boot.${UBOOT_SUFFIX}"
-UBOOT_MAKE_TARGET_mxs ?= "u-boot.sb"
-UBOOT_MAKE_TARGET_mx8 ?= ""
-
-UBOOT_SUFFIX ?= "imx"
-UBOOT_SUFFIX_mxs ?= "sb"
-UBOOT_SUFFIX_mx8 ?= "bin"
-
UBOOT_ENTRYPOINT_mxs = "0x40008000"
UBOOT_ENTRYPOINT_mx51 = "0x90008000"
UBOOT_ENTRYPOINT_mx53 = "0x70008000"
"
UBOOT_DTB_NAME = "${KERNEL_DEVICETREE_BASENAME}.dtb"
+IMX_DEFAULT_BOOTLOADER_use-nxp-bsp = "u-boot-imx"
+IMX_DEFAULT_BOOTLOADER_use-mainline-bsp = "u-boot-fslc"
+
+UBOOT_SUFFIX = "bin"
+
UBOOT_CONFIG ??= "sd"
UBOOT_CONFIG[sd] = "${UBOOT_CONFIG_BASENAME}_defconfig,sdcard"
UBOOT_CONFIG[mfgtool] = "${UBOOT_CONFIG_BASENAME}_defconfig"
"
UBOOT_DTB_NAME = "${KERNEL_DEVICETREE_BASENAME}.dtb"
+IMX_DEFAULT_BOOTLOADER_use-nxp-bsp = "u-boot-imx"
+IMX_DEFAULT_BOOTLOADER_use-mainline-bsp = "u-boot-fslc"
+
+UBOOT_SUFFIX = "bin"
+
UBOOT_CONFIG ??= "sd"
UBOOT_CONFIG[sd] = "${UBOOT_CONFIG_BASENAME}_defconfig,sdcard"
UBOOT_CONFIG[fspi] = "${UBOOT_CONFIG_BASENAME}_defconfig"
IMX_BOOT_SEEK = "32"
+# This machine is not supported by u-boot-fslc, so we force it to use
+# u-boot-imx here.
+IMX_DEFAULT_BOOTLOADER = "u-boot-imx"
+UBOOT_SUFFIX = "bin"
+
# Set ATF platform name
ATF_PLATFORM = "imx8qx"