[PATCH] ARM: stm32: Power cycle Buck3 in reset on DHSOM

Marek Vasut marex at denx.de
Mon Jul 10 23:43:48 CEST 2023


On 6/17/23 02:36, Marek Vasut wrote:
> On 6/16/23 15:04, Patrick DELAUNAY wrote:
>> Hi,
> 
> Hi,
> 
>>> [   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 :-<
> 
> Use multi_v7_defconfig or some such ?
> 
>> 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 at 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 at 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 at 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 at 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 at stm32mp1-disco-oss:~# while true ; do rtcwake -s 100 -m mem ; done
>> rtcwake: unrecognized suspend state 'mem'
> 
> Please fix your kernel config and enable suspend to mem, I am sure that 
> is not difficult.
> 
>> I check also with downstream (OpenSTLinux V4.0),
> 
> This is not relevant to this discussion.
> 
>> 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 ?
> 
> Possibly, but then it is also something wrong on STM32MP157C EV1, 
> because I can reproduce the failure on EV1 too. I specifically did check 
> this on the EV1. Please fix your kernel config and try again, then you 
> should be able to see it yourself.

Has there been any news on this defect of EV1 or has this been ignored 
by ST ?


More information about the U-Boot mailing list