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.

[参考译文] AM62L-PROCESSOR-SDK:CPU 深度睡眠问题

Guru**** 2416270 points
Other Parts Discussed in Thread: AM62L

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1512464/am62l-processor-sdk-cpu-deep-sleep-issue

器件型号:AM62L-PROCESSOR-SDK
主题中讨论的其他器件:AM62L

工具/软件:

您好、

我在测试 CPU 睡眠模式时遇到问题。请查看随附的调试打印件并指导我如何操作。
我查看了 software-dl.ti.com/.../pm_am62lx_low_power_modes.html。


 usage: . filename [arguments]
root@am62lxx-ig69m-2gb:~# 
root@am62lxx-ig69m-2gb:~# 
root@am62lxx-ig69m-2gb:~# 
root@am62lxx-ig69m-2gb:~# 
root@am62lxx-ig69m-2gb:~# echo mem > /sys/power/state
[   60.671139] PM: suspend entry (deep)
[   60.674980] Filesystems sync: 0.000 seconds
[   81.702682] rcu: INFO: rcu_preempt detected stalls on CPUs/tasks:
[   81.708803] rcu:     0-...0: (13 ticks this GP) idle=0f9c/1/0x4000000000000000 softirq=6706/6706 fqs=1050
[   81.718100] rcu:     (detected by 1, t=5256 jiffies, g=6049, q=429 ncpus=2)
[   81.724794] Sending NMI from CPU 1 to CPUs 0:
[   91.742756] mmc1: Timeout waiting for hardware interrupt.
[   91.748173] mmc1: sdhci: ============ SDHCI REGISTER DUMP ===========
[   91.754599] mmc1: sdhci: Sys addr:  0x00000010 | Version:  0x00001004
[   91.761028] mmc1: sdhci: Blk size:  0x00007200 | Blk cnt:  0x00000000
[   91.767455] mmc1: sdhci: Argument:  0x00896cc8 | Trn mode: 0x0000002b
[   91.773882] mmc1: sdhci: Present:   0x01ff0000 | Host ctl: 0x0000001b
[   91.780308] mmc1: sdhci: Power:     0x0000000f | Blk gap:  0x00000080
[   91.786734] mmc1: sdhci: Wake-up:   0x00000000 | Clock:    0x00000207
[   91.793161] mmc1: sdhci: Timeout:   0x00000000 | Int stat: 0x00000003
[   91.799587] mmc1: sdhci: Int enab:  0x03ff008b | Sig enab: 0x03ff008b
[   91.806013] mmc1: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000001
[   91.812439] mmc1: sdhci: Caps:      0x3de8c801 | Caps_1:   0x18002407
[   91.818868] mmc1: sdhci: Cmd:       0x0000193a | Max curr: 0x00000000
[   91.825294] mmc1: sdhci: Resp[0]:   0x00000900 | Resp[1]:  0x0076b27f
[   91.831720] mmc1: sdhci: Resp[2]:   0x325b5900 | Resp[3]:  0x00000900
[   91.838145] mmc1: sdhci: Host ctl2: 0x00000000
[   91.842578] mmc1: sdhci: ADMA Err:  0x00000000 | ADMA Ptr: 0x000000008519b218
[   91.849698] mmc1: sdhci: ============================================
[   91.870884] davinci_mdio 8000f00.mdio: timed out waiting for user access
[   91.877624] ------------[ cut here ]------------
[   91.882252] phy_check_link_status+0x0/0xf4: returned: -110
[   91.889494] WARNING: CPU: 1 PID: 39 at /drivers/net/phy/phy.c:1270 _phy_state_machine+0xd0/0x29c
[   91.898307] Modules linked in: ti_am335x_adc kfifo_buf snd_soc_simple_card snd_soc_simple_card_utils crct10dif_ce panel_simple tps65219_pwrbutton pwm_bl k3_j72xx_bandgap rti_wdt tidss drm_dma_helper drm_disp6
[   91.943797] CPU: 1 UID: 0 PID: 39 Comm: kworker/u8:2 Tainted: G           O       6.12.13-ti-g32edff5480fb #1
[   91.953697] Tainted: [O]=OOT_MODULE
[   91.957174] Hardware name: iG-RainboW-G69M-TI-AM62LX OSM (DT)
[   91.962908] Workqueue: events_power_efficient phy_state_machine
[   91.968825] pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[   91.975774] pc : _phy_state_machine+0xd0/0x29c
[   91.980211] lr : _phy_state_machine+0xd0/0x29c
[   91.984648] sp : ffff800081a33d40
[   91.987953] x29: ffff800081a33d50 x28: 0000000000000000 x27: 0000000000000000
[   91.995080] x26: 0000000000000000 x25: ffff000001781580 x24: ffff000001413a05
[   92.002210] x23: 0000000000000000 x22: ffff000001414000 x21: 0000000000000000
[   92.009338] x20: 0000000000000006 x19: ffff000004c53000 x18: 0000000000000000
[   92.016465] x17: 0000000000000000 x16: 0000000000000000 x15: 0000000000000000
[   92.023593] x14: 0000000000000000 x13: ffff000001725300 x12: 000000000000023a
[   92.030721] x11: ffff000001725300 x10: 00000000000009e0 x9 : ffff800081a33bb0
[   92.037849] x8 : ffff000001725cc0 x7 : ffff00007face200 x6 : 0000000000000000
[   92.044976] x5 : 0000000000000001 x4 : 0000000000000002 x3 : 0000000000000804
[   92.052103] x2 : 0000000000000000 x1 : 0000000000000000 x0 : ffff000001725280
[   92.059231] Call trace:
[   92.061671]  _phy_state_machine+0xd0/0x29c
[   92.065765]  phy_state_machine+0x2c/0x70
[   92.069683]  process_one_work+0x148/0x28c
[   92.073691]  worker_thread+0x2cc/0x3d4
[   92.077435]  kthread+0x110/0x114
[   92.080661]  ret_from_fork+0x10/0x20
[   92.084232] ---[ end trace 0000000000000000 ]---
[  102.010703] mmc1: Timeout waiting for hardware interrupt.
[  102.016124] mmc1: sdhci: ============ SDHCI REGISTER DUMP ===========
[  102.022549] mmc1: sdhci: Sys addr:  0x00000010 | Version:  0x00001004
[  102.028979] mmc1: sdhci: Blk size:  0x00007200 | Blk cnt:  0x00000000
[  102.035405] mmc1: sdhci: Argument:  0x00000000 | Trn mode: 0x00000023
[  102.041832] mmc1: sdhci: Present:   0x01ff0000 | Host ctl: 0x0000001b


