1STM32 MPUs 2========== 3 4STM32 MPUs are microprocessors designed by STMicroelectronics 5based on Arm Cortex-A. This page presents the common configuration of STM32 6MPUs, more details and dedicated configuration can be found in each STM32 MPU 7page (:ref:`STM32MP1` or :ref:`STM32MP2`) 8 9Design 10------ 11The STM32 MPU resets in the ROM code of the Cortex-A. 12The primary boot core (core 0) executes the boot sequence while 13secondary boot core (core 1) is kept in a holding pen loop. 14The ROM code boot sequence loads the TF-A binary image from boot device 15to embedded SRAM. 16 17The TF-A image must be properly formatted with a STM32 header structure 18for ROM code is able to load this image. 19Tool stm32image can be used to prepend this header to the generated TF-A binary. 20 21Boot 22~~~~ 23Only BL2 (with STM32 header) is loaded by ROM code. The other binaries are 24inside the FIP binary: BL31 (for Aarch64 platforms), BL32 (OP-TEE), U-Boot 25and their respective device tree blobs. 26 27Boot sequence 28~~~~~~~~~~~~~ 29 30ROM code -> BL2 (compiled with RESET_TO_BL2) -> OP-TEE -> BL33 (U-Boot) 31 32Build Instructions 33------------------ 34Boot media(s) supported by BL2 must be specified in the build command. 35Available storage medias are: 36 37- ``STM32MP_SDMMC`` 38- ``STM32MP_EMMC`` 39- ``STM32MP_RAW_NAND`` 40- ``STM32MP_SPI_NAND`` 41- ``STM32MP_SPI_NOR`` 42 43Serial boot devices: 44 45- ``STM32MP_UART_PROGRAMMER`` 46- ``STM32MP_USB_PROGRAMMER`` 47 48Only one storage or serial device should be selected in the build command line, 49to save space and not overflow SYSRAM size, or else the platform won't build or boot. 50 51Other configuration flags: 52 53- | ``DTB_FILE_NAME``: to precise board device-tree blob to be used. 54 | Default: stm32mp157c-ev1.dtb 55- | ``DWL_BUFFER_BASE``: the 'serial boot' load address of FIP, 56 | default location (end of the first 128MB) is used when absent 57- | ``STM32MP_RECONFIGURE_CONSOLE``: to re-configure crash console (especially after BL2). 58 | Default: 0 (disabled) 59- | ``STM32MP_UART_BAUDRATE``: to select UART baud rate. 60 | Default: 115200 61 62 63Populate SD-card 64---------------- 65 66Boot with FIP 67~~~~~~~~~~~~~ 68The SD-card has to be formatted with GPT. 69It should contain at least those partitions: 70 71- fsbl: to copy the tf-a-stm32mp157c-ev1.stm32 binary (BL2) 72- fip (GUID 19d5df83-11b0-457b-be2c-7559c13142a5): which contains the FIP binary 73 74Usually, two copies of fsbl are used (fsbl1 and fsbl2) instead of one partition fsbl. 75 76-------------- 77 78*Copyright (c) 2023-2024, STMicroelectronics - All Rights Reserved* 79