__s32 Hdmi_hal_init(void) { //hdmi_audio_t audio_para; hdmi_core_initial(); //#ifdef __UBOOT_PLAT__ #if 1 { __u32 loop_count; loop_count = 3; while((loop_count--) && (!Hpd_Check())) { hdmi_main_task_loop(); } } #endif //for audio test #if 0 audio_para.ch0_en = 1; audio_para.sample_rate = 44100; Hdmi_hal_set_audio_para(&audio_para); Hdmi_hal_audio_enable(0, 1); #endif return 0; }
__s32 Hdmi_hal_init(void) { //hdmi_audio_t audio_para; hdmi_core_initial(); audio_info.channel_num = 2; #ifdef __BOOT_OSAL__ { __u32 loop_count; loop_count = 3; while(loop_count--) { hdmi_main_task_loop(); } } #endif //for audio test #if 0 audio_para.ch0_en = 1; audio_para.sample_rate = 44100; Hdmi_hal_set_audio_para(&audio_para); Hdmi_hal_audio_enable(0, 1); #endif return 0; }
__s32 Hdmi_hal_resume(void) { hdmi_core_initial(); return 0; }
__s32 Hdmi_hal_init(void) { //hdmi_audio_t audio_para; hdmi_core_initial(); audio_info.channel_num = 2; //for audio test #if 0 audio_para.ch0_en = 1; audio_para.sample_rate = 44100; Hdmi_hal_set_audio_para(&audio_para); Hdmi_hal_audio_enable(0, 1); #endif return 0; }
__s32 Hdmi_hal_init(void) { //hdmi_audio_t audio_para; __disp_hdmi_func disp_func; //disp_func.hdmi_open = Hdmi_open; //disp_func.hdmi_close = Hdmi_close; disp_func.hdmi_set_mode = Hdmi_hal_set_display_mode; disp_func.hdmi_mode_support = Hdmi_hal_mode_support; disp_func.hdmi_get_HPD_status = Hdmi_hal_get_HPD; disp_func.hdmi_set_pll = Hdmi_hal_set_pll; disp_func.hdmi_get_input_csc = Hmdi_hal_get_input_csc; //BSP_disp_set_hdmi_func(&disp_func); hdmi_core_initial(); audio_info.channel_num = 2; #ifdef __BOOT_OSAL__ { __u32 loop_count; loop_count = 3; while(loop_count--) { hdmi_main_task_loop(); } } #endif //for audio test #if 0 audio_para.ch0_en = 1; audio_para.sample_rate = 44100; Hdmi_hal_set_audio_para(&audio_para); Hdmi_hal_audio_enable(0, 1); #endif return 0; }
__s32 Hdmi_init(struct platform_device *dev) { __audio_hdmi_func audio_func; __disp_hdmi_func disp_func; int err = 0; if (init_hdmi_obj()) { pr_warning("hdmi: init kobject failed\n"); return -1; } run_sem = kmalloc(sizeof(struct semaphore), GFP_KERNEL | __GFP_ZERO); sema_init((struct semaphore *)run_sem, 0); hdmi_base = (void __iomem *) ghdmi.base_hdmi; hdmi_core_initial(); err = hdmi_i2c_sunxi_probe(dev); if (err) return err; audio_info.channel_num = 2; #if 0 { /* for audio test */ hdmi_audio_t audio_para; audio_para.ch0_en = 1; audio_para.sample_rate = 44100; Hdmi_hal_set_audio_para(&audio_para); Hdmi_hal_audio_enable(0, 1); } #endif /* Run main task once, should give EDID information directly */ hdmi_main_task_loop(); HDMI_task = kthread_create(Hdmi_run_thread, (void *)0, "hdmi proc"); if (IS_ERR(HDMI_task)) { __s32 err = 0; __wrn("Unable to start kernel thread %s.\n", "hdmi proc"); err = PTR_ERR(HDMI_task); HDMI_task = NULL; return err; } /* Launch main task loop */ wake_up_process(HDMI_task); audio_func.hdmi_audio_enable = Hdmi_Audio_Enable; audio_func.hdmi_set_audio_para = Hdmi_Set_Audio_Para; #if defined CONFIG_SND_SUNXI_SOC_HDMIAUDIO || \ (defined CONFIG_SND_SUNXI_SOC_HDMIAUDIO_MODULE && \ defined CONFIG_FB_SUNXI_HDMI_MODULE) audio_set_hdmi_func(&audio_func); #endif disp_func.hdmi_wait_edid = hdmi_wait_edid; disp_func.Hdmi_open = Hdmi_open; disp_func.Hdmi_close = Hdmi_close; disp_func.hdmi_set_mode = Hdmi_set_display_mode; disp_func.hdmi_set_videomode = Hdmi_set_display_videomode; disp_func.hdmi_mode_support = Hdmi_mode_support; disp_func.hdmi_get_video_timing = hdmi_get_video_timing; disp_func.hdmi_get_HPD_status = Hdmi_get_HPD_status; disp_func.hdmi_set_pll = Hdmi_set_pll; disp_set_hdmi_func(&disp_func); return 0; }