SuperIC社区_

标题: v56怎么配置HDMI输入有信号唤醒休眠 [打印本页]

作者: ivan.wan    时间: 2019-10-23 16:06
标题: v56怎么配置HDMI输入有信号唤醒休眠
请问想要HDMI输入有信号唤醒休眠应该实现,大家有做过吗

作者: ivan.wan    时间: 2019-10-23 16:31
已经摸索出来了,如果是要HDMI2唤醒,那在sboot里面就不能配置PM_WAKEUP_BY_DVI作为唤醒事件,因为在判断里面有个互斥判断,如下
  1. void MDrv_DVI_ManualSwitchPort(void)
  2. {
  3.     //#define DELAY_TIME_MS   500 //>=500 :OK, <500:with risk of failure
  4.     if(wPM_WakeUpDevice & PM_WAKEUP_BY_DVI)
  5.     {
  6.         //switch to port 0
  7.         if( 25 == u8HDMIWakeUpDelayCount )
  8.         {
  9.             MDrv_WriteRegBit(REG_PM_GCR_SWCK, 0, BIT3);
  10.         }
  11.         if( u8HDMIWakeUpDelayCount > 0 )
  12.         {
  13.             u8HDMIWakeUpDelayCount--;
  14.             msDelayTime(20);
  15.         }
  16.         if(0 == u8HDMIWakeUpDelayCount )
  17.         {
  18.             u8HDMIWakeUpDelayCount = 25;
  19.             msDelayTime(20);
  20.             MDrv_WriteRegBit(REG_PM_GCR_SWCK, 1, BIT3);
  21.         }
  22.     }
  23.     else if(wPM_WakeUpDevice & PM_WAKEUP_BY_DVI1)
  24.     {
  25.         //switch to port 1
  26.         if( 25 == u8HDMIWakeUpDelayCount )
  27.         {
  28.             MDrv_WriteRegBit(REG_PM_GCR_SWCK, 0, BIT4);
  29.         }
  30.         if( u8HDMIWakeUpDelayCount > 0 )
  31.         {
  32.             u8HDMIWakeUpDelayCount--;
  33.             msDelayTime(20);
  34.         }
  35.         if( 0 == u8HDMIWakeUpDelayCount )
  36.         {
  37.             u8HDMIWakeUpDelayCount = 25;
  38.             msDelayTime(20);
  39.             MDrv_WriteRegBit(REG_PM_GCR_SWCK, 1, BIT4);
  40.         }
  41.     }
  42.     else if(wPM_WakeUpDevice & PM_WAKEUP_BY_DVI2)
  43.     {
  44.         ;
  45.     }
  46.     else if(wPM_WakeUpDevice & PM_WAKEUP_BY_DVI3)
  47.     {
  48.         //switch to port 2
  49.         if( 25 == u8HDMIWakeUpDelayCount )
  50.         {
  51.             MDrv_WriteRegBit(REG_PM_GCR_SWCK, 0, BIT5);
  52.         }
  53.         if( u8HDMIWakeUpDelayCount > 0 )
  54.         {
  55.             u8HDMIWakeUpDelayCount--;
  56.             msDelayTime(20);
  57.         }
  58.         if( 0 == u8HDMIWakeUpDelayCount )
  59.         {
  60.             u8HDMIWakeUpDelayCount = 25;
  61.             msDelayTime(20);
  62.             MDrv_WriteRegBit(REG_PM_GCR_SWCK, 1, BIT5);
  63.         }
  64.     }

  65. }
复制代码

不知道理解的对不对




欢迎光临 SuperIC社区_ (/) Powered by Discuz! X3.3