[STM32MP255F] SERC exception occurs during boot
I have been working on porting a custom board using the STM32MP255F-AK.
I performed the following tasks:
- Used STMCubeMX to configure pins and other settings
- Manually added the custom board-specific sections to the DeviceTree
- Added the DeviceTree to the Distribution Package's meta-st/meta-stm32mp-addons/mx directory
- Created a custom board configuration file and performed the build
- Wrote the resulting TF-A and FIP images to an SD card and booted the system
- Before performing this work, I verified the operation of STOpenLinux, which was created by modifying the STM32MP257F-DK Device Tree
The TF-A boots, but just before U-Boot starts, a register dump occurs repeatedly and the system stops progressing
Judging by the error details, it appears to be a security-related error.
Based on the address where the error occurred and the error ID,
I tried making various changes to the .ioc and DT files, but the issue persisted.
I suspect it’s a simple configuration mistake...
What specific areas should I check carefully?
NOTICE: CPU: STM32MP255FAK Rev.Y
NOTICE: Model: STMicroelectronics custom STM32CubeMX board - openstlinux-6.6-yocto-scarthgap-mpu-v24.11.06
NOTICE: Reset reason (0x2035):
INFO: Power-on Reset (rst_por)
INFO: PMIC2 version = 0x11
INFO: PMIC2 product ID = 0x21
INFO: FCONF: Reading TB_FW firmware configuration file from: 0xe011000
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-stm32mp2-r1.0(debug):devtool-patched(2ba93b6f)
NOTICE: BL2: Built : 04:18:10, Apr 13 2026
INFO: BL2: Loading image id 26
INFO: Loading image id=26 at address 0xe041000
INFO: Image id=26 loaded: 0xe041000 - 0xe049650
INFO: BL2: Doing platform setup
INFO: RAM: LPDDR4 32bits 1200000kHz
INFO: Memory size = 0x80000000 (2048 MB)
INFO: BL2: Loading image id 1
INFO: Loading image id=1 at address 0xe000000
INFO: Image id=1 loaded: 0xe000000 - 0xe000326
INFO: FCONF: Reading FW_CONFIG firmware configuration file from: 0xe000000
INFO: FCONF: Reading firmware configuration information for: risaf_config
INFO: RISAF2: No configuration in DT, use default
INFO: FCONF: Reading firmware configuration information for: dyn_cfg
INFO: BL31 max size = 0x17000 (94208B)
INFO: BL2: Loading image id 3
INFO: Loading image id=3 at address 0xe000000
INFO: Image id=3 loaded: 0xe000000 - 0xe0167c0
INFO: BL2: Loading image id 19
INFO: Loading image id=19 at address 0x81fc0000
INFO: Image id=19 loaded: 0x81fc0000 - 0x81fc39e6
INFO: BL2: Loading image id 4
INFO: Loading image id=4 at address 0x82000000
INFO: Image id=4 loaded: 0x82000000 - 0x8200001c
INFO: OPTEE ep=0x82000000
INFO: OPTEE header info:
INFO: magic=0x4554504f
INFO: version=0x2
INFO: arch=0x1
INFO: flags=0x0
INFO: nb_images=0x1
INFO: BL2: Loading image id 8
INFO: Loading image id=8 at address 0x82000000
INFO: Image id=8 loaded: 0x82000000 - 0x820fc628
INFO: BL2: Loading image id 2
INFO: Loading image id=2 at address 0x84400000
INFO: Image id=2 loaded: 0x84400000 - 0x844188d0
INFO: BL2: Loading image id 5
INFO: Loading image id=5 at address 0x84000000
INFO: Image id=5 loaded: 0x84000000 - 0x841c49b8
NOTICE: BL2: Booting BL31
INFO: Entry point address = 0xe000000
INFO: SPSR = 0x3cd
INFO: ARM GICv2 driver initialized
NOTICE: BL31: v2.10-stm32mp2-r1.0(debug):devtool-patched(2ba93b6f)
NOTICE: BL31: Built : 04:18:10, Apr 13 2026
INFO: BL31: Initializing runtime services
INFO: BL31: Initializing BL32
I/TC: Early console on UART#2
I/TC:
I/TC: Embedded DTB found
I/TC: OP-TEE version: devtool-patched (gcc version 13.3.0 (GCC)) #5 Mon Apr 13 02:56:36 UTC 2026 aarch64
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: WARNING: All debug access are allowed
I/TC: Override the OTP 124: 0 to 0x18db6
I/TC: WARNING: Embeds insecure stm32mp_provisioning driver
E/TC:0 0
E/TC:0 0 Core data-abort at address 0x794e0ff0
E/TC:0 0 esr 0x96000210 ttbr0 0x82163000 ttbr1 0x00000000 cidr 0x0
E/TC:0 0 cpu #0 cpsr 0x800003c4
E/TC:0 0 x0 0000000082133fe0 x1 0000000000000000
E/TC:0 0 x2 00000000000076d0 x3 0000008000000000
E/TC:0 0 x4 0000000000000020 x5 0000000082133ff0
E/TC:0 0 x6 ffffffffffffffe0 x7 0000000000026e70
E/TC:0 0 x8 0000000000026e70 x9 000000008213cf30
E/TC:0 0 x10 000000008210d160 x11 0000000082164e3c
E/TC:0 0 x12 0000000000000001 x13 000000000000b4a8
E/TC:0 0 x14 0000000082164ea4 x15 00000000820a7900
E/TC:0 0 x16 0000000082031f20 x17 0000000000000000
E/TC:0 0 x18 0000000000000000 x19 0000000082134000
E/TC:0 0 x20 00000000820a7900 x21 000000000000b730
E/TC:0 0 x22 0000000000000000 x23 00000000794e0000
E/TC:0 0 x24 0000000000000001 x25 00000000820b3110
E/TC:0 0 x26 0000000000000001 x27 0000000080000000
E/TC:0 0 x28 0000000000000000 x29 0000000082164ef0
E/TC:0 0 x30 000000008202f46c elr 000000008202f474
E/TC:0 0 sp_el0 0000000082164e70
E/TC:0 0 stm32_serc_handle_ilac:133 SERC exceptions [159:128]: 0x400
E/TC:0 0 stm32_serc_handle_ilac:139 SERC exception ID: 138
E/TC:0 0
E/TC:0 0 Core data-abort at address 0x794e0ff0
E/TC:0 0 esr 0x96000210 ttbr0 0x82163000 ttbr1 0x00000000 cidr 0x0
E/TC:0 0 cpu #0 cpsr 0x800003c4
E/TC:0 0 x0 0000000082133fe0 x1 0000000000000000
E/TC:0 0 x2 00000000000076d0 x3 0000008000000000
E/TC:0 0 x4 0000000000000020 x5 0000000082133ff0
E/TC:0 0 x6 ffffffffffffffe0 x7 0000000000026e70
E/TC:0 0 x8 0000000000026e70 x9 000000008213cf30
E/TC:0 0 x10 000000008210d160 x11 0000000082164e3c
E/TC:0 0 x12 0000000000000001 x13 000000000000b4a8
E/TC:0 0 x14 0000000082164ea4 x15 00000000820a7900
E/TC:0 0 x16 0000000082031f20 x17 0000000000000000
E/TC:0 0 x18 0000000000000000 x19 0000000082134000
E/TC:0 0 x20 00000000820a7900 x21 000000000000b730
E/TC:0 0 x22 0000000000000000 x23 00000000794e0000
E/TC:0 0 x24 0000000000000001 x25 00000000820b3110
E/TC:0 0 x26 0000000000000001 x27 0000000080000000
E/TC:0 0 x28 0000000000000000 x29 0000000082164ef0
E/TC:0 0 x30 000000008202f46c elr 000000008202f474
E/TC:0 0 sp_el0 0000000082164e70
E/TC:0 0 stm32_serc_handle_ilac:133 SERC exceptions [159:128]: 0x400
E/TC:0 0 stm32_serc_handle_ilac:139 SERC exception ID: 138
E/TC:0 0
E/TC:0 0 Core data-abort at address 0x794e0ff0
E/TC:0 0 esr 0x96000210 ttbr0 0x82163000 ttbr1 0x00000000 cidr 0x0
E/TC:0 0 cpu #0 cpsr 0x800003c4
E/TC:0 0 x0 0000000082133fe0 x1 0000000000000000
E/TC:0 0 x2 00000000000076d0 x3 0000008000000000
E/TC:0 0 x4 0000000000000020 x5 0000000082133ff0
E/TC:0 0 x6 ffffffffffffffe0 x7 0000000000026e70
E/TC:0 0 x8 0000000000026e70 x9 000000008213cf30
E/TC:0 0 x10 000000008210d160 x11 0000000082164e3c
E/TC:0 0 x12 0000000000000001 x13 000000000000b4a8
E/TC:0 0 x14 0000000082164ea4 x15 00000000820a7900
E/TC:0 0 x16 0000000082031f20 x17 0000000000000000
E/TC:0 0 x18 0000000000000000 x19 0000000082134000
E/TC:0 0 x20 00000000820a7900 x21 000000000000b730
E/TC:0 0 x22 0000000000000000 x23 00000000794e0000
E/TC:0 0 x24 0000000000000001 x25 00000000820b3110
E/TC:0 0 x26 0000000000000001 x27 0000000080000000
E/TC:0 0 x28 0000000000000000 x29 0000000082164ef0
E/TC:0 0 x30 000000008202f46c elr 000000008202f474
E/TC:0 0 sp_el0 0000000082164e70
E/TC:0 0 stm32_serc_handle_ilac:133 SERC exceptions [159:128]: 0x400
E/TC:0 0 stm32_serc_handle_ilac:139 SERC exception ID: 138
E/TC:0 0
**The same register dump and error message keep appearing...**
