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 for the se05x device 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 v85.

Push the changes to the meta-subscriber-overrides repository to trigger 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 older factories created before v85, it is also needed to add the se05x features 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)}

2. If working with a different i.MX machine without SE05X LmP default 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 repository to trigger a build with the new configurations.

3. On STM32MP157 DK board Arduino Uno V3 expansion is used for connecting SE05X board.