根据 NUC970 TRM 第 80页描述, SYS_WKUPSER (SYS_BA+0x058) 描述,系统唤醒源支持如下几种来源:
[31] USBH
[30] USBD
[28] WDT
[26] ADC
[24] RTC
[23] ETIMER3
[22] ETIMER2
[21] ETIMER1
[20] ETIMER0
[19] CAN1
[18] CAN0
[17] EMAC1
[16] EMAC0
[15] LVD
[13] UART10
[12] UART8
[11] UART6
[10] UART4
[9] UART2
[8] UART1
[7] EINT7
[6] EINT6
[5] EINT5
[4] EINT4
[3] EINT3
[2] EINT2
[1] EINT1
[0] EINT0
如果你的按键是通过 ADC 控制的,就支持 ADC源 唤醒,
你可以参考 drivers/input/nuvoton/nuc970adc.c 源码,通过如下代码控制寄存器 REG_WKUPSER 来唤醒
adc_key_resume()
{
...
__raw_writel(__raw_readl(REG_WKUPSER) & ~(1<<26), REG_WKUPSER);
disable_irq_wake(IRQ_ADC);
...
}
|