Skip to main content

休眠唤醒按键验证

1. 添加gpio按键

以x2000_darwin_factory_defconfig为例. 打开IConfigTool工具,选择配置文件

9

外设添加gpio按键,勾选休眠时按键可唤醒,这里添加的是WKUP_KEY,对应引脚PE31

1

Ctrl+S保存配置

10

重新编译配置

bhu@bhu-PC:~/work/build$ make x2000_darwin_factory_defconfig 

bhu@bhu-PC:~/work/build$ make

2. 验证休眠唤醒

开机系统起来后使用echo mem > /sys/power/state使系统休眠,休眠下去后按下WKUP_KEY,看系统是否唤醒(如果有增加外设驱动,休眠下去可能无法唤醒)

# echo mem > /sys/power/state

[ 1277.170582] PM: Syncing filesystems ... done.
[ 1277.282082] Freezing user space processes ... (elapsed 0.001 seconds) done.
[ 1277.283702] Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
[ 1277.285292] x2000 suspend begin!
[ 1277.285511] Suspending console(s) (use no_console_suspend to debug)
DWXR00000004
1t2345[ 1277.286424] <<-GTP-DEBUG->> [2626]Suspend by i2c pm.
[ 1277.286463] bcmsdh_sdmmc_suspend Enter
[ 1277.286471] bcmsdh_sdmmc_suspend Enter
[ 1277.286874] dwc2 13500000.otg_new: suspending usb gadget configfs-gadget
[ 1277.287050] PM: suspend of devices complete after 0.903 msecs
[ 1277.287383] PM: late suspend of devices complete after 0.324 msecs
[ 1277.287756] PM: noirq suspend of devices complete after 0.364 msecs
[ 1277.287760] Disabling non-boot CPUs ...
[ 1277.319963] SMP: CPU1 is offline
[ 1277.320095] SMP[1] is disabled
[ 1277.320249] x2000 pm enter!!
[ 1277.320249] soc pm sleep
[ 1277.320249] tcsm addr = b2400000 80013c80 size = 64
[ 1277.320249] tcsm addr = b2400040 80013cd0 size = 4096
[ 1277.320249] tcsm addr = b2401040 8001405c size = 3072
[ 1277.320249] LCR: ff001f01
[ 1277.320249] OPCR: 40f0150c
[ 1277.320249] gate0 = 0x47f817dd
[ 1277.320249] gate1 = 0x337eff5f
[ 1277.320249] warning : bit[1] in clk gate0 is enabled
[ 1277.320249] warning : bit[5] in clk gate0 is enabled
[ 1277.320249] warning : bit[11] in clk gate0 is enabled
[ 1277.320249] warning : bit[13] in clk gate0 is enabled
[ 1277.320249] warning : bit[14] in clk gate0 is enabled
[ 1277.320249] warning : bit[15] in clk gate0 is enabled
[ 1277.320249] warning : bit[16] in clk gate0 is enabled
[ 1277.320249] warning : bit[17] in clk gate0 is enabled
[ 1277.320249] warning : bit[18] in clk gate0 is enabled
[ 1277.320249] warning : bit[27] in clk gate0 is enabled
[ 1277.320249] warning : bit[28] in clk gate0 is enabled
[ 1277.320249] warning : bit[29] in clk gate0 is enabled
[ 1277.320249] warning : bit[31] in clk gate0 is enabled
[ 1277.320249] warning : bit[5] in clk gate1 is enabled
[ 1277.320249] warning : bit[7] in clk gate1 is enabled
[ 1277.320249] warning : bit[16] in clk gate1 is enabled
[ 1277.320249] warning : bit[23] in clk gate1 is enabled
[ 1277.320249] warning : bit[26] in clk gate1 is enabled
[ 1277.320249] warning : bit[27] in clk gate1 is enabled
[ 1277.320249] warning : bit[30] in clk gate1 is enabled
[ 1277.320249] warning : bit[31] in clk gate1 is enabled
[ 1277.320249] post wakeup!
[ 1277.320297] Enabling non-boot CPUs ...
[ 1277.320360] [SMP] Booting CPU1 ...
[ 1277.320375] Primary instruction cache 32kB, VIPT, 8-way, linesize 32 bytes.
[ 1277.320379] Primary data cache 32kB, 8-way, VIPT, no aliases, linesize 32 bytes
[ 1277.320382] =======found ...... ingenic sc cache ops ...!, found: 1
[ 1277.320382]
[ 1277.320386] Unified secondary cache 512kB 16-way, linesize 64 bytes.
[ 1277.320428] #### now starting init for cpu : 1
[ 1277.320434] percpu irq inited.
[ 1277.320436] percpu cpu_num:1 timerevent init
[ 1277.320448] clockevents_config_and_register success.
[ 1277.320453] CPU1 revision is: 00132000 (Ingenic XBurst@II.V1)
[ 1277.320455] FPU revision is: 00f32000
[ 1277.320457] MSA revision is: 00002000
[ 1277.320588] [SMP] slave cpu1 start up finished.
[ 1277.320596] CPU1 is up
[ 1277.320918] PM: noirq resume of devices complete after 0.312 msecs
[ 1277.321310] PM: early resume of devices complete after 0.263 msecs
[ 1277.321453] create CDT index: 0 ~ 22, index number:23.
[ 1277.328086] dwc2 13500000.otg_new: resuming usb gadget configfs-gadget
[ 1277.332183] bcmsdh_sdmmc_resume Enter
[ 1277.332186] bcmsdh_sdmmc_resume Enter
[ 1277.332190] sdio_reset_comm():
[ 1277.341935] mmc0: Error resetting SDIO communications (-145)
[ 1277.341974] <<-GTP-DEBUG->> [2638]Resume by i2c pm.
[ 1277.344145] PM: resume of devices complete after 22.825 msecs
[ 1277.364882] x2000 pm end!
[ 1277.365059] Restarting tasks ... done.

# [ 1277.704857] dwc2 13500000.otg_new: new address 8

[ 1277.726537] configfs-gadget gadget: high-speed config #1: c