static s32 ep952_set_mode(disp_tv_mode hdmi_mode) { if(ep952_get_mode_support(hdmi_mode)) { g_hdmi_mode = hdmi_mode; g_hdmi_vic = mode2vic(hdmi_mode); if(g_ep952_enabled) { EP_HDMI_Set_Video_Timing(g_hdmi_vic); } } return 0; }
static s32 ep952_open(void) { printk("%s:%d\n", __func__, __LINE__); ep952_thread_disable(); ep952_hdmi_power_on(1); hdmi_pin_config(1); msleep(100); if(hdmi_source_ops.tcon_enable) hdmi_source_ops.tcon_enable(ep952_device); msleep(100); //EP_HDMI_Init(); EP_HDMI_Set_Video_Timing(g_hdmi_vic); // 720p50hz EP_HDMI_Set_Audio_Fmt(AUD_I2S, AUD_SF_48000Hz); // IIS input , 48KHz g_ep952_enabled = 1; ep952_thread_enable(); return 0; }
void hdmi_main (LCD_TIMING timing) { unsigned int i=0; ////////////////////////////////////////////////////// // // initial EP932 variable and customer's GPIO + I2C (if need). // ///////////////////////////////////////////////////// EP_HDMI_Init(); ///////////////////////////////////////////////////// // // set video interface and timing, timing need modify to fit with customer's require // ///////////////////////////////////////////////////// EP_HDMI_Set_Video_Timing(timing); EP_HDMI_Set_Video_Output(Video_OUT_YUV_444); //////////////////////////////////////////////////// // // set audio interface // /////////////////////////////////////////////////// EP_HDMI_SetAudFmt(AUD_I2S, AUD_SF_44100Hz); ////////////////////////////////////////////////////////////////// // // need to run EP932Controller_Task and EP932Controller_Timer every 10ms // ///////////////////////////////////////////////////////////////// while(1) { i++; if(i>200) break; EP932Controller_Task(); EP932Controller_Timer(); } }