Complete Yocto mirror with license table for TQMa6UL (2038-compliance)

- 264 license table entries with exact download URLs (224/264 resolved)
- Complete sources/ directory with all BitBake recipes
- Build configuration: tqma6ul-multi-mba6ulx, spaetzle (musl)
- Full traceability for Softwarefreigabeantrag
- GCC 13.4.0, Linux 6.6.102, U-Boot 2023.04, musl 1.2.4
- License distribution: GPL-2.0 (24), MIT (23), GPL-2.0+ (18), BSD-3 (16)
This commit is contained in:
Siggi (OpenClaw Agent)
2026-03-01 20:58:18 +00:00
commit 16accb6b24
15086 changed files with 1292356 additions and 0 deletions

View File

@@ -0,0 +1,6 @@
TARGET_FPU = "hard"
require conf/machine/include/powerpc/tune-ppce500mc.inc
require conf/machine/include/qoriq-ppc.inc
MACHINEOVERRIDES =. "e500mc:"

View File

@@ -0,0 +1,4 @@
require conf/machine/include/powerpc/tune-ppce500v2.inc
MACHINEOVERRIDES =. "e500v2:"
require conf/machine/include/qoriq-ppc.inc

View File

@@ -0,0 +1,11 @@
TARGET_FPU = "hard"
DEFAULTTUNE ?= "ppc64e5500"
require conf/machine/include/powerpc/tune-ppce5500.inc
require conf/machine/include/qoriq-ppc.inc
MACHINEOVERRIDES =. "e5500-64b:"
require conf/multilib.conf
MULTILIBS ?= "multilib:lib32"
DEFAULTTUNE:virtclass-multilib-lib32 ?= "ppce5500"

View File

@@ -0,0 +1,6 @@
TARGET_FPU = "hard"
require conf/machine/include/powerpc/tune-ppce5500.inc
require conf/machine/include/qoriq-ppc.inc
MACHINEOVERRIDES =. "e5500:"

View File

@@ -0,0 +1,11 @@
TARGET_FPU = "hard"
DEFAULTTUNE ?= "ppc64e6500"
require conf/machine/include/powerpc/tune-ppce6500.inc
require conf/machine/include/qoriq-ppc.inc
MACHINEOVERRIDES =. "e6500-64b:"
require conf/multilib.conf
MULTILIBS ?= "multilib:lib32"
DEFAULTTUNE:virtclass-multilib-lib32 ?= "ppce6500"

View File

@@ -0,0 +1,12 @@
TARGET_FPU = "hard"
require conf/machine/include/powerpc/tune-ppce6500.inc
require conf/machine/include/qoriq-ppc.inc
MACHINEOVERRIDES =. "e6500:"
BUILD_64BIT_KERNEL = "1"
require conf/multilib.conf
MULTILIBS ?= "multilib:lib64"
DEFAULTTUNE:virtclass-multilib-lib64 ?= "ppc64e6500"

View File

@@ -0,0 +1,3 @@
# Freescale BSP default settings
IMAGE_CLASSES += "image_types_fsl"

View File

@@ -0,0 +1 @@
# Freescale BSP default versions

View File

