天天看點

Mstar 平台(648)喚醒之序列槽喚醒

序列槽喚醒功能主要是從supernova 待機進入PM後,序列槽接收PC端口發送過來的特定字串,然後将主機闆喚醒的功能。與IR,KEYPAD,WOL,CEC,MHL 等等基本流程一緻,觸發源不一樣而已。

待機前設定待機參數

bPmWakeEnableUART1 設定為FALSE,開啟該口的喚醒功能,然後EnterSleepMode裡面設定到PM裡面

PM 開啟相關參數

開啟PM_WK_UART_EN

開啟序列槽,設定序列槽波特率

開啟UART0 口,并設定序列槽波特率為19200(平台目前不支援115200)

設定UART口的寄存器CLK

vendor\mstar\pm\zenonia\Project\Source\customer.c

Cus_Sys_ChangeUartForPllClk 裡面設定序列槽clk,配置好S1CON,PCON 否則後面無法擷取到喚醒的字串。

設定喚醒字串

vendor\mstar\pm\zenonia\Project\Mstar\Source\CusProj_Inf.h

UART_WAKEUP_COMMAND 設定喚醒字串。

循環監聽

CusProj_InfUart1Polling 中通過S1BUF不停讀取字串,與喚醒字串比對後,就開是喚醒

喚醒

通過PM_WKUP_UART 事件喚醒。