OP-TEE is not loaded by SCP firmware

The SCP firmware that is programmed on the board doesn’t load OP-TEE. As I understand the SCP firmware is built and written into NOR Flash separately from arm-tf. Does anyone know how to build and load the OP-TEE enabled SCP-firmware ?

1 Like

Update SCP-firmware

  1. get the SCP-firmware prebuild binary.
  1. flash SCP-firmware into NOR Flash
  • Need to access LS Connector UART0.
  • Set DSW2-7 to ON, then power on the Developerbox. Developerbox boots in
    maintenance mode.
  • In the console , enter flash write cm3 and send
    scp_romramfw_debug.bin via XMODEM.

Update trusted firmware-a

You need SCMI enabled trusted firmware-a.

  1. clone the code
  1. build

     $ make -j `nproc` PLAT=synquacer PRELOADED_BL33_BASE=0x08200000 \
       DEBUG=1 SQ_USE_SCMI_DRIVER=1 all fiptool
     $ ./tools/fiptool/fiptool create --tb-fw \
       ./build/synquacer/debug/bl31.bin --soc-fw \
       ./build/synquacer/debug/bl31.bin --scp-fw \
       ./build/synquacer/debug/bl31.bin \
       ./optee.bin --tos-fw fip_all_arm_tf.bin
    
    • please make sure to place tos-fw at 4th position.
  2. flash trusted firmware binary into NOR Flash

  • Set DSW2-7 to ON, then power on Developerbox.
  • In the console , enter flash write arm-tf and send
    fip_all_arm_tf.bin via XMODEM.

Run OP-TEE on Developerbox

  • Set DSW2-7 to OFF.
  • Set DSW3-3 to ON, it enables secure DRAM and scp-firmware loads the tos-fw into the secure DRAM.
  1. arm trusted firmware source code can be cloned from trusted-firmware-a.git - Trusted Firmware for A profile Arm CPUs

  2. SCP-firmware can be cloned from httpsgithub.com/ARM-software/SCP-firmware.git

I was able to build both arm trusted firmware and SCP firmware successfully.