[PATCH 00/10] stm32mp1: Support falcon mode with OP-TEE payloads

Alexandru Gagniuc mr.nuke.me at gmail.com
Thu Aug 26 23:41:59 CEST 2021


My goal when I started on this project a year ago was to get to linux
userspace within a second from power on. Oh, and it had to be secure!
Contrast that to the two minutes it took the STLinux demo to come up.

It was obvious that the accepted way of running an FSBL, then SSBL was
going to blow the time budget. There really wasn't a good solution,
and traditional falcon mode with "spl export" command was not secure.

I chose to use SPL with a FIT payload. We have to add certain logic to
SPL, as well as some FDT modifications that would be normally done in
u-boot. The boot flow is

	SPL -> OP-TEE -> Linux

Incidentally, these patches are some of the earlier ones I wrote for
this project. It didn't make sense to publish them at the time, as the
supporting infrastructure was not in place then

I decided not to separate these patches into mini-series.

Alexandru Gagniuc (10):
  stm32mp1: Add support for baudrates higher than 115200
  stm32mp1: Add support for falcon mode boot from SD card
  board: stm32mp1:  Implement board_fit_config_name_match() for SPL
  fdt_support: Implement fdt_ethernet_set_macaddr()
  arm: stm32mp: bsec: Do not skip .probe() for SPL
  arm: stm32mp: Factor out reading MAC address from OTP
  stm32mp1: spl: Configure MAC address when booting OP-TEE
  lib: Makefile: Make optee library available in SPL
  ARM: dts: stm32mp: Add OP-TEE "/firmware" node to SPL dtb
  stm32mp1: spl: Copy optee nodes to target FDT for OP-TEE payloads

 arch/arm/dts/stm32mp157a-dk1-u-boot.dtsi      |  1 +
 arch/arm/mach-stm32mp/bsec.c                  |  2 +-
 arch/arm/mach-stm32mp/cpu.c                   | 59 ++++++++++++++-----
 .../arm/mach-stm32mp/include/mach/sys_proto.h |  3 +
 arch/arm/mach-stm32mp/spl.c                   |  3 +
 board/st/stm32mp1/spl.c                       | 49 +++++++++++++++
 common/fdt_support.c                          | 30 ++++++++++
 include/configs/stm32mp1.h                    | 17 ++++++
 include/fdt_support.h                         | 17 ++++++
 lib/Makefile                                  |  2 +-
 10 files changed, 167 insertions(+), 16 deletions(-)

-- 
2.31.1



More information about the U-Boot mailing list