cancel
Showing results for 
Search instead for 
Did you mean: 

Booting Linux Directly in Place of U-Boot on STM32MP135F-DK

HZ890
Associate II

Moved from MCUs forum: STM32MP13 is an MPU - not an MCU.


Hello Everyone,

I hope you’re doing well. I’m encountering a problem when trying to boot Linux directly instead of U-Boot on our STM32MP135F-DK board. Below is a summary of what I’ve done and the error I see:

1. Procedure followed

  • Built a new FIP binary and tf-a with the recommended changes and flags:
    -> fiptool update --fw-config stm32mp135f-dk-fw-config.dtb --hw-config stm32mp135f-dk.dtb --nt-fw Image fip-stm32mp135f-dk-optee-sdcard.bin

  • Modified the TSV  in the starter package to replace u-boot.bin with my Linux image and updated the FIP entries as follows:

    HZ890_0-1747663135832.png

    2. Observed output:

    NOTICE: CPU: STM32MP135F Rev.Y
    NOTICE: Model: STMicroelectronics STM32MP135F-DK Discovery Board
    NOTICE: Board: MB1635 Var1.0 Rev.E-02
    INFO: PMIC version = 0x21
    INFO: Reset reason (0x134):
    INFO: IWDG1 Reset (rst_iwdg1)
    INFO: FCONF: Reading TB_FW firmware configuration file from: 0x2ffe0000
    INFO: FCONF: Reading firmware configuration information for: stm32mp_fuse
    INFO: FCONF: Reading firmware configuration information for: stm32mp_io
    INFO: Using SDMMC
    INFO: Instance 1
    INFO: Boot used partition fsbl1
    NOTICE: BL2: v2.10-stm32mp1-r1.0(debug):()
    NOTICE: BL2: Built : 11:24:11, May 19 2025
    INFO: BL2: Doing platform setup
    INFO: RAM: DDR3-1066 bin F 1x4Gb 533MHz v1.53
    INFO: Memory size = 0x20000000 (512 MB)
    INFO: BL2: Loading image id 1
    INFO: Loading image id=1 at address 0x30006000
    INFO: Image id=1 loaded: 0x30006000 - 0x30006236
    INFO: FCONF: Reading FW_CONFIG firmware configuration file from: 0x30006000
    INFO: FCONF: Reading firmware configuration information for: mce_config
    INFO: FCONF: Reading firmware configuration information for: dyn_cfg
    INFO: FCONF: Reading firmware configuration information for: stm32mp1_firewall
    INFO: BL2: Loading image id 4
    INFO: Loading image id=4 at address 0xde000000
    INFO: Image id=4 loaded: 0xde000000 - 0xde00001c
    INFO: OPTEE ep=0xde000000
    INFO: OPTEE header info:
    INFO: magic=0x4554504f
    INFO: version=0x2
    INFO: arch=0x0
    INFO: flags=0x0
    INFO: nb_images=0x1
    INFO: BL2: Loading image id 8
    INFO: Loading image id=8 at address 0xde000000
    INFO: Image id=8 loaded: 0xde000000 - 0xde079418
    INFO: BL2: Loading image id 2
    INFO: Loading image id=2 at address 0xc3ff8000
    INFO: Image id=2 loaded: 0xc3ff8000 - 0xc4007897
    INFO: BL2: Skip loading image id 16
    INFO: BL2: Loading image id 5
    INFO: Loading image id=5 at address 0xc0000000
    INFO: Image id=5 loaded: 0xc0000000 - 0xc15555cc
    NOTICE: BL2: Booting BL32
    INFO: Entry point address = 0xde000000
    INFO: SPSR = 0x1d3
    I/TC: Early console on UART#4
    I/TC:
    I/TC: Embedded DTB found
    I/TC: OP-TEE version: 4.0.0-dev (gcc version 13.3.0 (GCC)) #1 Fri Oct 20 18:29:31 UTC 2023 arm
    I/TC: WARNING: This OP-TEE configuration might be insecure!
    I/TC: WARNING: Please check https://optee.readthedocs.io/en/latest/architecture/porting_guidelines.html
    I/TC: Primary CPU initializing
    I/TC: Override the OTP 18: 0x7afa0000 to 0x7afa01e0
    I/TC: WARNING: Embeds insecure stm32mp_provisioning driver
    I/TC: UART console (non-secure)
    I/TC: Platform stm32mp1: flavor PLATFORM_FLAVOR - DT stm32mp135f-dk.dts
    I/TC: OP-TEE ST profile: secure_and_system_services
    I/TC: Primary CPU switching to normal world boot
    E/TC:0 Panic 'Watchdog' at ?:0

Any guidance on which steps to double-check would be greatly appreciated.

you will find the tf-a and the fip created attached here

Thank you in advance for your help

Best regards,
Hassan Zaalouk

0 REPLIES 0