I’m trying to reduce power consumption in sleep mode. I’ve observed the following: when I check the logs as the device enters sleep mode, I consistently encounter this issue. Moreover, the number of failures keeps increasing. Is this normal?
[ 412.171539] sierra_rtc_wake
[ 412.171548] sierra_rtc_wake: sierra_rtc_wake
[ 412.174007] PM: early resume of devices complete after 1.873 msecs
[ 412.191776] wm8944 4-001a: Unable to sync registers 0x6-0x6. -107
[ 412.191804] wm8944 4-001a: Failed to restore register map: -107
[ 412.191846] dpm_run_callback(): i2c_device_pm_resume+0x0/0x28 returns -107
[ 412.191873] PM: Device 4-001a failed to resume: error -107
[ 412.278377] PM: resume of devices complete after 104.258 msecs
[ 412.318387] PM: Finishing wakeup.
[ 412.318413] Restarting tasks ... done.
[ 412.337507] sierra_pm_resume
[ 412.338018] PM: suspend exit 2023-12-20 16:28:26.498003379 UTC
[ 412.338121] PM: suspend entry 2023-12-20 16:28:26.498119467 UTC
[ 412.338147] PM: Syncing filesystems ... done.
[ 412.359032] PM: Preparing system for mem sleep
[ 412.361384] Freezing user space processes ... (elapsed 0.008 seconds) done.
[ 412.370154] Freezing remaining freezable tasks ... (elapsed 0.003 seconds) done.
[ 412.373736] PM: Entering mem sleep
[ 412.373770] Suspending console(s) (use no_console_suspend to debug)
[ 412.393526] wm8944 4-001a: Unable to sync registers 0x2-0x2. -107
[ 412.402499] wm8944_suspend - START
[ 412.403911] wm8944_suspend - OK
[ 412.414148] PM: suspend of devices complete after 38.690 msecs
[ 412.416704] PM: late suspend of devices complete after 2.512 msecs
[ 412.420694] PM: noirq suspend of devices complete after 3.944 msecs
[ 412.420775] suspend ns: 412420758180 suspend cycles: 104044837534
[ 412.420758] CPU0:msm_cpu_pm_enter_sleep mode:3 during suspend
[ 412.420758] resume cycles: 104193602563
[ 412.423045] PM: noirq resume of devices complete after 1.715 msecs
[ 412.423652] sierra_rtc_wake
It consumes 15mA current in suspend mode. I’m not sure how much I can reduce it. I don’t think it’s related to my application. I have removed everything related to audio and checked, but still encountered the same error. I also think it’s related to the audio error topic I created earlier. (The audio file does not play after suspend mode. Audio pcm error) I don’t know how to resolve this audio codec error. I’m unsure whether this error is related to the driver or something else.
I am using the Mangoh Yellow board. I have tested it on several devices, and the result is the same. To allow it to enter sleep mode, I use system(“echo mem > /sys/power/autosleep”);
legato.version: 19.11.6
Legato Ver: 19.11.6_b956fb2cc8e7684dc88bd661446038dd_modified
Yocto Ver: SWI9X07Y_02.37.10.02 2023-09-12_11:11:57
OS Ver: Linux version 3.18.140 (oe-user@oe-host) (gcc version 7.3.0 (GCC) ) #1 PREEMPT Tue Sep 12 11:10:13 UTC 2023
LK Ver: SWI9X07Y_02.37.07.00
RootFS Ver: SWI9X07Y_02.37.10.02 2023-09-12_11:11:57
UserFS Ver: unknown
MCU Ver: 002.015
I am using the default R16.3 FW with WP7608, no problem is found on mangoh green board:
Poky (Yocto Project Reference Distro) 2.5.3 fx30 /dev/ttyHSL1
fx30 login: root
root@fx30:~# cat /sys/power/autosleep
mem
root@fx30:~# cm info
Device: WP7608
IMEI: 352913090512345
IMEISV: 12
FSN: XG207430712345
Firmware Version: SWI9X07Y_02.37.06.05 b15b59 jenkins 2022/09/27 07:54:33
Bootloader Version: SWI9X07Y_02.37.06.05 b15b59 jenkins 2022/09/27 07:54:33
MCU Version: 002.015
PRI Part Number (PN): 9908665
PRI Revision: 001.004
Carrier PRI Name: GENERIC
Carrier PRI Revision: 002.121_002
SKU: 1104194
Last Reset Cause: Power Down
Resets Count: Expected: 530 Unexpected: 0
root@fx30:~# legato version
19.11.6_225ac9b7882467c5c7f9e0bf4cdb5523_modified
root@fx30:~# [ 68.267718] Freezing of tasks aborted after 0.006 seconds
[ 68.345938] Freezing of tasks aborted after 0.005 seconds
[ 71.630932] PM: Some devices failed to suspend, or early wake event detected
Thank you so much for your response. Can you try this command:
cat /sys/kernel/debug/suspend_stats
This file indicates the number of times the board has been suspended successfully, the
number of times that suspend has failed and for what reason it failed
I noticed that this error occurs when I disable 3v3, and the problem is resolved when I enable it. However, I need to disable power to reduce power consumption. I added a delay before the disable, but the issue persists. What else can I do before disabling 3v3?
Is it possible to disable the audio codec? It would be a solution for me if I could activate it only when I want to play a file. Audio is not something I use constantly.