cancel
Showing results for 
Search instead for 
Did you mean: 

"Forced system reset PSCI" and write loop during TF-A/OPTEE boot on custom STM32MP157DAA1 board

mittyan321
Associate II

Hello ,

I have developed a custom board using the STM32MP157DAA1. Its design is very similar to the STM32MP157-DK2.

I am trying to build and boot TF-A and OPTEE. However, I am encountering an "I/TC: Forced system reset PSCI" error, which causes the system to enter a programming loop.

Below is the CubeProgrammer log during this loop state:

16:33:55 : USB speed   : High Speed (480MBit/s)
16:33:55 : Manuf. ID   : STMicroelectronics
16:33:55 : Product ID  : DFU in HS Mode @Device ID /0x500, @Revision ID /0x0000
16:33:55 : SN          : 002700303532510837363531
16:33:55 : DFU protocol: 1.1
16:33:55 : Board       : --
16:33:55 : Device ID   : 0x0500
16:33:56 : Start Embedded Flashing service
16:33:56 : Opening and parsing file: tf-a-stm32mp157d-a_cv2-mx-optee-programmer-usb.stm32
16:33:56 : Memory Programming ...
16:33:56 :   File          : tf-a-stm32mp157d-a_cv2-mx-optee-programmer-usb.stm32
16:33:56 :   Size          : 220.41 KB 
16:33:56 :   Partition ID  : 0x01 
16:33:56 : Download in Progress:
16:33:58 : File download complete
16:33:58 : Time elapsed during download operation: 00:00:01.830
16:33:58 : RUNNING Program ... 
16:33:58 :   PartID:      :0x01 
16:33:58 : Start operation done successfully at partition 0x01
16:33:58 : Opening and parsing file: fip-stm32mp157d-a_cv2-mx-optee-programmer-usb.bin
16:33:58 : Memory Programming ...
16:33:58 :   File          : fip-stm32mp157d-a_cv2-mx-optee-programmer-usb.bin
16:33:58 :   Size          : 1.82 MB 
16:33:58 :   Partition ID  : 0x03 
16:33:58 : Download in Progress:
16:34:00 : File download complete
16:34:00 : Time elapsed during download operation: 00:00:02.113
16:34:00 : RUNNING Program ... 
16:34:00 :   PartID:      :0x03 
16:34:01 : Reconnecting the device ...
16:34:07 : USB speed   : High Speed (480MBit/s)
16:34:07 : Manuf. ID   : STMicroelectronics
16:34:07 : Product ID  : DFU in HS Mode @Device ID /0x500, @Revision ID /0x0000
16:34:07 : SN          : 002700303532510837363531
16:34:07 : DFU protocol: 1.1
16:34:07 : Board       : --
16:34:07 : Device ID   : 0x0500
16:34:07 : Device name : STM32MP157DAA Rev.Z
16:34:07 : Device type : 
16:34:07 : Device CPU  : 
16:34:07 : Start operation done successfully at partition 0x03
16:34:07 : Opening and parsing file: tf-a-stm32mp157d-a_cv2-mx-optee-programmer-usb.stm32
16:34:07 : Memory Programming ...
16:34:07 :   File          : tf-a-stm32mp157d-a_cv2-mx-optee-programmer-usb.stm32
16:34:07 :   Size          : 220.41 KB 
16:34:07 :   Partition ID  : 0x01 
16:34:07 : Download in Progress:
16:34:08 : aborting on going operation...
16:34:08 : Operation canceled
16:34:08 : Error: failed to download  Sector[0]
16:34:08 : Error: failed to download the File
16:34:08 : Error: Download partition 0x01 failed
16:34:08 : Error: TSV flashing service failed
16:34:08 : Disconnected from device.

I am attaching the TF-A Device Tree (DT), OPTEE DT, and the debug log from the flashing attempt.

Could you please help me identify the potential cause of this issue?

Thank you for your assistance.

3 REPLIES 3
GatienC
ST Employee

Hello,

Let's put aside the Warning traces for the secure config (BTW, GPIOZ bank pins can be secured, and you can describe the pinctrl for the H pins using the STM32_PINMUX_NSEC() macro).

This looks like an early U-Boot crash, resetting the platform, can you try to enable early log in U-Boot?

Regards,

Gatien

Hello Gatien,

I was able to boot successfully by modifying the U-Boot device tree. Sorry for the trouble.

By the way, how can I fix these Warning traces you mentioned?

Regards,

GatienC
ST Employee

Hello,

Cool. By securing the pins that can be secured(GPIOZ bank) and declaring the pins that cannot be secured with STM32_PINMUX_NSEC() instead of STM32_PINMUX(), as mentioned above :)

Regards,

Gatien