IMX8 OPTEE: Difference between revisions
(Created page with "<!-- Set release according to "release" parameter in URL and use mx8mp-yocto-kirkstone-5.15-2.0.x-v1.0 as default --> {{#vardefine:RELEASE_PARAM|{{#urlget:release}}}} <!-- -->...") |
No edit summary |
||
Line 27: | Line 27: | ||
= OP-TEE Memory Configuration = | = OP-TEE Memory Configuration = | ||
The DRAM memory size is hardcoded in the optee-firmware | The DRAM memory size is hardcoded in the optee-firmware and needs to be updated according to the memory configuration of your SoM. | ||
The DRAM size is configured by TEE_CFG_DDR_SIZE, which is initialized in {{#var:META_VARISCITE_GIT}}/blob/{{#var:META_VARISCITE_BRANCH}}/conf/machine/imx8mq-var-dart.conf and may be updated directly or overidden in conf/local.conf. | |||
For example, override TEE_CFG_DDR_SIZE to 2GB: | |||
TEE_CFG_DDR_SIZE = "0x80000000" | TEE_CFG_DDR_SIZE = "0x80000000" |
Revision as of 20:42, 27 October 2022
OP-TEE Introduction
NXP Platforms are enabled with Open Portable TEE (OP-TEE), which is an open source project which contains a full implementation to make up a complete Trusted Execution Environment.
For more information, please see the following resources from NXP:
- https://www.nxp.com/docs/en/user-guide/IMX_PORTING_GUIDE.pdf
- https://www.nxp.com/design/training/trusted-execution-environment-getting-started-with-op-tee-on-i-mx-processors:TIP-TRUSTED-EXECUTION-ENVIRONMENT-GETTING-STARTED
Enable OP-TEE with Yocto
To enable OP-TEE, add the following to conf/local.conf:
MACHINE_FEATURES:append += " optee" DISTRO_FEATURES:append += " optee" IMAGE_INSTALL:append += " optee-os optee-test"
Then, rebuild the Yocto image and test OP-TEE using the xtest utility.
For more information about how to rebuild the Yocto, follow the steps here: Build Yocto from source code.
OP-TEE Memory Configuration
The DRAM memory size is hardcoded in the optee-firmware and needs to be updated according to the memory configuration of your SoM.
The DRAM size is configured by TEE_CFG_DDR_SIZE, which is initialized in https://github.com/varigit/meta-variscite-bsp/blob/kirkstone/conf/machine/imx8mq-var-dart.conf and may be updated directly or overidden in conf/local.conf.
For example, override TEE_CFG_DDR_SIZE to 2GB:
TEE_CFG_DDR_SIZE = "0x80000000"