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.

[参考译文] AM625:DEEPSLEEP 模式在 PSDK11 中不起作用

Guru**** 2538930 points
Other Parts Discussed in Thread: SK-AM62B-P1, TPS65219

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1550524/am625-deepsleep-mode-does-not-work-in-psdk11

器件型号:AM625
主题中讨论的其他器件:SK-AM62B-P1TPS65219

工具/软件:

您好支持团队:

我们将确认 AM62xx 上 DeepSleepMode 的运行情况。
它在以下环境中与 PSDK9 一起工作正常。
但是、在升级到 PSDK11 时、它不起作用。
您能告诉我如何解决吗?

*环境  
PSDK:Linux-AM62X(不是 RT PROCESSOR-SDK-LINUX)
版本:11.00.09.04
SoC:AM6251
PCB:我的定制板

我比较了 PSDK9 和 11 的日志、因此请对它们进行检查。

* PSDK11 日志

root@am62xx-myboard:~# echo mem > /sys/power/state
[   81.644493] PM: suspend entry (deep)
[   81.666063] Filesystems sync: 0.017 seconds


* PSDK9 日志

root@am62xx-myboard:~/# echo mem > /sys/power/state								
[ 2320.965421] PM: suspend entry (deep)								
[ 2320.994262] Filesystems sync: 0.025 seconds								
[ 2321.000363] Freezing user space processes								
[ 2321.011314] Freezing user space processes completed (elapsed 0.002 seconds)								
[ 2321.018527] OOM killer disabled.								
[ 2321.021926] Freezing remaining freezable tasks								
[ 2321.028132] Freezing remaining freezable tasks completed (elapsed 0.001 seconds)								
[ 2321.035631] printk: Suspending console(s) (use no_console_suspend to debug)								


唤醒源为 MAIN_uart0。 器件树与 PSDK 9 和 11 相同。

&main_uart0 {
        status = "okay";
        pinctrl-names = "default";
        pinctrl-0 = <&main_uart0_pins_default>;
        interrupts-extended = <&gic500 GIC_SPI 178 IRQ_TYPE_LEVEL_HIGH>,
                                <&main_pmx0 0x1c8>; /* (D14) UART0_RXD PADCONFIG114 */
        interrupt-names = "irq", "wakeup";
};


