require conf/machine/include/imx-base.inc
require conf/machine/include/tune-cortexa53.inc
-IMX_DEFAULT_BSP = "nxp"
-
-MACHINE_FEATURES += " pci wifi bluetooth optee qca9377"
-
-KERNEL_DEVICETREE = " \
- freescale/imx8mm-ddr4-evk.dtb \
- freescale/imx8mm-ddr4-evk-revb.dtb \
- freescale/imx8mm-ddr4-evk-revb-rm67191.dtb \
- freescale/imx8mm-ddr4-evk-rm67191.dtb \
- freescale/imx8mm-evk-ak4497.dtb \
- freescale/imx8mm-evk-ak5558.dtb \
- freescale/imx8mm-evk-audio-tdm.dtb \
- freescale/imx8mm-evk.dtb \
- freescale/imx8mm-evk-inmate.dtb \
- freescale/imx8mm-evk-revb.dtb \
- freescale/imx8mm-evk-rm67191.dtb \
- freescale/imx8mm-evk-root.dtb \
- freescale/imx8mm-evk-rpmsg.dtb \
+MACHINE_FEATURES += "pci wifi bluetooth optee"
+
+# NXP BSP can consume QCA9377 driver and firmware
+# Since the firmware is not available publicly, and rather distributed
+# under "Proprietary" license - we opt-out from using it in all BSPs
+# and pin it to NXP BSP only
+MACHINE_FEATURES_use-nxp-bsp_append = " qca9377"
+
+# Mainline kernel contains only one DTB file for
+# imx8mmevk machine
+KERNEL_DEVICETREE = "freescale/imx8mm-evk.dtb"
+
+# NXP kernel has additional DTB files for various board configuration and
+# derivates. Include them here for NXP BSP only
+KERNEL_DEVICETREE_use-nxp-bsp_append = " \
+ freescale/imx8mm-ddr4-evk.dtb \
+ freescale/imx8mm-ddr4-evk-revb.dtb \
+ freescale/imx8mm-ddr4-evk-revb-rm67191.dtb \
+ freescale/imx8mm-ddr4-evk-rm67191.dtb \
+ freescale/imx8mm-evk-ak4497.dtb \
+ freescale/imx8mm-evk-ak5558.dtb \
+ freescale/imx8mm-evk-audio-tdm.dtb \
+ freescale/imx8mm-evk-inmate.dtb \
+ freescale/imx8mm-evk-revb.dtb \
+ freescale/imx8mm-evk-rm67191.dtb \
+ freescale/imx8mm-evk-root.dtb \
+ freescale/imx8mm-evk-rpmsg.dtb \
"
+
UBOOT_CONFIG ??= "sd"
UBOOT_CONFIG[sd] = "imx8mm_evk_config,sdcard"
UBOOT_CONFIG[fspi] = "imx8mm_evk_fspi_defconfig"
SPL_BINARY = "spl/u-boot-spl.bin"
# Set DDR FIRMWARE
-DDR_FIRMWARE_NAME = "lpddr4_pmu_train_1d_imem.bin lpddr4_pmu_train_1d_dmem.bin lpddr4_pmu_train_2d_imem.bin lpddr4_pmu_train_2d_dmem.bin"
+DDR_FIRMWARE_NAME = " \
+ lpddr4_pmu_train_1d_imem.bin \
+ lpddr4_pmu_train_1d_dmem.bin \
+ lpddr4_pmu_train_2d_imem.bin \
+ lpddr4_pmu_train_2d_dmem.bin \
+"
# Set u-boot DTB
UBOOT_DTB_NAME = "imx8mm-evk.dtb"
require conf/machine/include/imx-base.inc
require conf/machine/include/tune-cortexa53.inc
-IMX_DEFAULT_BSP = "nxp"
+MACHINE_FEATURES += "wifi bluetooth optee"
-MACHINE_FEATURES += "wifi bluetooth optee bcm43455"
+# NXP BSP can consume propietary Broadcomm driver
+MACHINE_FEATURES_use-nxp-bsp_append = " bcm43455"
+# Mainline kernel contains only two DTB file for
+# imx8mnevk machine
KERNEL_DEVICETREE = " \
- freescale/imx8mn-ddr4-evk-ak5558.dtb \
freescale/imx8mn-ddr4-evk.dtb \
+ freescale/imx8mn-evk.dtb \
+"
+
+KERNEL_DEVICETREE_use-nxp-bsp_append = " \
+ freescale/imx8mn-ddr4-evk-ak5558.dtb \
freescale/imx8mn-ddr4-evk-inmate.dtb \
freescale/imx8mn-ddr4-evk-rm67191.dtb \
freescale/imx8mn-ddr4-evk-root.dtb \
freescale/imx8mn-ddr4-evk-rpmsg.dtb \
- freescale/imx8mn-evk.dtb \
freescale/imx8mn-evk-rm67191.dtb \
"
require conf/machine/include/imx-base.inc
require conf/machine/include/tune-cortexa53.inc
-IMX_DEFAULT_BSP = "nxp"
+MACHINE_FEATURES += "pci wifi bluetooth optee"
+MACHINE_FEATURES_use-nxp-bsp_append = " mrvl8997"
-MACHINE_FEATURES += " pci wifi bluetooth optee mrvl8997"
+# Mainline kernel contains only one DTB file for
+# imx8mpevk machine
+KERNEL_DEVICETREE = "freescale/imx8mp-evk.dtb"
-KERNEL_DEVICETREE = " \
+# NXP kernel has additional DTB files for various board configuration and
+# derivates. Include them here for NXP BSP only
+KERNEL_DEVICETREE_use-nxp-bsp_append = " \
freescale/imx8mp-ab2.dtb \
freescale/imx8mp-evk-basler.dtb \
- freescale/imx8mp-evk.dtb \
freescale/imx8mp-evk-dsp.dtb \
freescale/imx8mp-evk-flexcan2.dtb \
freescale/imx8mp-evk-inmate.dtb \
require conf/machine/include/utilities.inc
-# Set specific make target and binary suffix
-IMX_DEFAULT_BOOTLOADER = "u-boot-fslc"
-IMX_DEFAULT_BOOTLOADER_mx8 = "u-boot-imx"
-
# Machines or distros can define which BSP it should use by default. We are
# intending to default for mainline BSP by default and specific machines or
# DISTROs might change it if need.
MACHINEOVERRIDES =. "use-${IMX_DEFAULT_BSP}-bsp:"
+# Set specific make target and binary suffix
+IMX_DEFAULT_BOOTLOADER = "u-boot-fslc"
+IMX_DEFAULT_BOOTLOADER_mx8 = "u-boot-imx"
+IMX_DEFAULT_BOOTLOADER_use-mainline-bsp = "u-boot-fslc"
+
PREFERRED_PROVIDER_u-boot ??= "${IMX_DEFAULT_BOOTLOADER}"
PREFERRED_PROVIDER_u-boot-tools-native ??= "${IMX_DEFAULT_BOOTLOADER}-tools-native"
PREFERRED_PROVIDER_nativesdk-u-boot-tools ??= "nativesdk-${IMX_DEFAULT_BOOTLOADER}-tools"
${@bb.utils.contains('MACHINE_FEATURES', 'optee', '${OPTEE_WKS_FILE_DEPENDS}', '', d)} \
"
-WKS_FILE_DEPENDS_append_mx8 = " imx-boot "
+WKS_FILE_DEPENDS_append_mx8 = " imx-boot"
+WKS_FILE_DEPENDS_append_use-mainline-bsp = " imx-boot"
SOC_DEFAULT_WKS_FILE ?= "imx-uboot-bootpart.wks.in"
+SOC_DEFAULT_WKS_FILE_mx8m ?= "imx-imx-boot-bootpart.wks.in"
+
SOC_DEFAULT_WKS_FILE_mx8 ?= "imx-imx-boot-bootpart.wks.in"
SOC_DEFAULT_WKS_FILE_mxs ?= "imx-uboot-mxs-bootpart.wks.in"