This article briefly describes the STM32MP15x lines support in U-Boot.
1. STM32MP15x lines 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 :
- arch/arm/mach-stm32mp : arch specific code for STM32 Arm® Cortex® MPUs
- board/st/stm32mp1 : generic STMicroelectronics board for STM32MP1 Series
- drivers/*/*stm32* : drivers
Configuration Files:
- defconfig file
- config files
- Device tree in arch/arm/dts
- stm32mp157*-<board>.dts : same as kernel
- stm32mp157*-<board>-u-boot.dtsi : addition for u-boot ( <<device tree>>-u-boot.dtsi automatically included in build process)
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 |
- |
Several targets/ boards are supported with the associated device-tree (same name as kernel):
Board part number | Description | Device tree |
---|---|---|
STM32MP157C-EV1 Evaluation board | MB1262+MB1263 | stm32mp157c-ev1 |
STM32MP157C-ED1 Evaluation daughterboard | MB1263 | stm32mp157c-ed1 |
STM32MP157A-DK1 Discovery kit | MB1272 | stm32mp157a-dk1 |
STM32MP157C-DK2 Discovery kit | 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 trusted boot[edit source]
make stm32mp15_trusted_defconfig make DEVICE_TREE=stm32mp157c-ev1 all
4.2. STM32MP157C-DK2 Discovery kit 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