2025-11-14 8:30 AM
In accordance with the booting procedure for STM32MP2 https://wiki.st.com/stm32mpu/wiki/STM32MP2_backup_registers#Boot_mode_selection_feature ROM analyzes the BOOT_MODE register and decides to switch to serial boot mode: "The ROM code executes a serial boot if BOOT_MODE[7:0] is equal to 0xFF". It is TAMP_BKP96R (0x46010280) for STM32MP2xx processors. And if I write 0xff there and do a reset, then the processor will reset and go into USB boot mode. In Linux, there is a command for this: reboot romcode_serial.
This mode and this command worked perfectly in STM32MP1xx processors but does not work at all in STM32MP2xx.
Moreover, I even tried writing directly to this register in U-boot mode and doing a reset - the result is the same, this mode does not work.
Is there any special feature in this mode for STM32MP2XX series processors or is this a ROM code issue?
2025-11-14 10:22 AM
It looks like the STM32MP2 series handles the serial boot differently from the STM32MP1. Writing 0xFF to the TAMP_BKP96R register alone may not trigger serial boot on MP2 processors. You might need to check the updated reference manual for MP2 or the ROM code release notes, as there could be additional conditions or security checks that prevent entering USB boot mode the same way as MP1.