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:电源管理功能在 SDK11.1 中不起作用

Guru**** 2609285 points
Other Parts Discussed in Thread: SK-AM62-LP

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1580769/am625-power-management-feature-doesn-t-work-in-sdk11-1

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

电源管理功能在 Linux SDK11 上不起作用:

root@am62xx-lp-evm:~# rtcwake -s 5 -m mem
rtcwake: assuming RTC uses UTC ...
rtcwake: wakeup from "mem" using /dev/rtc0 at Thu Jan  1 00:02:35 1970
[  142.940017] PM: suspend entry (deep)
[  142.944287] Filesystems sync: 0.000 seconds
[  163.981031] rcu: INFO: rcu_preempt detected stalls on CPUs/tasks:
[  163.987149] rcu:     2-...0: (0 ticks this GP) idle=54d4/1/0x4000000000000000 softirq=4324/4324 fqs=2429
[  163.996359] rcu:     (detected by 3, t=5255 jiffies, g=6341, q=2788 ncpus=4)
[  164.003138] Sending NMI from CPU 3 to CPUs 2:
[  174.004063] rcu: rcu_preempt kthread starved for 2497 jiffies! g6341 f0x0 RCU_GP_DOING_FQS(6) ->state=0x0 ->cpu=0
[  174.018664] rcu:     Unless rcu_preempt kthread gets sufficient CPU time, OOM is now expected behavior.
[  174.027781] rcu: RCU grace-period kthread stack dump:
[  174.032821] task:rcu_preempt     state:I stack:0     pid:16    tgid:16    ppid:2      flags:0x00000008
[  174.042124] Call trace:
[  174.044562]  __switch_to+0xe4/0x140
[  174.048062]  __schedule+0x268/0xa84
[  174.051550]  schedule+0x34/0x104
[  174.054775]  schedule_timeout+0x84/0xfc
[  174.058607]  rcu_gp_fqs_loop+0x118/0x4c8
[  174.062526]  rcu_gp_kthread+0x134/0x160
[  174.066357]  kthread+0x110/0x114
[  174.069582]  ret_from_fork+0x10/0x20
[  174.073159] rcu: Stack dump where RCU GP kthread last ran:
[  174.078633] Sending NMI from CPU 3 to CPUs 0:
[  174.082992] NMI backtrace for cpu 0 skipped: idling at default_idle_call+0x28/0x3c
[  237.101052] rcu: INFO: rcu_preempt detected stalls on CPUs/tasks:
[  237.107192] rcu:     2-...0: (0 ticks this GP) idle=54d4/1/0x4000000000000000 softirq=4324/4324 fqs=10196
[  237.116506] rcu:     (detected by 3, t=23535 jiffies, g=6341, q=10643 ncpus=4)
[  237.123466] Sending NMI from CPU 3 to CPUs 2:
[  247.124393] rcu: rcu_preempt kthread timer wakeup didn't happen for 2505 jiffies! g6341 f0x0 RCU_GP_WAIT_FQS(5) ->state=0x402
[  247.140031] rcu:     Possible timer handling issue on cpu=3 timer-softirq=4962
[  247.146981] rcu: rcu_preempt kthread starved for 2512 jiffies! g6341 f0x0 RCU_GP_WAIT_FQS(5) ->state=0x402 ->cpu=3
[  247.157310] rcu:     Unless rcu_preempt kthread gets sufficient CPU time, OOM is now expected behavior.
[  247.166420] rcu: RCU grace-period kthread stack dump:
[  247.171458] task:rcu_preempt     state:I stack:0     pid:16    tgid:16    ppid:2      flags:0x00000008
[  247.180761] Call trace:
[  247.183200]  __switch_to+0xe4/0x140
[  247.186699]  __schedule+0x268/0xa84
[  247.190187]  schedule+0x34/0x104
[  247.193410]  schedule_timeout+0x84/0xfc
[  247.197242]  rcu_gp_fqs_loop+0x118/0x4c8
[  247.201162]  rcu_gp_kthread+0x134/0x160
[  247.204992]  kthread+0x110/0x114
[  247.208218]  ret_from_fork+0x10/0x20
[  247.211790] rcu: Stack dump where RCU GP kthread last ran:
[  247.217270] CPU: 3 UID: 0 PID: 0 Comm: swapper/3 Tainted: G           O       6.12.17-ti-00771-gc85877d40f8e #1
[  247.227344] Tainted: [O]=OOT_MODULE
[  247.230822] Hardware name: Texas Instruments AM62x LP SK (DT)
[  247.236554] pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[  247.243503] pc : default_idle_call+0x28/0x3c
[  247.247768] lr : default_idle_call+0x24/0x3c
[  247.252031] sp : ffff8000817cbe00
[  247.255334] x29: ffff8000817cbe00 x28: 0000000000000000 x27: 0000000000000000
[  247.262462] x26: 0000000000000000 x25: ffff0000005b8000 x24: 0000000000000000
[  247.269590] x23: 0000000000000000 x22: ffff800081409d68 x21: ffff0000005b8000
[  247.276717] x20: ffff800081409c48 x19: 0000000000000003 x18: 0000000000000000
[  247.283846] x17: 0000000000000020 x16: 0000000000000002 x15: ffff0000772bb240
[  247.290974] x14: 0000000000000000 x13: 000000000000030f x12: ffff0000772a52c0
[  247.298102] x11: 0000000000000531 x10: 00000000000009e0 x9 : ffff8000817cbd30
[  247.305230] x8 : ffff0000005b8a40 x7 : 00000000000000c0 x6 : ffff8000812107d8
[  247.312357] x5 : ffff0000772b77d8 x4 : ffff8000812107e8 x3 : 0000000000000000
[  247.319485] x2 : 000000000004441c x1 : 0000000000000001 x0 : 4000000000000000
[  247.326613] Call trace:
[  247.329050]  default_idle_call+0x28/0x3c
[  247.332967]  do_idle+0x200/0x258
[  247.336194]  cpu_startup_entry+0x34/0x3c
[  247.340112]  secondary_start_kernel+0x124/0x144
[  247.344637]  __secondary_switched+0xb8/0xbc
[  310.365032] rcu: INFO: rcu_preempt detected stalls on CPUs/tasks:
[  310.371150] rcu:     2-...0: (0 ticks this GP) idle=54d4/1/0x4000000000000000 softirq=4324/4324 fqs=17559
[  310.380449] rcu:     (detected by 3, t=41851 jiffies, g=6341, q=19888 ncpus=4)
[  310.387400] Sending NMI from CPU 3 to CPUs 2:
[  312.601065] ti-sci 44043000.system-controller: Mbox timedout in resp(caller: ti_sci_cmd_put_device+0x18/0x24)
[  312.615381] ti-sci 44043000.system-controller: Mbox send fail -110
[  320.388327] rcu: rcu_preempt kthread starved for 2498 jiffies! g6341 f0x0 RCU_GP_DOING_FQS(6) ->state=0x0 ->cpu=0
[  320.388415] ti-sci 44043000.system-controller: Message for 0 is not expected!
[  320.398580] rcu:     Unless rcu_preempt kthread gets sufficient CPU time, OOM is now expected behavior.
[  320.398587] rcu: RCU grace-period kthread stack dump:
[  320.419849] task:rcu_preempt     state:I stack:0     pid:16    tgid:16    ppid:2      flags:0x00000008
[  320.429157] Call trace:
[  320.431596]  __switch_to+0xe4/0x140
[  320.435097]  __schedule+0x268/0xa84
[  320.438584]  schedule+0x34/0x104
[  320.441809]  schedule_timeout+0x84/0xfc
[  320.445640]  rcu_gp_fqs_loop+0x118/0x4c8
[  320.449561]  rcu_gp_kthread+0x134/0x160
[  320.453391]  kthread+0x110/0x114
[  320.456616]  ret_from_fork+0x10/0x20
[  320.460187] rcu: Stack dump where RCU GP kthread last ran:
[  320.465659] Sending NMI from CPU 3 to CPUs 0:
[  320.470017] NMI backtrace for cpu 0 skipped: idling at default_idle_call+0x28/0x3c
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Tony、

    它是在定制硬件还是 TI EVM 上进行了测试? TI EVM 的哪个版本?

    我将重现此内容并明天返回给您。

    谢谢、

    Anshu  

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

    尊敬的 Tony:

    我能够使用 SDK 11.1 在 SK-AM62-LP 板上成功进入和退出深度睡眠模式。 只需注意、“root@am62xx-EVM“是通过重新使用 AM62x SD 卡并更新启动映像来支持 LPDDR4。

    root@am62xx-evm:~# uname -a
    Linux am62xx-evm 6.12.35-ti-00915-ge3e551586dfa #1 SMP PREEMPT Tue Jul  1 21:17:52 UTC 2025 aarch64 GNUx
    root@am62xx-evm:~# rtcwake -m mem -s 10
    rtcwake: assuming RTC uses UTC ...
    rtcwake: wakeup from "mem" using /dev/rtc0 at Thu Jan  1 00:03:14 1970
    [  156.396675] PM: suspend entry (deep)
    [  156.400603] Filesystems sync: 0.000 seconds
    [  156.419862] Freezing user space processes
    [  156.426179] Freezing user space processes completed (elapsed 0.002 seconds)
    [  156.433211] OOM killer disabled.
    [  156.436450] Freezing remaining freezable tasks
    [  156.442365] Freezing remaining freezable tasks completed (elapsed 0.001 seconds)
    [  156.449782] printk: Suspending console(s) (use no_console_suspend to debug)
    [  156.487138] remoteproc remoteproc0: stopped remote processor 5000000.m4fss
    [  156.490505] Disabling non-boot CPUs ...
    [  156.493366] psci: CPU3 killed (polled 0 ms)
    [  156.498417] psci: CPU2 killed (polled 0 ms)
    [  156.502236] psci: CPU1 killed (polled 0 ms)
    [  156.503261] Enabling non-boot CPUs ...
    [  156.503699] Detected VIPT I-cache on CPU1
    [  156.503758] GICv3: CPU1: found redistributor 1 region 0:0x00000000018a0000
    [  156.503826] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
    [  156.505196] CPU1 is up
    [  156.505489] Detected VIPT I-cache on CPU2
    [  156.505528] GICv3: CPU2: found redistributor 2 region 0:0x00000000018c0000
    [  156.505576] CPU2: Booted secondary processor 0x0000000002 [0x410fd034]
    [  156.506726] CPU2 is up
    [  156.507108] Detected VIPT I-cache on CPU3
    [  156.507156] GICv3: CPU3: found redistributor 3 region 0:0x00000000018e0000
    [  156.507213] CPU3: Booted secondary processor 0x0000000003 [0x410fd034]
    [  156.508601] CPU3 is up
    [  156.509326] ti-sci 44043000.system-controller: ti_sci: wakeup source:0x50, pin:0xff, mode:0x0
    [  156.530757] am65-cpsw-nuss 8000000.ethernet: set new flow-id-base 19
    [  156.540848] am65-cpsw-nuss 8000000.ethernet eth0: PHY [8000f00.mdio:00] driver [TI DP83867] (irq=POL)
    [  156.540876] am65-cpsw-nuss 8000000.ethernet eth0: configuring for phy/rgmii-rxid link mode
    [  156.547691] am65-cpsw-nuss 8000000.ethernet eth1: PHY [8000f00.mdio:01] driver [TI DP83867] (irq=POL)
    [  156.547703] am65-cpsw-nuss 8000000.ethernet eth1: configuring for phy/rgmii-rxid link mode
    [  156.690894] OOM killer enabled.
    [  156.694032] Restarting tasks ... done.
    [  156.700059] random: crng reseeded on system resumption
    [  156.705829] k3-m4-rproc 5000000.m4fss: Core is off in resume
    [  156.713796] remoteproc remoteproc0: powering up 5000000.m4fss
    [  156.719796] remoteproc remoteproc0: Booting fw image am62-mcu-m4f0_0-fw, size 55100
    [  156.730449] rproc-virtio rproc-virtio.1.auto: assigned reserved memory node m4f-dma-memory@9cb00000
    [  156.741967] virtio_rpmsg_bus virtio0: rpmsg host is online
    [  156.742599] virtio_rpmsg_bus virtio0: creating channel ti.ipc4.ping-pong addr 0xd
    [  156.750577] rproc-virtio rproc-virtio.1.auto: registered virtio0 (type 7)
    [  156.755538] virtio_rpmsg_bus virtio0: creating channel rpmsg_chrdev addr 0xe
    [  156.762048] remoteproc remoteproc0: remote processor 5000000.m4fss is now up
    [  156.777171] PM: suspend exit
    root@am62xx-evm:~#

    请提供更多信息、包括任何软件更改和硬件平台(如果是 TI EVM 或定制硬件)。

    此致、

    Anshu

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

    #1。 我意识到除了使用 LP 板进行 sdk11.1 测试外、我还使用 sdk11.0 进行了测试。

    root@am62xx-lp-evm:~# uname -a
    Linux am62xx-lp-evm 6.12.17-ti-00771-gc85877d40f8e #1 SMP PREEMPT Tue Mar 25 12:45:29 UTC 2025 aarch64 GNU/Linux
    root@am62xx-lp-evm:~# rtcwake -s 5 -m mem
    rtcwake: assuming RTC uses UTC ...
    rtcwake: wakeup from "mem" using /dev/rtc0 at Thu Jan  1 00:01:17 1970
    [   65.468281] PM: suspend entry (deep)
    [   65.472004] Filesystems sync: 0.000 seconds
    [   86.505855] rcu: INFO: rcu_preempt detected stalls on CPUs/tasks:
    [   86.511973] rcu:     3-...0: (0 ticks this GP) idle=d06c/1/0x4000000000000000 softirq=3893/3893 fqs=2319
    [   86.521181] rcu:     (detected by 1, t=5255 jiffies, g=4689, q=2825 ncpus=4)
    [   86.527959] Sending NMI from CPU 1 to CPUs 3:
    [   87.733893] tps6598x 0-003f: tps6598x_interrupt: failed to read version (-110)
    [   89.781892] tps6598x 0-003f: tps6598x_interrupt: failed to read event1
    [   91.317900] tps6598x 0-003f: tps6598x_interrupt: failed to read version (-110)
    [   93.365887] tps6598x 0-003f: tps6598x_interrupt: failed to read event1
    [   94.901900] tps6598x 0-003f: tps6598x_interrupt: failed to read version (-110)
    [   96.528885] rcu: rcu_preempt kthread starved for 2497 jiffies! g4689 f0x0 RCU_GP_DOING_FQS(6) ->state=0x0 ->cpu=0
    [   96.539142] rcu:     Unless rcu_preempt kthread gets sufficient CPU time, OOM is now expected behavior.
    [   96.548259] rcu: RCU grace-period kthread stack dump:
    [   96.553299] task:rcu_preempt     state:I stack:0     pid:16    tgid:16    ppid:2      flags:0x00000008
    [   96.562601] Call trace:
    [   96.565039]  __switch_to+0xe4/0x140
    [   96.568540]  __schedule+0x268/0xa84
    [   96.572027]  schedule+0x34/0x104
    [   96.575251]  schedule_timeout+0x84/0xfc
    [   96.579081]  rcu_gp_fqs_loop+0x118/0x4c8
    [   96.583000]  rcu_gp_kthread+0x134/0x160
    [   96.586830]  kthread+0x110/0x114
    [   96.590054]  ret_from_fork+0x10/0x20
    [   96.593626] rcu: Stack dump where RCU GP kthread last ran:
    [   96.599099] Sending NMI from CPU 1 to CPUs 0:
    [   96.603457] NMI backtrace for cpu 0 skipped: idling at default_idle_call+0x28/0x3c

    #2. 现在 我使用相同的 LP 板使用 SDK11.1 进行测试、lpm 命令有效。

    root@am62xx-lp-evm:~# uname -a
    Linux am62xx-lp-evm 6.12.35-ti-00915-ge3e551586dfa #1 SMP PREEMPT Tue Jul  1 21:17:52 UTC 2025 aarch64 GNU/Linux
    root@am62xx-lp-evm:~#
    root@am62xx-lp-evm:~#
    root@am62xx-lp-evm:~# rtcwake -s 5 -m mem
    rtcwake: assuming RTC uses UTC ...
    rtcwake: wakeup from "mem" using /dev/rtc0 at Thu Jan  1 00:00:57 1970
    [   45.063230] PM: suspend entry (deep)
    [   45.066952] Filesystems sync: 0.000 seconds
    [   45.101359] Freezing user space processes
    [   45.107848] Freezing user space processes completed (elapsed 0.002 seconds)
    [   45.114866] OOM killer disabled.
    [   45.118104] Freezing remaining freezable tasks
    [   45.123941] Freezing remaining freezable tasks completed (elapsed 0.001 seconds)
    [   45.131366] printk: Suspending console(s) (use no_console_suspend to debug)
    [   45.171158] remoteproc remoteproc0: stopped remote processor 5000000.m4fss
    [   45.174807] Disabling non-boot CPUs ...
    [   45.177798] psci: CPU3 killed (polled 0 ms)
    [   45.181605] psci: CPU2 killed (polled 0 ms)
    [   45.185390] psci: CPU1 killed (polled 0 ms)
    [   45.187235] Enabling non-boot CPUs ...
    [   45.187684] Detected VIPT I-cache on CPU1
    [   45.187745] GICv3: CPU1: found redistributor 1 region 0:0x00000000018a0000
    [   45.187810] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
    [   45.189212] CPU1 is up
    [   45.189504] Detected VIPT I-cache on CPU2
    [   45.189543] GICv3: CPU2: found redistributor 2 region 0:0x00000000018c0000
    [   45.189599] CPU2: Booted secondary processor 0x0000000002 [0x410fd034]
    [   45.190800] CPU2 is up
    [   45.191099] Detected VIPT I-cache on CPU3
    [   45.191139] GICv3: CPU3: found redistributor 3 region 0:0x00000000018e0000
    [   45.191194] CPU3: Booted secondary processor 0x0000000003 [0x410fd034]
    [   45.192711] CPU3 is up
    [   45.193477] ti-sci 44043000.system-controller: ti_sci: wakeup source:0x50, pin:0xff, mode:0x0
    [   45.217730] am65-cpsw-nuss 8000000.ethernet: set new flow-id-base 19
    [   45.227777] am65-cpsw-nuss 8000000.ethernet eth0: PHY [8000f00.mdio:00] driver [TI DP83867] (irq=POLL)
    [   45.227807] am65-cpsw-nuss 8000000.ethernet eth0: configuring for phy/rgmii-rxid link mode
    [   45.353101] OOM killer enabled.
    [   45.356249] Restarting tasks ... done.
    [   45.362764] random: crng reseeded on system resumption
    [   45.368078] k3-m4-rproc 5000000.m4fss: Core is off in resume
    [   45.374227] remoteproc remoteproc0: powering up 5000000.m4fss
    [   45.381628] remoteproc remoteproc0: Booting fw image am62-mcu-m4f0_0-fw, size 55100
    [   45.393297] rproc-virtio rproc-virtio.4.auto: assigned reserved memory node m4f-dma-memory@9cb00000
    [   45.404822] virtio_rpmsg_bus virtio0: rpmsg host is online
    [   45.410571] virtio_rpmsg_bus virtio0: creating channel ti.ipc4.ping-pong addr 0xd
    [   45.412035] rproc-virtio rproc-virtio.4.auto: registered virtio0 (type 7)
    [   45.418409] virtio_rpmsg_bus virtio0: creating channel rpmsg_chrdev addr 0xe
    [   45.425007] remoteproc remoteproc0: remote processor 5000000.m4fss is now up
    [   45.439521] PM: suspend exit
    root@am62xx-lp-evm:~#

    #3. 借助 P1 板、SDK11.0 和 SDK11.1 均可正常使用。

    root@am62xx-lp-evm:~# uname -a
    Linux am62xx-lp-evm 6.12.35-ti-00915-ge3e551586dfa #1 SMP PREEMPT Tue Jul  1 21:17:52 UTC 2025 aarch64 GNU/Linux
    root@am62xx-lp-evm:~#
    root@am62xx-lp-evm:~# rtcwake -s 5 -m mem
    rtcwake: assuming RTC uses UTC ...
    rtcwake: wakeup from "mem" using /dev/rtc0 at Thu Jan  1 00:02:33 1970
    [  130.520552] PM: suspend entry (deep)
    [  130.524364] Filesystems sync: 0.000 seconds
    [  130.544308] Freezing user space processes
    [  130.550654] Freezing user space processes completed (elapsed 0.002 seconds)
    [  130.557687] OOM killer disabled.
    [  130.560920] Freezing remaining freezable tasks
    [  130.566846] Freezing remaining freezable tasks completed (elapsed 0.001 seconds)
    [  130.574261] printk: Suspending console(s) (use no_console_suspend to debug)
    [  130.616277] remoteproc remoteproc0: stopped remote processor 5000000.m4fss
    [  130.619836] Disabling non-boot CPUs ...
    [  130.622767] psci: CPU3 killed (polled 0 ms)
    [  130.627171] psci: CPU2 killed (polled 0 ms)
    [  130.631080] psci: CPU1 killed (polled 0 ms)
    [  130.633319] Enabling non-boot CPUs ...
    [  130.633748] Detected VIPT I-cache on CPU1
    [  130.633803] GICv3: CPU1: found redistributor 1 region 0:0x00000000018a0000
    [  130.633867] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
    [  130.635304] CPU1 is up
    [  130.635594] Detected VIPT I-cache on CPU2
    [  130.635633] GICv3: CPU2: found redistributor 2 region 0:0x00000000018c0000
    [  130.635685] CPU2: Booted secondary processor 0x0000000002 [0x410fd034]
    [  130.637039] CPU2 is up
    [  130.637359] Detected VIPT I-cache on CPU3
    [  130.637403] GICv3: CPU3: found redistributor 3 region 0:0x00000000018e0000
    [  130.637460] CPU3: Booted secondary processor 0x0000000003 [0x410fd034]
    [  130.638917] CPU3 is up
    [  130.639657] ti-sci 44043000.system-controller: ti_sci: wakeup source:0x50, pin:0xff, mode:0x0
    [  130.662323] am65-cpsw-nuss 8000000.ethernet: set new flow-id-base 19
    [  130.672331] am65-cpsw-nuss 8000000.ethernet eth0: PHY [8000f00.mdio:00] driver [TI DP83867] (irq=POLL)
    [  130.672361] am65-cpsw-nuss 8000000.ethernet eth0: configuring for phy/rgmii-rxid link mode
    [  130.797742] OOM killer enabled.
    [  130.800890] Restarting tasks ... done.
    [  130.806931] random: crng reseeded on system resumption
    [  130.812305] k3-m4-rproc 5000000.m4fss: Core is off in resume
    [  130.818368] remoteproc remoteproc0: powering up 5000000.m4fss
    [  130.824288] remoteproc remoteproc0: Booting fw image am62-mcu-m4f0_0-fw, size 55100
    [  130.838744] rproc-virtio rproc-virtio.3.auto: assigned reserved memory node m4f-dma-memory@9cb00000
    [  130.849782

    无论如何、我们都将与 SDK11.1 配合使用。

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

    尊敬的 Tony:

    感谢您的更新。 正确、在 SDK 11.0 中、PMIC 驱动程序中存在影响深度睡眠的错误。 此问题已在 SDK 11.1 中修复。

    谢谢、

    Anshu