@@ -0,0 +1,698 @@
# Provides the i.MX common settings
include conf/machine/include/fsl-default-settings.inc
include conf/machine/include/fsl-default-versions.inc
require conf/machine/include/utilities.inc
# 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.
#
# Two values are considered valid: mainline, nxp
IMX_DEFAULT_BSP ?= "mainline"
# Those are SoC families we'd like to force the use of mainline BSP.
IMX_DEFAULT_BSP:mxs ?= "mainline"
IMX_DEFAULT_BSP:mx5 ?= "mainline"
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"
# `----
#
# Please note that UBOOT_SUFFIX must be set in the machine config even
# if the value is the same for the U-Boot flavors. If the value is not
# set, then the assignment here is the one used, the value resolves to
# empty, and the build fails:
# | cp: cannot stat '/.../tmp/work/imx8qm_mek-fsl-linux/u-boot-imx/2022.04-r0/build/imx8qm_mek_defconfig/u-boot.': No such file or directory
#| WARNING: /.../tmp/work/imx8qm_mek-fsl-linux/u-boot-imx/2022.04-r0/temp/run.do_compile.21223:186 exit 1 from 'cp /.../tmp/work/imx8qm_mek-fsl-linux/u-boot-imx/2022.04-r0/build/${config}/${binary} /.../tmp/work/imx8qm_mek-fsl-linux/u-boot-imx/2022.04-r0/build/${config}/u-boot-${type}.${UBOOT_SUFFIX:pn-u-boot-imx}'
#
IMX_DEFAULT_BOOTLOADER ??= "u-boot-fslc"
UBOOT_SUFFIX ?= "${UBOOT_SUFFIX:pn-${IMX_DEFAULT_BOOTLOADER}}"
# We need to export the original variable to allow it to be used when generating
# wic based images.
SPL_BINARY ??= "${@get_spl_binary(d)}"
PREFERRED_PROVIDER_u-boot ??= "${IMX_DEFAULT_BOOTLOADER}"
PREFERRED_PROVIDER_u-boot-mfgtool ??= "${IMX_DEFAULT_BOOTLOADER}"
PREFERRED_PROVIDER_virtual/bootloader ??= "${IMX_DEFAULT_BOOTLOADER}"
PREFERRED_PROVIDER_u-boot-mxsboot-native ??= "u-boot-fslc-mxsboot-native"
UBOOT_ENTRYPOINT:mxs-generic-bsp ?= "0x40008000"
UBOOT_ENTRYPOINT:mx51-generic-bsp ?= "0x90008000"
UBOOT_ENTRYPOINT:mx53-generic-bsp ?= "0x70008000"
UBOOT_ENTRYPOINT:mx6-generic-bsp ?= "0x10008000"
UBOOT_ENTRYPOINT:mx6sl-generic-bsp ?= "0x80008000"
UBOOT_ENTRYPOINT:mx6sll-generic-bsp ?= "0x80008000"
UBOOT_ENTRYPOINT:mx6sx-generic-bsp ?= "0x80008000"
UBOOT_ENTRYPOINT:mx6ul-generic-bsp ?= "0x80008000"
UBOOT_ENTRYPOINT:mx6ull-generic-bsp ?= "0x80008000"
UBOOT_ENTRYPOINT:mx6ulz-generic-bsp ?= "0x80008000"
UBOOT_ENTRYPOINT:mx7-generic-bsp ?= "0x80008000"
UBOOT_ENTRYPOINT:mx7ulp-generic-bsp ?= "0x60008000"
UBOOT_ENTRYPOINT:mx8m-generic-bsp ?= "0x40480000"
UBOOT_ENTRYPOINT:mx93-generic-bsp ?= "0x80400000"
UBOOT_ENTRYPOINT:vf-generic-bsp ?= "0x80008000"
# Some SoC can utilize the boot container provided by U-Boot,
# below variable sets that those SoC do use this rather than
# assembling it in the imx-boot recipe.
UBOOT_PROVIDES_BOOT_CONTAINER = "0"
# The boot container should be used only if we're not using u-boot-imx as
# IMX_DEFAULT_BOOTLOADER.
UBOOT_PROVIDES_BOOT_CONTAINER:mx8m-generic-bsp = "${@oe.utils.ifelse(d.getVar('IMX_DEFAULT_BOOTLOADER') == 'u-boot-imx', '0', '1')}"
# Trusted Firmware for Cortex-A (TF-A) can have different providers, either
# from upstream or from NXP downstream fork. Below variable defines which TF-A
# shall be taken into the build, and will be integrated into runtime image.
#
# Upstream TF-A recipe resides in the meta-arm layer and in maintained by OE
# community. Therefore, in order to add upstream TF-A - additional layer has
# to be included in the bblayers.con file. Compatible machines are added to
# this layer via dynamic-layers mechanism.
#
# NOTE: Current upstream TF-A version (v2.7) does not support HAB feature of
# i.MX8M family. If the upstream TF-A version is chosen, then HAB will not be
# available for all SoCs that are opting-in. This might change with future TF-A
# release, so this statement shall be kept here until support is added.
#
# Default TF-A provider to NXP downstream fork
IMX_DEFAULT_ATF_PROVIDER ??= "imx-atf"
# Allow setting the UART used during the boot by ATF.
# FIXME: We should return INVALID here but currently only i.MX8M has support to override the UART
# base address in source code.
SOC_ATF_BOOT_UART_BASE = ""
SOC_ATF_BOOT_UART_BASE:mx8m-generic-bsp = "0x30890000"
SOC_ATF_BOOT_UART_BASE:mx8mq-generic-bsp = "0x30860000"
ATF_BOOT_UART_BASE ?= "${SOC_ATF_BOOT_UART_BASE}"
PREFERRED_PROVIDER_virtual/xserver = "xserver-xorg"
XSERVER_DRIVER = "xf86-video-fbdev"
XSERVER_DRIVER:vf-generic-bsp = "xf86-video-modesetting"
XSERVER_DRIVER:append:mx8-generic-bsp = " xf86-video-modesetting"
XSERVER_DRIVER:imx-mainline-bsp = " \
xf86-video-fbdev \
xf86-video-modesetting \
xserver-xorg-extension-glx \
"
XSERVER = "xserver-xorg \
xf86-input-evdev \
${XSERVER_DRIVER}"
# Ship kernel modules
MACHINE_EXTRA_RRECOMMENDS = "kernel-modules"
# Tunes for hard/soft float-point selection. Note that we allow building for
# thumb support giving distros the chance to enable thumb by setting
# ARM_INSTRUCTION_SET = "thumb"
#
# handled by software
# DEFAULTTUNE:mx6-generic-bsp ?= "cortexa9t-neon"
# handled by hardware
DEFAULTTUNE:mx6-generic-bsp ?= "cortexa9thf-neon"
DEFAULTTUNE:mx6ul-generic-bsp ?= "cortexa7thf-neon"
DEFAULTTUNE:mx6ull-generic-bsp ?= "cortexa7thf-neon"
DEFAULTTUNE:mx6ulz-generic-bsp ?= "cortexa7thf-neon"
DEFAULTTUNE:mx7-generic-bsp ?= "cortexa7thf-neon"
DEFAULTTUNE:vf-generic-bsp ?= "cortexa5thf-neon"
DEFAULTTUNE:mx8m-generic-bsp ?= "cortexa53-crypto"
DEFAULTTUNE:mx8qm-generic-bsp ?= "cortexa72-cortexa53-crypto"
DEFAULTTUNE:mx8x-generic-bsp ?= "cortexa35-crypto"
DEFAULTTUNE:mx8ulp-generic-bsp ?= "cortexa35-crypto"
DEFAULTTUNE:mx91-generic-bsp ?= "cortexa55"
DEFAULTTUNE:mx93-generic-bsp ?= "cortexa55"
DEFAULTTUNE:mx95-generic-bsp ?= "cortexa55"
INHERIT += "machine-overrides-extender"
IMX_SOC_REV ??= "A0"
IMX_SOC_REV:mx8qm-generic-bsp ??= "B0"
IMX_SOC_REV:mx8qxp-generic-bsp ??= \
"${@bb.utils.contains('MACHINE_FEATURES', 'soc-revb0', 'B0', \
'C0', d)}"
IMX_SOC_REV:mx8dx-generic-bsp ??= "C0"
# WARNING: Don't set a default for 8DXL since an image built with A1 can brick a B0 board
#IMX_SOC_REV:mx8dxl-generic-bsp ??= ""
IMX_SOC_REV:mx8ulp-generic-bsp ??= \
"${@bb.utils.contains('MACHINE_FEATURES', 'soc-reva0', 'A0', \
'A2', d)}"
IMX_SOC_REV:mx93-generic-bsp ??= "A1"
IMX_SOC_REV:mx95-generic-bsp ??= "B0"
IMX_SOC_REV_LOWER = "${@d.getVar('IMX_SOC_REV').lower()}"
IMX_SOC_REV_UPPER = "${@d.getVar('IMX_SOC_REV').upper()}"
#######
### NXP BSP specific overrides
#######
MACHINEOVERRIDES_EXTENDER:mx6q:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxfbdev:imxipu:imxvpu:imxgpu:imxviv:imxgpu2d:imxgpu3d:mx6-generic-bsp:mx6-nxp-bsp:mx6q-generic-bsp:mx6q-nxp-bsp"
MACHINEOVERRIDES_EXTENDER:mx6dl:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxfbdev:imxpxp:imxipu:imxvpu:imxgpu:imxviv:imxgpu2d:imxgpu3d:imxepdc:mx6-generic-bsp:mx6-nxp-bsp:mx6dl-generic-bsp:mx6dl-nxp-bsp"
MACHINEOVERRIDES_EXTENDER:mx6sx:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxfbdev:imxpxp:imxgpu:imxviv:imxgpu2d:imxgpu3d:mx6-generic-bsp:mx6-nxp-bsp:mx6sx-generic-bsp:mx6sx-nxp-bsp"
MACHINEOVERRIDES_EXTENDER:mx6sl:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxfbdev:imxpxp:imxgpu:imxviv:imxgpu2d:imxepdc:mx6-generic-bsp:mx6-nxp-bsp:mx6sl-generic-bsp:mx6sl-nxp-bsp"
MACHINEOVERRIDES_EXTENDER:mx6sll:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxfbdev:imxpxp:imxepdc:mx6-generic-bsp:mx6-nxp-bsp:mx6sl-generic-bsp:mx6sl-nxp-bsp:mx6sll-generic-bsp:mx6sll-nxp-bsp"
MACHINEOVERRIDES_EXTENDER:mx6ul:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxfbdev:imxpxp:mx6-generic-bsp:mx6-nxp-bsp:mx6ul-generic-bsp:mx6ul-nxp-bsp"
MACHINEOVERRIDES_EXTENDER:mx6ull:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxfbdev:imxpxp:imxepdc:mx6-generic-bsp:mx6-nxp-bsp:mx6ul-generic-bsp:mx6ul-nxp-bsp:mx6ull-generic-bsp:mx6ull-nxp-bsp"
MACHINEOVERRIDES_EXTENDER:mx6ulz:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxfbdev:imxpxp:imxepdc:mx6-generic-bsp:mx6-nxp-bsp:mx6ul-generic-bsp:mx6ul-nxp-bsp:mx6ull-generic-bsp:mx6ull-nxp-bsp:mx6ulz-generic-bsp:mx6ulz-nxp-bsp"
MACHINEOVERRIDES_EXTENDER:mx7d:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxfbdev:imxpxp:imxepdc:mx7-generic-bsp:mx7-nxp-bsp:mx7d-generic-bsp:mx7d-nxp-bsp"
MACHINEOVERRIDES_EXTENDER:mx7ulp:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxfbdev:imxpxp:imxgpu:imxviv:imxgpu2d:imxgpu3d:mx7-generic-bsp:mx7-nxp-bsp:mx7ulp-generic-bsp:mx7ulp-nxp-bsp"
MACHINEOVERRIDES_EXTENDER:vf:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:vf-generic-bsp:vf-nxp-bsp"
MACHINEOVERRIDES_EXTENDER:mx8qm:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:imxdpu:imxgpu:imxviv:imxgpu2d:imxgpu3d:imxvulkan:mx8-generic-bsp:mx8-nxp-bsp:mx8qm-generic-bsp:mx8qm-nxp-bsp"
MACHINEOVERRIDES_EXTENDER:mx8mm:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:imxvpu:imxgpu:imxviv:imxgpu2d:imxgpu3d:mx8-generic-bsp:mx8-nxp-bsp:mx8m-generic-bsp:mx8m-nxp-bsp:mx8mm-generic-bsp:mx8mm-nxp-bsp"
MACHINEOVERRIDES_EXTENDER:mx8mn:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:imxgpu:imxviv:imxgpu3d:imxvulkan:mx8-generic-bsp:mx8-nxp-bsp:mx8m-generic-bsp:mx8m-nxp-bsp:mx8mn-generic-bsp:mx8mn-nxp-bsp"
MACHINEOVERRIDES_EXTENDER:mx8mnul:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxfbdev:mx8-generic-bsp:mx8-nxp-bsp:mx8m-generic-bsp:mx8m-nxp-bsp:mx8mnul-generic-bsp:mx8mnul-nxp-bsp"
MACHINEOVERRIDES_EXTENDER:mx8mp:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:imxvpu:imxgpu:imxviv:imxgpu2d:imxgpu3d:imxvulkan:mx8-generic-bsp:mx8-nxp-bsp:mx8m-generic-bsp:mx8m-nxp-bsp:mx8mp-generic-bsp:mx8mp-nxp-bsp"
MACHINEOVERRIDES_EXTENDER:mx8mq:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:imxvpu:imxgpu:imxviv:imxgpu3d:imxvulkan:mx8-generic-bsp:mx8-nxp-bsp:mx8m-generic-bsp:mx8m-nxp-bsp:mx8mq-generic-bsp:mx8mq-nxp-bsp"
MACHINEOVERRIDES_EXTENDER:mx8qxp:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:imxdpu:imxgpu:imxviv:imxgpu2d:imxgpu3d:imxvulkan:mx8-generic-bsp:mx8-nxp-bsp:mx8x-generic-bsp:mx8x-nxp-bsp:mx8qxp-generic-bsp:mx8qxp-nxp-bsp"
MACHINEOVERRIDES_EXTENDER:mx8dx:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:imxdpu:imxgpu:imxviv:imxgpu2d:imxgpu3d:imxvulkan:mx8-generic-bsp:mx8-nxp-bsp:mx8x-generic-bsp:mx8x-nxp-bsp:mx8dx-generic-bsp:mx8dx-nxp-bsp"
MACHINEOVERRIDES_EXTENDER:mx8dxl:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxfbdev:mx8-generic-bsp:mx8-nxp-bsp:mx8x-generic-bsp:mx8x-nxp-bsp:mx8dxl-generic-bsp:mx8dxl-nxp-bsp"
MACHINEOVERRIDES_EXTENDER:mx8ulp:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:imxgpu:imxviv:imxgpu2d:imxgpu3d:imxvulkan:mx8-generic-bsp:mx8-nxp-bsp:mx8ulp-generic-bsp:mx8ulp-nxp-bsp"
MACHINEOVERRIDES_EXTENDER:mx91:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:mx9-generic-bsp:mx9-nxp-bsp:mx91-generic-bsp:mx91-nxp-bsp"
MACHINEOVERRIDES_EXTENDER:mx93:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:imxpxp:mx9-generic-bsp:mx9-nxp-bsp:mx93-generic-bsp:mx93-nxp-bsp"
MACHINEOVERRIDES_EXTENDER:mx95:use-nxp-bsp = "imx-generic-bsp:imx-nxp-bsp:imxdrm:imxdpu:imxgpu:imxmali:imxgpu2d:imxgpu3d:mx9-generic-bsp:mx9-nxp-bsp:mx95-generic-bsp:mx95-nxp-bsp"
#######
### Mainline BSP specific overrides
#######
MACHINEOVERRIDES_EXTENDER:mx23:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mxs-generic-bsp:mxs-mainline-bsp:mx23-generic-bsp:mx23-mainline-bsp"
MACHINEOVERRIDES_EXTENDER:mx28:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mxs-generic-bsp:mxs-mainline-bsp:mx28-generic-bsp:mx28-mainline-bsp"
MACHINEOVERRIDES_EXTENDER:mx51:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx5-generic-bsp:mx5-mainline-bsp:mx51-generic-bsp:mx51-mainline-bsp"
MACHINEOVERRIDES_EXTENDER:mx53:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx5-generic-bsp:mx5-mainline-bsp:mx53-generic-bsp:mx53-mainline-bsp"
MACHINEOVERRIDES_EXTENDER:mx6q:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx6-generic-bsp:mx6-mainline-bsp:mx6q-generic-bsp:mx6q-mainline-bsp"
MACHINEOVERRIDES_EXTENDER:mx6dl:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx6-generic-bsp:mx6-mainline-bsp:mx6dl-generic-bsp:mx6dl-mainline-bsp"
MACHINEOVERRIDES_EXTENDER:mx6sx:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx6-generic-bsp:mx6-mainline-bsp:mx6sx-generic-bsp:mx6sx-mainline-bsp"
MACHINEOVERRIDES_EXTENDER:mx6sl:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx6-generic-bsp:mx6-mainline-bsp:mx6sl-generic-bsp:mx6sl-mainline-bsp"
MACHINEOVERRIDES_EXTENDER:mx6sll:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx6-generic-bsp:mx6-mainline-bsp:mx6sll-generic-bsp:mx6sll-mainline-bsp"
MACHINEOVERRIDES_EXTENDER:mx6ul:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx6-generic-bsp:mx6-mainline-bsp:mx6ul-generic-bsp:mx6ul-mainline-bsp"
MACHINEOVERRIDES_EXTENDER:mx6ull:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx6-generic-bsp:mx6-mainline-bsp:mx6ul-generic-bsp:mx6ul-mainline-bsp:mx6ull-generic-bsp:mx6ull-mainline-bsp"
MACHINEOVERRIDES_EXTENDER:mx6ulz:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx6-generic-bsp:mx6-mainline-bsp:mx6ul-generic-bsp:mx6ul-mainline-bsp:mx6ull-generic-bsp:mx6ull-mainline-bsp:mx6ulz-generic-bsp:mx6ulz-mainline-bsp"
MACHINEOVERRIDES_EXTENDER:mx7d:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx7-generic-bsp:mx7-mainline-bsp:mx7d-generic-bsp:mx7d-mainline-bsp"
MACHINEOVERRIDES_EXTENDER:mx7ulp:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx7-generic-bsp:mx7-mainline-bsp:mx7ulp-generic-bsp:mx7ulp-mainline-bsp"
MACHINEOVERRIDES_EXTENDER:vf:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:vf-generic-bsp:vf-mainline-bsp"
MACHINEOVERRIDES_EXTENDER:mx8qm:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx8-generic-bsp:mx8-mainline-bsp:mx8qm-generic-bsp:mx8qm-mainline-bsp"
MACHINEOVERRIDES_EXTENDER:mx8mm:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx8-generic-bsp:mx8-mainline-bsp:mx8m-generic-bsp:mx8m-mainline-bsp:mx8mm-generic-bsp:mx8mm-mainline-bsp"
MACHINEOVERRIDES_EXTENDER:mx8mn:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx8-generic-bsp:mx8-mainline-bsp:mx8m-generic-bsp:mx8m-mainline-bsp:mx8mn-generic-bsp:mx8mn-mainline-bsp"
MACHINEOVERRIDES_EXTENDER:mx8mnul:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx8-generic-bsp:mx8-mainline-bsp:mx8m-generic-bsp:mx8m-mainline-bsp:mx8mnul-generic-bsp:mx8mnul-mainline-bsp"
MACHINEOVERRIDES_EXTENDER:mx8mp:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx8-generic-bsp:mx8-mainline-bsp:mx8m-generic-bsp:mx8m-mainline-bsp:mx8mp-generic-bsp:mx8mp-mainline-bsp"
MACHINEOVERRIDES_EXTENDER:mx8mq:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx8-generic-bsp:mx8-mainline-bsp:mx8m-generic-bsp:mx8m-mainline-bsp:mx8mq-generic-bsp:mx8mq-mainline-bsp"
MACHINEOVERRIDES_EXTENDER:mx8qxp:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx8-generic-bsp:mx8-mainline-bsp:mx8x-generic-bsp:mx8x-mainline-bsp:mx8qxp-generic-bsp:mx8qxp-mainline-bsp"
MACHINEOVERRIDES_EXTENDER:mx8dx:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx8-generic-bsp:mx8-mainline-bsp:mx8x-generic-bsp:mx8x-mainline-bsp:mx8dx-generic-bsp:mx8dx-mainline-bsp"
MACHINEOVERRIDES_EXTENDER:mx8dxl:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx8-generic-bsp:mx8-mainline-bsp:mx8x-generic-bsp:mx8x-mainline-bsp:mx8dxl-generic-bsp:mx8dxl-mainline-bsp"
MACHINEOVERRIDES_EXTENDER:mx8ulp:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx8-generic-bsp:mx8-mainline-bsp:mx8ulp-generic-bsp:mx8ulp-mainline-bsp"
MACHINEOVERRIDES_EXTENDER:mx91:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx9-generic-bsp:mx9-mainline-bsp:mx91-generic-bsp:mx91-mainline-bsp"
MACHINEOVERRIDES_EXTENDER:mx93:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx9-generic-bsp:mx9-mainline-bsp:mx93-generic-bsp:mx93-mainline-bsp"
MACHINEOVERRIDES_EXTENDER:mx95:use-mainline-bsp = "imx-generic-bsp:imx-mainline-bsp:mx9-generic-bsp:mx9-mainline-bsp:mx95-generic-bsp:mx95-mainline-bsp"
MACHINEOVERRIDES_EXTENDER_FILTER_OUT = " \
mx6 \
mx6q \
mx6dl \
mx6sx \
mx6sl \
mx6sll \
mx6ul \
mx6ull \
mx6ulz \
\
mx7 \
mx7d \
mx7ulp \
\
vf \
\
mx8 \
mx8m \
mx8qm \
mx8mm \
mx8mn \
mx8mnul \
mx8mp \
mx8mq \
mx8qxp \
mx8dx \
mx8dxl \
mx8ulp \
mx91 \
mx93 \
mx95 \
"
MACHINEOVERRIDES_FILTERED_OUT_QA_ERROR = "%s overrides cannot be used and need conversion to use the new BSP-specific overrides. Check 'meta-freescale/scripts/convert-bsp-specific-overrides'."
# Sub-architecture support
MACHINE_SOCARCH_SUFFIX ?= ""
MACHINE_SOCARCH_SUFFIX:mx6q-nxp-bsp = "-mx6qdl"
MACHINE_SOCARCH_SUFFIX:mx6dl-nxp-bsp = "-mx6qdl"
MACHINE_SOCARCH_SUFFIX:mx6sx-nxp-bsp = "-mx6sx"
MACHINE_SOCARCH_SUFFIX:mx6sl-nxp-bsp = "-mx6sl"
MACHINE_SOCARCH_SUFFIX:mx6sll-nxp-bsp= "-mx6sll"
MACHINE_SOCARCH_SUFFIX:mx7d-nxp-bsp = "-mx7d"
MACHINE_SOCARCH_SUFFIX:mx7ulp-nxp-bsp = "-mx7ulp"
MACHINE_SOCARCH_SUFFIX:vf-nxp-bsp = "-vf"
MACHINE_SOCARCH_SUFFIX:mx6ul-nxp-bsp = "-mx6ul"
MACHINE_SOCARCH_SUFFIX:mx6ull-nxp-bsp = "-mx6ul"
MACHINE_SOCARCH_SUFFIX:mx6ulz-nxp-bsp = "-mx6ul"
MACHINE_SOCARCH_SUFFIX:mx8qm-nxp-bsp = "-mx8"
MACHINE_SOCARCH_SUFFIX:mx8mm-nxp-bsp = "-mx8mm"
MACHINE_SOCARCH_SUFFIX:mx8mn-nxp-bsp = "-mx8mn"
MACHINE_SOCARCH_SUFFIX:mx8mnul-nxp-bsp = "-mx8mnl"
MACHINE_SOCARCH_SUFFIX:mx8mp-nxp-bsp = "-mx8mp"
MACHINE_SOCARCH_SUFFIX:mx8mq-nxp-bsp = "-mx8m"
MACHINE_SOCARCH_SUFFIX:mx8qxp-nxp-bsp = "-mx8"
MACHINE_SOCARCH_SUFFIX:mx8dx-nxp-bsp = "-mx8"
MACHINE_SOCARCH_SUFFIX:mx8dxl-nxp-bsp = "-mx8xl"
MACHINE_SOCARCH_SUFFIX:mx8ulp-nxp-bsp = "-mx8ulp"
MACHINE_SOCARCH_SUFFIX:mx91-nxp-bsp = "-mx91"
MACHINE_SOCARCH_SUFFIX:mx93-nxp-bsp = "-mx93"
MACHINE_SOCARCH_SUFFIX:mx95-nxp-bsp = "-mx95"
# For Mainline we use a single SoC suffix as we don't have different build options
MACHINE_SOCARCH_SUFFIX:imx-mainline-bsp = "-imx"
MACHINE_ARCH_FILTER = "virtual/kernel"
MACHINE_SOCARCH_FILTER:append:imx-nxp-bsp = " \
alsa-lib \
gstreamer1.0 \
weston \
"
MACHINE_SOCARCH_FILTER:append:imxvpu = " \
imx-codec \
imx-vpuwrap \
libimxvpuapi \
virtual/imxvpu \
"
MACHINE_SOCARCH_FILTER:append:imxvulkan = " \
vulkan-headers \
vulkan-loader \
vulkan-tools \
vulkan-validation-layers \
"
MACHINE_SOCARCH_FILTER:append:imxgpu = " \
virtual/egl \
virtual/libopenvg \
virtual/mesa \
virtual/opencl-icd \
libdrm \
cairo \
libgal-imx \
opencl-icd-loader \
opencl-clhpp \
opencl-headers \
opencv \
pango \
"
MACHINE_SOCARCH_FILTER:append:imxgpu2d = " \
virtual/libg2d \
"
MACHINE_SOCARCH_FILTER:append:imxgpu3d = " \
virtual/libgl \
virtual/libgles1 \
virtual/libgles2 \
"
MACHINE_SOCARCH_FILTER:append:imx-mainline-bsp = " \
virtual/egl \
virtual/libopenvg \
virtual/libg2d \
virtual/libgl \
virtual/libgles1 \
virtual/libgles2 \
virtual/mesa \
cairo \
pango \
qtbase \
"
MACHINE_SOCARCH_FILTER:append:mx8qm-nxp-bsp = " \
virtual/libopenvx \
"
INHERIT += "fsl-dynamic-packagearch"
SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS:append = " \
imx-gpu-viv->kernel-module-imx-gpu-viv \
libimxvpuapi->virtual/imxvpu \
imx-vpuwrap->virtual/imxvpu \
imx-codec->virtual/imxvpu \
imx-test->virtual/imxvpu \
"
# Firmware used for boot.
IMX_EXTRA_FIRMWARE ?= ""
IMX_EXTRA_FIRMWARE:mx8-generic-bsp = "imx-boot-firmware-files imx-sc-firmware imx-seco"
IMX_EXTRA_FIRMWARE:mx8m-generic-bsp = "imx-boot-firmware-files"
IMX_EXTRA_FIRMWARE:mx8x-generic-bsp = "imx-sc-firmware imx-seco"
IMX_EXTRA_FIRMWARE:mx8ulp-generic-bsp = "firmware-upower firmware-ele-imx"
IMX_EXTRA_FIRMWARE:mx91-generic-bsp = "imx-boot-firmware-files firmware-ele-imx"
IMX_EXTRA_FIRMWARE:mx93-generic-bsp = "imx-boot-firmware-files firmware-ele-imx"
PREFERRED_PROVIDER_virtual/imx-system-manager ??= "imx-system-manager"
PREFERRED_PROVIDER_virtual/imx-oei ??= "imx-oei"
IMX_EXTRA_FIRMWARE:mx95-generic-bsp = "imx-boot-firmware-files firmware-ele-imx virtual/imx-system-manager virtual/imx-oei"
# Firmware
MACHINE_FIRMWARE ?= ""
MACHINE_FIRMWARE:append:mx51-generic-bsp = " firmware-imx-vpu-imx51 firmware-imx-sdma-imx51"
MACHINE_FIRMWARE:append:mx53-generic-bsp = " firmware-imx-vpu-imx53 firmware-imx-sdma-imx53"
MACHINE_FIRMWARE:append:mx6-generic-bsp = " linux-firmware-imx-sdma-imx6q"
MACHINE_FIRMWARE:append:mx6q-generic-bsp = " firmware-imx-vpu-imx6q"
MACHINE_FIRMWARE:append:mx6dl-generic-bsp = " firmware-imx-vpu-imx6d firmware-imx-epdc"
MACHINE_FIRMWARE:append:mx6sl-generic-bsp = " firmware-imx-epdc"
MACHINE_FIRMWARE:append:mx6sll-generic-bsp = " firmware-imx-epdc"
MACHINE_FIRMWARE:append:mx6ull-generic-bsp = " firmware-imx-epdc"
MACHINE_FIRMWARE:append:mx7d-generic-bsp = " linux-firmware-imx-sdma-imx7d firmware-imx-epdc"
MACHINE_FIRMWARE:append:mx8qm-generic-bsp = " linux-firmware-imx-sdma-imx7d firmware-imx-vpu-amphion"
MACHINE_FIRMWARE:append:mx8mm-generic-bsp = " linux-firmware-imx-sdma-imx7d"
MACHINE_FIRMWARE:append:mx8mn-generic-bsp = " linux-firmware-imx-sdma-imx7d firmware-imx-easrc-imx8mn"
MACHINE_FIRMWARE:append:mx8mnul-generic-bsp = " linux-firmware-imx-sdma-imx7d firmware-imx-easrc-imx8mn"
MACHINE_FIRMWARE:append:mx8mp-generic-bsp = " linux-firmware-imx-sdma-imx7d firmware-imx-easrc-imx8mn firmware-imx-xcvr-imx8mp firmware-sof-imx"
MACHINE_FIRMWARE:append:mx8mq-generic-bsp = " linux-firmware-imx-sdma-imx7d"
MACHINE_FIRMWARE:append:mx8qxp-generic-bsp = " linux-firmware-imx-sdma-imx7d firmware-imx-vpu-amphion"
MACHINE_FIRMWARE:append:mx8dx-generic-bsp = " linux-firmware-imx-sdma-imx7d firmware-imx-vpu-amphion"
MACHINE_FIRMWARE:append:mx95-generic-bsp = " firmware-imx-vpu-wave"
MACHINE_FIRMWARE:append:imx-mainline-bsp = " linux-firmware-imx-sdma-imx6q linux-firmware-imx-sdma-imx7d firmware-imx-vpu-imx6q firmware-imx-vpu-imx6d"
MACHINE_EXTRA_RRECOMMENDS += "${MACHINE_FIRMWARE}"
# Extra audio support
IMX_ALSA_EXTRA = ""
IMX_ALSA_EXTRA:imx-nxp-bsp = "imx-alsa-plugins"
MACHINE_EXTRA_RRECOMMENDS:append:mx6-nxp-bsp = " ${@bb.utils.contains('DISTRO_FEATURES', 'alsa', '${IMX_ALSA_EXTRA}', '', d)}"
MACHINE_EXTRA_RRECOMMENDS:append:mx7-nxp-bsp = " ${@bb.utils.contains('DISTRO_FEATURES', 'alsa', '${IMX_ALSA_EXTRA}', '', d)}"
MACHINE_EXTRA_RRECOMMENDS:append:mx8-nxp-bsp = " ${@bb.utils.contains('DISTRO_FEATURES', 'alsa', '${IMX_ALSA_EXTRA}', '', d)}"
MACHINE_EXTRA_RRECOMMENDS:append:mx9-nxp-bsp = " ${@bb.utils.contains('DISTRO_FEATURES', 'alsa', '${IMX_ALSA_EXTRA}', '', d)}"
# Extra Cypress Wi-Fi and BTW firmware (Murata)
MACHINE_FIRMWARE:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'bcm4339', 'linux-firmware-bcm4339', '', d)}"
MACHINE_FIRMWARE:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'bcm43430', 'linux-firmware-bcm43430', '', d)}"
MACHINE_FIRMWARE:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'bcm43455', 'linux-firmware-bcm43455', '', d)}"
MACHINE_FIRMWARE:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'bcm4356', 'linux-firmware-bcm4356-pcie', '', d)}"
MACHINE_FIRMWARE:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'bcm4359', 'firmware-nxp-wifi-bcm4359-pcie', '', d)}"
# Extra NXP Wi-Fi and Bluetooth driver firmware and driver
MACHINE_FIRMWARE:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'nxp8801-sdio', 'firmware-nxp-wifi-nxp8801-sdio', '', d)}"
MACHINE_EXTRA_RRECOMMENDS:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'nxp8801-sdio', 'kernel-module-nxp-wlan', '', d)}"
MACHINE_FIRMWARE:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'nxp8987-sdio', 'firmware-nxp-wifi-nxp8987-sdio', '', d)}"
MACHINE_EXTRA_RRECOMMENDS:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'nxp8987-sdio', 'kernel-module-nxp-wlan', '', d)}"
PREFERRED_RPROVIDER_linux-firmware-nxp8987-sdio = "firmware-nxp-wifi"
MACHINE_FIRMWARE:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'nxp8997-pcie', 'firmware-nxp-wifi-nxp8997-pcie', '', d)}"
MACHINE_EXTRA_RRECOMMENDS:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'nxp8997-pcie', 'kernel-module-nxp-wlan', '', d)}"
PREFERRED_RPROVIDER_linux-firmware-nxp8997-common = "firmware-nxp-wifi"
PREFERRED_RPROVIDER_linux-firmware-nxp8997-pcie = "firmware-nxp-wifi"
MACHINE_FIRMWARE:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'nxp8997-sdio', 'firmware-nxp-wifi-nxp8997-sdio', '', d)}"
MACHINE_EXTRA_RRECOMMENDS:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'nxp8997-sdio', 'kernel-module-nxp-wlan', '', d)}"
PREFERRED_RPROVIDER_linux-firmware-nxp8997-sdio = "firmware-nxp-wifi"
MACHINE_FIRMWARE:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'nxp9098-pcie', 'firmware-nxp-wifi-nxp9098-pcie', '', d)}"
MACHINE_EXTRA_RRECOMMENDS:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'nxp9098-pcie', 'kernel-module-nxp-wlan', '', d)}"
PREFERRED_RPROVIDER_linux-firmware-nxp9098-common = "firmware-nxp-wifi"
PREFERRED_RPROVIDER_linux-firmware-nxp9098-pcie = "firmware-nxp-wifi"
MACHINE_FIRMWARE:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'nxp9098-sdio', 'firmware-nxp-wifi-nxp9098-sdio', '', d)}"
MACHINE_EXTRA_RRECOMMENDS:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'nxp9098-sdio', 'kernel-module-nxp-wlan', '', d)}"
PREFERRED_RPROVIDER_linux-firmware-nxp9098-sdio = "firmware-nxp-wifi"
MACHINE_FIRMWARE:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'nxpiw416-sdio', 'firmware-nxp-wifi-nxpiw416-sdio', '', d)}"
MACHINE_EXTRA_RRECOMMENDS:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'nxpiw416-sdio', 'kernel-module-nxp-wlan', '', d)}"
PREFERRED_RPROVIDER_linux-firmware-nxpiw416-sdio = "firmware-nxp-wifi"
MACHINE_FIRMWARE:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'nxpiw612-sdio', 'firmware-nxp-wifi-nxpiw612-sdio', '', d)}"
MACHINE_EXTRA_RRECOMMENDS:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'nxpiw612-sdio', 'kernel-module-nxp-wlan', '', d)}"
PREFERRED_RPROVIDER_linux-firmware-nxpiw612-sdio = "firmware-nxp-wifi"
# Extra QCA Wi-Fi & BTE driver and firmware
MACHINE_EXTRA_RRECOMMENDS:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'qca6174', 'packagegroup-fsl-qca6174', '', d)}"
MACHINE_EXTRA_RRECOMMENDS:append = " ${@bb.utils.contains('MACHINE_FEATURES', 'qca9377', 'packagegroup-fsl-qca9377', '', d)}"
# Extra udev rules
MACHINE_EXTRA_RRECOMMENDS += "udev-rules-imx"
# Jailhouse
PREFERRED_PROVIDER_jailhouse:imx-nxp-bsp ?= "jailhouse-imx"
MACHINE_EXTRA_RRECOMMENDS += " \
${@bb.utils.filter('COMBINED_FEATURES', 'jailhouse', d)} \
"
# ELE extra Firmware
SECOEXT_FIRMWARE_NAME ?= ""
SECOEXT_FIRMWARE_NAME:mx8ulp-generic-bsp ?= "mx8ulp${IMX_SOC_REV_LOWER}ext-ahab-container.img"
SECOEXT_FIRMWARE_NAME:mx95-generic-bsp ?= "mx95a0runtime-ahab-container.img mx95b0runtime-ahab-container.img"
# GStreamer 1.0 plugins
MACHINE_GSTREAMER_1_0_PLUGIN ?= ""
MACHINE_GSTREAMER_1_0_PLUGIN:mx6dl-nxp-bsp ?= "gstreamer1.0-plugins-imx-meta"
MACHINE_GSTREAMER_1_0_PLUGIN:mx6q-nxp-bsp ?= "gstreamer1.0-plugins-imx-meta"
MACHINE_GSTREAMER_1_0_PLUGIN:mx6sl-nxp-bsp ?= "gstreamer1.0-plugins-imx-meta"
MACHINE_GSTREAMER_1_0_PLUGIN:mx6sx-nxp-bsp ?= "gstreamer1.0-plugins-imx-meta"
MACHINE_GSTREAMER_1_0_PLUGIN:mx6ul-nxp-bsp ?= "gstreamer1.0-plugins-imx-meta"
MACHINE_GSTREAMER_1_0_PLUGIN:mx6ull-nxp-bsp ?= "gstreamer1.0-plugins-imx-meta"
MACHINE_GSTREAMER_1_0_PLUGIN:mx7d-nxp-bsp ?= "gstreamer1.0-plugins-imx-meta"
MACHINE_GSTREAMER_1_0_PLUGIN:mx8mm-nxp-bsp ?= "gstreamer1.0-plugins-imx-meta"
MACHINE_GSTREAMER_1_0_PLUGIN:mx8mn-nxp-bsp ?= "imx-gst1.0-plugin"
MACHINE_GSTREAMER_1_0_PLUGIN:mx8mp-nxp-bsp ?= "imx-gst1.0-plugin"
MACHINE_GSTREAMER_1_0_PLUGIN:mx8mq-nxp-bsp ?= "gstreamer1.0-plugins-imx-meta"
MACHINE_GSTREAMER_1_0_PLUGIN:mx8qm-nxp-bsp ?= "imx-gst1.0-plugin"
MACHINE_GSTREAMER_1_0_PLUGIN:mx8qxp-nxp-bsp ?= "imx-gst1.0-plugin"
MACHINE_GSTREAMER_1_0_PLUGIN:mx8dx-nxp-bsp ?= "imx-gst1.0-plugin"
MACHINE_GSTREAMER_1_0_PLUGIN:mx8ulp-nxp-bsp ?= "imx-gst1.0-plugin"
MACHINE_GSTREAMER_1_0_PLUGIN:mx93-nxp-bsp ?= "imx-gst1.0-plugin"
# GStreamer forked recipes
PREFERRED_VERSION_gstreamer1.0:mx8-nxp-bsp ??= "1.24.0.imx"
PREFERRED_VERSION_gstreamer1.0-plugins-bad:mx8-nxp-bsp ??= "1.24.0.imx"
PREFERRED_VERSION_gstreamer1.0-plugins-base:mx8-nxp-bsp ??= "1.24.0.imx"
PREFERRED_VERSION_gstreamer1.0-plugins-good:mx8-nxp-bsp ??= "1.24.0.imx"
PREFERRED_VERSION_gstreamer1.0:mx9-nxp-bsp ??= "1.24.0.imx"
PREFERRED_VERSION_gstreamer1.0-plugins-bad:mx9-nxp-bsp ??= "1.24.0.imx"
PREFERRED_VERSION_gstreamer1.0-plugins-base:mx9-nxp-bsp ??= "1.24.0.imx"
PREFERRED_VERSION_gstreamer1.0-plugins-good:mx9-nxp-bsp ??= "1.24.0.imx"
# GStreamer copied recipes
PREFERRED_VERSION_gst-devtools:mx8-nxp-bsp ??= "1.24.0.imx"
PREFERRED_VERSION_gstreamer1.0-libav:mx8-nxp-bsp ??= "1.24.0.imx"
PREFERRED_VERSION_gstreamer1.0-plugins-ugly:mx8-nxp-bsp ??= "1.24.0.imx"
PREFERRED_VERSION_gstreamer1.0-python:mx8-nxp-bsp ??= "1.24.0.imx"
PREFERRED_VERSION_gstreamer1.0-rtsp-server:mx8-nxp-bsp ??= "1.24.0.imx"
PREFERRED_VERSION_gstreamer1.0-vaapi:mx8-nxp-bsp ??= "1.24.0.imx"
PREFERRED_VERSION_gst-devtools:mx9-nxp-bsp ??= "1.24.0.imx"
PREFERRED_VERSION_gstreamer1.0-libav:mx9-nxp-bsp ??= "1.24.0.imx"
PREFERRED_VERSION_gstreamer1.0-plugins-ugly:mx9-nxp-bsp ??= "1.24.0.imx"
PREFERRED_VERSION_gstreamer1.0-python:mx9-nxp-bsp ??= "1.24.0.imx"
PREFERRED_VERSION_gstreamer1.0-rtsp-server:mx9-nxp-bsp ??= "1.24.0.imx"
PREFERRED_VERSION_gstreamer1.0-vaapi:mx9-nxp-bsp ??= "1.24.0.imx"
# GStreamer downgrade ffmpeg
PREFERRED_VERSION_ffmpeg:mx8-nxp-bsp ??= "4.4.1"
PREFERRED_VERSION_ffmpeg:mx9-nxp-bsp ??= "4.4.1"
# Determines if the SoC has support for Vivante kernel driver
SOC_HAS_VIVANTE_KERNEL_DRIVER_SUPPORT = "0"
SOC_HAS_VIVANTE_KERNEL_DRIVER_SUPPORT:imxgpu = "1"
# Handle Vivante kernel driver setting:
# 0 - machine does not have Vivante GPU driver support
# 1 - machine has Vivante GPU driver support
MACHINE_HAS_VIVANTE_KERNEL_DRIVER_SUPPORT ?= "${SOC_HAS_VIVANTE_KERNEL_DRIVER_SUPPORT}"
# Override graphics for i.MX GPU
IMXGPU_GRAPHICS_PROVIDER:imxviv ?= "imx-gpu-viv"
IMXGPU_GRAPHICS_PROVIDER:imxmali ?= "mali-imx"
PREFERRED_PROVIDER_virtual/egl:imxgpu ?= "${IMXGPU_GRAPHICS_PROVIDER}"
PREFERRED_PROVIDER_virtual/libgl:imxgpu ?= "mesa-gl"
PREFERRED_PROVIDER_virtual/mesa:imxgpu ?= "mesa-gl"
PREFERRED_PROVIDER_virtual/libgles1:imxgpu3d ?= "${IMXGPU_GRAPHICS_PROVIDER}"
PREFERRED_PROVIDER_virtual/libgles2:imxgpu3d ?= "${IMXGPU_GRAPHICS_PROVIDER}"
PREFERRED_PROVIDER_virtual/libgles3:imxgpu3d ?= "${IMXGPU_GRAPHICS_PROVIDER}"
# The Vivante OpenCL implementation doesn't work with the standard headers and loader
PREFERRED_PROVIDER_opencl-clhpp:imxviv ?= "imx-gpu-viv"
PREFERRED_PROVIDER_opencl-headers:imxviv ?= "imx-gpu-viv"
PREFERRED_PROVIDER_opencl-icd-loader:imxviv ?= "imx-gpu-viv"
PREFERRED_PROVIDER_virtual/opencl-icd:imxviv ?= "imx-gpu-viv"
PREFERRED_PROVIDER_virtual/libg2d ?= "imx-gpu-g2d"
PREFERRED_PROVIDER_virtual/libg2d:imxdpu ?= "imx-dpu-g2d"
PREFERRED_PROVIDER_virtual/libg2d:mx93-nxp-bsp ?= "imx-pxp-g2d"
PREFERRED_VERSION_weston:imx-nxp-bsp ??= "12.0.4.imx"
# i.MX 6 & 7 stay on weston 10.0 for fbdev
PREFERRED_VERSION_weston:mx6-nxp-bsp ??= "10.0.5.imx"
PREFERRED_VERSION_weston:mx7-nxp-bsp ??= "10.0.5.imx"
PREFERRED_VERSION_weston:imx-mainline-bsp = ""
PREFERRED_VERSION_wayland-protocols:imx-nxp-bsp ??= "1.32.imx"
PREFERRED_VERSION_xwayland:imx-nxp-bsp ??= "23.2.5.imx"
# Use i.MX libdrm Version
PREFERRED_VERSION_libdrm:imx-nxp-bsp ??= "2.4.116.imx"
PREFERRED_VERSION_spirv-headers:imxvulkan ??= "1.3.275.0.imx"
PREFERRED_VERSION_spirv-tools:imxvulkan ??= "1.3.275.0.imx"
PREFERRED_VERSION_vulkan-headers:imxvulkan ??= "1.3.275.0.imx"
PREFERRED_VERSION_vulkan-loader:imxvulkan ??= "1.3.275.0.imx"
PREFERRED_VERSION_vulkan-tools:imxvulkan ??= "1.3.275.0.imx"
PREFERRED_VERSION_vulkan-validation-layers:imxvulkan ??= "1.3.275.0.imx"
# Use i.MX optee Version
PREFERRED_VERSION_optee-os:mx8-nxp-bsp ??= "4.2.0.imx"
PREFERRED_VERSION_optee-os:mx9-nxp-bsp ??= "4.2.0.imx"
PREFERRED_VERSION_optee-client:mx8-nxp-bsp ??= "4.2.0.imx"
PREFERRED_VERSION_optee-client:mx9-nxp-bsp ??= "4.2.0.imx"
PREFERRED_VERSION_optee-test:mx8-nxp-bsp ??= "4.2.0.imx"
PREFERRED_VERSION_optee-test:mx9-nxp-bsp ??= "4.2.0.imx"
# Use i.MX opencv Version
PREFERRED_VERSION_opencv:mx8-nxp-bsp ??= "4.6.0.imx"
PREFERRED_VERSION_opencv:mx9-nxp-bsp ??= "4.6.0.imx"
# Handle default kernel
IMX_DEFAULT_KERNEL:imx-mainline-bsp = "linux-fslc"
IMX_DEFAULT_KERNEL:imx-nxp-bsp = "linux-fslc-imx"
PREFERRED_PROVIDER_virtual/kernel ??= "${IMX_DEFAULT_KERNEL}"
SOC_DEFAULT_IMAGE_FSTYPES = "wic.bmap wic.gz"
SOC_DEFAULT_IMAGE_FSTYPES:mxs-generic-bsp = "uboot-mxsboot-sdcard wic.bmap wic.gz"
# Do not update fstab file when using wic images
WIC_CREATE_EXTRA_ARGS ?= "--no-fstab-update"
OPTEE_BIN_EXT ??= ""
OPTEE_BOOT_IMAGE = "tee.bin uTee-${OPTEE_BIN_EXT}"
OPTEE_BOOT_IMAGE:mx8-generic-bsp = "tee.bin"
OPTEE_BOOT_IMAGE:mx9-generic-bsp = "tee.bin"
IMAGE_FSTYPES ?= "${SOC_DEFAULT_IMAGE_FSTYPES}"
IMAGE_BOOT_FILES ?= " \
${KERNEL_IMAGETYPE} \
${@bb.utils.contains('KERNEL_IMAGETYPE', 'fitImage', '', '${@make_dtb_boot_files(d)}', d)} \
${@bb.utils.contains('MACHINE_FEATURES', 'optee', '${OPTEE_BOOT_IMAGE}', '', d)} \
"
### wic default support
OPTEE_WKS_FILE_DEPENDS = "optee-os"
OPTEE_WKS_FILE_DEPENDS:aarch64 = ""
WKS_FILE_DEPENDS ?= " \
virtual/bootloader \
\
e2fsprogs-native \
bmaptool-native \
${@bb.utils.contains('MACHINE_FEATURES', 'optee', '${OPTEE_WKS_FILE_DEPENDS}', '', d)} \
"
# We need to restrict the append so we don't add this for other i.MX SoC's.
# Derivatives that are not yet adopted the usage of boot container provided
# by U-Boot build are still targeted to use 'imx-boot' package provided by
# NXP.
#
# Moving those derivatives to mainline BSP would require to set
# UBOOT_PROVIDES_BOOT_CONTAINER to "1" and test if the U-Boot built 'flash.bin'
# binary is a working replacement.
#
# NOTE: the results binary name of the boot container is set to 'imx-boot'
# for both NXP and Mainline BSP.
WKS_FILE_DEPENDS:append:imx-generic-bsp:mx8-generic-bsp = " \
${@oe.utils.ifelse(d.getVar('UBOOT_PROVIDES_BOOT_CONTAINER') == '0', 'imx-boot', '')} \
"
WKS_FILE_DEPENDS:append:imx-generic-bsp:mx9-generic-bsp = " \
${@oe.utils.ifelse(d.getVar('UBOOT_PROVIDES_BOOT_CONTAINER') == '0', 'imx-boot', '')} \
"
SOC_DEFAULT_WKS_FILE ?= "imx-uboot-bootpart.wks.in"
SOC_DEFAULT_WKS_FILE:mxs-generic-bsp ?= "imx-uboot-mxs-bootpart.wks.in"
SOC_DEFAULT_WKS_FILE:mx8-generic-bsp ?= "imx-imx-boot-bootpart.wks.in"
SOC_DEFAULT_WKS_FILE:mx9-generic-bsp ?= "imx-imx-boot-bootpart.wks.in"
WKS_FILE ?= "${SOC_DEFAULT_WKS_FILE}"
SERIAL_CONSOLES = "115200;ttymxc0"
SERIAL_CONSOLES:mxs-generic-bsp = "115200;ttyAMA0"
KERNEL_IMAGETYPE = "zImage"
KERNEL_IMAGETYPE:mx8-generic-bsp = "Image"
KERNEL_IMAGETYPE:mx9-generic-bsp = "Image"
MACHINE_FEATURES = "usbgadget usbhost vfat alsa touchscreen screen"
HOSTTOOLS_NONFATAL:append:mx8-nxp-bsp = " sha384sum"
# Add task to generate the mfgtool bundle for the image.
IMAGE_CLASSES:append:imx-generic-bsp = " image_populate_mfgtool"
# Allow meta-imx to add NIP devices information until upstreamed.
include conf/machine/include/imx-base-extend.inc

