Last edited 4 years ago

STM32MP15 U-Boot

This article briefly describes the STM32MP15x lines More info.png support in U-Boot.

1. STM32MP15x lines More info.png support[edit source]

For detailed information, please read the file in the delivered U-Boot code = board/st/stm32mp1/README

Also available in official U-Boot Git.

Code :

Configuration Files:

2. Selecting targets : choose defconfig and Device Tree[edit source]

Each boot chain is supported by one U-Boot configuration with defconfig

Boot chain defconfig FSBL SSBL TEE support
Trusted Boot stm32mp15_trusted_defconfig TF-A U-Boot
u-boot.stm32
-
Trusted Boot with OP-TEE stm32mp15_optee_defconfig TF-A U-Boot
u-boot.stm32
yes
Basic Boot stm32mp15_basic_defconfig SPL
u-boot-spl.stm32
U-Boot
u-boot.img
-
Warning white.png Warning
The basic boot chain is not supported/promoted by STMicroelectronics to make product (see Boot chains overview for details).

Several targets/ boards are supported with the associated device-tree (same name as kernel):

Board part number Description Device tree
STM32MP157C-EV1 Evaluation board More info.png MB1262+MB1263 stm32mp157c-ev1
STM32MP157C-ED1 Evaluation daughterboard MB1263 stm32mp157c-ed1
STM32MP157A-DK1 Discovery kit More info.png MB1272 stm32mp157a-dk1
STM32MP157C-DK2 Discovery kit More info.png MB1272+MB1407 stm32mp157c-dk2

3. Compilation[edit source]

see U-Boot_overview#U-Boot_build

With <mode> = 'basic', 'trusted' or 'optee'

  make stm32mp15_<mode>_defconfig
  make DEVICE_TREE=<device tree name> all
  • DEVICE_TREE: select in arch/arm/dts the device tree that is used
  • KBUILD_OUTPUT: change the destination directory for the build
  • EXT_DTB: select external device tree

4. Examples[edit source]

4.1. STM32MP157C-EV1 Evaluation board More info.png trusted boot[edit source]

  make stm32mp15_trusted_defconfig
  make DEVICE_TREE=stm32mp157c-ev1 all

4.2. STM32MP157C-DK2 Discovery kit More info.png trusted boot[edit source]

Using export to select the device tree

  export KBUILD_OUTPUT=../build/trusted
  export DEVICE_TREE=stm32mp157c-dk2
  make stm32mp15_trusted_defconfig
  make all

4.3. STM32MP157C-ED1 Evaluation daughterboard basic boot[edit source]

  export KBUILD_OUTPUT=../build/basic
  make stm32mp15_basic_defconfig
  make DEVICE_TREE=stm32mp157c-ed1 all

4.4. Trusted boot chain with external device tree[edit source]

  make stm32mp15_trusted_defconfig
  make EXT_DTB=boot/stm32mp157c-myboard.dtb all