Skip to main content
Visitor II
October 19, 2022
Question

We have developed a custom board using STM32MP157AD3 chipset and STPMIC. We did develop a dts using CubeMX and did all the patches as mentioned in Lab documentation. But we came accross 2 errors.

  • October 19, 2022
  • 7 replies
  • 7051 views

When we use the PMIC values from DK2 example.

1 . ERROR:  regul ldo3: max value 750 is invalid

WARNING: register_pmic:600 failed to register ldo3

PANIC at PC : 0x2fff05cb

2 Next we tried setting the ldo3 max, min values to 3V and 1.8V and it was working fine but had next layer of issue as mentioned below.

NOTICE: CPU: STM32MP157AAD Rev.Z

NOTICE: Model: MelodySOM

INFO:   PMIC version = 0x21

WARNING: VDD unknown

NOTICE: Reset reason (0x15):

INFO:     Power-on Reset (rst_por)

INFO:   FCONF: Reading TB_FW firmware configuration file from: 0x2ffe2000

INFO:   FCONF: Reading firmware configuration information for: stm32mp_io

INFO:   Using USB

INFO:     Instance 2

INFO:   Boot used partition fsbl1

NOTICE: BL2: v2.6-stm32mp1-r1.0(debug):v2.6-dirty

NOTICE: BL2: Built : 13:14:26, Nov 23 2021

INFO:   BL2: Doing platform setup

INFO:   RAM: DDR3-DDR3L 16bits 533000kHz

ERROR:  DDR addr bus test: can't access memory @ 0xc0000004

PANIC at PC : 0x2ffead6d

Exception mode=0x00000016 at: 0x2ffead6d

Requesting for your help to solve this as soon as possible.

    This topic has been closed for replies.

    7 replies

    Technical Moderator
    October 20, 2022

    Hi @NP,

    If your design is similar to DK2 LDO3 is used to supply DDR VTT and need to be set by TF-A to VOUT2/2 sync/src mode.

    Can you check this?

    Olivier

    NPAuthor
    Visitor II
    October 20, 2022

    Yes. Indeed that is the output we are getting too. But when i set the minimum voltage and maximum voltage as 500mV and 750mV based on DK2 dts file, I get the error as mentioned.

    ERROR:  regul ldo3: max value 750 is invalid

    Later i changed the minimum value to 1.8v and max value to 3v and it got fixed and started working. We got these values with step iterating. It was not working with any values lesser than this.

    Indeed it was communicating with PMIC and giving output of ~0.67v at ldo3.

    NPAuthor
    Visitor II
    October 20, 2022

    Yes. Indeed that is the output we are getting too. But when i set the minimum voltage and maximum voltage as 500mV and 750mV based on DK2 dts file, I get the error as mentioned.

    ERROR:  regul ldo3: max value 750 is invalid

    Later i changed the minimum value to 1.8v and max value to 3v and it got fixed and started working. We got these values with step iterating. It was not working with any values lesser than this.

    Indeed it was communicating with PMIC and giving output of ~0.67v at ldo3.

    Technical Moderator
    October 20, 2022

    Hi @NP​ 

    Getting 1.2V on LDO3_OUT is abnormal.

    Since you are using DDR3, BUCK2/VOUT2 supposed to be @1.35V so LDO3_OUT @675mV

    And all of this is turn-on only by TF-A when starting DDR power rail.

    I don't understand why you trap early when reading DTS..

    I read this in your trace:

    WARNING: VDD unknown

    wich is very weird also ..

    What's your PMIC exact reference ?

    Is your design a clone of DK2 ?

    Can you share Tsv file you have programmed in your boot device ?

    Thanks

    Olivier

    Olivier

    NPAuthor
    Visitor II
    October 20, 2022

    Sorry for wrong info. We got 0.67v only at ldo3. We are using STPMIC1A and is based on DK2 design only.

    Explorer
    June 22, 2023

    Hi, i have the same problem: nothing seems to be accepted as the voltage value for ldo3 since i upgraded to trusted-firmware-a 2.6.

    How did you solve the problem?

    Technical Moderator
    June 22, 2023

     


    @NP wrote:

    INFO:   RAM: DDR3-DDR3L 16bits 533000kHz

    ERROR:  DDR addr bus test: can't access memory @ 0xc0000004

    PANIC at PC : 0x2ffead6d

    Exception mode=0x00000016 at: 0x2ffead6d


    Hi @NP 

    This sound like the DDR is not working well.
    After basic checks (correct supplies levels, correct DDR connections in schematics, soldering issues, etc...), you likely have to focus on DDR routing/config/check using AN5122 and AN5168 as well as STM32DDRFW_UTIL

    https://wiki.st.com/stm32mpu/wiki/STM32DDRFW-UTIL
    https://github.com/STMicroelectronics/STM32DDRFW-UTIL

    Regards.

    Visitor II
    September 17, 2023

    Got the same issue after building everything with yocto according to this.

    DTS files were created following "Lab-MP15_FromPartNumber_To_BasicDeviceTree_with_CubeMx ".

    Console output when trying to download the result with CubeProgrammer.

     

    NOTICE: CPU: STM32MP151AAC Rev.Z
    NOTICE: Model: STMicroelectronics custom STM32CubeMX board - openstlinux-6.1-yocto-mickledore-mp1-v23.06.21
    ERROR: regul ldo3: max value 750 is invalid
    WARNING: register_pmic:423 failed to register ldo3
    PANIC at PC : 0x2fff0c21
    
    Exception mode=0x00000016 at: 0x2fff0c21

     

    The values for that ldo are kept the same as in the original bsp from manufacturer but that uses v2.1 and the above is the result of v5.0...

     

    vtt_ddr: ldo3 {
    	regulator-name = "vtt_ddr";
    	regulator-min-microvolt = <500000>;
    	regulator-max-microvolt = <750000>;
    	regulator-always-on;
    	regulator-over-current-protection;
    	st,regulator-sink-source;
    };

     

    According to what @NP mentioned, you'd expect the issue is that the max value check is comparing to the values for the 'normal mode' instead of the 'sink-source mode' (stpmic1 page 27).

    Graduate II
    September 17, 2023

    @michiel.tjampens  I believe the workshop had multiple nodes in the TF-A DT for power , like vdd_sd etc..  Reduce it to only two nodes. My (perfectly hardware good custom board  which has run ECO 1.0 for years) had also this panic in ECO 5.0 and after debugging found it kept crashing in fdt.c on the 3rd node no matter what that node was.  I don't have any setting for vtt_dr in then TF-A DT but this board does not use PMIC though.

    See my last post in: https://community.st.com/t5/stm32cubemx-mpus/stm32mp15-eco-5-0-0-board-bring-up-panic-with-legacy-power/td-p/585845

     

     

    Visitor II
    September 17, 2023

    Hi @debugging , for once the Lab probably was correct. I think in old ECO's that check wasn't there or something. Because both the lab and a ek dts removed the lines in question.

    vtt_ddr: ldo3 {
    	regulator-name = "vtt_ddr";
    	regulator-always-on;
    	regulator-over-current-protection;
    	st,regulator-sink-source;
    };

    Which kinda makes sense because the ldo's voltage is 'fixed' to buck2 divided by 2 when in sink-source.

    I'll check your post when I manage to get that far, the voltage error was replaced with addr bus test failure (but that's offtopic).