View File

@@ -0,0 +1,9 @@
require conf/machine/include/imx8dxl-evk.inc
KERNEL_DEVICETREE_BASENAME = "imx8dxl-ddr3l-evk"
UBOOT_CONFIG_BASENAME = "imx8dxl_ddr3l_evk"
UBOOT_CONFIG[nand] = "${UBOOT_CONFIG_BASENAME}_nand_defconfig"
BOARD_TYPE = "ddr3-evk"

View File

@@ -0,0 +1,60 @@
MACHINEOVERRIDES =. "mx8dxl:"
require conf/machine/include/imx-base.inc
require conf/machine/include/arm/armv8a/tune-cortexa35.inc
IMX_DEFAULT_BSP = "nxp"
MACHINE_FEATURES += "pci bcm43455 bcm4356 nxp8997-pcie nxp9098-pcie"
MACHINE_FEATURES:append:use-nxp-bsp = " bcm4359"
# Don't include kernels in standard images
RRECOMMENDS:${KERNEL_PACKAGE_NAME}-base = ""
LOADADDR = ""
# Disable the serial console due to auto-serial-console
SERIAL_CONSOLES = "115200;ttyLP0"
# we do not want to have getty running on tty1 as we run
# auto-serial-console there
USE_VT = "0"
KERNEL_DEVICETREE = " \
freescale/${KERNEL_DEVICETREE_BASENAME}.dtb \
"
KERNEL_DEVICETREE:append:use-nxp-bsp = " \
freescale/${KERNEL_DEVICETREE_BASENAME}-rpmsg.dtb \
"
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] = "${UBOOT_CONFIG_BASENAME}_defconfig,sdcard"
UBOOT_CONFIG[fspi] = "${UBOOT_CONFIG_BASENAME}_fspi_defconfig"
IMX_BOOT_SEEK = "32"
IMXBOOT_TARGETS_SD = \
"${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'flash_spl', \
'flash', d)}"
IMXBOOT_TARGETS_FSPI = \
"${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'flash_spl_flexspi', \
'flash_flexspi', d)}"
IMXBOOT_TARGETS_NAND = \
"${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'flash_spl_nand', \
'flash_nand flash_nand_fw', d)}"
IMXBOOT_TARGETS = \
"${@bb.utils.contains('UBOOT_CONFIG', 'sd', '${IMXBOOT_TARGETS_SD}', \
bb.utils.contains('UBOOT_CONFIG', 'fspi', '${IMXBOOT_TARGETS_FSPI}', \
bb.utils.contains('UBOOT_CONFIG', 'nand', '${IMXBOOT_TARGETS_NAND}', \
'INVALID', d), d), d)}"