此致、
最终目的

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好  
    您是否也有 EVM、并尝试过在 SDK11x 的 EVM 上该 EVM 上该 EVM 可以正常工作?  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Bhatnagar、
    是的、已确认可在 PSDK 11 EVM 上使用。
    这是否是由设备树中的差异引起的?
    它正在使用 PSDK9、问题是什么?

    此致、
    最终目的

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好:
    我需要您的信息来解决这个问题。

    此致、
    最终目的

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的:

    对延迟深表歉意。 我能够在 TI EVM 上验证 Linux SDK 版本 11.0 和 11.1 上的 DEEP SLEEP。

    首先、我们检查 RTC 唤醒以确保正在执行深度睡眠序列。 请运行“rtcwake -m mem -s 10“、这应该使用内部 RTC 计时器在 10 秒内唤醒 SoC。

    如果 RTC 唤醒无法正常工作、则自定义软件可能会影响挂起序列。

    如果计划使用 MAIN_uart0、则需要暂停控制台日志、并需要启用唤醒源。 以下 bash 脚本演示了此过程: https://software-dl.ti.com/processor-sdk-linux/esd/AM62X/11_00_09_04/exports/docs/linux/Foundational_Components Power_Management

    root@am62xx-evm:~# echo mem > /sys/power/state
    root@am62xx-evm:~# 
    

    您提供的使用 MAIN_uart0 的日志显示了更多。

    此致、

    Anshu

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Anshu、

    感谢您的支持。

    我确认了定制电路板上的 RTC 唤醒状态。
    定制电路板上的 RTC (RX8111 @ EPSON) 不支持唤醒事件。

    root@am62xx-myborad:~# rtcwake -m show -v
    rtcwake: assuming RTC uses UTC ...
    Using UTC time.
    rtcwake: cannot open /sys/class/rtc/rtc0/device/power/wakeup: No such file or directory
    rtcwake: /dev/rtc0 not enabled for wakeup events

    MAIN_UART0 也被设置为唤醒源、但 深度睡眠失败。

    root@am62xx-myboard:~# cat /sys/devices/platform/bus@f0000/2800000.serial/power/autosuspend_delay_ms
    3000
    root@am62xx-myboard:~# cat /sys/devices/platform/bus@f0000/2800000.serial/power/wakeup
    enabled
    root@am62xx-myboard:~# cat /sys/devices/platform/bus@f0000/2800000.serial/power/control
    auto
    root@am62xx-myboard:~# cat /sys/class/tty/ttyS2/power/wakeup
    enabled

    由于 DeepSleep 使用 PSDK9、我认为以上内容不存在问题。

    am62xx-EVM 的设备树已从 PSDK9 更改为 PSDK11。
    这种差异是否会影响深度睡眠? 通过参考 PSDK9 中使用的设备树来移植我的定制板。

    此致、
    最终目的

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的:

    请共享您所做的任何设备树更改。 Linux SDK 默认器件树从 SDK 9.0 更改为 11.0、不会影响 DEEP SLEEP 的功能。 PSCI 和 OPTEE 是低功耗模式序列的关键部分、需要由器件树发现、因此我们要确保它们包含在内。

    是否有任何其他软件组件已更改或重建?

    谢谢、

    Anshu

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的:

    此外、rtcwake 应该能够为内部 RTC 模块(而不是外部 RTC 模块)供电。 这可能意味着未加载 RTC 驱动程序。


    谢谢、

    Anshu

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Anshu、

    感谢您的支持。
    我启用并检查了内部 RTC、但结果是相同的。

    root@am62xx-myboard:~# rtcwake -s 10 -m mem -d /dev/rtc1
    rtcwake: assuming RTC uses UTC ...
    rtcwake: wakeup from "mem" using /dev/rtc1 at Thu Jan  1 00:03:15 1970
    [  178.052502] PM: suspend entry (deep)
    [  178.056375] Filesystems sync: 0.000 seconds

    它在 PSDK9 环境中工作正常。
    root@am62xx-myboard:~# rtcwake -s 10 -m mem -d /dev/rtc1
    rtcwake: assuming RTC uses UTC ...
    rtcwake: wakeup from "mem" using /dev/rtc1 at Thu Jan  1 00:02:25 1970
    [  128.431445] PM: suspend entry (deep)
    [  128.435395] Filesystems sync: 0.000 seconds
    [  128.445274] Freezing user space processes
    [  128.453062] Freezing user space processes completed (elapsed 0.002 seconds)
    [  128.460194] OOM killer disabled.
    [  128.463592] Freezing remaining freezable tasks
    [  128.469410] Freezing remaining freezable tasks completed (elapsed 0.001 seconds)
    [  128.476847] printk: Suspending console(s) (use no_console_suspend to debug)
    [  128.502337] am65-cpsw-nuss 8000000.ethernet eth0: Link is Down
    [  128.508422] omap8250 2800000.serial: PM domain pd:146 will not be powered off
    [  128.518177] Disabling non-boot CPUs ...
    [  128.518824] ti-sci 44043000.system-controller: ti_sci_resume: wakeup source: 0x50
    [  128.630516] am65-cpsw-nuss 8000000.ethernet: set new flow-id-base 19
    [  128.639445] am65-cpsw-nuss 8000000.ethernet eth0: PHY [8000f00.mdio:01] driver [TI DP83822] (irq=POLL)
    [  128.639490] am65-cpsw-nuss 8000000.ethernet eth0: configuring for phy/rmii link mode
    [  128.647487] am65-cpsw-nuss 8000000.ethernet eth1: PHY [8000f00.mdio:09] driver [TI DP83822] (irq=POLL)
    [  128.647510] am65-cpsw-nuss 8000000.ethernet eth1: configuring for phy/rmii link mode
    [  128.988991] OOM killer enabled.
    [  128.992191] Restarting tasks ... done.
    [  129.024767] random: crng reseeded on system resumption
    [  129.041517] PM: suspend exit
    root@am62xx-myboard:~#


    [引述 userid=“566841" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1550524/am625-deepsleep-mode-does-not-work-in-psdk11/5976011

    PSCI 和 OPTEE 是低功耗模式序列的关键部分、需要由器件树发现、因此我们要确保它们包含在内。

    是否有任何其他软件组件已更改或重建?

    [/报价]

    ATF 和 OPTEE 尚未修改。 我在相同的 Yocto 设置中尝试了以下操作:

    1.machine=myboard bitbake my_custom_image   
    结果:深度睡眠失败

    machine=am62xx-EVM 位 bake my_custom_image
    结果:深度睡眠成功

    此致、
    最终目的

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗨、Anshu


    我需要您的信息才能运行深度睡眠模式。
    我期待收到您的答复。

    此致、
    最终目的

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、
    请告知问题的当前状态。
    此致、
    最终目的

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的:

    我离开办公室,今天回来。 请允许我稍后查看该主题、然后返回给您。

    谢谢、

    Anshu

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的:

    您能否对引导映像运行“mkimage -l tispl.bin“? 我想确保 TIFS 存根被正确寻址。

    谢谢、

    Anshu

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Anshu:

    “mkimage"命令“命令的结果如下所示。  请检查一下日志数据。

    tisdk@9e535ee6642a:~/psdk-linux-rt-11.00.09.04/build/deploy-ti/images/am62xx-myboard$ mkimage -l tispl.bin
    FIT description: Configuration to load ATF and SPL
    Created:         Tue Mar 25 16:14:37 2025
     Image 0 (atf)
      Description:  ARM Trusted Firmware
      Created:      Tue Mar 25 16:14:37 2025
      Type:         Firmware
      Compression:  uncompressed
      Data Size:    58692 Bytes = 57.32 KiB = 0.06 MiB
      Architecture: AArch64
      OS:           ARM Trusted Firmware
      Load Address: 0x80000000
     Image 1 (tee)
      Description:  OP-TEE
      Created:      Tue Mar 25 16:14:37 2025
      Type:         Trusted Execution Environment Image
      Compression:  uncompressed
      Data Size:    492532 Bytes = 480.99 KiB = 0.47 MiB
     Image 2 (dm)
      Description:  DM binary
      Created:      Tue Mar 25 16:14:37 2025
      Type:         Firmware
      Compression:  uncompressed
      Data Size:    195640 Bytes = 191.05 KiB = 0.19 MiB
      Architecture: Unknown Architecture
      OS:           Unknown OS
      Load Address: 0x89000000
     Image 3 (spl)
      Description:  SPL (64-bit)
      Created:      Tue Mar 25 16:14:37 2025
      Type:         Standalone Program
      Compression:  uncompressed
      Data Size:    307900 Bytes = 300.68 KiB = 0.29 MiB
      Architecture: AArch64
      Load Address: 0x80080000
      Entry Point:  0x80080000
     Image 4 (tifsstub-hs)
      Description:  TIFSSTUB
      Created:      Tue Mar 25 16:14:37 2025
      Type:         Firmware
      Compression:  uncompressed
      Data Size:    32133 Bytes = 31.38 KiB = 0.03 MiB
      Architecture: Unknown Architecture
      OS:           Unknown OS
      Load Address: 0x9dc00000
     Image 5 (tifsstub-fs)
      Description:  TIFSSTUB
      Created:      Tue Mar 25 16:14:37 2025
      Type:         Firmware
      Compression:  uncompressed
      Data Size:    30387 Bytes = 29.67 KiB = 0.03 MiB
      Architecture: Unknown Architecture
      OS:           Unknown OS
      Load Address: 0x9dc00000
     Image 6 (tifsstub-gp)
      Description:  TIFSSTUB
      Created:      Tue Mar 25 16:14:37 2025
      Type:         Firmware
      Compression:  uncompressed
      Data Size:    29643 Bytes = 28.95 KiB = 0.03 MiB
      Architecture: Unknown Architecture
      OS:           Unknown OS
      Load Address: 0x9dc00000
     Image 7 (fdt-0)
      Description:  k3-am625-myboard
      Created:      Tue Mar 25 16:14:37 2025
      Type:         Flat Device Tree
      Compression:  uncompressed
      Data Size:    18247 Bytes = 17.82 KiB = 0.02 MiB
      Architecture: ARM
     Default Configuration: 'conf-0'
     Configuration 0 (conf-0)
      Description:  k3-am625-myboard
      Kernel:       unavailable
      Firmware:     atf
      FDT:          fdt-0
      Loadables:    tee
                    tifsstub-hs
                    tifsstub-fs
                    tifsstub-gp
                    dm
                    spl


    此致、
    最终目的

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的:

    从输出来看、您正在构建不支持低功耗模式的 RT Linux。

    RT Linux 需要一定程度的确定性、因此不建议使用低功耗模式、因为它修改了 SoC 的时钟。

    谢谢、

    Anshu   

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Anshu:

    您可能认为它是目录名中的 RTLinux。
    但是、根据“uname -a“命令、它是普通 Linux。
    变量 ARAGO_RT_ENABLE 未在 bitbake 中使用。

    root@am62xx-myboard:~# uname -a
    Linux am62xx-myboard 6.12.17-ti-00771-gc85877d40f8e-dirty #1 SMP PREEMPT Tue Mar 25 12:45:29 UTC 2025 aarch64 GNU/Linux

    此致、
    最终目的

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的:

    感谢您的澄清。 tispl.bin 图片似乎正确。

    您能否分享使用的 defconfig?

    谢谢、

    Anshu

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Anshu:

    感谢您检查文件。
    我会将 defconfig 文件发送给您。 请确认随附的文件。

    e2e.ti.com/.../3872.defconfig.zip

    此致、
    最终目的

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的:

    从输出端来看、这些文件似乎适用于 U-Boot。 您能否共享 linux .config 文件?

    需要启用的配置为“CONFIG_PM=y",“,这、这会启用低功耗模式。

    定制电路板是否使用 PMIC? 如果是、哪个 PMIC 以及它是否也在配置文件中启用?

    例如、SK-AM62B-P1 使用 TPS65219、因此会启用“config_regulator_TPS65219=y"</s>“

    谢谢、

    Anshu

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Anshu:

    [引述 userid=“566841" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1550524/am625-deepsleep-mode-does-not-work-in-psdk11/6016493

    您能否共享 linux .config 文件?

    需要启用的配置为“CONFIG_PM=y",“,这、这会启用低功耗模式。

    [/报价]

    我将附加用于 Linux 的.config 文件。  此外、CONFIG_PM 设置为 Y
    e2e.ti.com/.../7128_2E00_.config.zip

    [引述 userid=“566841" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1550524/am625-deepsleep-mode-does-not-work-in-psdk11/6016493

    定制电路板是否使用 PMIC? 如果是、哪个 PMIC 以及它是否也在配置文件中启用?

    例如、SK-AM62B-P1 使用 TPS65219、因此会启用“config_regulator_TPS65219=y"</s>“

    [/报价]

    PMIC 使用与 SK-AM62B-P1 相同的 TPS65219。  此外、CONFIG_Regulator_TPS65219 设置为 Y

    此致、
    最终目的

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的:

    您是否可以尝试将此补丁应用于 PMIC Linux 驱动程序: https://lore.kernel.org/all/20250620154541.2713036-1-s-ramamoorthy@ti.com/

    https://git.ti.com/gitweb?p=ti-linux-kernel/ti-linux-kernel.git;a=commit;h=1775b052ddbbeb4aa47cff748144637813181b6f

    两个链路都是同一个补丁。

    如果这样做不起作用、您能否尝试禁用 Linux 器件树中的 PMIC?

    我想检查它是否与此处报告的错误相关: https://sir.ext.ti.com/jira/browse/EXT_EP-12340

    谢谢、

    Anshu