static int mt8193_video_config(HDMI_VIDEO_RESOLUTION vformat, HDMI_VIDEO_INPUT_FORMAT vin, HDMI_VIDEO_OUTPUT_FORMAT vout) { MT8193_DRV_FUNC(); del_timer(&r_hdmi_timer); memset((void*)&r_hdmi_timer, 0, sizeof(r_hdmi_timer)); _stAvdAVInfo.e_resolution = vformat; vSetHDMITxPLLTrigger(); vResetHDMIPLL(); _stAvdAVInfo.fgHdmiTmdsEnable = 0; av_hdmiset(HDMI_SET_TURN_OFF_TMDS, &_stAvdAVInfo, 1); av_hdmiset(HDMI_SET_VPLL, &_stAvdAVInfo, 1); av_hdmiset(HDMI_SET_SOFT_NCTS, &_stAvdAVInfo, 1); av_hdmiset(HDMI_SET_VIDEO_RES_CHG, &_stAvdAVInfo, 1); av_hdmiset(HDMI_SET_HDCP_INITIAL_AUTH, &_stAvdAVInfo, 1); memset((void*)&r_hdmi_timer, 0, sizeof(r_hdmi_timer)); r_hdmi_timer.expires = jiffies + 1/(1000/HZ); // wait 1s to stable r_hdmi_timer.function = hdmi_poll_isr; r_hdmi_timer.data = 0; init_timer(&r_hdmi_timer); add_timer(&r_hdmi_timer); mt8193_hdmiinit = 1; return 0; }
static void mt8193_suspend(void) { MT8193_DRV_FUNC(); _stAvdAVInfo.fgHdmiTmdsEnable = 0; av_hdmiset(HDMI_SET_TURN_OFF_TMDS, &_stAvdAVInfo, 1); }
static int mt8193_video_config(enum HDMI_VIDEO_RESOLUTION vformat, enum HDMI_VIDEO_INPUT_FORMAT vin, enum HDMI_VIDEO_OUTPUT_FORMAT vout) { HDMI_DEF_LOG("[hdmi]mt8193_video_config:%d\n", vformat); _stAvdAVInfo.e_resolution = vformat; vSetHDMITxPLLTrigger(); vResetHDMIPLL(); _stAvdAVInfo.fgHdmiTmdsEnable = 0; av_hdmiset(HDMI_SET_TURN_OFF_TMDS, &_stAvdAVInfo, 1); av_hdmiset(HDMI_SET_VPLL, &_stAvdAVInfo, 1); av_hdmiset(HDMI_SET_SOFT_NCTS, &_stAvdAVInfo, 1); av_hdmiset(HDMI_SET_VIDEO_RES_CHG, &_stAvdAVInfo, 1); if (get_boot_mode() != FACTORY_BOOT) av_hdmiset(HDMI_SET_HDCP_INITIAL_AUTH, &_stAvdAVInfo, 1); mt8193_hdmiinit = 1; return 0; }
static int mt8193_audio_config(enum HDMI_AUDIO_FORMAT aformat, int bitWidth) { MT8193_DRV_FUNC(); if (aformat == HDMI_AUDIO_32K_2CH) { HDMI_DEF_LOG("[hdmi]HDMI_AUDIO_32K_2CH\n"); _stAvdAVInfo.e_hdmi_fs = HDMI_FS_32K; } else if (aformat == HDMI_AUDIO_44K_2CH) { HDMI_DEF_LOG("[hdmi]HDMI_AUDIO_44K_2CH\n"); _stAvdAVInfo.e_hdmi_fs = HDMI_FS_44K; } else if (aformat == HDMI_AUDIO_48K_2CH) { HDMI_DEF_LOG("[hdmi]HDMI_AUDIO_48K_2CH\n"); _stAvdAVInfo.e_hdmi_fs = HDMI_FS_48K; } else { HDMI_DEF_LOG("[hdmi]not support audio format, force to HDMI_AUDIO_44K_2CH\n"); _stAvdAVInfo.e_hdmi_fs = HDMI_FS_44K; } av_hdmiset(HDMI_SET_AUDIO_CHG_SETTING, &_stAvdAVInfo, 1); return 0; }
void mt8193_enablehdcp(unsigned char u1hdcponoff) { MT8193_DRV_FUNC(); _stAvdAVInfo.u1hdcponoff = u1hdcponoff; av_hdmiset(HDMI_SET_HDCP_OFF, &_stAvdAVInfo, 1); }