View File

@@ -0,0 +1,17 @@
require conf/machine/include/imx8dxl-evk.inc
KERNEL_DEVICETREE_BASENAME = "imx8dxl-evk"
KERNEL_DEVICETREE:append:use-nxp-bsp = " \
freescale/${KERNEL_DEVICETREE_BASENAME}-enet0.dtb \
freescale/${KERNEL_DEVICETREE_BASENAME}-enet0-tja1100.dtb \
freescale/${KERNEL_DEVICETREE_BASENAME}-lcdif.dtb \
freescale/${KERNEL_DEVICETREE_BASENAME}-lpspi-slave.dtb \
freescale/${KERNEL_DEVICETREE_BASENAME}-pcie-ep.dtb \
"
UBOOT_CONFIG_BASENAME = "imx8dxl_evk"
UBOOT_CONFIG[lcd] = "${UBOOT_CONFIG_BASENAME}_lcd_defconfig"
BOARD_TYPE = "evk"

View File

@@ -0,0 +1,75 @@
MACHINEOVERRIDES =. "mx8mm:"
require conf/machine/include/imx-base.inc
require conf/machine/include/arm/armv8a/tune-cortexa53.inc
# Mainline BSP defaults to "generic" cortexa53 configuration,
# adjust it here to include crypto extension which enables
# inline NEON and FPU code generation
DEFAULTTUNE:use-mainline-bsp = "cortexa53-crypto"
MACHINE_FEATURES += "pci wifi bluetooth bcm43455 bcm4356 nxp8987-sdio"
# NXP BSP can consume proprietary jailhouse and BCM4359 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
# OP-TEE is also applicable to NXP BSP, mainline BSP seems not to have
# a full support for it yet.
MACHINE_FEATURES:append:use-nxp-bsp = " optee jailhouse bcm4359"
KERNEL_DEVICETREE = " \
freescale/${KERNEL_DEVICETREE_BASENAME}.dtb \
"
KERNEL_DEVICETREE:append:use-nxp-bsp = " \
freescale/${KERNEL_DEVICETREE_BASENAME}-pcie-ep.dtb \
freescale/${KERNEL_DEVICETREE_BASENAME}-rm67191.dtb \
freescale/${KERNEL_DEVICETREE_BASENAME}-rm67191-cmd-ram.dtb \
freescale/${KERNEL_DEVICETREE_BASENAME}-rm67199.dtb \
freescale/${KERNEL_DEVICETREE_BASENAME}-rm67199-cmd-ram.dtb \
"
UBOOT_DTB_NAME = "${KERNEL_DEVICETREE_BASENAME}.dtb"
UBOOT_SUFFIX = "bin"
UBOOT_CONFIG ??= "sd"
UBOOT_CONFIG[sd] = "${UBOOT_CONFIG_BASENAME}_defconfig,sdcard"
SPL_BINARY = "spl/u-boot-spl.bin"
ATF_PLATFORM = "imx8mm"
IMXBOOT_TARGETS = "${@bb.utils.contains('UBOOT_CONFIG', 'fspi', '${IMXBOOT_TARGETS_BASENAME}_flexspi', '${IMXBOOT_TARGETS_BASENAME}', d)}"
IMX_BOOT_SOC_TARGET = "iMX8MM"
SERIAL_CONSOLES = "115200;ttymxc1"
# Add support for Syslinux to mainline BSP.
# U-Boot has the Distro Boot mode enabled by default, which
# require that either Syslinux to be enabled, or a boot script
# to be used to define the boot process.
# We opt-in for Syslinux, since it is designated as a preferred
# distro boot mode according to the U-Boot documentation.
UBOOT_EXTLINUX:use-mainline-bsp = "1"
UBOOT_EXTLINUX_LABELS:use-mainline-bsp = "default"
UBOOT_EXTLINUX_DEFAULT_LABEL:use-mainline-bsp = "i.MX8M Mini EVK"
UBOOT_EXTLINUX_MENU_DESCRIPTION:default:use-mainline-bsp = "i.MX8M Mini EVK"
UBOOT_EXTLINUX_FDT:default:use-mainline-bsp = "../${KERNEL_DEVICETREE_BASENAME}.dtb"
UBOOT_EXTLINUX_CONSOLE:default:use-mainline-bsp = "console=${console}"
UBOOT_EXTLINUX_ROOT:default:use-mainline-bsp = "root=/dev/mmcblk1p2"
# Add extlinux.conf to the lis of files, which are deployed onto the
# boot partition
IMAGE_BOOT_FILES:append:use-mainline-bsp = " extlinux.conf;extlinux/extlinux.conf"
LOADADDR = ""
UBOOT_MAKE_TARGET = "all"
IMX_BOOT_SEEK = "33"
OPTEE_BIN_EXT = "8mm"
TEE_LOAD_ADDR = "0xbe000000"
# Add additional firmware
MACHINE_FIRMWARE:append = " linux-firmware-ath10k"

