diff options
Diffstat (limited to 'conf/machine/include/imx-base.inc')
-rw-r--r-- | conf/machine/include/imx-base.inc | 223 |
1 files changed, 157 insertions, 66 deletions
diff --git a/conf/machine/include/imx-base.inc b/conf/machine/include/imx-base.inc index 4d01bae6..d52123e2 100644 --- a/conf/machine/include/imx-base.inc +++ b/conf/machine/include/imx-base.inc @@ -5,10 +5,6 @@ include conf/machine/include/fsl-default-versions.inc 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. @@ -22,40 +18,84 @@ 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" +# `---- +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 ??= "${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" -PREFERRED_PROVIDER_u-boot-mkimage-native ??= "${IMX_DEFAULT_BOOTLOADER}-tools-native" -PREFERRED_PROVIDER_nativesdk-u-boot-mkimage ??= "nativesdk-${IMX_DEFAULT_BOOTLOADER}-tools" +PREFERRED_PROVIDER_u-boot-mfgtool ??= "${IMX_DEFAULT_BOOTLOADER}-mfgtool" +PREFERRED_PROVIDER_u-boot-tools-native ??= "${IMX_DEFAULT_UBOOTTOOLS}-native" +PREFERRED_PROVIDER_nativesdk-u-boot-tools ??= "nativesdk-${IMX_DEFAULT_UBOOTTOOLS}" +PREFERRED_PROVIDER_u-boot-mkimage-native ??= "${IMX_DEFAULT_UBOOTTOOLS}-native" +PREFERRED_PROVIDER_nativesdk-u-boot-mkimage ??= "nativesdk-${IMX_DEFAULT_UBOOTTOOLS}" PREFERRED_PROVIDER_virtual/bootloader ??= "${IMX_DEFAULT_BOOTLOADER}" PREFERRED_PROVIDER_u-boot-mxsboot-native ??= "u-boot-fslc-mxsboot-native" -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_ENTRYPOINT_mx6 = "0x10008000" -UBOOT_ENTRYPOINT_mx6sl = "0x80008000" +UBOOT_ENTRYPOINT_mxs = "0x40008000" +UBOOT_ENTRYPOINT_mx51 = "0x90008000" +UBOOT_ENTRYPOINT_mx53 = "0x70008000" +UBOOT_ENTRYPOINT_mx6 = "0x10008000" +UBOOT_ENTRYPOINT_mx6sl = "0x80008000" UBOOT_ENTRYPOINT_mx6sll = "0x80008000" -UBOOT_ENTRYPOINT_mx6sx = "0x80008000" +UBOOT_ENTRYPOINT_mx6sx = "0x80008000" UBOOT_ENTRYPOINT_mx6ul = "0x10008000" -UBOOT_ENTRYPOINT_mx6ull = "0x10008000" -UBOOT_ENTRYPOINT_mx7 = "0x80008000" +UBOOT_ENTRYPOINT_mx6ull = "0x10008000" +UBOOT_ENTRYPOINT_mx6ulz = "0x10008000" +UBOOT_ENTRYPOINT_mx7 = "0x80008000" UBOOT_ENTRYPOINT_mx7ulp = "0x60008000" -UBOOT_ENTRYPOINT_mx8mm = "0x40480000" -UBOOT_ENTRYPOINT_mx8mn = "0x40480000" -UBOOT_ENTRYPOINT_mx8mq = "0x40480000" +UBOOT_ENTRYPOINT_mx8m = "0x40480000" UBOOT_ENTRYPOINT_vf = "0x80008000" +# Some derivates can utilize the boot container provided by U-Boot, +# below variable sets that those machines which have a imx-boot-container +# in their MACHINEOVERRIDES can inherit a imx-boot-container class +UBOOT_PROVIDES_BOOT_CONTAINER = "0" +UBOOT_PROVIDES_BOOT_CONTAINER_imx-boot-container = "1" + PREFERRED_PROVIDER_virtual/xserver = "xserver-xorg" XSERVER_DRIVER = "xf86-video-fbdev" XSERVER_DRIVER_imxgpu2d = "xf86-video-imx-vivante" @@ -79,12 +119,11 @@ MACHINE_EXTRA_RRECOMMENDS = "kernel-modules" DEFAULTTUNE_mx6 ?= "cortexa9thf-neon" DEFAULTTUNE_mx6ul ?= "cortexa7thf-neon" DEFAULTTUNE_mx6ull ?= "cortexa7thf-neon" +DEFAULTTUNE_mx6ulz ?= "cortexa7thf-neon" DEFAULTTUNE_mx7 ?= "cortexa7thf-neon" DEFAULTTUNE_vf ?= "cortexa5thf-neon" -DEFAULTTUNE_mx8mm ?= "cortexa53-crypto" -DEFAULTTUNE_mx8mn ?= "cortexa53-crypto" -DEFAULTTUNE_mx8mq ?= "cortexa53-crypto" +DEFAULTTUNE_mx8m ?= "cortexa53-crypto" DEFAULTTUNE_mx8qm ?= "cortexa72-cortexa53-crypto" DEFAULTTUNE_mx8qxp ?= "cortexa35-crypto" @@ -98,13 +137,16 @@ MACHINEOVERRIDES_EXTENDER_mx6sl = "imxfbdev:imxpxp:imxgpu:imxgpu2d:imxepdc" MACHINEOVERRIDES_EXTENDER_mx6sll = "imxfbdev:imxpxp:imxepdc" MACHINEOVERRIDES_EXTENDER_mx6ul = "imxfbdev:imxpxp" MACHINEOVERRIDES_EXTENDER_mx6ull = "imxfbdev:imxpxp:imxepdc" +MACHINEOVERRIDES_EXTENDER_mx6ulz = "imxfbdev:imxpxp:imxepdc" MACHINEOVERRIDES_EXTENDER_mx7d = "imxfbdev:imxpxp:imxepdc" MACHINEOVERRIDES_EXTENDER_mx7ulp = "imxfbdev:imxpxp:imxgpu:imxgpu2d:imxgpu3d" MACHINEOVERRIDES_EXTENDER_mx8qm = "imxdrm:imxdpu:imxgpu:imxgpu2d:imxgpu3d" MACHINEOVERRIDES_EXTENDER_mx8mm = "imxdrm:imxvpu:imxgpu:imxgpu2d:imxgpu3d" MACHINEOVERRIDES_EXTENDER_mx8mn = "imxdrm:imxgpu:imxgpu3d" +MACHINEOVERRIDES_EXTENDER_mx8mp = "imxdrm:imxvpu:imxgpu:imxgpu2d:imxgpu3d" MACHINEOVERRIDES_EXTENDER_mx8mq = "imxdrm:imxvpu:imxgpu:imxgpu3d" MACHINEOVERRIDES_EXTENDER_mx8qxp = "imxdrm:imxdpu:imxgpu:imxgpu2d:imxgpu3d" +MACHINEOVERRIDES_EXTENDER_mx8dxl = "imxfbdev" MACHINEOVERRIDES_EXTENDER_FILTER_OUT_use-mainline-bsp = " \ imx \ @@ -117,17 +159,21 @@ MACHINEOVERRIDES_EXTENDER_FILTER_OUT_use-mainline-bsp = " \ mx6sll \ mx6ul \ mx6ull \ + mx6ulz \ \ mx7 \ mx7d \ mx7ulp \ \ mx8 \ + mx8m \ mx8qm \ mx8mm \ mx8mn \ + mx8mp \ mx8mq \ mx8qxp \ + mx8dxl \ " # Sub-architecture support @@ -143,11 +189,14 @@ MACHINE_SOCARCH_SUFFIX_vf60 = "-vf60" MACHINE_SOCARCH_SUFFIX_vf50 = "-vf50" MACHINE_SOCARCH_SUFFIX_mx6ul = "-mx6ul" MACHINE_SOCARCH_SUFFIX_mx6ull = "-mx6ul" +MACHINE_SOCARCH_SUFFIX_mx6ulz = "-mx6ul" MACHINE_SOCARCH_SUFFIX_mx8qm = "-mx8" MACHINE_SOCARCH_SUFFIX_mx8mm = "-mx8mm" MACHINE_SOCARCH_SUFFIX_mx8mn = "-mx8mn" +MACHINE_SOCARCH_SUFFIX_mx8mp = "-mx8mp" MACHINE_SOCARCH_SUFFIX_mx8mq = "-mx8m" MACHINE_SOCARCH_SUFFIX_mx8qxp = "-mx8" +MACHINE_SOCARCH_SUFFIX_mx8dxl = "-mx8dxl" MACHINE_SOCARCH_SUFFIX_use-mainline-bsp = "-imx" MACHINE_ARCH_FILTER = "virtual/kernel" @@ -169,6 +218,7 @@ MACHINE_SOCARCH_FILTER_append_imxgpu = " \ libdrm \ cairo \ libgal-imx \ + opencv \ pango \ " MACHINE_SOCARCH_FILTER_append_imxgpu2d = " \ @@ -192,11 +242,13 @@ MACHINE_SOCARCH_FILTER_append_use-mainline-bsp = " \ qtbase \ " MACHINE_SOCARCH_FILTER_append_mx6q = " \ - virtual/opencl-icd \ + opencl-icd-loader \ + opencl-clhpp \ opencl-headers \ " MACHINE_SOCARCH_FILTER_append_mx8 = " \ - virtual/opencl-icd \ + opencl-icd-loader \ + opencl-clhpp \ opencl-headers \ " MACHINE_SOCARCH_FILTER_append_mx8qm = " \ @@ -226,11 +278,14 @@ MACHINE_FIRMWARE_append_mx6sll = " firmware-imx-epdc" MACHINE_FIRMWARE_append_mx6ull = " firmware-imx-epdc" MACHINE_FIRMWARE_append_mx53 = " firmware-imx-vpu-imx53 firmware-imx-sdma-imx53" MACHINE_FIRMWARE_append_mx51 = " firmware-imx-vpu-imx51 firmware-imx-sdma-imx51" +MACHINE_FIRMWARE_append_mx8mm = " linux-firmware-imx-sdma-imx7d" +MACHINE_FIRMWARE_append_mx8mn = " linux-firmware-imx-sdma-imx7d" +MACHINE_FIRMWARE_append_mx8mp = " linux-firmware-imx-sdma-imx7d firmware-imx-easrc-imx8mn firmware-imx-xcvr-imx8mp firmware-sof-imx" +MACHINE_FIRMWARE_append_mx8mq = " linux-firmware-imx-sdma-imx7d" +MACHINE_FIRMWARE_append_mx8qm = " firmware-imx-vpu-imx8" +MACHINE_FIRMWARE_append_mx8qxp = " firmware-imx-vpu-imx8" MACHINE_FIRMWARE_append_use-mainline-bsp = " linux-firmware-imx-sdma-imx6q linux-firmware-imx-sdma-imx7d firmware-imx-vpu-imx6q firmware-imx-vpu-imx6d" -# FIXME: Needs addition of firmware-imx of official BSPs -#MACHINE_FIRMWARE_append_mx8qxp = " firmware-imx-vpu-imx8qxp" - MACHINE_EXTRA_RRECOMMENDS += "${MACHINE_FIRMWARE}" # Extra audio support @@ -260,14 +315,26 @@ MACHINE_EXTRA_RRECOMMENDS += " \ " # GStreamer 1.0 plugins -MACHINE_GSTREAMER_1_0_PLUGIN ?= "" -MACHINE_GSTREAMER_1_0_PLUGIN_mx6dl ?= "gstreamer1.0-plugins-imx-meta" -MACHINE_GSTREAMER_1_0_PLUGIN_mx6q ?= "gstreamer1.0-plugins-imx-meta" -MACHINE_GSTREAMER_1_0_PLUGIN_mx6sl ?= "gstreamer1.0-plugins-imx-meta" -MACHINE_GSTREAMER_1_0_PLUGIN_mx6sx ?= "gstreamer1.0-plugins-imx-meta" -MACHINE_GSTREAMER_1_0_PLUGIN_mx6ul ?= "gstreamer1.0-plugins-imx-meta" +MACHINE_GSTREAMER_1_0_PLUGIN ?= "" +MACHINE_GSTREAMER_1_0_PLUGIN_mx6dl ?= "gstreamer1.0-plugins-imx-meta" +MACHINE_GSTREAMER_1_0_PLUGIN_mx6q ?= "gstreamer1.0-plugins-imx-meta" +MACHINE_GSTREAMER_1_0_PLUGIN_mx6sl ?= "gstreamer1.0-plugins-imx-meta" +MACHINE_GSTREAMER_1_0_PLUGIN_mx6sx ?= "gstreamer1.0-plugins-imx-meta" +MACHINE_GSTREAMER_1_0_PLUGIN_mx6ul ?= "gstreamer1.0-plugins-imx-meta" MACHINE_GSTREAMER_1_0_PLUGIN_mx6ull ?= "gstreamer1.0-plugins-imx-meta" -MACHINE_GSTREAMER_1_0_PLUGIN_mx7d ?= "gstreamer1.0-plugins-imx-meta" +MACHINE_GSTREAMER_1_0_PLUGIN_mx7d ?= "gstreamer1.0-plugins-imx-meta" +MACHINE_GSTREAMER_1_0_PLUGIN_mx8mm ?= "imx-gst1.0-plugin" +MACHINE_GSTREAMER_1_0_PLUGIN_mx8mn ?= "imx-gst1.0-plugin" +MACHINE_GSTREAMER_1_0_PLUGIN_mx8mp ?= "imx-gst1.0-plugin" +MACHINE_GSTREAMER_1_0_PLUGIN_mx8mq ?= "imx-gst1.0-plugin" +MACHINE_GSTREAMER_1_0_PLUGIN_mx8qm ?= "imx-gst1.0-plugin" +MACHINE_GSTREAMER_1_0_PLUGIN_mx8qxp ?= "imx-gst1.0-plugin" + +PREFERRED_VERSION_gstreamer1.0_mx8 ?= "1.16.2.imx" +PREFERRED_VERSION_gstreamer1.0-plugins-base_mx8 ?= "1.16.2.imx" +PREFERRED_VERSION_gstreamer1.0-plugins-good_mx8 ?= "1.16.3.imx" +PREFERRED_VERSION_gstreamer1.0-plugins-bad_mx8 ?= "1.16.3.imx" +PREFERRED_VERSION_gstreamer1.0-libav_mx8 ?= "1.16.0" # Determines if the SoC has support for Vivante kernel driver SOC_HAS_VIVANTE_KERNEL_DRIVER_SUPPORT = "0" @@ -290,23 +357,29 @@ PREFERRED_PROVIDER_virtual/libgles1_imxgpu3d ?= "imx-gpu-viv" PREFERRED_PROVIDER_virtual/libgles2_imxgpu3d ?= "imx-gpu-viv" PREFERRED_PROVIDER_virtual/libg2d ?= "imx-gpu-g2d" PREFERRED_PROVIDER_virtual/libg2d_imxdpu ?= "imx-dpu-g2d" +PREFERRED_PROVIDER_opencl-clhpp_imxgpu ?= "imx-gpu-viv" +PREFERRED_PROVIDER_opencl-headers_imxgpu ?= "imx-gpu-viv" +PREFERRED_PROVIDER_opencl-icd-loader_imxgpu ?= "imx-gpu-viv" -PREFERRED_VERSION_weston_imx ?= "8.0.0.imx" +PREFERRED_VERSION_weston_imx ?= "9.0.0.imx" PREFERRED_VERSION_weston_use-mainline-bsp = "" -PREFERRED_VERSION_wayland-protocols_mx6 ?= "1.18.imx" -PREFERRED_VERSION_wayland-protocols_mx7 ?= "1.18.imx" -PREFERRED_VERSION_wayland-protocols_mx8 ?= "1.18.imx" +PREFERRED_VERSION_wayland-protocols_mx6 ?= "1.20.imx" +PREFERRED_VERSION_wayland-protocols_mx7 ?= "1.20.imx" +PREFERRED_VERSION_wayland-protocols_mx8 ?= "1.20.imx" # Use i.MX libdrm Version -PREFERRED_VERSION_libdrm_mx6 ?= "2.4.99.imx" -PREFERRED_VERSION_libdrm_mx7 ?= "2.4.99.imx" -PREFERRED_VERSION_libdrm_mx8 ?= "2.4.99.imx" +PREFERRED_VERSION_libdrm_mx6 ?= "2.4.102.imx" +PREFERRED_VERSION_libdrm_mx7 ?= "2.4.102.imx" +PREFERRED_VERSION_libdrm_mx8 ?= "2.4.102.imx" # Use i.MX optee Version -PREFERRED_VERSION_optee-os_mx8 ?= "3.7.0.imx" -PREFERRED_VERSION_optee-client_mx8 ?= "3.7.0.imx" -PREFERRED_VERSION_optee-test_mx8 ?= "3.7.0.imx" +PREFERRED_VERSION_optee-os_mx8 ?= "3.10.0.imx" +PREFERRED_VERSION_optee-client_mx8 ?= "3.10.0.imx" +PREFERRED_VERSION_optee-test_mx8 ?= "3.10.0.imx" + +#Use i.MX opencv Version for mx8 +PREFERRED_VERSION_opencv_mx8 ?= "4.4.0.imx" # Handle default kernel IMX_DEFAULT_KERNEL = "linux-fslc-imx" @@ -352,25 +425,43 @@ WKS_FILE_DEPENDS ?= " \ ${@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_mx8m = " imx-boot" + +# 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 define an +# 'imx-boot-container' override, and test if the U-Boot built 'flash.bin' +# binary is used a replacement. +# Note, that the results binary name of the boot container is set to 'imx-boot' +# for both NXP and Mainline BSP. +# For Mainline BSP: the 'flash.bin' boot container is renamed during the +# deployment task extesion execution defined in imx-boot-container class. +# For NXP BSP: rename is done in 'imx-boot' recipe at the execution of compile +# task. +WKS_FILE_DEPENDS_append_use-mainline-bsp_aarch64 = " \ + ${@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_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" -WKS_FILE ?= "${SOC_DEFAULT_WKS_FILE}" +# Boot container built as a part of mainline U-Boot uses the same WKS +# file as the entire mx8m series, as it renames flash.bin binary to +# imx-boot before it is packed into the boot partition. +# This operation is performed in imx-boot-container class as a part of +# delopyment task. +# flash.bin binary is produced by U-Boot build itself, and is serves as a +# direct replacement of imx-boot from NXP. +# Creation of the flash.bin is controlled by UBOOT_PROVIDES_BOOT_CONTAINER +# variable defined above +SOC_DEFAULT_WKS_FILE_imx-boot-container ?= "imx-imx-boot-bootpart.wks.in" -# Certain machines override the default fsl u-boot with the -# fslc u-boot. To restore the fsl u-boot, add use-fsl-bsp like this: -# MACHINEOVERRIDES_prepend_imx6ulevk = "use-fsl-bsp:" -UBOOT_MAKE_TARGET_use-fsl-bsp_mx6 = "u-boot.imx" -UBOOT_SUFFIX_use-fsl-bsp_mx6 = "imx" -SPL_BINARY_use-fsl-bsp_mx6 = "" -WKS_FILE_use-fsl-bsp_mx6 = "imx-uboot-bootpart.wks.in" -UBOOT_MAKE_TARGET_use-fsl-bsp_mx7 = "u-boot.imx" -UBOOT_SUFFIX_use-fsl-bsp_mx7 = "imx" -SPL_BINARY_use-fsl-bsp_mx7 = "" -WKS_FILE_use-fsl-bsp_mx7 = "imx-uboot-bootpart.wks.in" +WKS_FILE ?= "${SOC_DEFAULT_WKS_FILE}" SERIAL_CONSOLES = "115200;ttymxc0" SERIAL_CONSOLES_mxs = "115200;ttyAMA0" |