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.

AM3352: reboot fail after change pmic to tps65217

Part Number: AM3352
Other Parts Discussed in Thread: TPS65910, TPS65217

Tool/software:

Hi,
We have a issue when change pmic from tps65910 to tps65217.The board hand up at uboot after reboot.
But,if we use cold boot board,it succ.
So,Where do we need to modify?


Below arelog and dts:

U-Boot SPL 2023.04 (Feb 21 2025 - 14:00:19 +0800)

env:
SDK:
09_01_00_001
Uboot:2023-04
kernel:6.1

dts:

cpus {
cpu@0 {
cpu0-supply = <&dcdc2_reg>;
};
};

memory@80000000 {
device_type = "memory";
reg = <0x80000000 0x20000000>; /* 256 MB */
};

chosen {
stdout-path = &uart0;
};

vbat: fixedregulator@0 {
compatible = "regulator-fixed";
regulator-name = "vbat";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
regulator-boot-on;
regulator-always-on;
};

vdd_3v3b: fixedregulator@1 {
compatible = "regulator-fixed";
regulator-name = "vdd_3v3b";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
vin-supply = <&vbat>;
regulator-boot-on;
regulator-always-on;
};

wlreg_on: fixedregulator@2 {
compatible = "regulator-fixed";
regulator-name = "wlreg_on";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
vin-supply = <&vbat>;
regulator-boot-on;
regulator-always-on;
};

vmmcsd_fixed: fixedregulator@3 {
compatible = "regulator-fixed";
regulator-name = "vmmcsd_fixed";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};

........

&i2c0 {
pinctrl-names = "default";
pinctrl-0 = <&i2c0_pins>;

status = "okay";
clock-frequency = <400000>;

tps: tps@24 {
reg = <0x24>;
};
};

.....