View File

@@ -0,0 +1,84 @@
MACHINEOVERRIDES =. "mx8mn:"
require conf/machine/include/imx-base.inc
require conf/machine/include/arm/armv8a/tune-cortexa53.inc
# Mainline BSP defaults to "generic" cortexa53 configuration,
# adjust it here to include crypto extension which enables
# inline NEON and FPU code generation
DEFAULTTUNE:use-mainline-bsp = "cortexa53-crypto"
MACHINE_FEATURES += "wifi bluetooth bcm43455 bcm4356 nxp8987-sdio"
# NXP BSP can consume proprietary jailhouse and Broadcom drivers
# OP-TEE is also applicable to NXP BSP, mainline BSP seems not to have
# a full support for it yet.
MACHINE_FEATURES:append:use-nxp-bsp = " optee jailhouse bcm4359"
KERNEL_DEVICETREE = " \
freescale/${KERNEL_DEVICETREE_BASENAME}.dtb \
"
KERNEL_DEVICETREE:append:use-nxp-bsp = " \
freescale/${KERNEL_DEVICETREE_BASENAME}-ak5558.dtb \
freescale/${KERNEL_DEVICETREE_BASENAME}-lk.dtb \
freescale/${KERNEL_DEVICETREE_BASENAME}-rm67191.dtb \
freescale/${KERNEL_DEVICETREE_BASENAME}-rm67191-cmd-ram.dtb \
freescale/${KERNEL_DEVICETREE_BASENAME}-rm67199.dtb \
freescale/${KERNEL_DEVICETREE_BASENAME}-rm67199-cmd-ram.dtb \
freescale/${KERNEL_DEVICETREE_BASENAME}-rpmsg.dtb \
"
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"
UBOOT_CONFIG[ld] = "${UBOOT_CONFIG_BASENAME}_ld_defconfig"
SPL_BINARY = "spl/u-boot-spl.bin"
ATF_PLATFORM = "imx8mn"
IMXBOOT_TARGETS = "${@bb.utils.contains('UBOOT_CONFIG', 'fspi', '${IMXBOOT_TARGETS_BASENAME}_flexspi', '${IMXBOOT_TARGETS_BASENAME}', d)}"
IMX_BOOT_SOC_TARGET = "iMX8MN"
SERIAL_CONSOLES = "115200;ttymxc1"
# Add support for Syslinux to mainline BSP.
# U-Boot has the Distro Boot mode enabled by default, which
# require that either Syslinux to be enabled, or a boot script
# to be used to define the boot process.
# We opt-in for Syslinux, since it is designated as a preferred
# distro boot mode according to the U-Boot documentation.
UBOOT_EXTLINUX:use-mainline-bsp = "1"
UBOOT_EXTLINUX_LABELS:use-mainline-bsp = "default"
UBOOT_EXTLINUX_DEFAULT_LABEL:use-mainline-bsp = "i.MX8M Nano EVK"
UBOOT_EXTLINUX_MENU_DESCRIPTION:default:use-mainline-bsp = "i.MX8M Nano EVK"
UBOOT_EXTLINUX_FDT:default:use-mainline-bsp = "../${KERNEL_DEVICETREE_BASENAME}.dtb"
UBOOT_EXTLINUX_CONSOLE:default:use-mainline-bsp = "console=${console}"
UBOOT_EXTLINUX_ROOT:default:use-mainline-bsp = "root=/dev/mmcblk1p2"
# Add extlinux.conf to the lis of files, which are deployed onto the
# boot partition
IMAGE_BOOT_FILES:append:use-mainline-bsp = " extlinux.conf;extlinux/extlinux.conf"
BOOT_SPACE = "65536"
LOADADDR = ""
UBOOT_MAKE_TARGET = "all"
# Image boot offset as defined in section 6.1.6.1 "Primary image offset and IVT offset" of
# i.MX 8M Nano Applications Processor Reference Manual, Rev. 0, 12/2019
# Doc ID: IMX8MNRM
IMX_BOOT_SEEK = "32"
OPTEE_BIN_EXT = "8mn"
TEE_LOAD_ADDR = "0x56000000"
# Add additional firmware
MACHINE_FIRMWARE:append = " linux-firmware-ath10k"

