cancel
Showing results for 
Search instead for 
Did you mean: 

STM32MP257F-EV1 PCIE systemctl suspend problem

rossU
Associate II

I started a fresh CubeMX project with board selector "STM32MP257F-EV1 board", chose A35 as master, and initialized all peripherals to their defaults.

Now, I'm trying to kill PCIE entirely from the board. I removed it from both U-boot and Linux contexts (where it's present by default), and I also reset its corresponding GPIO pins to reset state (PCIE_NRST and PCIe_NWAKE_WKUP2). When I try to put system into low power mode, it does go to sleep as normal:

root@stm32mp2-e3-d8-80unknownunknown:~# systemctl suspend
root@stm32mp2-e3-d8-80unknownunknown:~#
[  615.683459] PM: suspend entry (deep)
[  615.687390] Filesystems sync: 0.003 seconds
[  615.693558] Freezing user space processes
[  615.695767] Freezing user space processes completed (elapsed 0.002 seconds)
[  615.699929] OOM killer disabled.
[  615.702971] Freezing remaining freezable tasks
[  615.708837] Freezing remaining freezable tasks completed (elapsed 0.001 seconds)
[  615.714911] printk: Suspending console(s) (use no_console_suspend to debug)

 

However, when I wake it up with WAKE_UP button, I see this output after which the board stalls:

NOTICE:  CPU: STM32MP257FAI Rev.Y
NOTICE:  Model: STMicroelectronics STM32MP257F-EV1 STM32CubeMX board - openstlinux-6.6-yocto-scarthgap-mpu-v25.06.11
NOTICE:  Board: MB1936 Var1.0 Rev.D-01
NOTICE:  Reset reason: System exits from Standby for CA35 (0xd02030)
INFO:    PMIC2 version = 0x11
INFO:    PMIC2 product ID = 0x20
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 EMMC
INFO:      Instance 2
INFO:    Boot used partition fsbl1
NOTICE:  BL2: v2.10-stm32mp2-r2.0(debug):()
NOTICE:  BL2: Built : 20:06:37, Jul 10 2025
INFO:    BL2: Skip loading image id 26
INFO:    BL2: Doing platform setup
INFO:    RAM: DDR4 32bits 1200000kHz
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 - 0xe0144c5
INFO:    BL2: Skip loading image id 19
INFO:    BL2: Skip loading image id 4
INFO:    BL2: Skip loading image id 8
INFO:    BL2: Skip loading image id 2
INFO:    BL2: Skip loading image id 5
NOTICE:  BL2: Booting BL31
INFO:    Entry point address = 0xe000000
INFO:    SPSR = 0x3cd
INFO:    ARM GICv2 driver initialized

 

Then, it reboots with this reset reason:

NOTICE:  Reset reason: IWDG system reset (iwdgX_out_rst) (0x802134)

 

Any help would be much appreciated.

2 REPLIES 2
GatienC
ST Employee

Hello,

Was this sequence functional before removing the PCIE device? If so, maybe there's a clock management issue for the RISAF that shares its clock with the PCIE device. You can try setting this clock as critical in core/drivers/clk/clk-stm32mp25.c (OP-TEE).

There's an array  clk_stm32_clock_is_critical where you can add ck_icn_p_pcie.

Are there still RISAF5 RIF configuration present in the RIF configuration board file in OP-TEE?

I hope this helps,

Gatien

GatienC
ST Employee

If the RISAF5 is still enabled in OP-TEE device tree, please disable it as it's of no use. That might even be better.