void set_lcd_info(struct rk29fb_screen *screen, struct rk29lcd_info *lcd_info ) { #if defined(RK_USE_SCREEN_ID) set_lcd_info_by_id(screen,lcd_info); #else screen->type = SCREEN_TYPE; screen->face = OUT_FACE; screen->lvds_format = LVDS_FORMAT; //lvds data format screen->x_res = H_VD; //screen resolution screen->y_res = V_VD; screen->width = LCD_WIDTH; screen->height = LCD_HEIGHT; screen->lcdc_aclk = LCDC_ACLK; // Timing screen->pixclock = DCLK; screen->left_margin = H_BP; screen->right_margin = H_FP; screen->hsync_len = H_PW; screen->upper_margin = V_BP; screen->lower_margin = V_FP; screen->vsync_len = V_PW; screen->pin_hsync = HSYNC_POL; //Pin polarity screen->pin_vsync = VSYNC_POL; screen->pin_den = DEN_POL; screen->pin_dclk = DCLK_POL; screen->swap_rb = SWAP_RB; // Swap rule screen->swap_rg = SWAP_RG; screen->swap_gb = SWAP_GB; screen->swap_delta = 0; screen->swap_dumy = 0; #if defined(CONFIG_MIPI_DSI) /* MIPI DSI */ #if defined(MIPI_DSI_LANE) screen->dsi_lane = MIPI_DSI_LANE; #else screen->dsi_lane = 4; #endif //screen->dsi_video_mode = MIPI_DSI_VIDEO_MODE; #if defined(MIPI_DSI_HS_CLK) screen->hs_tx_clk = MIPI_DSI_HS_CLK; #else screen->hs_tx_clk = 1000000000; //1GHz #endif #endif ///printk("xmlq==%s:RK_SCREEN_INIT=%d \n", __func__, RK_SCREEN_INIT);//xmlq /* Operation function*/ #if defined(RK_SCREEN_INIT) //some screen need to init by spi or i2c screen->init = rk_lcd_init; screen->standby = rk_lcd_standby; if(lcd_info) gLcd_info = lcd_info; #endif #if defined(USE_RK_DSP_LUT) screen->dsp_lut = dsp_lut; #endif #if defined(CONFIG_ONE_LCDC_DUAL_OUTPUT_INF) screen->sscreen_get = set_scaler_info; #endif //[A]For d7014 lcd_ql_ap070pan01_mipi with bridge[ql_vx5a3b],ArthurLin,20130726 #if defined(CONFIG_MIPI_DSI) && defined(CONFIG_QLVX5A3B_RGB2MIPI) dsi_probe_current_chip(); #endif #endif }
void set_lcd_info(struct rk29fb_screen *screen, struct rk29lcd_info *lcd_info ) { #if defined(RK_USE_SCREEN_ID) set_lcd_info_by_id(screen,lcd_info); #else #if defined(CONFIG_MACH_RK_FAC) screen->type = lcd_param[OUT_TYPE_INDEX]; screen->face = lcd_param[OUT_FACE_INDEX]; screen->lvds_format = lcd_param[LVDS_FORMAT_INDEX]; //lvds data format screen->x_res = lcd_param[H_VD_INDEX]; screen->y_res = lcd_param[V_VD_INDEX]; screen->width = lcd_param[LCD_WIDTH_INDEX]; screen->height = lcd_param[LCD_HEIGHT_INDEX]; screen->lcdc_aclk = lcd_param[LCDC_ACLK_INDEX]; screen->pixclock = lcd_param[OUT_CLK_INDEX]; screen->left_margin = lcd_param[H_BP_INDEX]; screen->right_margin = lcd_param[H_FP_INDEX]; screen->hsync_len = lcd_param[H_PW_INDEX]; screen->upper_margin = lcd_param[V_BP_INDEX]; screen->lower_margin = lcd_param[V_FP_INDEX]; screen->vsync_len = lcd_param[V_PW_INDEX]; screen->pin_hsync = HSYNC_POL; //Pin polarity screen->pin_vsync = VSYNC_POL; screen->pin_den = DEN_POL; screen->pin_dclk = lcd_param[DCLK_POL_INDEX]; screen->swap_rb = lcd_param[SWAP_RB_INDEX]; screen->swap_rg = SWAP_RG; screen->swap_gb = SWAP_GB; screen->swap_delta = 0; screen->swap_dumy = 0; #else screen->type = SCREEN_TYPE; screen->face = OUT_FACE; screen->lvds_format = LVDS_FORMAT; //lvds data format screen->x_res = H_VD; //screen resolution screen->y_res = V_VD; screen->width = LCD_WIDTH; screen->height = LCD_HEIGHT; screen->lcdc_aclk = LCDC_ACLK; // Timing screen->pixclock = DCLK; screen->left_margin = H_BP; screen->right_margin = H_FP; screen->hsync_len = H_PW; screen->upper_margin = V_BP; screen->lower_margin = V_FP; screen->vsync_len = V_PW; screen->pin_hsync = HSYNC_POL; //Pin polarity screen->pin_vsync = VSYNC_POL; screen->pin_den = DEN_POL; screen->pin_dclk = DCLK_POL; screen->swap_rb = SWAP_RB; // Swap rule screen->swap_rg = SWAP_RG; screen->swap_gb = SWAP_GB; screen->swap_delta = 0; screen->swap_dumy = 0; #endif #if defined(CONFIG_MIPI_DSI) /* MIPI DSI */ #if defined(MIPI_DSI_LANE) screen->dsi_lane = MIPI_DSI_LANE; #else screen->dsi_lane = 4; #endif //screen->dsi_video_mode = MIPI_DSI_VIDEO_MODE; #if defined(MIPI_DSI_HS_CLK) screen->hs_tx_clk = MIPI_DSI_HS_CLK; #else screen->hs_tx_clk = 1000000000; //1GHz #endif #endif /* Operation function*/ #if defined(RK_SCREEN_INIT) //some screen need to init by spi or i2c screen->init = rk_lcd_init; screen->standby = rk_lcd_standby; if(lcd_info) gLcd_info = lcd_info; #endif #if defined(USE_RK_DSP_LUT) screen->dsp_lut = dsp_lut; #endif #if defined(CONFIG_ONE_LCDC_DUAL_OUTPUT_INF) screen->sscreen_get = set_scaler_info; #endif #endif }