View File

@@ -0,0 +1,74 @@
MACHINEOVERRIDES =. "mx8mp:"
require conf/machine/include/imx-base.inc
require conf/machine/include/arm/armv8a/tune-cortexa53.inc
# Mainline BSP defaults to "generic" cortexa53 configuration,
# adjust it here to include crypto extension which enables
# inline NEON and FPU code generation
DEFAULTTUNE:use-mainline-bsp = "cortexa53-crypto"
MACHINE_FEATURES += "pci wifi bluetooth nxp8997-pcie nxp8997-sdio nxp9098-pcie nxp9098-sdio"
# NXP BSP can consume proprietary jailhouse and Marvell drivers
# OP-TEE is also applicable to NXP BSP, mainline BSP seems not to have
# a full support for it yet.
MACHINE_FEATURES:append:use-nxp-bsp = " optee jailhouse mrvl8997"
# Mainline kernel contains only one DTB file for
# imx8mpevk machine
KERNEL_DEVICETREE = " \
freescale/${KERNEL_DEVICETREE_BASENAME}.dtb \
"
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[ecc] = "${UBOOT_CONFIG_BASENAME}_inline_ecc_defconfig"
SPL_BINARY = "spl/u-boot-spl.bin"
ATF_PLATFORM = "imx8mp"
IMXBOOT_TARGETS = \
"${@bb.utils.contains('UBOOT_CONFIG', 'fspi', '${IMXBOOT_TARGETS_BASENAME}_flexspi', \
'${IMXBOOT_TARGETS_BASENAME}', d)}"
IMX_BOOT_SOC_TARGET = "iMX8MP"
SERIAL_CONSOLES = "115200;ttymxc1"
# Add support for Syslinux to mainline BSP.
# U-Boot has the Distro Boot mode enabled by default, which
# require that either Syslinux to be enabled, or a boot script
# to be used to define the boot process.
# We opt-in for Syslinux, since it is designated as a preferred
# distro boot mode according to the U-Boot documentation.
UBOOT_EXTLINUX:use-mainline-bsp = "1"
UBOOT_EXTLINUX_LABELS:use-mainline-bsp = "default"
UBOOT_EXTLINUX_DEFAULT_LABEL:use-mainline-bsp = "i.MX8M Plus EVK"
UBOOT_EXTLINUX_MENU_DESCRIPTION:default:use-mainline-bsp = "i.MX8M Plus EVK"
UBOOT_EXTLINUX_FDT:default:use-mainline-bsp = "../${KERNEL_DEVICETREE_BASENAME}.dtb"
UBOOT_EXTLINUX_CONSOLE:default:use-mainline-bsp = "console=${console}"
UBOOT_EXTLINUX_ROOT:default:use-mainline-bsp = "root=/dev/mmcblk1p2"
# Add extlinux.conf to the lis of files, which are deployed onto the
# boot partition
IMAGE_BOOT_FILES:append:use-mainline-bsp = " extlinux.conf;extlinux/extlinux.conf"
LOADADDR = ""
UBOOT_MAKE_TARGET = "all"
IMX_BOOT_SEEK = "32"
OPTEE_BIN_EXT = "8mp"
TEE_LOAD_ADDR = "0x56000000"
# Add additional firmware
MACHINE_FIRMWARE:append = " linux-firmware-ath10k"

