TI中文支持网
TI专业的中文技术问题搜集分享网站

AM437X RTC+DDR Mode

我现在用的是am4376, 参考了:http://processors.wiki.ti.com/index.php/Linux_Core_Power_Management_User%27s_Guide_(v4.1)#RTC-Only_and_RTC.2BDDR_Mode ,用了 RTC+DDR Mode 这种模式,然后通过 :rtcwake -s /dev/rtc0 -d /dev/rtc0 -m mem 休眠唤醒,得到了以下信息:

[ 214.581506] PM: Syncing filesystems … done.
[ 214.599422] Freezing user space processes … (elapsed 0.001 seconds) done.
[ 214.608488] Freezing remaining freezable tasks … (elapsed 0.001 seconds) done.
[ 214.617345] Suspending console(s) (use no_console_suspend to debug)
[ 214.653261] PM: suspend of devices complete after 28.436 msecs
[ 214.655699] PM: late suspend of devices complete after 2.407 msecs
[ 214.658734] PM: noirq suspend of devices complete after 3.006 msecs
[ 214.658745] System will go to power_off state in approx. 1 second
[ 214.658745] omap_hwmod: mmc1: _wait_target_disable failed
[ 214.658745] PM: Successfully put all powerdomains to target state
[ 214.658745] PM: Wakeup source RTC Alarm
[ 214.720061] PM: noirq resume of devices complete after 61.190 msecs
[ 214.722294] PM: early resume of devices complete after 1.742 msecs
[ 214.723792] remoteproc0: stopped remote processor wkup_m3
[ 214.723812] remoteproc0: powering up wkup_m3
[ 214.723850] remoteproc0: Booting fw image am335x-pm-firmware.elf, size 216252
[ 214.724700] remoteproc0: remote processor wkup_m3 is now up
[ 214.791936] usb usb1: root hub lost power or was reset
[ 214.791959] usb usb2: root hub lost power or was reset
[ 214.910329] PM: resume of devices complete after 188.009 msecs
[ 215.025992] Restarting tasks …[ 215.037671] omap_hwmod: mmc1: _wait_target_disable failed
[ 215.048316] done.

请问这个是什么来的,对休眠唤醒稳定性有影响吗?

另外还有一个相关的问题是,反复持续休眠唤醒十几个小时后,出现了休眠失败。具体log如下:

wakeup from "mem" at Tue Jan 24 10:38:11 2017
[40535.936332] PM: Syncing filesystems … done.
[40535.944523] Freezing user space processes … (elapsed 0.001 seconds) done.
[40535.953593] Freezing remaining freezable tasks … (elapsed 0.001 seconds) done.
[40535.962488] Suspending console(s) (use no_console_suspend to debug)
[40535.972838] [xair] [01-24@10:37:51] pm_gpio_suspend+
[40535.973363] [xair] [01-24@10:37:51] pm_4g_suspend+
[40535.995637] PM: suspend of devices complete after 25.914 msecs
[40535.998678] PM: late suspend of devices complete after 3.001 msecs
[40536.002532] PM: noirq suspend of devices complete after 3.813 msecs
[40536.002543] System will go to power_off state in approx. 1 second
[40536.002543] PM: Kernel suspend failure
[40536.004456] ————[ cut here ]————
[40536.004524] WARNING: CPU: 0 PID: 15102 at arch/arm/mach-omap2/omap_hwmod.c:2111 _enable+0x308/0x318()
[40536.004539] omap_hwmod: rtc: enabled state can only be entered from initialized, idle, or disabled state
[40536.004721] Modules linked in: pm_gpio pm_4g pm_gps gy30 bme280db bme280d interface usb_f_ecm option usb_wwan usbserial g_ether usb_f_rndis u_ether libcomposite configfs r
pmsg_pru virtio_rpmsg_bus dwc3 pruss_intc udc_core pm33xx ti_emif_sram wkup_m3_ipc pru_rproc ov5640b ov5640 omap_sham wkup_m3_rproc pruss remoteproc virtio virtio_ring dwc3_o
map omap_des omap_aes_driver extcon am437x_vpfe omap_rng rng_core omap_wdt rtc_omap
[40536.004746] CPU: 0 PID: 15102 Comm: rtcwake Not tainted 4.4.12-g3639bea54a #195
[40536.004756] Hardware name: Generic AM43 (Flattened Device Tree)
[40536.004768] Backtrace:[40536.004829] [<c0013520>] (dump_backtrace) from [<c001371c>] (show_stack+0x18/0x1c)
[40536.004863] r7:c0023eb4 r6:0000083f r5:00000009 r4:00000000
[40536.004901] [<c0013704>] (show_stack) from [<c029e908>] (dump_stack+0x24/0x28)
[40536.004936] [<c029e8e4>] (dump_stack) from [<c0034d84>] (warn_slowpath_common+0x88/0xb4)
[40536.004960] [<c0034cfc>] (warn_slowpath_common) from [<c0034de8>] (warn_slowpath_fmt+0x38/0x40)
[40536.004992] r8:d00bca10 r7:00000000 r6:d00bae80 r5:a00b0013 r4:c0838ff0
[40536.005026] [<c0034db4>] (warn_slowpath_fmt) from [<c0023eb4>] (_enable+0x308/0x318)
[40536.005044] r3:c0839b10 r2:c0838ff0
[40536.005055] r4:c0951ad0
[40536.005083] [<c0023bac>] (_enable) from [<c0024654>] (omap_hwmod_enable+0x3c/0x80)
[40536.005110] r7:00000000 r6:d00bae80 r5:a00b0013 r4:ffffe000
[40536.005136] [<c0024618>] (omap_hwmod_enable) from [<c00259ec>] (omap_device_enable+0x48/0x98)
[40536.005161] r7:00000000 r6:d00bae80 r5:00000000 r4:00000001
[40536.005185] [<c00259a4>] (omap_device_enable) from [<c0025aa8>] (_od_resume_noirq+0x40/0x88)
[40536.005210] r7:00000000 r6:00000000 r5:c0025a68 r4:d00bca10
[40536.005239] [<c0025a68>] (_od_resume_noirq) from [<c03e4834>] (dpm_run_callback+0x34/0xc8)
[40536.005257] r5:c0025a68 r4:00000010
[40536.005279] [<c03e4800>] (dpm_run_callback) from [<c03e4990>] (device_resume_noirq+0xc8/0x228)
[40536.005309] r8:c096e3e8 r7:c096e3fc r6:c096e3e8 r5:d00bca10 r4:00000010
[40536.005335] [<c03e48c8>] (device_resume_noirq) from [<c03e5f08>] (dpm_resume_noirq+0x138/0x228)
[40536.005353] r5:d00bca10 r4:d00bca68
[40536.005391] [<c03e5dd0>] (dpm_resume_noirq) from [<c0063ac8>] (suspend_devices_and_enter+0x248/0x574)
[40536.005426] r10:c8346000 r9:c098f8e0 r8:00000000 r7:00000000 r6:00000001 r5:00000003
[40536.005436] r4:c098f8f4
[40536.005469] [<c0063880>] (suspend_devices_and_enter) from [<c0064070>] (pm_suspend+0x27c/0x2f8)
[40536.005504] r10:00000051 r9:d73059c0 r8:00000003 r7:00000003 r6:c098f900 r5:00000000
[40536.005513] r4:00000003
[40536.005542] [<c0063df4>] (pm_suspend) from [<c0062aac>] (state_store+0x70/0xc0)
[40536.005569] r7:00000003 r6:c098f904 r5:c083c214 r4:00000003
[40536.005605] [<c0062a3c>] (state_store) from [<c02a0b1c>] (kobj_attr_store+0x1c/0x28)
[40536.005640] r9:be9d0ef7 r8:c000fc04 r7:00000000 r6:00000000 r5:d73059c0 r4:c0062a3c
[40536.005681] [<c02a0b00>] (kobj_attr_store) from [<c016a190>] (sysfs_kf_write+0x48/0x4c)
[40536.005697] r5:d73059c0 r4:c02a0b00
[40536.005727] [<c016a148>] (sysfs_kf_write) from [<c016993c>] (kernfs_fop_write+0xc8/0x1d4)
[40536.005745] r5:d73059c0 r4:d7305180
[40536.005777] [<c0169874>] (kernfs_fop_write) from [<c0100c14>] (__vfs_write+0x34/0xe4)
[40536.005813] r10:00000000 r9:c8346000 r8:c000fc04 r7:c8347f80 r6:00000003 r5:c0169874
[40536.005824] r4:d72e7f00
[40536.005849] [<c0100be0>] (__vfs_write) from [<c01014bc>] (vfs_write+0x98/0x174)
[40536.005881] r9:c8346000 r8:c000fc04 r7:c8347f80 r6:be9d0ef7 r5:00000003 r4:d72e7f00
[40536.005908] [<c0101424>] (vfs_write) from [<c0101d2c>] (SyS_write+0x4c/0xa8)
[40536.005938] r8:c000fc04 r7:00000003 r6:be9d0ef7 r5:d72e7f00 r4:d72e7f00
[40536.005972] [<c0101ce0>] (SyS_write) from [<c000fa40>] (ret_fast_syscall+0x0/0x3c)
[40536.006001] r7:00000004 r6:be9d0ef7 r5:00000003 r4:000b69f0
[40536.006011] —[ end trace a0ebb6fa1bf2baba ]—
[40536.008577] PM: noirq resume of devices complete after 5.919 msecs
[40536.012597] PM: early resume of devices complete after 3.527 msecs
[40536.084040] [xair] [01-24@10:37:53] pm_4g_resume+
[40536.084076] [xair] [01-24@10:37:53] pm_gpio_resume+
[40536.190721] PM: resume of devices complete after 178.081 msecs
[40536.635339] Restarting tasks … done.
rtcwake: short write

然后我再休眠,就系统挂掉了。

wakeup from "mem" at Tue Jan 24 10:38:14 2017
[40536.757975] PM: Syncing filesystems … done.
[40536.763661] Freezing user space processes … (elapsed 0.001 seconds) done.
[40536.772311] Freezing remaining freezable tasks … (elapsed 0.001 seconds) done.
[40536.781351] Suspending console(s) (use no_console_suspend to debug)

我们这款产品定位是要稳定和功耗低的,所以才选了RTC+DDR Mode 这种模式,请帮忙看下是什么问题,谢谢!

luo luo3:

希望有人可以探讨一下,谢谢!

luo luo3:

回复 luo luo3:

有人吗?

Steven Liu1:

回复 luo luo3:

这个时候UART1还有数据交互吗?我觉得有个最简单的办法来辨识该问题的影响,先把你当前的UART1模块disable掉,然后再做这个压力测试,看看还会不会挂,如果不会挂,可以侧面说明确实是因为UART1的影响,导致了panic,如果仍然会挂,建议先从DDR的配置查起。

luo luo3:

回复 Steven Liu1:

我想问下,怎么看出来是跟UART1有关的,谢谢!

Steven Liu1:

回复 luo luo3:

不好意思,笔误,是mmc1

Jian Zhou:

回复 Steven Liu1:

感觉和板级的电源管理有关系,你查查整个板子的供电部分。

赞(0)
未经允许不得转载:TI中文支持网 » AM437X RTC+DDR Mode
分享到: 更多 (0)