static void init_lcd_te_control(void) { const LCM_DBI_PARAMS *dbi = &(lcm_params->dbi); LCD_CHECK_RET(LCD_TE_Enable(FALSE)); if(!DISP_IsLcmFound()) return; #ifdef BUILD_UBOOT { extern BOOTMODE g_boot_mode; printf("boot_mode = %d\n",g_boot_mode); if(g_boot_mode == META_BOOT) return; } #endif if (LCM_DBI_TE_MODE_DISABLED == dbi->te_mode) { LCD_CHECK_RET(LCD_TE_Enable(FALSE)); return; } if (LCM_DBI_TE_MODE_VSYNC_ONLY == dbi->te_mode) { LCD_CHECK_RET(LCD_TE_SetMode(LCD_TE_MODE_VSYNC_ONLY)); } else if (LCM_DBI_TE_MODE_VSYNC_OR_HSYNC == dbi->te_mode) { LCD_CHECK_RET(LCD_TE_SetMode(LCD_TE_MODE_VSYNC_OR_HSYNC)); LCD_CHECK_RET(LCD_TE_ConfigVHSyncMode(dbi->te_hs_delay_cnt, dbi->te_vs_width_cnt, (LCD_TE_VS_WIDTH_CNT_DIV)dbi->te_vs_width_cnt_div)); } else ASSERT(0); LCD_CHECK_RET(LCD_TE_SetEdgePolarity(dbi->te_edge_polarity)); LCD_CHECK_RET(LCD_TE_Enable(TRUE)); }
static void init_lcd_te_control(void) { const LCM_DBI_PARAMS *dbi = &(lcm_params->dbi); /* The board may not connect to LCM in META test mode, force disalbe TE to avoid blocked in LCD controller */ /* but for uboot, the boot mode selection is done after lcd init, so we have to disable te always in uboot. */ LCD_CHECK_RET(LCD_TE_Enable(FALSE)); if (!DISP_IsLcmFound()) return; if (LCM_DBI_TE_MODE_DISABLED == dbi->te_mode) { LCD_CHECK_RET(LCD_TE_Enable(FALSE)); return; } if (LCM_DBI_TE_MODE_VSYNC_ONLY == dbi->te_mode) { LCD_CHECK_RET(LCD_TE_SetMode(LCD_TE_MODE_VSYNC_ONLY)); } else if (LCM_DBI_TE_MODE_VSYNC_OR_HSYNC == dbi->te_mode) { LCD_CHECK_RET(LCD_TE_SetMode(LCD_TE_MODE_VSYNC_OR_HSYNC)); LCD_CHECK_RET(LCD_TE_ConfigVHSyncMode(dbi->te_hs_delay_cnt, dbi->te_vs_width_cnt, (LCD_TE_VS_WIDTH_CNT_DIV) dbi->te_vs_width_cnt_div)); } else ASSERT(0); LCD_CHECK_RET(LCD_TE_SetEdgePolarity(dbi->te_edge_polarity)); LCD_CHECK_RET(LCD_TE_Enable(TRUE)); }
static void init_lcd_te_control(void) { const LCM_DBI_PARAMS *dbi = &(lcm_params->dbi); LCD_CHECK_RET(LCD_TE_Enable(FALSE)); if (LCM_DBI_TE_MODE_DISABLED == dbi->te_mode) { LCD_CHECK_RET(LCD_TE_Enable(FALSE)); return; } if (LCM_DBI_TE_MODE_VSYNC_ONLY == dbi->te_mode) { LCD_CHECK_RET(LCD_TE_SetMode(LCD_TE_MODE_VSYNC_ONLY)); } else if (LCM_DBI_TE_MODE_VSYNC_OR_HSYNC == dbi->te_mode) { LCD_CHECK_RET(LCD_TE_SetMode(LCD_TE_MODE_VSYNC_OR_HSYNC)); LCD_CHECK_RET(LCD_TE_ConfigVHSyncMode(dbi->te_hs_delay_cnt, dbi->te_vs_width_cnt, (LCD_TE_VS_WIDTH_CNT_DIV)dbi->te_vs_width_cnt_div)); } else ASSERT(0); LCD_CHECK_RET(LCD_TE_SetEdgePolarity(dbi->te_edge_polarity)); LCD_CHECK_RET(LCD_TE_Enable(TRUE)); }