diff options
Diffstat (limited to 'conf')
50 files changed, 1147 insertions, 429 deletions
diff --git a/conf/layer.conf b/conf/layer.conf index 1a22e024..df898924 100644 --- a/conf/layer.conf +++ b/conf/layer.conf @@ -8,7 +8,7 @@ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ BBFILE_COLLECTIONS += "freescale-layer" BBFILE_PATTERN_freescale-layer := "^${LAYERDIR}/" BBFILE_PRIORITY_freescale-layer = "5" -LAYERSERIES_COMPAT_freescale-layer = "zeus dunfell" +LAYERSERIES_COMPAT_freescale-layer = "gatesgarth hardknott" # Add the Freescale-specific licenses into the metadata LICENSE_PATH += "${LAYERDIR}/custom-licenses" @@ -28,8 +28,8 @@ BBFILES_DYNAMIC += " \ aglprofilegraphical:${LAYERDIR}/dynamic-layers/aglprofilegraphical/*/*/*.bb \ aglprofilegraphical:${LAYERDIR}/dynamic-layers/aglprofilegraphical/*/*/*.bbappend \ \ - browser-layer:${LAYERDIR}/dynamic-layers/browser-layer/*/*/*.bb \ - browser-layer:${LAYERDIR}/dynamic-layers/browser-layer/*/*/*.bbappend \ + chromium-browser-layer:${LAYERDIR}/dynamic-layers/chromium-browser-layer/*/*/*.bb \ + chromium-browser-layer:${LAYERDIR}/dynamic-layers/chromium-browser-layer/*/*/*.bbappend \ \ filesystem-layer:${LAYERDIR}/dynamic-layers/filesystem-layer/*/*/*.bb \ filesystem-layer:${LAYERDIR}/dynamic-layers/filesystem-layer/*/*/*.bbappend \ @@ -37,9 +37,6 @@ BBFILES_DYNAMIC += " \ ivi:${LAYERDIR}/dynamic-layers/ivi/*/*/*.bb \ ivi:${LAYERDIR}/dynamic-layers/ivi/*/*/*.bbappend \ \ - networking-layer:${LAYERDIR}/dynamic-layers/networking-layer/*/*/*.bb \ - networking-layer:${LAYERDIR}/dynamic-layers/networking-layer/*/*/*.bbappend \ - \ openembedded-layer:${LAYERDIR}/dynamic-layers/openembedded-layer/*/*/*.bb \ openembedded-layer:${LAYERDIR}/dynamic-layers/openembedded-layer/*/*/*.bbappend \ \ diff --git a/conf/machine/imx23evk.conf b/conf/machine/imx23evk.conf index 009aff79..8abc5a95 100644 --- a/conf/machine/imx23evk.conf +++ b/conf/machine/imx23evk.conf @@ -9,6 +9,13 @@ MACHINEOVERRIDES =. "mxs:mx23:" 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" diff --git a/conf/machine/imx25pdk.conf b/conf/machine/imx25pdk.conf index 9e8ad003..5721e845 100644 --- a/conf/machine/imx25pdk.conf +++ b/conf/machine/imx25pdk.conf @@ -9,6 +9,13 @@ MACHINEOVERRIDES =. "mx25:" 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" diff --git a/conf/machine/imx28evk.conf b/conf/machine/imx28evk.conf index 7c359e54..4f69dae4 100644 --- a/conf/machine/imx28evk.conf +++ b/conf/machine/imx28evk.conf @@ -9,7 +9,12 @@ MACHINEOVERRIDES =. "mxs:mx28:" include conf/machine/include/imx-base.inc include conf/machine/include/tune-arm926ejs.inc -IMXBOOTLETS_MACHINE = "iMX28_EVK" +# 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" diff --git a/conf/machine/imx51evk.conf b/conf/machine/imx51evk.conf index a32b4e00..80d7b386 100644 --- a/conf/machine/imx51evk.conf +++ b/conf/machine/imx51evk.conf @@ -9,9 +9,13 @@ MACHINEOVERRIDES =. "mx5:mx51:" include conf/machine/include/imx-base.inc include conf/machine/include/tune-cortexa8.inc -# Disable perf features as 2.6.35.3 fails to build otherwise -PERF_FEATURES_ENABLE = "" - 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" diff --git a/conf/machine/imx53ard.conf b/conf/machine/imx53ard.conf index c6d7f0d9..af5aeb3b 100644 --- a/conf/machine/imx53ard.conf +++ b/conf/machine/imx53ard.conf @@ -13,9 +13,16 @@ include conf/machine/include/tune-cortexa8.inc 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" diff --git a/conf/machine/imx53qsb.conf b/conf/machine/imx53qsb.conf index 24cbfac6..06d4a756 100644 --- a/conf/machine/imx53qsb.conf +++ b/conf/machine/imx53qsb.conf @@ -11,6 +11,13 @@ include conf/machine/include/tune-cortexa8.inc 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 \ diff --git a/conf/machine/imx6qdlsabreauto.conf b/conf/machine/imx6qdlsabreauto.conf index 16c1dcb6..b7aec8c2 100644 --- a/conf/machine/imx6qdlsabreauto.conf +++ b/conf/machine/imx6qdlsabreauto.conf @@ -32,13 +32,25 @@ KERNEL_DEVICETREE_use-mainline-bsp = " \ 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" diff --git a/conf/machine/imx6qdlsabresd.conf b/conf/machine/imx6qdlsabresd.conf index 2fe95dc6..b3d09e93 100644 --- a/conf/machine/imx6qdlsabresd.conf +++ b/conf/machine/imx6qdlsabresd.conf @@ -41,13 +41,25 @@ KERNEL_DEVICETREE_use-mainline-bsp = " \ 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. +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" diff --git a/conf/machine/imx6slevk.conf b/conf/machine/imx6slevk.conf index 5d81272f..1e8c403b 100644 --- a/conf/machine/imx6slevk.conf +++ b/conf/machine/imx6slevk.conf @@ -9,18 +9,31 @@ MACHINEOVERRIDES =. "mx6:mx6sl:" include conf/machine/include/imx-base.inc include conf/machine/include/tune-cortexa9.inc -KERNEL_DEVICETREE = "imx6sl-evk.dtb imx6sl-evk-csi.dtb imx6sl-evk-ldo.dtb \ - imx6sl-evk-uart.dtb imx6sl-evk-btwifi.dtb" -KERNEL_DEVICETREE_use-mainline-bsp = "imx6sl-evk.dtb" +KERNEL_DEVICETREE = "imx6sl-evk.dtb" +KERNEL_DEVICETREE_append_use-nxp-bsp = " \ + imx6sl-evk-btwifi.dtb \ + imx6sl-evk-csi.dtb \ + imx6sl-evk-ldo.dtb \ + imx6sl-evk-uart.dtb \ +" -UBOOT_CONFIG ??= "sd" -UBOOT_CONFIG[sd] = "mx6slevk_config,sdcard" -UBOOT_CONFIG[epdc] = "mx6slevk_epdc_config" -UBOOT_CONFIG[spinor] = "mx6slevk_spinor_config" -UBOOT_CONFIG[mfgtool] = "mx6slevk_config" +UBOOT_MAKE_TARGET = "u-boot.imx" +UBOOT_SUFFIX = "imx" + +UBOOT_CONFIG ??= " \ + sd \ + ${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'sd-optee', '', d)} \ +" +UBOOT_CONFIG[sd] = "mx6slevk_config,sdcard" +UBOOT_CONFIG[sd-optee] = "mx6slevk_optee_config,sdcard" +UBOOT_CONFIG[epdc] = "mx6slevk_epdc_config" +UBOOT_CONFIG[spinor] = "mx6slevk_spinor_config" +UBOOT_CONFIG[mfgtool] = "mx6slevk_config" + +OPTEE_BIN_EXT = "6slevk" SERIAL_CONSOLES = "115200;ttymxc0" -MACHINE_FEATURES += " pci wifi bluetooth" +MACHINE_FEATURES += "pci wifi bluetooth bcm4339 bcm43455" MACHINE_FIRMWARE += "linux-firmware-ath6k firmware-imx-epdc" diff --git a/conf/machine/imx6sllevk.conf b/conf/machine/imx6sllevk.conf index 7981a457..30b537f1 100644 --- a/conf/machine/imx6sllevk.conf +++ b/conf/machine/imx6sllevk.conf @@ -11,14 +11,23 @@ include conf/machine/include/tune-cortexa9.inc KERNEL_DEVICETREE = "imx6sll-evk.dtb" -UBOOT_CONFIG ??= "sd" -UBOOT_CONFIG[sd] = "mx6sllevk_config,sdcard" -UBOOT_CONFIG[epdc] = "mx6sllevk_epdc_config" -UBOOT_CONFIG[mfgtool] = "mx6sllevk_config" +UBOOT_MAKE_TARGET = "u-boot.imx" +UBOOT_SUFFIX = "imx" + +UBOOT_CONFIG ??= " \ + sd \ + ${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'sd-optee', '', d)} \ +" +UBOOT_CONFIG[sd] = "mx6sllevk_config,sdcard" +UBOOT_CONFIG[sd-optee] = "mx6sllevk_optee_config,sdcard" +UBOOT_CONFIG[epdc] = "mx6sllevk_epdc_config" +UBOOT_CONFIG[mfgtool] = "mx6sllevk_config" + +OPTEE_BIN_EXT_imx6sllevk = "6sllevk" SERIAL_CONSOLES = "115200;ttymxc0" -MACHINE_FEATURES += " pci wifi bluetooth" +MACHINE_FEATURES += "wifi bluetooth bcm4339 bcm43455" # MESA DRI library XSERVER += "mesa-driver-swrast" diff --git a/conf/machine/imx6sxsabreauto.conf b/conf/machine/imx6sxsabreauto.conf index 43cabea2..f7031ccb 100644 --- a/conf/machine/imx6sxsabreauto.conf +++ b/conf/machine/imx6sxsabreauto.conf @@ -12,14 +12,20 @@ require conf/machine/include/tune-cortexa9.inc 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_CONFIG ??= "sd" -UBOOT_CONFIG[sd] = "mx6sxsabreauto_config,sdcard" -UBOOT_CONFIG[qspi1] = "mx6sxsabreauto_qspi1_config" -UBOOT_CONFIG[nand] = "mx6sxsabreauto_nand_config,ubifs" -UBOOT_CONFIG[mfgtool] = "mx6sxsabreauto_config" +UBOOT_MAKE_TARGET = "u-boot.imx" +UBOOT_SUFFIX = "imx" + +UBOOT_CONFIG ??= " \ + sd \ + ${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'sd-optee', '', d)} \ +" +UBOOT_CONFIG[sd] = "mx6sxsabreauto_config,sdcard" +UBOOT_CONFIG[sd-optee] = "mx6sxsabreauto_optee_config,sdcard" +UBOOT_CONFIG[qspi1] = "mx6sxsabreauto_qspi1_config" +UBOOT_CONFIG[nand] = "mx6sxsabreauto_nand_config,ubifs" +UBOOT_CONFIG[mfgtool] = "mx6sxsabreauto_config" + +OPTEE_BIN_EXT = "6sxauto" SERIAL_CONSOLES = "115200;ttymxc3" diff --git a/conf/machine/imx6sxsabresd.conf b/conf/machine/imx6sxsabresd.conf index 5793a0b0..ff7d6ae6 100644 --- a/conf/machine/imx6sxsabresd.conf +++ b/conf/machine/imx6sxsabresd.conf @@ -9,21 +9,40 @@ MACHINEOVERRIDES =. "mx6:mx6sx:" require conf/machine/include/imx-base.inc require conf/machine/include/tune-cortexa9.inc -KERNEL_DEVICETREE = "imx6sx-sdb.dtb imx6sx-sdb-emmc.dtb imx6sx-sdb-m4.dtb \ - imx6sx-sdb-sai.dtb imx6sx-sdb-lcdif1.dtb imx6sx-sdb-ldo.dtb \ - imx6sx-sdb-reva-ldo.dtb imx6sx-sdb-reva.dtb \ - imx6sx-sdb-btwifi.dtb imx6sx-sdb-mqs.dtb" -KERNEL_DEVICETREE_use-mainline-bsp = "imx6sx-sdb.dtb imx6sx-sdb-sai.dtb imx6sx-sdb-reva.dtb" - -UBOOT_CONFIG ??= "sd" -UBOOT_CONFIG[sd] = "mx6sxsabresd_config,sdcard" -UBOOT_CONFIG[emmc] = "mx6sxsabresd_emmc_config,sdcard" -UBOOT_CONFIG[qspi2] = "mx6sxsabresd_qspi2_config" +KERNEL_DEVICETREE = " \ + imx6sx-sdb.dtb \ + imx6sx-sdb-reva.dtb \ + imx6sx-sdb-sai.dtb \ +" +KERNEL_DEVICETREE_append_use-nxp-bsp = " \ + imx6sx-sdb-btwifi.dtb \ + imx6sx-sdb-emmc.dtb \ + imx6sx-sdb-lcdif1.dtb \ + imx6sx-sdb-ldo.dtb \ + imx6sx-sdb-m4.dtb \ + imx6sx-sdb-mqs.dtb \ + imx6sx-sdb-pcie-ep.dtb \ + 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)} \ +" +UBOOT_CONFIG[sd] = "mx6sxsabresd_config,sdcard" +UBOOT_CONFIG[sd-optee] = "mx6sxsabresd_optee_config,sdcard" +UBOOT_CONFIG[emmc] = "mx6sxsabresd_emmc_config,sdcard" +UBOOT_CONFIG[qspi2] = "mx6sxsabresd_qspi2_config" UBOOT_CONFIG[m4fastup] = "mx6sxsabresd_m4fastup_config" -UBOOT_CONFIG[mfgtool] = "mx6sxsabresd_config" +UBOOT_CONFIG[mfgtool] = "mx6sxsabresd_config" + +OPTEE_BIN_EXT = "6sxsdb" SERIAL_CONSOLES = "115200;ttymxc0" MACHINE_FIRMWARE_append_mx6 = " linux-firmware-ath6k" -MACHINE_FEATURES += " pci wifi bluetooth" +MACHINE_FEATURES += "pci wifi bluetooth bcm4339 bcm43455" diff --git a/conf/machine/imx6ulevk.conf b/conf/machine/imx6ulevk.conf index 18b6b04b..f7c5d8ae 100644 --- a/conf/machine/imx6ulevk.conf +++ b/conf/machine/imx6ulevk.conf @@ -9,7 +9,7 @@ MACHINEOVERRIDES =. "mx6:mx6ul:" include conf/machine/include/imx-base.inc include conf/machine/include/tune-cortexa7.inc -MACHINE_FEATURES += " pci wifi bluetooth" +MACHINE_FEATURES += "wifi bluetooth bcm4339 bcm43455" KERNEL_DEVICETREE = " \ imx6ul-14x14-evk-btwifi.dtb \ @@ -23,14 +23,31 @@ KERNEL_DEVICETREE = " \ " 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" - -UBOOT_CONFIG ??= "sd" -UBOOT_CONFIG[sd] = "mx6ul_14x14_evk_config,sdcard" -UBOOT_CONFIG[emmc] = "mx6ul_14x14_evk_emmc_config,sdcard" -UBOOT_CONFIG[qspi1] = "mx6ul_14x14_evk_qspi1_config" -UBOOT_CONFIG[mfgtool] = "mx6ul_14x14_evk_config" +### 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 SPL support +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 \ + ${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'sd-optee', '', d)} \ +" +UBOOT_CONFIG[sd] = "mx6ul_14x14_evk_config,sdcard" +UBOOT_CONFIG[sd-optee] = "mx6ul_14x14_evk_optee_config,sdcard" +UBOOT_CONFIG[emmc] = "mx6ul_14x14_evk_emmc_config,sdcard" +UBOOT_CONFIG[qspi1] = "mx6ul_14x14_evk_qspi1_config" +UBOOT_CONFIG[mfgtool] = "mx6ul_14x14_evk_config" + +OPTEE_BIN_EXT = "6ulevk" diff --git a/conf/machine/imx6ullevk.conf b/conf/machine/imx6ullevk.conf index 1b31c2f7..bd592a20 100644 --- a/conf/machine/imx6ullevk.conf +++ b/conf/machine/imx6ullevk.conf @@ -2,13 +2,15 @@ #@NAME: NXP i.MX6ULL Evaluation Kit #@SOC: i.MX6ULL #@DESCRIPTION: Machine configuration for NXP i.MX6ULL EVK -#@MAINTAINER: Alexandru Palalau <ioan-alexandru.palalau@nxp.com> +#@MAINTAINER: Lauren Post <lauren.post@nxp.com> MACHINEOVERRIDES =. "mx6:mx6ull:" include conf/machine/include/imx-base.inc include conf/machine/include/tune-cortexa7.inc +MACHINE_FEATURES += "wifi bluetooth bcm4339 bcm43455" + KERNEL_DEVICETREE = " \ imx6ull-14x14-evk.dtb \ " @@ -20,10 +22,18 @@ KERNEL_DEVICETREE_append_use-nxp-bsp = " \ imx6ull-14x14-evk-gpmi-weim.dtb \ " -UBOOT_CONFIG ??= "sd" -UBOOT_CONFIG[sd] = "mx6ull_14x14_evk_config,sdcard" -UBOOT_CONFIG[mfgtool] = "mx6ull_14x14_evk_config" +UBOOT_MAKE_TARGET = "u-boot.imx" +UBOOT_SUFFIX = "imx" -SERIAL_CONSOLES = "115200;ttymxc0" +UBOOT_CONFIG ??= " \ + sd \ + ${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'sd-optee', '', d)} \ +" +UBOOT_CONFIG[sd] = "mx6ull_14x14_evk_config,sdcard" +UBOOT_CONFIG[sd-optee] = "mx6ull_14x14_evk_optee_config,sdcard" +UBOOT_CONFIG[emmc] = "mx6ull_14x14_evk_emmc_config,sdcard" +UBOOT_CONFIG[nand] = "mx6ull_14x14_evk_nand_config,ubifs" +UBOOT_CONFIG[qspi1] = "mx6ull_14x14_evk_qspi1_config" +UBOOT_CONFIG[mfgtool] = "mx6ull_14x14_evk_config" -MACHINE_FEATURES += "wifi bluetooth" +OPTEE_BIN_EXT = "6ullevk" diff --git a/conf/machine/imx6ulz-14x14-evk.conf b/conf/machine/imx6ulz-14x14-evk.conf new file mode 100644 index 00000000..7b794e7c --- /dev/null +++ b/conf/machine/imx6ulz-14x14-evk.conf @@ -0,0 +1,36 @@ +#@TYPE: Machine +#@NAME: NXP i.MX6ULZ 14x14 Evaluation Kit +#@SOC: i.MX6ULZ +#@DESCRIPTION: Machine configuration for NXP i.MX6ULZ 14x14 EVK +#@MAINTAINER: Jun Zhu <junzhu@nxp.com> + +MACHINEOVERRIDES =. "mx6:mx6ul:mx6ull:mx6ulz:" + +include conf/machine/include/imx-base.inc +include conf/machine/include/tune-cortexa7.inc + +MACHINE_FEATURES += "wifi bluetooth bcm4339 bcm43455" + +KERNEL_DEVICETREE = " \ + imx6ulz-14x14-evk.dtb \ +" +KERNEL_DEVICETREE_append_use-nxp-bsp = " \ + imx6ulz-14x14-evk-btwifi.dtb \ + imx6ulz-14x14-evk-emmc.dtb \ + 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)} \ +" +UBOOT_CONFIG[sd] = "mx6ulz_14x14_evk_config,sdcard" +UBOOT_CONFIG[sd-optee] = "mx6ulz_14x14_evk_optee_config,sdcard" +UBOOT_CONFIG[emmc] = "mx6ulz_14x14_evk_emmc_config,sdcard" +UBOOT_CONFIG[nand] = "mx6ulz_14x14_evk_nand_config,ubifs" +UBOOT_CONFIG[qspi1] = "mx6ulz_14x14_evk_qspi1_config" + +OPTEE_BIN_EXT = "6ulzevk" diff --git a/conf/machine/imx7dsabresd.conf b/conf/machine/imx7dsabresd.conf index 84de3862..e848f294 100644 --- a/conf/machine/imx7dsabresd.conf +++ b/conf/machine/imx7dsabresd.conf @@ -9,25 +9,36 @@ MACHINEOVERRIDES =. "mx7:mx7d:" require conf/machine/include/imx-base.inc require conf/machine/include/tune-cortexa7.inc -MACHINE_FEATURES += " pci wifi bluetooth" +MACHINE_FEATURES += "pci wifi bluetooth bcm4339 bcm43455" -KERNEL_DEVICETREE = " \ - imx7d-sdb.dtb \ +KERNEL_DEVICETREE = "imx7d-sdb.dtb" +KERNEL_DEVICETREE_append_use-nxp-bsp = " \ imx7d-sdb-epdc.dtb \ imx7d-sdb-gpmi-weim.dtb \ imx7d-sdb-m4.dtb \ imx7d-sdb-mipi-dsi.dtb \ + imx7d-sdb-pcie-ep.dtb \ imx7d-sdb-qspi.dtb \ imx7d-sdb-reva.dtb \ imx7d-sdb-sht11.dtb \ + imx7d-sdb-usd-wifi.dtb \ " -KERNEL_DEVICETREE_use-mainline-bsp = "imx7d-sdb.dtb" +UBOOT_MAKE_TARGET = "u-boot.imx" +UBOOT_SUFFIX = "imx" -UBOOT_CONFIG ??= "sd" -UBOOT_CONFIG[sd] = "mx7dsabresd_config,sdcard" -UBOOT_CONFIG[qspi1] = "mx7dsabresd_qspi1_config" -UBOOT_CONFIG[nand] = "mx7dsabresd_nand_config,ubifs" -UBOOT_CONFIG[epdc] = "mx7dsabresd_epdc_config" -UBOOT_CONFIG[mfgtool] = "mx7dsabresd_config" +UBOOT_CONFIG ??= " \ + sd \ + ${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'sd-optee', '', d)} \ +" +UBOOT_CONFIG[sd] = "mx7dsabresd_config,sdcard" +UBOOT_CONFIG[sd-optee] = "mx7dsabresd_optee_config,sdcard" +UBOOT_CONFIG[nonsec] = "mx7dsabresd_nonsec_config,sdcard" +UBOOT_CONFIG[qspi1] = "mx7dsabresd_qspi1_config" +UBOOT_CONFIG[nand] = "mx7dsabresd_nand_config,ubifs" +UBOOT_CONFIG[epdc] = "mx7dsabresd_epdc_config" +UBOOT_CONFIG[mfgtool] = "mx7dsabresd_config" + +OPTEE_BIN_EXT = "7dsdb" +XSERVER += "mesa-driver-swrast" diff --git a/conf/machine/imx7ulpevk.conf b/conf/machine/imx7ulpevk.conf index d9d2a559..a587f44b 100644 --- a/conf/machine/imx7ulpevk.conf +++ b/conf/machine/imx7ulpevk.conf @@ -9,9 +9,17 @@ MACHINEOVERRIDES =. "mx7:mx7ulp:" require conf/machine/include/imx-base.inc require conf/machine/include/tune-cortexa7.inc -MACHINE_FEATURES += " pci wifi bluetooth qca9377" +MACHINE_FEATURES += "pci wifi bluetooth bcm43430" KERNEL_DEVICETREE = " \ + imx7ulp-evk.dtb \ +" +KERNEL_DEVICETREE_append_use-mainline-bsp = " \ + imx7ulp-com.dtb \ +" +KERNEL_DEVICETREE_append_use-nxp-bsp = " \ + imx7ulp-evk-ft5416.dtb \ + imx7ulp-evk-mipi.dtb \ imx7ulp-evkb.dtb \ imx7ulp-evkb-emmc.dtb \ imx7ulp-evkb-lpuart.dtb \ @@ -21,15 +29,21 @@ KERNEL_DEVICETREE = " \ imx7ulp-evkb-sd1.dtb \ imx7ulp-evkb-sensors-to-i2c5.dtb \ imx7ulp-evkb-spi-slave.dtb \ - imx7ulp-evk.dtb \ - imx7ulp-evk-ft5416.dtb \ - imx7ulp-evk-mipi.dtb \ " -UBOOT_CONFIG ??= "sd" -UBOOT_CONFIG[sd] = "mx7ulp_evk_config,sdcard" -UBOOT_CONFIG[emmc] = "mx7ulp_evk_emmc_config,sdcard" -UBOOT_CONFIG[mfgtool] = "mx7ulp_evk_config" +UBOOT_MAKE_TARGET = "u-boot.imx" +UBOOT_SUFFIX = "imx" + +UBOOT_CONFIG ??= " \ + sd \ + ${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'sd-optee', '', d)} \ +" +UBOOT_CONFIG[sd] = "mx7ulp_evk_config,sdcard" +UBOOT_CONFIG[sd-optee] = "mx7ulp_evk_optee_config,sdcard" +UBOOT_CONFIG[emmc] = "mx7ulp_evk_emmc_config,sdcard" +UBOOT_CONFIG[mfgtool] = "mx7ulp_evk_config" + +OPTEE_BIN_EXT = "7ulp" # Set Serial console SERIAL_CONSOLES = "115200;ttyLP0" diff --git a/conf/machine/imx8dx-mek.conf b/conf/machine/imx8dx-mek.conf new file mode 100644 index 00000000..842ba1fa --- /dev/null +++ b/conf/machine/imx8dx-mek.conf @@ -0,0 +1,12 @@ +#@TYPE: Machine +#@NAME: i.MX 8DXP MEK +#@DESCRIPTION: i.MX 8DualXPlus Multisensory Enablement Kit board +#@MAINTAINER: Lauren Post <lauren.post@nxp.com> + +MACHINEOVERRIDES =. "mx8qxp:mx8dx:" + +require include/imx8x-mek.inc + +KERNEL_DEVICETREE_BASENAME = "${MACHINE}" + +UBOOT_CONFIG_BASENAME = "imx8dx_mek" diff --git a/conf/machine/imx8dxl-evk.conf b/conf/machine/imx8dxl-evk.conf new file mode 100644 index 00000000..5d177aa3 --- /dev/null +++ b/conf/machine/imx8dxl-evk.conf @@ -0,0 +1,64 @@ +#@TYPE: Machine +#@NAME: i.MX 8DXL EVK +#@DESCRIPTION: i.MX 8DXLite Evaluation Kit (EVK) board +#@MAINTAINER: Lauren Post <lauren.post@nxp.com> + +MACHINEOVERRIDES =. "mx8:mx8x:mx8dxl:" + +require conf/machine/include/imx-base.inc +require conf/machine/include/tune-cortexa35.inc + +MACHINE_FEATURES += "pci bcm43455 bcm4356" +MACHINE_FEATURES_append_use-nxp-bsp = " bcm4359" + +# Don't include kernels in standard images +RDEPENDS_${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/imx8dxl-evk.dtb" +KERNEL_DEVICETREE_append_use-nxp-bsp = " \ + freescale/imx8dxl-evk-enet0.dtb \ + freescale/imx8dxl-evk-enet0-tja1100.dtb \ + freescale/imx8dxl-evk-inmate.dtb \ + freescale/imx8dxl-evk-lpspi-slave.dtb \ + freescale/imx8dxl-evk-pcie-ep.dtb \ + freescale/imx8dxl-evk-root.dtb \ + freescale/imx8dxl-evk-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] = "imx8dxl_evk_defconfig,sdcard" +UBOOT_CONFIG[fspi] = "imx8dxl_evk_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 = \ + "${@bb.utils.contains('UBOOT_CONFIG', 'sd', '${IMXBOOT_TARGETS_SD}', \ + '${IMXBOOT_TARGETS_FSPI}', d)}" + +BOARD_TYPE = "evk" diff --git a/conf/machine/imx8mm-ddr4-evk.conf b/conf/machine/imx8mm-ddr4-evk.conf new file mode 100644 index 00000000..3901bb92 --- /dev/null +++ b/conf/machine/imx8mm-ddr4-evk.conf @@ -0,0 +1,25 @@ +#@TYPE: Machine +#@NAME: NXP i.MX 8M Mini EVK with DDR4 +#@SOC: i.MX8MM +#@DESCRIPTION: Machine configuration for NXP i.MX 8M Mini Evaluation Kit with DDR4 +#@MAINTAINER: Jun Zhu <junzhu@nxp.com> + +require include/imx8mm-evk.inc + +KERNEL_DEVICETREE_BASENAME = "${MACHINE}" +KERNEL_DEVICETREE_append_use-nxp-bsp = " \ + freescale/${KERNEL_DEVICETREE_BASENAME}-revb-rm67191.dtb \ + freescale/${KERNEL_DEVICETREE_BASENAME}-revb.dtb \ +" + +UBOOT_CONFIG_BASENAME = "imx8mm_ddr4_evk" +UBOOT_CONFIG[nand] = "${UBOOT_CONFIG_BASENAME}_nand_defconfig,ubifs" + +DDR_FIRMWARE_NAME = " \ + ddr4_imem_1d.bin \ + ddr4_dmem_1d.bin \ + ddr4_imem_2d.bin \ + ddr4_dmem_2d.bin \ +" + +IMXBOOT_TARGETS_BASENAME = "flash_ddr4_evk" diff --git a/conf/machine/imx8mm-lpddr4-evk.conf b/conf/machine/imx8mm-lpddr4-evk.conf new file mode 100644 index 00000000..6007c540 --- /dev/null +++ b/conf/machine/imx8mm-lpddr4-evk.conf @@ -0,0 +1,36 @@ +#@TYPE: Machine +#@NAME: NXP i.MX 8M Mini EVK with LPDDR4 +#@SOC: i.MX8MM +#@DESCRIPTION: Machine configuration for NXP i.MX 8M Mini Evaluation Kit with LPDDR4 +#@MAINTAINER: Jun Zhu <junzhu@nxp.com> + +require include/imx8mm-evk.inc + +# The device tree name is implicit for LPDDR4, so can't use MACHINE here +KERNEL_DEVICETREE_BASENAME = "imx8mm-evk" +KERNEL_DEVICETREE_append_use-nxp-bsp = " \ + freescale/${KERNEL_DEVICETREE_BASENAME}-8mic-revE.dtb \ + freescale/${KERNEL_DEVICETREE_BASENAME}-8mic-swpdm.dtb \ + freescale/${KERNEL_DEVICETREE_BASENAME}-ak4497.dtb \ + freescale/${KERNEL_DEVICETREE_BASENAME}-ak5558.dtb \ + freescale/${KERNEL_DEVICETREE_BASENAME}-audio-tdm.dtb \ + freescale/${KERNEL_DEVICETREE_BASENAME}-inmate.dtb \ + freescale/${KERNEL_DEVICETREE_BASENAME}-qca-wifi.dtb \ + freescale/${KERNEL_DEVICETREE_BASENAME}-revb-qca-wifi.dtb \ + freescale/${KERNEL_DEVICETREE_BASENAME}-root.dtb \ + freescale/${KERNEL_DEVICETREE_BASENAME}-rpmsg.dtb \ + freescale/${KERNEL_DEVICETREE_BASENAME}-usd-wifi.dtb \ +" + + +UBOOT_CONFIG_BASENAME = "imx8mm_evk" +UBOOT_CONFIG[fspi] = "${UBOOT_CONFIG_BASENAME}_fspi_defconfig" + +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 \ +" + +IMXBOOT_TARGETS_BASENAME = "flash_evk" diff --git a/conf/machine/imx8mmevk.conf b/conf/machine/imx8mmevk.conf deleted file mode 100644 index db722c72..00000000 --- a/conf/machine/imx8mmevk.conf +++ /dev/null @@ -1,58 +0,0 @@ -#@TYPE: Machine -#@NAME: NXP i.MX8MM LPDDR4 Evaluation Kit and i.MX8MM DDR4 Evaluation Kit -#@SOC: i.MX8MM -#@DESCRIPTION: Machine configuration for NXP i.MX8MMini LPDDR4 EVK and i.MX8MMini DDR4 EVK -#@MAINTAINER: Jun Zhu <junzhu@nxp.com> - -MACHINEOVERRIDES =. "mx8:mx8m:mx8mm:" - -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 \ -" - -UBOOT_CONFIG ??= "sd" -UBOOT_CONFIG[sd] = "imx8mm_evk_config,sdcard" -UBOOT_CONFIG[fspi] = "imx8mm_evk_fspi_defconfig" -UBOOT_CONFIG[mfgtool] = "imx8mm_evk_config" -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" - -# Set u-boot DTB -UBOOT_DTB_NAME = "imx8mm-evk.dtb" - -# Set imx-mkimage boot target -IMXBOOT_TARGETS = "${@bb.utils.contains('UBOOT_CONFIG', 'fspi', 'flash_evk_flexspi', 'flash_evk', d)}" - -# Set Serial console -SERIAL_CONSOLES = "115200;ttymxc1" - -LOADADDR = "" -UBOOT_SUFFIX = "bin" -UBOOT_MAKE_TARGET = "" -IMX_BOOT_SEEK = "33" - -OPTEE_BIN_EXT = "8mm" - -# Add additional firmware -MACHINE_FIRMWARE_append = " linux-firmware-ath10k" diff --git a/conf/machine/imx8mn-ddr4-evk.conf b/conf/machine/imx8mn-ddr4-evk.conf new file mode 100644 index 00000000..442afdbd --- /dev/null +++ b/conf/machine/imx8mn-ddr4-evk.conf @@ -0,0 +1,22 @@ +#@TYPE: Machine +#@NAME: NXP i.MX 8M Nano Evaluation Kit with DDR4 +#@SOC: i.MX8MM +#@DESCRIPTION: Machine configuration for NXP i.MX 8M Nano EVK with DDR4 +#@MAINTAINER: Andrey Zhizhikin <andrey.z@gmail.com> + +require include/imx8mn-evk.inc + +KERNEL_DEVICETREE_BASENAME = "${MACHINE}" +KERNEL_DEVICETREE_append_use-nxp-bsp = " \ + freescale/${KERNEL_DEVICETREE_BASENAME}-usd-wifi.dtb \ +" +UBOOT_CONFIG_BASENAME = "imx8mn_ddr4_evk" + +DDR_FIRMWARE_VERSION = "201810" +DDR_FIRMWARE_NAME = " \ + ddr4_imem_1d_${DDR_FIRMWARE_VERSION}.bin \ + ddr4_dmem_1d_${DDR_FIRMWARE_VERSION}.bin \ + ddr4_imem_2d_${DDR_FIRMWARE_VERSION}.bin \ + ddr4_dmem_2d_${DDR_FIRMWARE_VERSION}.bin \ +" +IMXBOOT_TARGETS_BASENAME = "flash_ddr4_evk" diff --git a/conf/machine/imx8mn-lpddr4-evk.conf b/conf/machine/imx8mn-lpddr4-evk.conf new file mode 100644 index 00000000..7c58bc19 --- /dev/null +++ b/conf/machine/imx8mn-lpddr4-evk.conf @@ -0,0 +1,21 @@ +#@TYPE: Machine +#@NAME: NXP i.MX 8M Nano Evaluation Kit with LPDDR4 +#@SOC: i.MX8MN +#@DESCRIPTION: Machine configuration for NXP i.MX 8M Nano EVK with LPDDR4 +#@MAINTAINER: Jun Zhu <junzhu@nxp.com> + +require include/imx8mn-evk.inc + +# The device tree name is implicit for LPDDR4, so can't use MACHINE here +KERNEL_DEVICETREE_BASENAME = "imx8mn-evk" +KERNEL_DEVICETREE_append_use-nxp-bsp = " \ + freescale/${KERNEL_DEVICETREE_BASENAME}-8mic-revE.dtb \ +" +UBOOT_CONFIG_BASENAME = "imx8mn_evk" +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 \ +" +IMXBOOT_TARGETS_BASENAME = "flash_evk" diff --git a/conf/machine/imx8mnevk.conf b/conf/machine/imx8mnevk.conf deleted file mode 100644 index 80d77ac8..00000000 --- a/conf/machine/imx8mnevk.conf +++ /dev/null @@ -1,60 +0,0 @@ -#@TYPE: Machine -#@NAME: NXP i.MX8M Nano DDR4 Evaluation Kit -#@SOC: i.MX8MM -#@DESCRIPTION: Machine configuration for NXP i.MX8M Nano DDR4 EVK -#@MAINTAINER: Andrey Zhizhikin <andrey.z@gmail.com> - -MACHINEOVERRIDES =. "mx8:mx8m:mx8mn:" - -require conf/machine/include/imx-base.inc -require conf/machine/include/tune-cortexa53.inc - -IMX_DEFAULT_BSP = "nxp" - -MACHINE_FEATURES += "wifi bluetooth optee bcm43455" - -KERNEL_DEVICETREE = " \ - freescale/imx8mn-ddr4-evk-ak5558.dtb \ - freescale/imx8mn-ddr4-evk.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 \ -" - -UBOOT_CONFIG ??= "sd" -UBOOT_CONFIG[sd] = "imx8mn_ddr4_evk_defconfig,sdcard" -UBOOT_CONFIG[mfgtool] = "imx8mn_ddr4_evk_defconfig" -SPL_BINARY = "spl/u-boot-spl.bin" - -# Set DDR FIRMWARE -DDR_FIRMWARE_NAME = "ddr4_imem_1d_201810.bin \ - ddr4_dmem_1d_201810.bin \ - ddr4_imem_2d_201810.bin \ - ddr4_dmem_2d_201810.bin" - -# Set u-boot DTB -UBOOT_DTB_NAME = "imx8mn-ddr4-evk.dtb" - -# Set imx-mkimage boot target -IMXBOOT_TARGETS = "${@bb.utils.contains('UBOOT_CONFIG', 'fspi', 'flash_ddr4_evk_flexspi', 'flash_ddr4_evk', d)}" - -# Set Serial console -SERIAL_CONSOLES = "115200;ttymxc1" - -BOOT_SPACE = "65536" -LOADADDR = "" -UBOOT_SUFFIX = "bin" -UBOOT_MAKE_TARGET = "" - -# 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" - -# Add additional firmware -MACHINE_FIRMWARE_append = " linux-firmware-ath10k" diff --git a/conf/machine/imx8mp-ddr4-evk.conf b/conf/machine/imx8mp-ddr4-evk.conf new file mode 100644 index 00000000..09517769 --- /dev/null +++ b/conf/machine/imx8mp-ddr4-evk.conf @@ -0,0 +1,27 @@ +#@TYPE: Machine +#@NAME: NXP i.MX 8M Plus EVK with DDR4 +#@SOC: i.MX8MP +#@DESCRIPTION: Machine configuration for NXP i.MX 8M Plus Evaluation Kit with DDR4 +#@MAINTAINER: Jun Zhu <junzhu@nxp.com> + +require include/imx8mp-evk.inc + +# FIXME: This machine is not yet supported by u-boot-fslc, so for now +# use u-boot-imx for mainline. +IMX_DEFAULT_BOOTLOADER_use-mainline-bsp = "u-boot-imx" + +KERNEL_DEVICETREE_BASENAME = "${MACHINE}" + +UBOOT_CONFIG_BASENAME = "imx8mp_ddr4_evk" +UBOOT_CONFIG[nand] = "${UBOOT_CONFIG_BASENAME}_nand_defconfig" + +# Set DDR FIRMWARE +DDR_FIRMWARE_VERSION = "202006" +DDR_FIRMWARE_NAME = " \ + ddr4_dmem_1d_${DDR_FIRMWARE_VERSION}.bin \ + ddr4_imem_1d_${DDR_FIRMWARE_VERSION}.bin \ + ddr4_dmem_2d_${DDR_FIRMWARE_VERSION}.bin \ + ddr4_imem_2d_${DDR_FIRMWARE_VERSION}.bin \ +" + +IMXBOOT_TARGETS_BASENAME = "flash_ddr4_evk" diff --git a/conf/machine/imx8mp-lpddr4-evk.conf b/conf/machine/imx8mp-lpddr4-evk.conf new file mode 100644 index 00000000..6484da7c --- /dev/null +++ b/conf/machine/imx8mp-lpddr4-evk.conf @@ -0,0 +1,47 @@ +#@TYPE: Machine +#@NAME: NXP i.MX 8M Plus EVK with LPDDR4 +#@SOC: i.MX8MP +#@DESCRIPTION: Machine configuration for NXP i.MX 8M Plus Evaluation Kit with LPDDR4 +#@MAINTAINER: Jun Zhu <junzhu@nxp.com> + +require include/imx8mp-evk.inc + +# The device tree name is implicit for LPDDR4, so can't use MACHINE here +KERNEL_DEVICETREE_BASENAME = "imx8mp-evk" + +# NXP kernel has additional DTB files for various board configuration and +# derivates. Include them here for NXP BSP only +KERNEL_DEVICETREE_append_use-nxp-bsp = " \ + freescale/imx8mp-ab2.dtb \ + freescale/imx8mp-evk-basler.dtb \ + freescale/imx8mp-evk-basler-ov5640.dtb \ + freescale/imx8mp-evk-dsp.dtb \ + freescale/imx8mp-evk-dsp-lpa.dtb \ + freescale/imx8mp-evk-dual-ov2775.dtb \ + freescale/imx8mp-evk-flexcan2.dtb \ + freescale/imx8mp-evk-inmate.dtb \ + freescale/imx8mp-evk-it6263-lvds-dual-channel.dtb \ + freescale/imx8mp-evk-jdi-wuxga-lvds-panel.dtb \ + freescale/imx8mp-evk-ov2775.dtb \ + freescale/imx8mp-evk-ov2775-ov5640.dtb \ + freescale/imx8mp-evk-pcie-ep.dtb \ + freescale/imx8mp-evk-rm67191.dtb \ + freescale/imx8mp-evk-root.dtb \ + freescale/imx8mp-evk-rpmsg.dtb \ + freescale/imx8mp-evk-sof-wm8960.dtb \ + freescale/imx8mp-evk-spdif-lb.dtb \ +" + +UBOOT_CONFIG_BASENAME = "imx8mp_evk" +UBOOT_CONFIG[fspi] = "${UBOOT_CONFIG_BASENAME}_defconfig" + +# Set DDR FIRMWARE +DDR_FIRMWARE_VERSION = "202006" +DDR_FIRMWARE_NAME = " \ + lpddr4_pmu_train_1d_dmem_${DDR_FIRMWARE_VERSION}.bin \ + lpddr4_pmu_train_1d_imem_${DDR_FIRMWARE_VERSION}.bin \ + lpddr4_pmu_train_2d_dmem_${DDR_FIRMWARE_VERSION}.bin \ + lpddr4_pmu_train_2d_imem_${DDR_FIRMWARE_VERSION}.bin \ +" + +IMXBOOT_TARGETS_BASENAME = "flash_evk" diff --git a/conf/machine/imx8mqevk.conf b/conf/machine/imx8mq-evk.conf index 2c9c8c29..9907ef4b 100644 --- a/conf/machine/imx8mqevk.conf +++ b/conf/machine/imx8mq-evk.conf @@ -1,8 +1,8 @@ #@TYPE: Machine -#@NAME: NXP i.MX8MQ Evaluation Kit +#@NAME: NXP i.MX 8M Quad EVK #@SOC: i.MX8MQ -#@DESCRIPTION: Machine configuration for NXP i.MX8MQ EVK -#@MAINTAINER: Alexandru Palalau <ioan-alexandru.palalau@nxp.com> +#@DESCRIPTION: Machine configuration for NXP i.MX 8M Quad Evaluation Kit +#@MAINTAINER: Jun Zhu <junzhu@nxp.com> MACHINEOVERRIDES =. "mx8:mx8m:mx8mq:" @@ -11,43 +11,63 @@ require conf/machine/include/tune-cortexa53.inc IMX_DEFAULT_BSP = "nxp" -MACHINE_FEATURES += "pci wifi bluetooth optee qca6174" +MACHINE_FEATURES += "pci wifi bluetooth optee bcm43455 bcm4356" +MACHINE_FEATURES_append_use-nxp-bsp = " bcm4359" MACHINE_SOCARCH_FILTER_append_mx8mq = " virtual/libopenvg virtual/libgles1 virtual/libgles2 virtual/egl virtual/mesa virtual/libgl virtual/libg2d" KERNEL_DEVICETREE = " \ + freescale/imx8mq-evk.dtb \ +" +KERNEL_DEVICETREE_append_use-nxp-bsp = " \ freescale/imx8mq-evk-ak4497.dtb \ freescale/imx8mq-evk-audio-tdm.dtb \ freescale/imx8mq-evk-dcss-adv7535.dtb \ freescale/imx8mq-evk-dcss-rm67191.dtb \ + freescale/imx8mq-evk-dcss-rm67199.dtb \ freescale/imx8mq-evk-dp.dtb \ - freescale/imx8mq-evk.dtb \ freescale/imx8mq-evk-dual-display.dtb \ freescale/imx8mq-evk-inmate.dtb \ freescale/imx8mq-evk-lcdif-adv7535.dtb \ freescale/imx8mq-evk-lcdif-rm67191.dtb \ + freescale/imx8mq-evk-lcdif-rm67199.dtb \ + freescale/imx8mq-evk-pcie-ep.dtb \ freescale/imx8mq-evk-pcie1-m2.dtb \ freescale/imx8mq-evk-pdm.dtb \ freescale/imx8mq-evk-root.dtb \ freescale/imx8mq-evk-rpmsg.dtb \ + freescale/imx8mq-evk-usd-wifi.dtb \ + 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" +UBOOT_CONFIG[sd] = "imx8mq_evk_config,sdcard" +UBOOT_CONFIG[mfgtool] = "imx8mq_evk_config" + 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 = "imx8mq-evk.dtb" +# Set ATF platform name +ATF_PLATFORM = "imx8mq" + # Set imx-mkimage boot target IMXBOOT_TARGETS = "flash_evk flash_evk_no_hdmi flash_dp_evk" - -# Set Serial console -SERIAL_CONSOLES = "115200;ttymxc0" +IMX_BOOT_SOC_TARGET = "iMX8M" LOADADDR = "" UBOOT_SUFFIX = "bin" diff --git a/conf/machine/imx8qm-mek.conf b/conf/machine/imx8qm-mek.conf new file mode 100644 index 00000000..5ceb6b8b --- /dev/null +++ b/conf/machine/imx8qm-mek.conf @@ -0,0 +1,89 @@ +#@TYPE: Machine +#@NAME: i.MX 8QM MEK +#@DESCRIPTION: i.MX 8QuadMax Multisensory Enablement Kit board, rev B0 +#@MAINTAINER: Lauren Post <lauren.post@nxp.com> + +MACHINEOVERRIDES =. "mx8:mx8qm:" + +require conf/machine/include/imx-base.inc +require conf/machine/include/tune-cortexa72-cortexa53.inc + +IMX_DEFAULT_BSP = "nxp" + +MACHINE_FEATURES += "pci optee bcm43455 bcm4356" +MACHINE_FEATURES_append_use-nxp-bsp = " bcm4359" + +# Don't include kernels in standard images +RDEPENDS_${KERNEL_PACKAGE_NAME}-base = "" + +LOADADDR = "" + +# We have to disable SERIAL_CONSOLE due to auto-serial-console +SERIAL_CONSOLES = "115200;ttyAMA0" + +# we do not want to have getty running on tty1 as we run +# auto-serial-console there +USE_VT = "0" + +KERNEL_DEVICETREE = " \ + freescale/imx8qm-mek.dtb \ + freescale/imx8qm-mek-ca53.dtb \ + freescale/imx8qm-mek-ca72.dtb \ + freescale/imx8qm-mek-dom0.dtb \ + freescale/imx8qm-mek-domu.dtb \ + freescale/imx8qm-mek-dsi-rm67191.dtb \ + freescale/imx8qm-mek-dsp.dtb \ + freescale/imx8qm-mek-enet2-tja1100.dtb \ + freescale/imx8qm-mek-esai.dtb \ + freescale/imx8qm-mek-hdmi.dtb \ + freescale/imx8qm-mek-inmate.dtb \ + freescale/imx8qm-mek-jdi-wuxga-lvds1-panel.dtb \ + freescale/imx8qm-mek-jdi-wuxga-lvds1-panel-rpmsg.dtb \ + freescale/imx8qm-mek-ov5640.dtb \ + freescale/imx8qm-mek-pcie-ep.dtb \ + freescale/imx8qm-mek-root.dtb \ + freescale/imx8qm-mek-rpmsg.dtb \ + freescale/imx8qm-mek-sof-cs42888.dtb \ + freescale/imx8qm-mek-sof-wm8960.dtb \ + freescale/imx8qm-mek-usd-wifi.dtb \ + freescale/imx8qm-mek-usdhc3-m2.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)}" +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] = "imx8qm_mek_defconfig,sdcard" +UBOOT_CONFIG[fspi] = "imx8qm_mek_fspi_defconfig" +UBOOT_CONFIG[mfgtool] = "imx8qm_mek_defconfig" + +IMX_BOOT_SEEK = "32" + +IMAGE_BOOT_FILES += "hdmitxfw.bin hdmirxfw.bin dpfw.bin" + +# Set ATF platform name +ATF_PLATFORM = "imx8qm" + +IMXBOOT_TARGETS_SD = \ + "${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'flash_spl', \ + 'flash flash_ca72', 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)}" +IMX_BOOT_SOC_TARGET = "iMX8QM" + +BOARD_TYPE = "mek" + +# Add additional firmware +MACHINE_FIRMWARE_append = " linux-firmware-ath10k" diff --git a/conf/machine/imx8qmmek.conf b/conf/machine/imx8qmmek.conf deleted file mode 100644 index 4e459a5e..00000000 --- a/conf/machine/imx8qmmek.conf +++ /dev/null @@ -1,63 +0,0 @@ -#@TYPE: Machine -#@NAME: i.MX 8QM MEK -#@DESCRIPTION: i.MX 8QuadMax MEK board -#@MAINTAINER: Alexandru Palalau <ioan-alexandru.palalau@nxp.com> - -MACHINEOVERRIDES =. "mx8:mx8qm:" - -require conf/machine/include/imx-base.inc -require conf/machine/include/tune-cortexa72-cortexa53.inc - -IMX_DEFAULT_BSP = "nxp" - -MACHINE_FEATURES_append = " qca6174" - -# Don't include kernels in standard images -RDEPENDS_${KERNEL_PACKAGE_NAME}-base = "" - -LOADADDR = "" - -# We have to disable SERIAL_CONSOLE due to auto-serial-console -SERIAL_CONSOLES = "115200;ttyAMA0" - -# we do not want to have getty running on tty1 as we run -# auto-serial-console there -USE_VT = "0" - -KERNEL_DEVICETREE = " \ - freescale/imx8qm-mek-ca53.dtb \ - freescale/imx8qm-mek-ca72.dtb \ - freescale/imx8qm-mek-dom0.dtb \ - freescale/imx8qm-mek-domu.dtb \ - freescale/imx8qm-mek-dsi-rm67191.dtb \ - freescale/imx8qm-mek-dsp.dtb \ - freescale/imx8qm-mek.dtb \ - freescale/imx8qm-mek-enet2-tja1100.dtb \ - freescale/imx8qm-mek-hdmi.dtb \ - freescale/imx8qm-mek-inmate.dtb \ - freescale/imx8qm-mek-jdi-wuxga-lvds1-panel.dtb \ - freescale/imx8qm-mek-ov5640.dtb \ - freescale/imx8qm-mek-root.dtb \ - freescale/imx8qm-mek-rpmsg.dtb \ -" - -UBOOT_MAKE_TARGET = "u-boot.bin" -UBOOT_SUFFIX = "bin" -UBOOT_CONFIG ??= "sd" -UBOOT_CONFIG[sd] = "imx8qm_mek_defconfig,sdcard" -UBOOT_CONFIG[fspi] = "imx8qm_mek_fspi_defconfig" -UBOOT_CONFIG[mfgtool] = "imx8qm_mek_defconfig" - -IMX_BOOT_SEEK = "33" - -WKS_FILE_DEPENDS_append = " firmware-imx-8" -IMAGE_BOOT_FILES += "hdmitxfw.bin hdmirxfw.bin dpfw.bin" - -IMXBOOT_TARGETS = \ - "${@bb.utils.contains('UBOOT_CONFIG', 'sd', 'flash', \ - 'flash_flexspi', d)}" - -BOARD_TYPE = "mek" - -# Add additional firmware -MACHINE_FIRMWARE_append = " linux-firmware-ath10k" diff --git a/conf/machine/imx8qxp-mek.conf b/conf/machine/imx8qxp-mek.conf new file mode 100644 index 00000000..fe0f6727 --- /dev/null +++ b/conf/machine/imx8qxp-mek.conf @@ -0,0 +1,26 @@ +#@TYPE: Machine +#@NAME: i.MX 8QXP MEK +#@DESCRIPTION: i.MX 8QuadXPlus Multisensory Enablement Kit board +#@MAINTAINER: Lauren Post <lauren.post@nxp.com> + +MACHINEOVERRIDES =. "mx8qxp:" + +require include/imx8x-mek.inc + +KERNEL_DEVICETREE_BASENAME = "${MACHINE}" +KERNEL_DEVICETREE_append_use-nxp-bsp = " \ + freescale/${KERNEL_DEVICETREE_BASENAME}-a0.dtb \ + freescale/${KERNEL_DEVICETREE_BASENAME}-dom0.dtb \ + freescale/${KERNEL_DEVICETREE_BASENAME}-dpu-lcdif.dtb \ + freescale/${KERNEL_DEVICETREE_BASENAME}-dpu-lcdif-rpmsg.dtb \ + freescale/${KERNEL_DEVICETREE_BASENAME}-enet2.dtb \ + freescale/${KERNEL_DEVICETREE_BASENAME}-inmate.dtb \ + freescale/${KERNEL_DEVICETREE_BASENAME}-lcdif.dtb \ + freescale/${KERNEL_DEVICETREE_BASENAME}-lcdif-rpmsg.dtb \ + freescale/${KERNEL_DEVICETREE_BASENAME}-pcie-ep.dtb \ + freescale/${KERNEL_DEVICETREE_BASENAME}-root.dtb \ + freescale/${KERNEL_DEVICETREE_BASENAME}-sof-cs42888.dtb \ + freescale/${KERNEL_DEVICETREE_BASENAME}-sof-wm8960.dtb \ +" + +UBOOT_CONFIG_BASENAME = "imx8qxp_mek" diff --git a/conf/machine/imx8qxpmek.conf b/conf/machine/imx8qxpmek.conf deleted file mode 100644 index 9b96c711..00000000 --- a/conf/machine/imx8qxpmek.conf +++ /dev/null @@ -1,63 +0,0 @@ -#@TYPE: Machine -#@NAME: i.MX 8QXP MEK -#@DESCRIPTION: i.MX 8QXP Multisensory Enablement Kit (MEK) board -#@MAINTAINER: Cristinel Panfir <cristinel.panfir@nxp.com> - -MACHINEOVERRIDES =. "mx8:mx8x:mx8qxp:" - -require conf/machine/include/imx-base.inc -require conf/machine/include/tune-cortexa35.inc - -IMX_DEFAULT_BSP = "nxp" - -MACHINE_FEATURES_append = " qca6174" - -# Don't include kernels in standard images -RDEPENDS_${KERNEL_PACKAGE_NAME}-base = "" - -LOADADDR = "" - -# We have to disable SERIAL_CONSOLE due to auto-serial-console -SERIAL_CONSOLES = "115200;ttyAMA0" - -# we do not want to have getty running on tty1 as we run -# auto-serial-console there -USE_VT = "0" - -KERNEL_DEVICETREE = " \ - freescale/imx8qxp-mek-a0.dtb \ - freescale/imx8qxp-mek-dom0.dtb \ - freescale/imx8qxp-mek-dsi-rm67191.dtb \ - freescale/imx8qxp-mek-dsp.dtb \ - freescale/imx8qxp-mek.dtb \ - freescale/imx8qxp-mek-enet2.dtb \ - freescale/imx8qxp-mek-enet2-tja1100.dtb \ - freescale/imx8qxp-mek-inmate.dtb \ - freescale/imx8qxp-mek-it6263-lvds0-dual-channel.dtb \ - freescale/imx8qxp-mek-it6263-lvds1-dual-channel.dtb \ - freescale/imx8qxp-mek-jdi-wuxga-lvds0-panel.dtb \ - freescale/imx8qxp-mek-jdi-wuxga-lvds1-panel.dtb \ - freescale/imx8qxp-mek-ov5640.dtb \ - freescale/imx8qxp-mek-root.dtb \ - freescale/imx8qxp-mek-rpmsg.dtb \ - freescale/imx8qxp-mek-sof-cs42888.dtb \ - freescale/imx8qxp-mek-sof-wm8960.dtb \ -" - -UBOOT_MAKE_TARGET = "u-boot.bin" -UBOOT_SUFFIX = "bin" -UBOOT_CONFIG ??= "sd" -UBOOT_CONFIG[sd] = "imx8qxp_mek_config,sdcard" -UBOOT_CONFIG[fspi] = "imx8qxp_mek_fspi_defconfig" - -IMX_BOOT_SEEK = "32" - -IMXBOOT_TARGETS = \ - "${@bb.utils.contains('UBOOT_CONFIG', 'sd', 'flash', \ - bb.utils.contains('UBOOT_CONFIG', 'fspi', 'flash_flexspi', \ - 'UNKNOWN', d), d)}" - -BOARD_TYPE = "mek" - -# Add additional firmware -MACHINE_FIRMWARE_append = " linux-firmware-ath10k" 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" diff --git a/conf/machine/include/imx8mm-evk.inc b/conf/machine/include/imx8mm-evk.inc new file mode 100644 index 00000000..9b590fe0 --- /dev/null +++ b/conf/machine/include/imx8mm-evk.inc @@ -0,0 +1,57 @@ +MACHINEOVERRIDES =. "imx-boot-container:mx8:mx8m:mx8mm:" + +require conf/machine/include/imx-base.inc +require conf/machine/include/tune-cortexa53.inc + +MACHINE_FEATURES += "pci wifi bluetooth bcm43455 bcm4356" + +# NXP BSP can consume BCM4359 and 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 +# 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 bcm4359 qca9377" + +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 \ +" +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" + +SPL_BINARY = "spl/u-boot-spl.bin" + +ATF_PLATFORM = "imx8mm" +ATF_LOAD_ADDR = "0x920000" + +# Extra firmware package name, that is required to build boot container for fslc bsp +IMX_EXTRA_FIRMWARE = "firmware-imx-8m" + +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" + +LOADADDR = "" +UBOOT_SUFFIX = "bin" +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" diff --git a/conf/machine/include/imx8mn-evk.inc b/conf/machine/include/imx8mn-evk.inc new file mode 100644 index 00000000..6a5b31f7 --- /dev/null +++ b/conf/machine/include/imx8mn-evk.inc @@ -0,0 +1,63 @@ +MACHINEOVERRIDES =. "imx-boot-container:mx8:mx8m:mx8mn:" + +require conf/machine/include/imx-base.inc +require conf/machine/include/tune-cortexa53.inc + +MACHINE_FEATURES += "wifi bluetooth bcm43455 bcm4356" + +# 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}-inmate.dtb \ + freescale/${KERNEL_DEVICETREE_BASENAME}-rm67191.dtb \ + freescale/${KERNEL_DEVICETREE_BASENAME}-root.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[mfgtool] = "${UBOOT_CONFIG_BASENAME}_defconfig" + +SPL_BINARY = "spl/u-boot-spl.bin" + +ATF_PLATFORM = "imx8mn" +ATF_LOAD_ADDR = "0x960000" + +# Extra firmware package name, that is required to build boot container for fslc bsp +IMX_EXTRA_FIRMWARE = "firmware-imx-8m" + +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" + +BOOT_SPACE = "65536" +LOADADDR = "" +UBOOT_SUFFIX = "bin" +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" diff --git a/conf/machine/include/imx8mp-evk.inc b/conf/machine/include/imx8mp-evk.inc new file mode 100644 index 00000000..872d07a0 --- /dev/null +++ b/conf/machine/include/imx8mp-evk.inc @@ -0,0 +1,55 @@ +MACHINEOVERRIDES =. "imx-boot-container:mx8:mx8m:mx8mp:" + +require conf/machine/include/imx-base.inc +require conf/machine/include/tune-cortexa53.inc + +MACHINE_FEATURES += "pci wifi bluetooth jailhouse" + +# 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 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" +UBOOT_CONFIG[mfgtool] = "${UBOOT_CONFIG_BASENAME}_defconfig" + +SPL_BINARY = "spl/u-boot-spl.bin" + +ATF_PLATFORM = "imx8mp" +ATF_LOAD_ADDR = "0x970000" + +# Extra firmware package name, that is required to build boot container for fslc bsp +IMX_EXTRA_FIRMWARE = "firmware-imx-8m" + +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" + +LOADADDR = "" +UBOOT_SUFFIX = "bin" +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" diff --git a/conf/machine/include/imx8x-mek.inc b/conf/machine/include/imx8x-mek.inc new file mode 100644 index 00000000..814a34c1 --- /dev/null +++ b/conf/machine/include/imx8x-mek.inc @@ -0,0 +1,79 @@ +MACHINEOVERRIDES =. "mx8:mx8x:" + +require conf/machine/include/imx-base.inc +require conf/machine/include/tune-cortexa35.inc + +IMX_DEFAULT_BSP = "nxp" + +MACHINE_FEATURES += "pci optee bcm43455 bcm4356" +MACHINE_FEATURES_append_use-nxp-bsp = " bcm4359" + +# Don't include kernels in standard images +RDEPENDS_${KERNEL_PACKAGE_NAME}-base = "" + +LOADADDR = "" + +# We have to disable SERIAL_CONSOLE due to auto-serial-console +SERIAL_CONSOLES = "115200;ttyAMA0" + +# 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}-dsp.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" + +# Set ATF platform name +ATF_PLATFORM = "imx8qx" + +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)}" +IMX_BOOT_SOC_TARGET = "iMX8QX" + +BOARD_TYPE = "mek" + +# Add additional firmware +MACHINE_FIRMWARE_append = " linux-firmware-ath10k" diff --git a/conf/machine/include/qoriq-base.inc b/conf/machine/include/qoriq-base.inc index 93e48505..e482b857 100644 --- a/conf/machine/include/qoriq-base.inc +++ b/conf/machine/include/qoriq-base.inc @@ -1,12 +1,12 @@ # common providers of QorIQ targets -PREFERRED_PROVIDER_cryptodev-linux = "cryptodev-qoriq-linux" -PREFERRED_PROVIDER_cryptodev-module = "cryptodev-qoriq-module" -PREFERRED_PROVIDER_cryptodev-tests = "cryptodev-qoriq-tests" 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" -PREFERRED_PROVIDER_ptpd = "ptpd-qoriq" SOC_DEFAULT_IMAGE_FSTYPES = "tar.gz ext2.gz.u-boot ext2.gz" IMAGE_FSTYPES ?= "${SOC_DEFAULT_IMAGE_FSTYPES}" @@ -32,6 +32,5 @@ MACHINE_SOCARCH_SUFFIX ?= "" MACHINE_SOCARCH_SUFFIX_qoriq = "-qoriq" MACHINE_ARCH_FILTER = "virtual/kernel" -MACHINE_SOCARCH_FILTER_append_qoriq = " cryptodev-qoriq-linux cryptodev-qoriq-module cryptodev-qoriq-test" INHERIT += "fsl-dynamic-packagearch" diff --git a/conf/machine/ls1012afrwy.conf b/conf/machine/ls1012afrwy.conf index 449e518c..72605cc1 100644 --- a/conf/machine/ls1012afrwy.conf +++ b/conf/machine/ls1012afrwy.conf @@ -27,5 +27,5 @@ RCWQSPI ?= "N_SSNP_3305/rcw_1000" KERNEL_DEVICETREE ?= "freescale/fsl-ls1012a-frwy.dtb" KERNEL_DEFCONFIG ?= "defconfig" -EXTRA_IMAGEDEPENDS += "ppfe-firmware rcw atf" +EXTRA_IMAGEDEPENDS += "ppfe-firmware rcw qoriq-atf" USE_VT = "0" diff --git a/conf/machine/ls1012ardb.conf b/conf/machine/ls1012ardb.conf index 6efd6b3d..b4bfc571 100644 --- a/conf/machine/ls1012ardb.conf +++ b/conf/machine/ls1012ardb.conf @@ -28,5 +28,5 @@ RCWQSPISEC ?= "R_SPNH_3508/rcw_1000" KERNEL_DEVICETREE ?= "freescale/fsl-ls1012a-rdb.dtb freescale/fsl-ls1012a-qds.dtb" KERNEL_DEFCONFIG ?= "defconfig" -EXTRA_IMAGEDEPENDS += "ppfe-firmware rcw atf" +EXTRA_IMAGEDEPENDS += "ppfe-firmware rcw qoriq-atf" USE_VT = "0" diff --git a/conf/machine/ls1028ardb.conf b/conf/machine/ls1028ardb.conf index b0bbc5b8..7647bf41 100644 --- a/conf/machine/ls1028ardb.conf +++ b/conf/machine/ls1028ardb.conf @@ -34,5 +34,5 @@ RCWSD ?= "R_SQPP_0x85bb/rcw_1500_gpu600" RCWXSPI ?= "R_SQPP_0x85bb/rcw_1500_gpu600" RCWEMMC ?= "R_SQPP_0x85bb/rcw_1500_gpu600" -EXTRA_IMAGEDEPENDS += "rcw atf dp-firmware-cadence" +EXTRA_IMAGEDEPENDS += "rcw qoriq-atf dp-firmware-cadence" USE_VT = "0" diff --git a/conf/machine/ls1043ardb.conf b/conf/machine/ls1043ardb.conf index 6f1f7ea4..369abdcf 100644 --- a/conf/machine/ls1043ardb.conf +++ b/conf/machine/ls1043ardb.conf @@ -40,5 +40,5 @@ RCWSD ?= "RR_FQPP_1455/rcw_1600_sdboot" RCWNAND ?= "RR_FQPP_1455/rcw_1600_nandboot" QE_UCODE = "iram_Type_A_LS1021a_r1.0.bin" -EXTRA_IMAGEDEPENDS += "fm-ucode rcw qe-ucode uefi atf ls2-phy" +EXTRA_IMAGEDEPENDS += "fm-ucode rcw qe-ucode uefi qoriq-atf ls2-phy" USE_VT = "0" diff --git a/conf/machine/ls1046afrwy.conf b/conf/machine/ls1046afrwy.conf index 884f7666..f6854a0c 100644 --- a/conf/machine/ls1046afrwy.conf +++ b/conf/machine/ls1046afrwy.conf @@ -37,5 +37,5 @@ SERIAL_CONSOLES_CHECK ?= "${SERIAL_CONSOLES}" RCWQSPI ?= "NN_NNQNNPNP_3040_0506/rcw_1600_qspiboot" RCWSD ?= "NN_NNQNNPNP_3040_0506/rcw_1600_sdboot" -EXTRA_IMAGEDEPENDS += "fm-ucode rcw atf ls2-phy qe-ucode" +EXTRA_IMAGEDEPENDS += "fm-ucode rcw qoriq-atf ls2-phy qe-ucode" USE_VT = "0" diff --git a/conf/machine/ls1046ardb.conf b/conf/machine/ls1046ardb.conf index e8773366..64f26792 100644 --- a/conf/machine/ls1046ardb.conf +++ b/conf/machine/ls1046ardb.conf @@ -40,5 +40,5 @@ UEFI_QSPIBOOT ?= "LS1046ARDB_EFI_QSPIBOOT.fd" RCWQSPI ?= "RR_FFSSPPPH_1133_5559/rcw_1800_qspiboot" RCWSD ?= "RR_FFSSPPPH_1133_5559/rcw_1800_sdboot" -EXTRA_IMAGEDEPENDS += "fm-ucode rcw uefi atf qe-ucode ls2-phy" +EXTRA_IMAGEDEPENDS += "fm-ucode rcw uefi qoriq-atf qe-ucode ls2-phy" USE_VT = "0" diff --git a/conf/machine/ls1088ardb-pb.conf b/conf/machine/ls1088ardb-pb.conf index 2e456f1b..1ae5693b 100644 --- a/conf/machine/ls1088ardb-pb.conf +++ b/conf/machine/ls1088ardb-pb.conf @@ -31,5 +31,5 @@ RCWSD ?= "FCSSRR_PPPP_0x1d_0x13/rcw_1600_sd" RCWQSPI ?= "FCSSRR_PPPP_0x1d_0x13/rcw_1600_qspi" -EXTRA_IMAGEDEPENDS += "mc-utils rcw management-complex atf" +EXTRA_IMAGEDEPENDS += "mc-utils rcw management-complex qoriq-atf" USE_VT = "0" diff --git a/conf/machine/ls1088ardb.conf b/conf/machine/ls1088ardb.conf index 8f47f284..9922248f 100644 --- a/conf/machine/ls1088ardb.conf +++ b/conf/machine/ls1088ardb.conf @@ -30,5 +30,5 @@ SERIAL_CONSOLES_CHECK ?= "${SERIAL_CONSOLES}" RCWSD ?= "FCQQQQQQQQ_PPP_H_0x1d_0x0d/rcw_1600_sd" RCWQSPI ?= "FCQQQQQQQQ_PPP_H_0x1d_0x0d/rcw_1600_qspi" -EXTRA_IMAGEDEPENDS += "mc-utils rcw management-complex atf" +EXTRA_IMAGEDEPENDS += "mc-utils rcw management-complex qoriq-atf" USE_VT = "0" diff --git a/conf/machine/ls2088ardb.conf b/conf/machine/ls2088ardb.conf index f920d601..92c99326 100644 --- a/conf/machine/ls2088ardb.conf +++ b/conf/machine/ls2088ardb.conf @@ -31,5 +31,5 @@ KERNEL_DEFCONFIG ?= "defconfig" SERIAL_CONSOLES ?= "115200;ttyS0 115200;ttyS1 115200;ttyAMA0" SERIAL_CONSOLES_CHECK ?= "${SERIAL_CONSOLES}" -EXTRA_IMAGEDEPENDS += "mc-utils ls2-phy rcw management-complex uefi atf" +EXTRA_IMAGEDEPENDS += "mc-utils ls2-phy rcw management-complex uefi qoriq-atf" USE_VT = "0" diff --git a/conf/machine/lx2160ardb.conf b/conf/machine/lx2160ardb.conf index a8bbdbda..5e68a9fd 100644 --- a/conf/machine/lx2160ardb.conf +++ b/conf/machine/lx2160ardb.conf @@ -32,5 +32,5 @@ RCWXSPI ?= "XGGFF_PP_HHHH_RR_19_5_2/rcw_2000_700_2900_19_5_2" RCWSD ?= "XGGFF_PP_HHHH_RR_19_5_2/rcw_2000_700_2900_19_5_2" RCWEMMC ?= "XGGFF_PP_HHHH_RR_19_5_2/rcw_2000_700_2900_19_5_2" -EXTRA_IMAGEDEPENDS += "management-complex mc-utils rcw ls2-phy ddr-phy uefi atf inphi" +EXTRA_IMAGEDEPENDS += "management-complex mc-utils rcw ls2-phy ddr-phy uefi qoriq-atf inphi" USE_VT = "0" diff --git a/conf/machine/lx2162aqds.conf b/conf/machine/lx2162aqds.conf new file mode 100644 index 00000000..c7ab95fb --- /dev/null +++ b/conf/machine/lx2162aqds.conf @@ -0,0 +1,36 @@ +#@TYPE: Machine +#@NAME: NXP LX2162AQDS +#@SOC: LSCH3 +#@DESCRIPTION: Machine configuration for running LX2162AQDS in 64-bit mode +#@MAINTAINER: Zongchun Yu <Zongchun.Yu@nxp.com> + +require conf/machine/include/qoriq-arm64.inc +require conf/machine/include/arm/arch-arm64.inc + +MACHINEOVERRIDES =. "fsl-lsch3:lx2162a:" + +MACHINE_FEATURES += "optee" + +KERNEL_CLASSES = " kernel-fitimage " +KERNEL_IMAGETYPES = "fitImage" + +DTB_LOAD = "0x90000000" +UBOOT_ENTRYPOINT = "0x80080000" + +UBOOT_CONFIG ??= "tfa-verified-boot tfa-secure-boot tfa" +UBOOT_CONFIG[tfa] = "lx2162aqds_tfa_defconfig,,u-boot-dtb.bin" +UBOOT_CONFIG[tfa-secure-boot] = "lx2162aqds_tfa_SECURE_BOOT_defconfig,,u-boot-dtb.bin" +UBOOT_CONFIG[tfa-verified-boot] = "lx2162aqds_tfa_verified_boot_defconfig,,u-boot-nodtb.bin" + +KERNEL_DEVICETREE ?= "freescale/fsl-lx2162a-qds.dtb" +KERNEL_DEFCONFIG ?= "defconfig" + +SERIAL_CONSOLES ?= "115200;ttyS0 115200;ttyS1 115200;ttyAMA0" +SERIAL_CONSOLES_CHECK ?= "${SERIAL_CONSOLES}" + +RCWXSPI ?= "GGGG_NNNN_PPPP_PPPP_RR_17_2/rcw_2000_650_2900_17_2" +RCWSD ?= "GGGG_NNNN_PPPP_PPPP_RR_17_2/rcw_2000_650_2900_17_2" +RCWEMMC ?= "GGGG_NNNN_PPPP_PPPP_RR_17_2/rcw_2000_650_2900_17_2" + +EXTRA_IMAGEDEPENDS += "management-complex mc-utils rcw ls2-phy ddr-phy qoriq-atf inphi" +USE_VT = "0" |