summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrey Zhizhikin <andrey.z@gmail.com>2022-06-13 09:05:11 +0000
committerAndrey Zhizhikin <andrey.z@gmail.com>2022-06-14 18:51:40 +0000
commitb61c4907b1926061cbf627ee1fd5dd8eb8e53d59 (patch)
tree400f0cd1c751409786d6382955a5e42cb23a90bf
parent60f941077013631c98df522c730eb5beab374523 (diff)
downloadmeta-freescale-b61c4907b1926061cbf627ee1fd5dd8eb8e53d59.tar.gz
layer-wide: define configurable default TF-A provider
TF-A package can have several providers: upstream TF-A implementation, or NXP downstream fork. Functionality to switch this provider, and to select which package shall be included into the target image is missing in the layer however, defaulting the usage of the layer to NXP downstream fork only. Introduce the Default TF-A Provider define, make it overridable, and default it to NXP downstream fork. This allows user to re-define the package name later shall they choose to integrate upstream TF-A package instead. Current upstream TF-A version (v2.7) does not support HAB feature of i.MX8M family, see [1]. If the upstream TF-A version is chosen, then HAB will not be available for all SoCs that are opting-in. This is indicated in the comment where default TF-A provider variable is set. This might change with future TF-A release, so later it can be revised and statement in include file can be potentially removed. Signed-off-by: Andrey Zhizhikin <andrey.z@gmail.com> Link: [1]: https://lists.trustedfirmware.org/archives/list/tf-a@lists.trustedfirmware.org/message/5UYYI4CNLQ5OWWHU466JBK6I5QIQ2VRS/
-rw-r--r--classes/imx-boot-container.bbclass2
-rw-r--r--conf/machine/include/imx-base.inc17
2 files changed, 18 insertions, 1 deletions
diff --git a/classes/imx-boot-container.bbclass b/classes/imx-boot-container.bbclass
index 71c2809d..7765266d 100644
--- a/classes/imx-boot-container.bbclass
+++ b/classes/imx-boot-container.bbclass
@@ -29,7 +29,7 @@ ATF_MACHINE_NAME:append = "${@bb.utils.contains('MACHINE_FEATURES', 'optee', '-o
29# appropriate dependencies for populate binaries task 29# appropriate dependencies for populate binaries task
30do_resolve_and_populate_binaries[depends] += " \ 30do_resolve_and_populate_binaries[depends] += " \
31 ${@' '.join('%s:do_deploy' % r for r in '${IMX_EXTRA_FIRMWARE}'.split() )} \ 31 ${@' '.join('%s:do_deploy' % r for r in '${IMX_EXTRA_FIRMWARE}'.split() )} \
32 imx-atf:do_deploy \ 32 ${IMX_DEFAULT_ATF_PROVIDER}:do_deploy \
33 ${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'optee-os:do_deploy', '', d)} \ 33 ${@bb.utils.contains('MACHINE_FEATURES', 'optee', 'optee-os:do_deploy', '', d)} \
34" 34"
35 35
diff --git a/conf/machine/include/imx-base.inc b/conf/machine/include/imx-base.inc
index 67f8ed52..bb52b8d0 100644
--- a/conf/machine/include/imx-base.inc
+++ b/conf/machine/include/imx-base.inc
@@ -96,6 +96,23 @@ UBOOT_ENTRYPOINT:vf-generic-bsp = "0x80008000"
96UBOOT_PROVIDES_BOOT_CONTAINER = "0" 96UBOOT_PROVIDES_BOOT_CONTAINER = "0"
97UBOOT_PROVIDES_BOOT_CONTAINER:imx-boot-container = "1" 97UBOOT_PROVIDES_BOOT_CONTAINER:imx-boot-container = "1"
98 98
99# Trusted Firmware for Cortex-A (TF-A) can have different providers, either
100# from upstream or from NXP downstream fork. Below variable defines which TF-A
101# shall be taken into the build, and will be integrated into runtime image.
102#
103# Upstream TF-A recipe resides in the meta-arm layer and in maintained by OE
104# community. Therefore, in order to add upstream TF-A - additional layer has
105# to be included in the bblayers.con file. Compatible machines are added to
106# this layer via dynamic-layers mechanism.
107#
108# NOTE: Current upstream TF-A version (v2.7) does not support HAB feature of
109# i.MX8M family. If the upstream TF-A version is chosen, then HAB will not be
110# available for all SoCs that are opting-in. This might change with future TF-A
111# release, so this statement shall be kept here until support is added.
112#
113# Default TF-A provider to NXP downstream fork
114IMX_DEFAULT_ATF_PROVIDER ??= "imx-atf"
115
99PREFERRED_PROVIDER_virtual/xserver = "xserver-xorg" 116PREFERRED_PROVIDER_virtual/xserver = "xserver-xorg"
100XSERVER_DRIVER = "xf86-video-fbdev" 117XSERVER_DRIVER = "xf86-video-fbdev"
101XSERVER_DRIVER:vf-generic-bsp = "xf86-video-modesetting" 118XSERVER_DRIVER:vf-generic-bsp = "xf86-video-modesetting"