This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM5706: PMIC(LDO1) behavior during QSPI boot and poweroff/reboot command failure

Part Number: AM5706

Hi experts,

My customer made a custom board by combining AM5706 and TPS659163, the OS is Linux and USB3, ETHERNET, QSPI, I2C, etc. are working fine, but there are some problems.

[Problem 1]

When they try to poweroff/reboot with Linux commands, it goes through the halt process but does not reset or power off.

Q1: poweroff/reboot itself is a command in the rootfs, but could you tell me where to look in the kernel?

[Problem 2]

During QSPI boot, when they try to touch the SD card, LDO1 suddenly goes to an unintended voltage (0.9V).

Q2: Could you please tell me where LDO1 is set in the MLO?

The following is the information that we have at this point. When booting from SD, U-Boot seems to know that it has booted from SD, and sets the voltage of LDO1 to 3.3V from where in MLO. After u-boot.img boots, it seems to stops bypass as initialization before touching SD, and keeps 3.3V set in MLO. When booting with QSPI, the initialization is not done in MLO, but is passed to u-boot.img. After that, when I try to touch the SD, the unset LDO1 voltage comes out at the moment of bypass off.
 
This time they boot with QSPI and call the device tree file and kernel etc from the SD card. As a temporary solution is to explicitly set the voltage 3.3V to LDO1 just before the bypass off code (borad.c) in u-boot.img, so that the SD is visible even in QSPI boot. The reason why it is set to 0.9V is because there is some mechanism in the MLO that tries to set an undefined (probably 0V) voltage and sets it to the lowest 0.9V. If we can find the location of this setting, we can figure out why the voltage is incorrect, and if we can identify the file and function, we can find the fix.

If you have any information that might be helpful, or if there is not enough information to investigate, please let us know.

Best regards,
O.H

  • Q1: poweroff/reboot itself is a command in the rootfs, but could you tell me where to look in the kernel?

    drivers/mfd/palmas.c

    function: palmas_power_off

    Q2: Could you please tell me where LDO1 is set in the MLO?

    Can you please check: arch/arm/mach-omap2/omap5/hwinit.c

    palmas_mmc1_poweron_ldo

    Other potential place could be: drivers/power/regulator/palmas_regulator.c

    ldo_set_value

    Best Regards,
    Keerthy

  • Hi Keerthy,

    Sorry for the late reply. Thank you for your support. We will check the file you tell me and if I can't solve the problem, please let me discuss it again in a new thread.

    Best regards,
    O.H