Enabling SE05X

This section demonstrates how to enable the SE05X middleware in meta-subscriber-overrides.

Note

This procedure is valid for boards running OP-TEE 3.15.0 or newer.

Enable the se05x MACHINE_FEATURES for the target machine and provide the correct OEFID in lmp-factory-custom. The OEFID value can be found in SE050 configurations.

conf/machine/include/lmp-factory-custom.inc:

SE05X_OEFID:<machine> = "0xA1F4"
MACHINE_FEATURES:append:<machine> = " se05x"

Note

If set incorrectly, the correct OEFID value can be checked in the boot log:

I/TC: OP-TEE version: 3.15.0-84-gf0446cdb3 (gcc version 10.2.0 (GCC)) #1 Sat 11 Dec 2021 02:11:09 AM UTC aarch64
I/TC: Primary CPU initializing
I/TC: se050: Info: Applet ID
...
I/TC: se050: Info: OEF ID
I/TC: se050: Info:      a1.f4

This step is enough to enable SE05X for the supported machines for Factories created since LmP v85.

Push the changes to the meta-subscriber-overrides, triggering a new build with SE05X support enabled. Be aware that an image created with SE05X enabled does not boot on boards without the SE05X properly attached.

Note

Please be aware that at this moment only:

  • imx6ullevk
  • imx8mn-ddr4-evk
  • imx8mm-lpddr4-evk
  • imx8mp-lpddr4-evk
  • stm32mp15-disco

support SE05X integration without extra changes in LmP.

Special Cases

  1. For Factories created before v85, it is also necessary to add se05x to the lmp-factory-image build:

recipes-samples/images/lmp-factory-image.bb:

# Support for SE05X
require ${@bb.utils.contains('MACHINE_FEATURES', 'se05x', 'recipes-samples/images/lmp-feature-se05x.inc', '', d)}
  1. If working with a different i.MX machine without default SE05X LmP support (imx6ullevk and imx8mm-lpddr4-evk), also provide which SoC I2C bus connects to the SE05X device:

recipes-security/optee/optee-os-fio_%.bbappend:

EXTRA_OEMAKE:append:<machine> = " \
    ${@bb.utils.contains('MACHINE_FEATURES', 'se05x', 'CFG_IMX_I2C=y CFG_CORE_SE05X_I2C_BUS=<i2c_bus>', '', d)} \
"

Make sure to push the changes to the meta-subscriber-overrides repo, triggering a build with the new configurations.

  1. On STM32MP157 DK board, Arduino Uno V3 expansion is used for connecting the SE05X board.