static int rk610_hdmi_init(struct hdmi *hdmi)
{
	struct rk610_hdmi_inf *rk610_hdmi = hdmi_priv(hdmi);
#ifdef CONFIG_HDMI_SAVE_DATA
    int hdmi_data = hdmi_get_data();
    if(hdmi_data<0){
    hdmi_set_data((hdmi->resolution&0x7)|((hdmi->scale&0x1f)<<3));
    }
    else{
    hdmi->resolution = hdmi_data&0x7;
    hdmi->scale_set= ((hdmi_data>>3)&0x1f) + MIN_SCALE;
    hdmi->scale = hdmi->scale_set;
    }
#endif  
	RK610_DBG(&rk610_hdmi->client->dev,"%s \n",__FUNCTION__);
	rk610_hdmi->init =0;
	Rk610_hdmi_init(rk610_hdmi->client);
    hdmi_changed(hdmi,1);
	Rk610_hdmi_Set_Video(hdmi->resolution);
	Rk610_hdmi_Set_Audio(hdmi->audio_fs);
    Rk610_hdmi_Config_Done(rk610_hdmi->client);
	return 0;
}