#include "tps65217.dtsi"
&tps {
interrupts = <7>; /* NMI */
interrupt-parent = <&intc>;

ti,pmic-shutdown-controller;

charger {
interrupts = <0>, <1>;
interrupt-names = "USB", "AC";
status = "okay";
};

pwrbutton {
interrupts = <2>;
interrupt-names = "PB";
status = "okay";
};

regulators {
dcdc1_reg: regulator@0 {
regulator-name = "vdds_dpr";
regulator-always-on;
};

dcdc2_reg: regulator@1 {
/* VDD_MPU voltage limits 0.95V - 1.325V with +/-4% tolerance */
regulator-name = "vdd_mpu";
regulator-min-microvolt = <925000>;
regulator-max-microvolt = <1378000>;
regulator-boot-on;
regulator-always-on;
};

dcdc3_reg: regulator@2 {
/* VDD_CORE voltage limits 0.95V - 1.1V with +/-4% tolerance */
regulator-name = "vdd_core";
regulator-min-microvolt = <925000>;
regulator-max-microvolt = <1150000>;
regulator-boot-on;
regulator-always-on;
};

ldo1_reg: regulator@3 {
regulator-name = "vio,vrtc,vdds";
regulator-always-on;
};

ldo2_reg: regulator@4 {
regulator-name = "vdd_3v3aux";
regulator-always-on;
};

ldo3_reg: regulator@5 {
regulator-name = "vdd_1v8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};

ldo4_reg: regulator@6 {
regulator-name = "vdd_3v3a";
regulator-always-on;
};
};
};

  • Hi Jkun,

    We have a issue when change pmic from tps65910 to tps65217.The board hand up at uboot after reboot.

    Where does it hangs at U-Boot? Does U-Boot print any message after reboot or prints nothing after the linux shutdown?

    What is the SYSBOOT settings on your board?

  • By the way, AM335x Beaglebone Black uses tps65217, so you might check its board schematics and devicetree to see if you can find any problem on your board.

  • Hi,Bin Liu:
      We used linux4.18 and uboot-2016.05 is ok,The board can reboot succ,no porblem。So,The board is ok。
      We update  the code to linux  6.10 and uboot-2023.4。
      The SDK pmic default is tps65910,I changed it to tps65217,the dts config is same as our old code( linux4.18),but reboot fail。
      The board boot from Nand Flash。
      Below is log after reboot,hand up at uboot:

    # reboot
    # [ OK ] Removed slice Slice /system/modprobe.
    [ OK ] Stopped target Login Prompts.
    [ OK ] Stopped target Host and Network Name Lookups.
    [ OK ] Stopped target Remote File Systems.
    [ OK ] Stopped target Timer Units.
    [ OK ] Stopped Daily Cleanup of Temporary Directories.
    Stopping Chrony Network Time Daemon...
    Stopping D-Bus System Message Bus...
    Stopping
    topping Serial Getty on ttyS0...
    Stopping OpenSSH server daemon...
    [ 57.527337] watchdog: watchdog0: watchdog did not stop!
    Stopping Telnetd Service...
    [ OK ] Stopped D-Bus System Message Bus.
    [ OK ] Stopped Serial Getty on ttyS0.
    [ OK ] Stopped Chrony Network Time Daemon.
    [ OK ] Stopped Telnetd Service.
    [ OK ] Stopped FreeRADIUS multi-protocol policy server.
    [ OK ] Stopped OpenSSH server daemon.
    [ OK ] Removed slice Slice /system/serial-getty.
    [ OK ] Stopped target Network.
    Stopping Network Configuration...
    [ OK ] Stopped Network Configuration.
    [ OK ] Stopped target Basic System.
    [ OK ] Stopped target Preparation for Network.
    [ OK ] Stopped target Path Units.
    [ OK ] Stopped Dispatch Password Requests to Console Directory Watch.
    [ OK ] Stopped Forward Password Requests to Wall Directory Watch.
    [ OK ] Stopped target Slice Units.
    [ OK ] Stopped target Socket Units.
    [ OK ] Closed D-Bus System Message Bus Socket.
    [ OK ] Stopped target System Initialization.
    [ OK ] Closed Network Service Netlink Socket.
    [ OK ] Stopped Generate network units from Kernel command line.
    Stopping Network Name Resolution...
    [ OK ] Stopped Update is Completed.
    [ OK ] Stopped Network Name Resolution.
    [ OK ] Stopped Apply Kernel Variables.
    [ OK ] Stopped Create Volatile Files and Directories.
    [ OK ] Stopped target Local File Systems.
    [ OK ] Stopped target Preparation for Local File Systems.
    Unmounting Temporary Directory /tmp...
    [ OK ] Stopped Remount Root and Kernel File Systems.
    [ OK ] Stopped Create Static Device Nodes in /dev.
    [ OK ] Stopped Create Static Device Nodes in /dev gracefully.
    [ OK ] Unmounted Temporary Directory /tmp.
    [ OK ] Stopped target Swaps.
    [ OK ] Reached target System Shutdown.
    [ OK ] Reached target Unmount All Filesystems.
    [ OK ] Reached target Late Shutdown Services.
    [ OK ] Finished System Reboot.
    [ OK ] Reached target System Reboot.
    [ 59.455879] watchdog: watchdog0: watchdog did not stop!
    [ 59.546016] systemd-shutdown[1]: Using hardware watchdog 'GPIO Watchdog', version 0, device /dev/watchdog0
    [ 59.548118] systemd-shutdown[1]: Watchdog running with a hardware timeout of 10min.
    [ 60.025789] systemd-shutdown[1]: Syncing filesystems and block devices.
    [ 60.045370] systemd-shutdown[1]: Sending SIGTERM to remaining processes...
    [ 60.070502] systemd-journald[125]: Received SIGTERM from PID 1 (systemd-shutdow).
    [ 60.106337] systemd-shutdown[1]: Sending SIGKILL to remaining processes...
    [ 60.126057] systemd-shutdown[1]: Unmounting file systems.
    [ 60.130607] (sd-remount)[406]: Remounting '/' read-only with options 'assert=read-only,ubi=0,vol=0'.
    [ 60.149165] UBIFS (ubi0:0): background thread "ubifs_bgt0_0" stops
    [ 60.158383] systemd-shutdown[1]: All filesystems unmounted.
    [ 60.158430] systemd-shutdown[1]: Deactivating swaps.
    [ 60.158773] systemd-shutdown[1]: All swaps deactivated.
    [ 60.158804] systemd-shutdown[1]: Detaching loop devices.
    [ 60.176677] systemd-shutdown[1]: All loop devices detached.
    [ 60.176721] systemd-shutdown[1]: Stopping MD devices.
    [ 60.177688] systemd-shutdown[1]: All MD devices stopped.
    [ 60.177721] systemd-shutdown[1]: Detaching DM devices.
    [ 60.178518] systemd-shutdown[1]: All DM devices detached.
    [ 60.178552] systemd-shutdown[1]: All filesystems, swaps, loop devices, MD devices and DM devices detached.
    [ 60.192205] systemd-shutdown[1]: Syncing filesystems and block devices.
    [ 60.206097] systemd-shutdown[1]: Rebooting.
    [ 60.324632] reboot: Restarting system

    U-Boot SPL 2023.04 (Feb 21 2025 - 17:40:48 +0800)




       
       

  • Hi Jkun,

    U-Boot SPL 2023.04 (Feb 21 2025 - 17:40:48 +0800)

    U-Boot only prints one line of the message after reboot. The issue could be that DDR is failed in initialization.

    Did you change the DDR device on this new board? Please probe the DDR RESET signal and compare with the old good board.

  • Hi,Bin,Liu:
        The board is only one,The images are  different。 I have already change DDR config。
        And,The SDK dts default config is tps65910,if use this config,The board can reboot succ。
        But change dts config to tps65217,The board can‘t reboot 。The board hardware pmic is tps65217。
        After reboot,The log message at uboot stage: 

        sometimes output nothing.

        sometimes output :“U-Boot SPL 2023.04 (Feb 21 2025 - 17:40:48 +0800)”.
        sometimes output :“U-Boot SPL 2023.04 (Feb 24 2025 - 15:43:38 +0800)
                                        Trying to boot from NAND
    ”.
        

  • Hi Jkun,

    Does you kernel config has cpufreq enabled? If so what is the default cpufreq governor in the kernel config? Please change the default governor to "performance" to see if the reboot issue still happens with tps65217 driver.

  • Hi,Bin:

    CPU Frequency setting is below,The board can't boot after reboot also.
    But,I change CONFIG_CPU_FREQ to N,The board can reboot succ.

    #
    # CPU Frequency scaling
    #
    CONFIG_CPU_FREQ=y
    CONFIG_CPU_FREQ_GOV_ATTR_SET=y
    CONFIG_CPU_FREQ_GOV_COMMON=y
    CONFIG_CPU_FREQ_STAT=y
    CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
    # CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
    # CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
    # CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
    # CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
    CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
    CONFIG_CPU_FREQ_GOV_POWERSAVE=m
    CONFIG_CPU_FREQ_GOV_USERSPACE=m
    CONFIG_CPU_FREQ_GOV_ONDEMAND=y
    CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m

  • Hi Jkun,

    It seems that if software doesn't operate tps65217, reboot will have no issue. Can you please first compare your tps65217 devicetree configuration with that on Beaglebone Black to see any difference?

  • Hi ,Bin:

      The root cause is tps65217 init later at SPL,I changed tps65217 init at SPL and fixed this issue.
       Thank you very much.

  • Glad the issue is resolved. Thanks for the update sharing the details.