diff options
-rw-r--r-- | classes/imx-boot-container.bbclass | 4 | ||||
-rw-r--r-- | conf/layer.conf | 2 | ||||
-rw-r--r-- | conf/machine/include/imx-base.inc | 17 | ||||
-rw-r--r-- | dynamic-layers/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a_%.bbappend | 16 | ||||
-rw-r--r-- | recipes-bsp/imx-atf/imx-atf_2.4.bb | 4 | ||||
-rw-r--r-- | recipes-bsp/imx-mkimage/imx-boot_1.0.bb | 6 |
6 files changed, 42 insertions, 7 deletions
diff --git a/classes/imx-boot-container.bbclass b/classes/imx-boot-container.bbclass index 71c2809d..711bbd9e 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 |
30 | do_resolve_and_populate_binaries[depends] += " \ | 30 | do_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 | ||
@@ -47,7 +47,7 @@ do_resolve_and_populate_binaries() { | |||
47 | cp ${DEPLOY_DIR_IMAGE}/${ddr_firmware} ${B}/${config}/ | 47 | cp ${DEPLOY_DIR_IMAGE}/${ddr_firmware} ${B}/${config}/ |
48 | done | 48 | done |
49 | if [ -n "${ATF_MACHINE_NAME}" ]; then | 49 | if [ -n "${ATF_MACHINE_NAME}" ]; then |
50 | cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/${ATF_MACHINE_NAME} ${B}/${config}/bl31.bin | 50 | cp ${DEPLOY_DIR_IMAGE}/${ATF_MACHINE_NAME} ${B}/${config}/bl31.bin |
51 | else | 51 | else |
52 | bberror "ATF binary is undefined, result binary would be unusable!" | 52 | bberror "ATF binary is undefined, result binary would be unusable!" |
53 | fi | 53 | fi |
diff --git a/conf/layer.conf b/conf/layer.conf index 98169255..a3c8af2c 100644 --- a/conf/layer.conf +++ b/conf/layer.conf | |||
@@ -40,6 +40,8 @@ BBFILES_DYNAMIC += " \ | |||
40 | ivi:${LAYERDIR}/dynamic-layers/ivi/*/*/*.bb \ | 40 | ivi:${LAYERDIR}/dynamic-layers/ivi/*/*/*.bb \ |
41 | ivi:${LAYERDIR}/dynamic-layers/ivi/*/*/*.bbappend \ | 41 | ivi:${LAYERDIR}/dynamic-layers/ivi/*/*/*.bbappend \ |
42 | \ | 42 | \ |
43 | meta-arm:${LAYERDIR}/dynamic-layers/meta-arm/*/*/*.bbappend \ | ||
44 | \ | ||
43 | openembedded-layer:${LAYERDIR}/dynamic-layers/openembedded-layer/*/*/*.bb \ | 45 | openembedded-layer:${LAYERDIR}/dynamic-layers/openembedded-layer/*/*/*.bb \ |
44 | openembedded-layer:${LAYERDIR}/dynamic-layers/openembedded-layer/*/*/*.bbappend \ | 46 | openembedded-layer:${LAYERDIR}/dynamic-layers/openembedded-layer/*/*/*.bbappend \ |
45 | \ | 47 | \ |
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" | |||
96 | UBOOT_PROVIDES_BOOT_CONTAINER = "0" | 96 | UBOOT_PROVIDES_BOOT_CONTAINER = "0" |
97 | UBOOT_PROVIDES_BOOT_CONTAINER:imx-boot-container = "1" | 97 | UBOOT_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 | ||
114 | IMX_DEFAULT_ATF_PROVIDER ??= "imx-atf" | ||
115 | |||
99 | PREFERRED_PROVIDER_virtual/xserver = "xserver-xorg" | 116 | PREFERRED_PROVIDER_virtual/xserver = "xserver-xorg" |
100 | XSERVER_DRIVER = "xf86-video-fbdev" | 117 | XSERVER_DRIVER = "xf86-video-fbdev" |
101 | XSERVER_DRIVER:vf-generic-bsp = "xf86-video-modesetting" | 118 | XSERVER_DRIVER:vf-generic-bsp = "xf86-video-modesetting" |
diff --git a/dynamic-layers/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a_%.bbappend b/dynamic-layers/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a_%.bbappend new file mode 100644 index 00000000..400e850e --- /dev/null +++ b/dynamic-layers/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a_%.bbappend | |||
@@ -0,0 +1,16 @@ | |||
1 | # Common Build targets | ||
2 | TFA_BUILD_TARGET = "all" | ||
3 | TFA_INSTALL_TARGET = "bl31" | ||
4 | |||
5 | # List of supported machines from this layer | ||
6 | COMPATIBLE_MACHINE:imx8mm-lpddr4-evk = "imx8mm-lpddr4-evk" | ||
7 | TFA_PLATFORM:imx8mm-lpddr4-evk = "imx8mm" | ||
8 | |||
9 | COMPATIBLE_MACHINE:imx8mn-ddr4-evk = "imx8mn-ddr4-evk" | ||
10 | TFA_PLATFORM:imx8mn-ddr4-evk = "imx8mn" | ||
11 | |||
12 | COMPATIBLE_MACHINE:imx8mp-lpddr4-evk = "imx8mp-lpddr4-evk" | ||
13 | TFA_PLATFORM:imx8mp-lpddr4-evk = "imx8mp" | ||
14 | |||
15 | COMPATIBLE_MACHINE:imx8mq-evk = "imx8mq-evk" | ||
16 | TFA_PLATFORM:imx8mq-evk = "imx8mq" | ||
diff --git a/recipes-bsp/imx-atf/imx-atf_2.4.bb b/recipes-bsp/imx-atf/imx-atf_2.4.bb index 39158e6c..a8068eb0 100644 --- a/recipes-bsp/imx-atf/imx-atf_2.4.bb +++ b/recipes-bsp/imx-atf/imx-atf_2.4.bb | |||
@@ -61,9 +61,9 @@ do_compile() { | |||
61 | do_install[noexec] = "1" | 61 | do_install[noexec] = "1" |
62 | 62 | ||
63 | do_deploy() { | 63 | do_deploy() { |
64 | install -Dm 0644 ${S}/build/${ATF_PLATFORM}/release/bl31.bin ${DEPLOYDIR}/${BOOT_TOOLS}/bl31-${ATF_PLATFORM}.bin | 64 | install -Dm 0644 ${S}/build/${ATF_PLATFORM}/release/bl31.bin ${DEPLOYDIR}/bl31-${ATF_PLATFORM}.bin |
65 | if ${BUILD_OPTEE}; then | 65 | if ${BUILD_OPTEE}; then |
66 | install -m 0644 ${S}/build-optee/${ATF_PLATFORM}/release/bl31.bin ${DEPLOYDIR}/${BOOT_TOOLS}/bl31-${ATF_PLATFORM}.bin-optee | 66 | install -m 0644 ${S}/build-optee/${ATF_PLATFORM}/release/bl31.bin ${DEPLOYDIR}/bl31-${ATF_PLATFORM}.bin-optee |
67 | fi | 67 | fi |
68 | } | 68 | } |
69 | addtask deploy after do_compile | 69 | addtask deploy after do_compile |
diff --git a/recipes-bsp/imx-mkimage/imx-boot_1.0.bb b/recipes-bsp/imx-mkimage/imx-boot_1.0.bb index 4e1b860a..28bc88b8 100644 --- a/recipes-bsp/imx-mkimage/imx-boot_1.0.bb +++ b/recipes-bsp/imx-mkimage/imx-boot_1.0.bb | |||
@@ -88,13 +88,13 @@ compile_mx8m() { | |||
88 | cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/${UBOOT_DTB_NAME} ${BOOT_STAGING} | 88 | cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/${UBOOT_DTB_NAME} ${BOOT_STAGING} |
89 | cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/u-boot-nodtb.bin-${MACHINE}-${UBOOT_CONFIG} \ | 89 | cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/u-boot-nodtb.bin-${MACHINE}-${UBOOT_CONFIG} \ |
90 | ${BOOT_STAGING}/u-boot-nodtb.bin | 90 | ${BOOT_STAGING}/u-boot-nodtb.bin |
91 | cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/${ATF_MACHINE_NAME} ${BOOT_STAGING}/bl31.bin | 91 | cp ${DEPLOY_DIR_IMAGE}/${ATF_MACHINE_NAME} ${BOOT_STAGING}/bl31.bin |
92 | cp ${DEPLOY_DIR_IMAGE}/${UBOOT_NAME} ${BOOT_STAGING}/u-boot.bin | 92 | cp ${DEPLOY_DIR_IMAGE}/${UBOOT_NAME} ${BOOT_STAGING}/u-boot.bin |
93 | } | 93 | } |
94 | compile_mx8() { | 94 | compile_mx8() { |
95 | bbnote 8QM boot binary build | 95 | bbnote 8QM boot binary build |
96 | cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/${SC_FIRMWARE_NAME} ${BOOT_STAGING}/scfw_tcm.bin | 96 | cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/${SC_FIRMWARE_NAME} ${BOOT_STAGING}/scfw_tcm.bin |
97 | cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/${ATF_MACHINE_NAME} ${BOOT_STAGING}/bl31.bin | 97 | cp ${DEPLOY_DIR_IMAGE}/${ATF_MACHINE_NAME} ${BOOT_STAGING}/bl31.bin |
98 | cp ${DEPLOY_DIR_IMAGE}/${UBOOT_NAME} ${BOOT_STAGING}/u-boot.bin | 98 | cp ${DEPLOY_DIR_IMAGE}/${UBOOT_NAME} ${BOOT_STAGING}/u-boot.bin |
99 | cp ${DEPLOY_DIR_IMAGE}/${SECO_FIRMWARE_NAME} ${BOOT_STAGING} | 99 | cp ${DEPLOY_DIR_IMAGE}/${SECO_FIRMWARE_NAME} ${BOOT_STAGING} |
100 | if [ -e ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG} ] ; then | 100 | if [ -e ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG} ] ; then |
@@ -107,7 +107,7 @@ compile_mx8x() { | |||
107 | bbnote 8QX boot binary build | 107 | bbnote 8QX boot binary build |
108 | cp ${DEPLOY_DIR_IMAGE}/${SECO_FIRMWARE_NAME} ${BOOT_STAGING} | 108 | cp ${DEPLOY_DIR_IMAGE}/${SECO_FIRMWARE_NAME} ${BOOT_STAGING} |
109 | cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/${SC_FIRMWARE_NAME} ${BOOT_STAGING}/scfw_tcm.bin | 109 | cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/${SC_FIRMWARE_NAME} ${BOOT_STAGING}/scfw_tcm.bin |
110 | cp ${DEPLOY_DIR_IMAGE}/${BOOT_TOOLS}/${ATF_MACHINE_NAME} ${BOOT_STAGING}/bl31.bin | 110 | cp ${DEPLOY_DIR_IMAGE}/${ATF_MACHINE_NAME} ${BOOT_STAGING}/bl31.bin |
111 | cp ${DEPLOY_DIR_IMAGE}/${UBOOT_NAME} ${BOOT_STAGING}/u-boot.bin | 111 | cp ${DEPLOY_DIR_IMAGE}/${UBOOT_NAME} ${BOOT_STAGING}/u-boot.bin |
112 | if [ -e ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG} ] ; then | 112 | if [ -e ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG} ] ; then |
113 | cp ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG} \ | 113 | cp ${DEPLOY_DIR_IMAGE}/u-boot-spl.bin-${MACHINE}-${UBOOT_CONFIG} \ |