View File

@@ -0,0 +1,44 @@
MACHINEOVERRIDES =. "mx8:mx8ulp:"
require conf/machine/include/imx-base.inc
require conf/machine/include/arm/armv8a/tune-cortexa35.inc
MACHINE_FEATURES += "pci wifi bluetooth optee jailhouse"
KERNEL_DEVICETREE = " \
freescale/${KERNEL_DEVICETREE_BASENAME}.dtb \
"
IMX_DEFAULT_BOOTLOADER:use-nxp-bsp = "u-boot-imx"
IMX_DEFAULT_BOOTLOADER:use-mainline-bsp = "u-boot-fslc"
LOADADDR = ""
UBOOT_SUFFIX = "bin"
UBOOT_MAKE_TARGET = ""
SPL_BINARY = "spl/u-boot-spl.bin"
UBOOT_CONFIG ??= "sd"
UBOOT_CONFIG[sd] = "${UBOOT_CONFIG_BASENAME}_defconfig,sdcard"
UBOOT_CONFIG[fspi] = "${UBOOT_CONFIG_BASENAME}_defconfig"
UBOOT_CONFIG[nd] = "${UBOOT_CONFIG_BASENAME}_nd_defconfig"
# Set ATF platform name
ATF_PLATFORM = "imx8ulp"
IMXBOOT_TARGETS_SD = "flash_singleboot flash_dualboot"
IMXBOOT_TARGETS_FSPI = "flash_dualboot_flexspi"
IMXBOOT_TARGETS_ND = ""
IMXBOOT_TARGETS = "${@bb.utils.contains('UBOOT_CONFIG', 'sd', '${IMXBOOT_TARGETS_SD}', \
bb.utils.contains('UBOOT_CONFIG', 'fspi', '${IMXBOOT_TARGETS_FSPI}', \
'${IMXBOOT_TARGETS_ND}', d), d)}"
IMX_BOOT_SOC_TARGET = "iMX8ULP"
IMX_BOOT_SEEK = "32"
# We have to disable SERIAL_CONSOLE due to auto-serial-console
SERIAL_CONSOLES = "115200;ttyLP1"
# Add additional firmware
MACHINE_FIRMWARE:append = " firmware-imx-epdc"

View File

@@ -0,0 +1,71 @@
require conf/machine/include/imx-base.inc
require conf/machine/include/arm/armv8a/tune-cortexa35.inc
IMX_DEFAULT_BSP = "nxp"
MACHINE_FEATURES += "pci optee bcm43455 bcm4356 nxp8997-pcie nxp9098-pcie"
MACHINE_FEATURES:append:use-nxp-bsp = " bcm4359"
# Don't include kernels in standard images
RRECOMMENDS:${KERNEL_PACKAGE_NAME}-base = ""
LOADADDR = ""
# We have to disable SERIAL_CONSOLE due to auto-serial-console
SERIAL_CONSOLES = "115200;ttyLP0"
# we do not want to have getty running on tty1 as we run
# auto-serial-console there
USE_VT = "0"
KERNEL_DEVICETREE = " \
freescale/${KERNEL_DEVICETREE_BASENAME}.dtb \
"
KERNEL_DEVICETREE:append:use-nxp-bsp = " \
freescale/${KERNEL_DEVICETREE_BASENAME}-dsi-rm67191.dtb \
freescale/${KERNEL_DEVICETREE_BASENAME}-dsi-rm67191-rpmsg.dtb \
freescale/${KERNEL_DEVICETREE_BASENAME}-enet2-tja1100.dtb \
freescale/${KERNEL_DEVICETREE_BASENAME}-it6263-lvds0-dual-channel.dtb \
freescale/${KERNEL_DEVICETREE_BASENAME}-it6263-lvds0-dual-channel-rpmsg.dtb \
freescale/${KERNEL_DEVICETREE_BASENAME}-it6263-lvds1-dual-channel.dtb \
freescale/${KERNEL_DEVICETREE_BASENAME}-it6263-lvds1-dual-channel-rpmsg.dtb \
freescale/${KERNEL_DEVICETREE_BASENAME}-jdi-wuxga-lvds0-panel.dtb \
freescale/${KERNEL_DEVICETREE_BASENAME}-jdi-wuxga-lvds0-panel-rpmsg.dtb \
freescale/${KERNEL_DEVICETREE_BASENAME}-jdi-wuxga-lvds1-panel.dtb \
freescale/${KERNEL_DEVICETREE_BASENAME}-jdi-wuxga-lvds1-panel-rpmsg.dtb \
freescale/${KERNEL_DEVICETREE_BASENAME}-ov5640.dtb \
freescale/${KERNEL_DEVICETREE_BASENAME}-ov5640-rpmsg.dtb \
freescale/${KERNEL_DEVICETREE_BASENAME}-rpmsg.dtb \
"
UBOOT_MAKE_TARGET = \
"${@bb.utils.contains('MACHINE_FEATURES', 'optee', '', \
'u-boot.bin', d)}"
SPL_BINARY = \
"${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'spl/u-boot-spl.bin', \
'', d)}"
UBOOT_CONFIG ??= "sd"
UBOOT_CONFIG[sd] = "${UBOOT_CONFIG_BASENAME}_defconfig,sdcard"
UBOOT_CONFIG[fspi] = "${UBOOT_CONFIG_BASENAME}_fspi_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"
IMXBOOT_TARGETS_SD = \
"${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'flash_spl', \
'flash', d)}"
IMXBOOT_TARGETS_FSPI = \
"${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'flash_spl_flexspi', \
'flash_flexspi', d)}"
IMXBOOT_TARGETS = \
"${@bb.utils.contains('UBOOT_CONFIG', 'sd', '${IMXBOOT_TARGETS_SD}', \
'${IMXBOOT_TARGETS_FSPI}', d)}"
BOARD_TYPE = "mek"
# Add additional firmware
MACHINE_FIRMWARE:append = " linux-firmware-ath10k"

View File

