
Hi,
On 6/15/23 08:44, Marek Vasut wrote:
On 5/29/23 03:57, Marek Vasut wrote:
Hello again,
[...]
So the backup domain is loosed on ST board with STPMIC1 only when the power
is removed and not for reset or for power off.
Thank you for the clarification.
I should check suspend/resume on EV1 soon ...
We do have this problem on EV1 too I'm afraid:
# U-Boot 2f4664f5c3e ("Merge branch '2023-06-14-assorted-fixes'") $ git clean -fqdx ; make stm32mp15_basic_defconfig && make -j$(nproc) $ dd if=u-boot-spl.stm32 of=/dev/sdX1 && dd if=u-boot-spl.stm32 of=/dev/sdX2 && dd if=u-boot.img of=/dev/sdX3
# Linux next 925294c9aa184 ("Add linux-next specific files for 20230615")
U-Boot SPL 2023.07-rc4-00008-g2f4664f5c3e (Jun 15 2023 - 08:36:52 +0200) RAM: DDR3-DDR3L 32bits 533000kHz WDT: Started watchdog@5a002000 with servicing every 1000ms (32s timeout) image entry point: 0xc0100000
U-Boot 2023.07-rc4-00008-g2f4664f5c3e (Jun 15 2023 - 08:36:52 +0200)
CPU: STM32MP157FAA Rev.Z Model: STMicroelectronics STM32MP157C eval daughter on eval mother Board: stm32mp1 in basic mode (st,stm32mp157c-ev1) Board: MB1263 Var4.0 Rev.C-03 ... boot as usual into Linux with initramfs for simplicity sake ... $ cat /proc/cmdline console=ttySTM0,115200 no_console_suspend
# Suspend the system repeatedly (failure happens after 2-3 wake up cycles) $ while true ; do rtcwake -s 100 -m mem ; done wakeup from "mem" at Sat Jan 1 00:03:11 2000 [ 39.316598] PM: suspend entry (deep) [ 39.318905] Filesystems sync: 0.000 seconds [ 39.324327] Freezing user space processes [ 39.328194] Freezing user space processes completed (elapsed 0.001 seconds) [ 39.334006] OOM killer disabled. [ 39.337158] Freezing remaining freezable tasks [ 39.342777] Freezing remaining freezable tasks completed (elapsed 0.001 seconds) [ 39.426015] Disabling non-boot CPUs ... [ 39.448635] Retrying again to check for CPU kill [ 39.451909] CPU1 killed. U-Boot SPL 2023.07-rc4-00008-g2f4664f5c3e (Jun 15 2023 - 08:36:52 +0200) RAM: DDR3-DDR3L 32bits 533000kHz DDR invalid size : 0x4, expected 0x40000000 DRAM init failed: -22 ### ERROR ### Please RESET the board ###
Press RESET button
U-Boot SPL 2023.07-rc4-00008-g2f4664f5c3e (Jun 15 2023 - 08:36:52 +0200) RAM: DDR3-DDR3L 32bits 533000kHz DDR invalid size : 0x4, expected 0x40000000 DRAM init failed: -22 ### ERROR ### Please RESET the board ###
I try it with the latest STMicroelectronics OSS image.
I just change in U-Boot config to be aligned the expected SD-Card partionning
configs/stm32mp15_basic_defconfig:
-CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION=3 +CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION=5
But low power is not supported in this downstream config :-<
I got the error:
....... U-Boot SPL 2023.07-rc4-00008-g2f4664f5c3ed-dirty (Jun 16 2023 - 11:37:52 +0200) RAM: DDR3-DDR3L 32bits 533000kHz WDT: Started watchdog@5a002000 with servicing every 1000ms (32s timeout) image entry point: 0xc0100000
U-Boot 2023.07-rc4-00008-g2f4664f5c3ed-dirty (Jun 16 2023 - 11:37:52 +0200)
CPU: STM32MP157FAA Rev.Z Model: STMicroelectronics STM32MP157C eval daughter on eval mother Board: stm32mp1 in basic mode (st,stm32mp157c-ev1) Board: MB1263 Var4.0 Rev.C-03 DRAM: 1 GiB Clocks: - MPU : 800 MHz - MCU : 208.878 MHz - AXI : 266.500 MHz - PER : 24 MHz - DDR : 533 MHz Core: 288 devices, 42 uclasses, devicetree: separate WDT: Started watchdog@5a002000 with servicing every 1000ms (32s timeout) NAND: 1024 MiB MMC: STM32 SD/MMC: 0, STM32 SD/MMC: 1 Loading Environment from MMC... Invalid ENV offset in MMC, copy=0 In: serial Out: serial Err: serial Net: eth0: ethernet@5800a000 Hit any key to stop autoboot: 0
.... [ 0.000000] Booting Linux on physical CPU 0x0 [ 0.000000] Linux version 6.4.0-rc6 (oe-user@oe-host) (arm-ostl-linux-gnueabi-gcc (GCC) 12.2.0, GNU ld (GNU Binutils) 2.40.20230119) #1 SMP PREEMPT Sun Jun 11 21:35:30 UTC 2023 .... root@stm32mp1-disco-oss:~# while true ; do rtcwake -s 100 -m mem ; done rtcwake: unrecognized suspend state 'mem'
I check also with downstream (OpenSTLinux V4.0), and I can't reproduced the issue but we are using TF-A / OP-TEE / SCMI to support all the low power modes.
And this low power support (in TF-A/ OP-TEE / Linux with SCMI) is not yet up streamed.
PS: if you are not able to restart even after a RESET, I assume something is wrong in the PMIC configuration
(for example in NVM or in initial regulator configuration)
so you have no power cycle on DDR during reset...
=> something is wrong in PMIC configuration in linux ?
before you configure the low power mode in U-Boot and set the DDR in self-refresh in PSCI FW
u-boot/arch/arm/mach-stm32mp/psci.c
Even if we don't support officially the lower power mode with U-Boot SPL,
you can contact directly the STMicroelectonics support on online support :
https://community.st.com/s/onlinesupport
or post a message on STM32MPUs forum:
https://community.st.com/s/topic/0TO0X0000003u2AWAQ/stm32-mpus
Regards
Patrick