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;
}
Beispiel #3
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();
	}
}