@@ -0,0 +1,39 @@
MACHINEOVERRIDES =. "mx93:"
require conf/machine/include/imx-base.inc
require conf/machine/include/arm/armv8-2a/tune-cortexa55.inc
MACHINE_FEATURES += "pci wifi bluetooth"
MACHINE_FEATURES:append:use-nxp-bsp = " optee jailhouse nxpiw612-sdio"
KERNEL_DEVICETREE = " \
freescale/${KERNEL_DEVICETREE_BASENAME}.dtb \
"
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"
LOADADDR = ""
UBOOT_SUFFIX = "bin"
UBOOT_MAKE_TARGET = ""
SPL_BINARY = "spl/u-boot-spl.bin"
UBOOT_CONFIG ??= "sd"
UBOOT_CONFIG[sd] = "${UBOOT_CONFIG_BASENAME}_defconfig,sdcard"
UBOOT_CONFIG[ecc] = "${UBOOT_CONFIG_BASENAME}_inline_ecc_defconfig"
UBOOT_CONFIG[ld] = "${UBOOT_CONFIG_BASENAME}_ld_defconfig"
# Set ATF platform name
ATF_PLATFORM = "imx93"
IMXBOOT_TARGETS = "flash_singleboot"
IMX_BOOT_SOC_TARGET = "iMX9"
IMX_BOOT_SEEK = "32"
# We have to disable SERIAL_CONSOLE due to auto-serial-console
SERIAL_CONSOLES = "115200;ttyLP0"
IMX_DEFAULT_BSP = "nxp"

View File

@@ -0,0 +1,56 @@
require conf/machine/include/imx-base.inc
require conf/machine/include/arm/armv8-2a/tune-cortexa55.inc
MACHINE_FEATURES += "pci wifi bluetooth optee"
MACHINE_FEATURES:append:use-nxp-bsp = " nxpwifi-all-pcie nxpwifi-all-sdio jailhouse dpdk xen"
KERNEL_DEVICETREE = " \
freescale/${KERNEL_DEVICETREE_BASENAME}.dtb \
"
IMX_DEFAULT_BOOTLOADER:use-nxp-bsp = "u-boot-imx"
IMX_DEFAULT_BOOTLOADER:use-mainline-bsp = "u-boot-fslc"
LOADADDR = ""
UBOOT_SUFFIX = "bin"
UBOOT_MAKE_TARGET = ""
SPL_BINARY = "spl/u-boot-spl.bin"
UBOOT_CONFIG ??= "sd"
UBOOT_CONFIG[sd] = "${UBOOT_CONFIG_BASENAME}_evk_defconfig,sdcard"
UBOOT_CONFIG[fspi] = "${UBOOT_CONFIG_BASENAME}_evk_fspi_defconfig"
ATF_PLATFORM = "imx95"
OEI_CONFIGS = "ddr tcm"
OEI_CORE = "m33"
OEI_SOC = "mx95"
OEI_BOARD ?= "mx95lp5"
DDR_TYPE ?= "lpddr5"
IMXBOOT_VARIANTS = "alt jailhouse netc"
# Multiple system manager configs by IMXBOOT_VARIANT
SYSTEM_MANAGER_CONFIG = "${@bb.utils.contains('IMXBOOT_VARIANT', 'alt', 'mx95alt', \
bb.utils.contains('IMXBOOT_VARIANT', 'jailhouse', 'mx95evkjailhouse', \
bb.utils.contains('IMXBOOT_VARIANT', 'netc', 'mx95netc', \
'mx95evk', d), d), d)}"
# imx-boot (flash.bin) targets based on UBOOT_CONFIG and IMXBOOT_VARIANT
IMXBOOT_TARGETS_SD = "${@bb.utils.contains('IMXBOOT_VARIANT', 'alt', '${IMXBOOT_TARGETS_BASENAME}_alt', \
bb.utils.contains('IMXBOOT_VARIANT', 'jailhouse', '${IMXBOOT_TARGETS_BASENAME}_jailhouse', \
bb.utils.contains('IMXBOOT_VARIANT', 'netc', '${IMXBOOT_TARGETS_BASENAME}_netc', \
'${IMXBOOT_TARGETS_BASENAME}_all ${IMXBOOT_TARGETS_BASENAME}_a55', d), d), d)} \
"
IMXBOOT_TARGETS = " \
${@bb.utils.contains('UBOOT_CONFIG', 'fspi', '${IMXBOOT_TARGETS_BASENAME}_a55_flexspi', '${IMXBOOT_TARGETS_SD}', d)} \
"
IMX_BOOT_SOC_TARGET = "iMX95"
IMX_BOOT_SEEK = "32"
# We have to disable SERIAL_CONSOLE due to auto-serial-console
SERIAL_CONSOLES = "115200;ttyLP0"
IMX_DEFAULT_BSP = "nxp"

View File

@@ -0,0 +1,12 @@
# Provides the common settings for QorIQ ARM
# default assignment to override defaults from kernel.bbclass
# should be assigned by machine if other type needed
KERNEL_IMAGETYPE ?= "uImage"
SERIAL_CONSOLES ?= "115200;ttyS0 115200;ttyS1 115200;ttyEHV0 115200;ttyLP0 115200;ttyAMA0"
SERIAL_CONSOLES_CHECK ?= "${SERIAL_CONSOLES}"
MACHINEOVERRIDES =. "qoriq-arm:"
require conf/machine/include/qoriq-base.inc

View File

@@ -0,0 +1,10 @@
# Provides the QorIQ common settings for ARM64
KERNEL_IMAGETYPE ?= "Image"
SERIAL_CONSOLES ?= "115200;ttyS0 115200;ttyS1 115200;ttyAMA0"
SERIAL_CONSOLES_CHECK ?= "${SERIAL_CONSOLES}"
MACHINEOVERRIDES =. "qoriq-arm64:"
require conf/machine/include/qoriq-base.inc

View File

@@ -0,0 +1,65 @@
# common providers of QorIQ targets
PREFERRED_PROVIDER_u-boot ??= "u-boot-qoriq"
PREFERRED_PROVIDER_virtual/bootloader ??= "${PREFERRED_PROVIDER_u-boot}"
PREFERRED_PROVIDER_virtual/kernel ??= "linux-qoriq"
PREFERRED_PROVIDER_u-boot-tools-native ??= "u-boot-tools-native"
PREFERRED_PROVIDER_u-boot-mkimage-native ??= "u-boot-tools-native"
PREFERRED_PROVIDER_u-boot-mkimage ??= "u-boot-tools"
PREFERRED_PROVIDER_nativesdk-u-boot-mkimage ??= "nativesdk-u-boot-tools"
PREFERRED_VERSION_testfloat = "2a"
SOC_DEFAULT_IMAGE_FSTYPES = "tar.gz"
SOC_DEFAULT_IMAGE_FSTYPES:append:ls1043a = " wic.bz2"
SOC_DEFAULT_IMAGE_FSTYPES:append:ls1046a = " wic.bz2"
IMAGE_FSTYPES ?= "${SOC_DEFAULT_IMAGE_FSTYPES}"
# Composite Image Layout (in KBytes)
IMAGE_OFFSET_PBL ?= "4"
IMAGE_OFFSET_FIP ?= "1024"
IMAGE_OFFSET_FMAN_UCODE ?= "9216"
# Composite Image Filenames
IMAGE_FILE_PBL_SD ?= "atf/bl2_sd.pbl"
IMAGE_FILE_FIP_UBOOT ?= "atf/fip_uboot.bin"
# Do not update fstab file when using wic images
WIC_CREATE_EXTRA_ARGS ?= "--no-fstab-update"
IMAGE_BOOT_FILES ?= " \
${KERNEL_IMAGETYPE} \
*.dtb \
"
SOC_DEFAULT_WKS_FILE ?= ""
SOC_DEFAULT_WKS_FILE:ls1043a ?= "ls104x-uboot-bootpart.wks.in"
SOC_DEFAULT_WKS_FILE:ls1046a ?= "ls104x-uboot-bootpart.wks.in"
WKS_FILE ?= "${SOC_DEFAULT_WKS_FILE}"
MACHINE_FEATURES ?= "pci ext2 ext3 serial"
MACHINE_EXTRA_RRECOMMENDS += "udev-extraconf udev-rules-qoriq kernel-modules"
EXTRA_IMAGEDEPENDS += "u-boot qoriq-cst-native"
MACHINEOVERRIDES =. "qoriq:"
INHERIT += "machine-overrides-extender"
# Machines or distros can define which BSP it should use by default. We are
# intending to default for nxp BSP by default and specific machines or
# DISTROs might change it if need.
#
# Two values are considered valid: mainline, nxp
QORIQ_DEFAULT_BSP ?= "nxp"
MACHINEOVERRIDES =. "use-${QORIQ_DEFAULT_BSP}-bsp:"
MACHINEOVERRIDES_EXTENDER:use-mainline-bsp = "qoriq-generic-bsp:qoriq-mainline-bsp"
MACHINEOVERRIDES_EXTENDER:use-nxp-bsp = "qoriq-generic-bsp:qoriq-nxp-bsp"
# Sub-architecture support
MACHINE_SOCARCH_SUFFIX ?= ""
MACHINE_SOCARCH_SUFFIX:qoriq = "-qoriq"
MACHINE_ARCH_FILTER = "virtual/kernel"
INHERIT += "fsl-dynamic-packagearch"

View File

@@ -0,0 +1,10 @@
# Provides the common settings for QorIQ PPC
KERNEL_IMAGETYPE ?= "uImage"
SERIAL_CONSOLES ?= "115200;ttyS0 115200;ttyS1 115200;ttyEHV0"
SERIAL_CONSOLES_CHECK ?= "${SERIAL_CONSOLES}"
MACHINEOVERRIDES =. "qoriq-ppc:"
require conf/machine/include/qoriq-base.inc

View File

@@ -0,0 +1,28 @@
### Machine definition file utilities
def make_dtb_boot_files(d):
# Generate IMAGE_BOOT_FILES entries for device tree files listed in
# KERNEL_DEVICETREE.
# Use only the basename for dtb files:
alldtbs = d.getVar('KERNEL_DEVICETREE')
# DTBs may be built out of kernel with devicetree.bbclass
if not alldtbs:
return ''
def transform(dtb):
if not (dtb.endswith('dtb') or dtb.endswith('dtbo')):
# eg: whatever/bcm2708-rpi-b.dtb has:
# DEPLOYDIR file: bcm2708-rpi-b.dtb
# destination: bcm2708-rpi-b.dtb
bb.error("KERNEL_DEVICETREE entry %s is not a .dtb or .dtbo file." % (dtb) )
return os.path.basename(dtb)
return ' '.join([transform(dtb) for dtb in alldtbs.split() if dtb])
def get_spl_binary(d):
imx_default_bootloader = d.get('IMX_DEFAULT_BOOTLOADER')
spl_binary = d.getVar("SPL_BINARY:pn-%s" % imx_default_bootloader)
return spl_binary or ""