此致、
Dheeraj k

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

    尊敬的 Dheeraj:

    几个问题:

    1.您可以共享正在使用的设备树吗?

    2. ARM 可信固件有什么变化?

    并非所有 Linux 驱动程序都已使用挂起/恢复挂钩进行了更新、因此我们创建了 AM62L 低功耗模式的自定义设备树: https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/tree/arch/arm64/boot/dts/ti/k3-am62l3-evm-lpmdemo.dts?h=ti-linux-6.12.y

    软件开发团队正在努力添加更多挂起/恢复挂钩。

    此致、

    Anshu

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

    尊敬的 Dheeraj:

    如果要测试 DEEPSLEEP、请使用 “k3-am62l3-evm-lpmdemo.dts"作为“作为 fdtfile。 这应能保证董事会睡眠不会有任何问题。

    如果您要继续使用定制 DTS 文件、应删除在 “k3-am62l3-evm-lpmdemo.dts"文件“文件末尾删除的相同节点、并且应将 CPSW 节点保持为禁用状态。 不能保证这适用于 DeepSleep 测试。

    此致、

    Kendall

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

    尊敬的 Willis:

    感谢您的更新,我会检查.

    此致、
    Dheeraj k

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

    您好、

    我试过 lpdemo.dtb 及其在 EVM 板上的工作正常。只是为了澄清如果我将调试 UART 配置为唤醒源并通过键盘给板发出中断、CPU 应该从睡眠状态唤醒吗?
    这是我在定制板中尝试过 的、但无法正常工作。

    那么这个问题是否也出现在“软件开发团队正在努力添加更多的挂起/恢复挂钩“之下?

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

    尊敬的 Dheeraj:

    目前、在此版本的 Linux SDK 中、只有 RTC ext 引脚可用作唤醒源。

    此致、

    Kendall

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

    尊敬的 Kendall:  

    RTC EXT 引脚是否是唯一可用于将 CPU 从深度睡眠模式唤醒的中断源、或者是否也可以使用其他接口?“

    此致、
    Dheeraj k

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

    尊敬的 Dheeraj:

    在当前的 SDK 版本中、SDK 11.0 仅支持 RTC ext 引脚作为从 DEEPSLEEP 模式唤醒的源。 目前没有其他接口支持唤醒。 未来的 Linux SDK 版本中将添加更多唤醒源。

    此致、

    Kendall

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

    尊敬的 Kendal:

    感谢您的更新,您能告诉我什么时候会是下一个版本吗?

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

    尊敬的 Dheeraj:

    从过去的版本来看、下一个版本很可能是在 8 月。

    此致、

    Kendall

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

    您好、  

    我看到了一个新的 SDK 版本,你能确认是否有其他唤醒源的 CPU 深度睡眠已更新?

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

    尊敬的 Wills:  

    是否有任何关于此问题的更新? 或者 我可以为这个新的 SDK 版本创建新线程吗?

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

    尊敬的 Dheeraj:

    您应该为此 SDK 版本创建一个新主题。

    此致、

    Kendall