static void pluto_panel_select(void) { struct tegra_panel *panel; struct board_info board; u8 dsi_instance = 0; tegra_get_display_board_info(&board); switch (board.board_id) { case BOARD_E1605: panel = &dsi_j_720p_4_7; dsi_instance = DSI_INSTANCE_1; break; case BOARD_E1577: panel = &dsi_s_1080p_5; break; case BOARD_E1582: default: if (tegra_get_board_panel_id()) { panel = &dsi_s_1080p_5; dsi_instance = DSI_INSTANCE_1; } else { panel = &dsi_l_720p_5; dsi_instance = DSI_INSTANCE_0; } break; } if (panel->init_sd_settings) panel->init_sd_settings(&sd_settings); if (panel->init_dc_out) { panel->init_dc_out(&pluto_disp1_out); pluto_disp1_out.dsi->dsi_instance = dsi_instance; pluto_disp1_out.dsi->dsi_panel_rst_gpio = DSI_PANEL_RST_GPIO; pluto_disp1_out.dsi->dsi_panel_bl_en_gpio = DSI_PANEL_BL_EN_GPIO; pluto_disp1_out.dsi->dsi_panel_bl_pwm_gpio = DSI_PANEL_BL_PWM_GPIO; /* update the init cmd if dependent on reset GPIO */ tegra_dsi_update_init_cmd_gpio_rst(&pluto_disp1_out); } if (panel->init_fb_data) panel->init_fb_data(&pluto_disp1_fb_data); if (panel->init_cmu_data) panel->init_cmu_data(&pluto_disp1_pdata); if (panel->set_disp_device) panel->set_disp_device(&pluto_disp1_device); tegra_dsi_resources_init(dsi_instance, pluto_disp1_resources, ARRAY_SIZE(pluto_disp1_resources)); if (panel->register_bl_dev) panel->register_bl_dev(); }
static void ceres_panel_select(void) { struct tegra_panel *panel; u8 dsi_instance = 0; //Ivan //panel = &dsi_otm1283a_720p; if (tegra_get_board_panel_id()==11) { //LIUJ201140504RELE1315ADDO adc select lcd panel = &dsi_hx8394a_720p; panel_name = "Tcl_hx8394_HD_video_24bit\n"; } else if (tegra_get_board_panel_id()==1) { panel = &dsi_s_1080p_5; panel_name = "Sharp_s_1080p_HD_video_24bit\n"; } else { panel = &dsi_otm1283a_720p; panel_name = "Truly_otm1283a_HD_video_24bit\n"; } dsi_instance = DSI_INSTANCE_0; if (panel->init_sd_settings) panel->init_sd_settings(&sd_settings); if (panel->init_dc_out) { panel->init_dc_out(&ceres_disp1_out); ceres_disp1_out.dsi->dsi_instance = dsi_instance; ceres_disp1_out.dsi->dsi_panel_rst_gpio = DSI_PANEL_RST_GPIO; ceres_disp1_out.dsi->dsi_panel_bl_en_gpio = DSI_PANEL_BL_EN_GPIO; ceres_disp1_out.dsi->dsi_panel_bl_pwm_gpio = NULL; // DSI_PANEL_BL_PWM_GPIO; ceres_disp1_out.dsi->te_gpio = TE_GPIO; /* update the init cmd if dependent on reset GPIO */ tegra_dsi_update_init_cmd_gpio_rst(&ceres_disp1_out); } if (panel->init_fb_data) panel->init_fb_data(&ceres_disp1_fb_data); if (panel->init_cmu_data) panel->init_cmu_data(&ceres_disp1_pdata); if (panel->set_disp_device) panel->set_disp_device(&ceres_disp1_device); tegra_dsi_resources_init(dsi_instance, ceres_disp1_resources, ARRAY_SIZE(ceres_disp1_resources)); if (panel->register_bl_dev) panel->register_bl_dev(); }
static void loki_panel_select(void) { struct tegra_panel *panel; struct board_info board; u8 dsi_instance = DSI_INSTANCE_0; tegra_get_display_board_info(&board); switch (board.fab) { case 0x2: panel = &dsi_j_720p_5; break; case 0x1: panel = &dsi_j_1440_810_5_8; break; case 0x0: default: panel = &dsi_l_720p_5_loki; break; } tegra_io_dpd_enable(&dsic_io); tegra_io_dpd_enable(&dsid_io); if (panel) { if (panel->init_sd_settings) panel->init_sd_settings(&sd_settings); if (panel->init_dc_out) { panel->init_dc_out(&loki_disp1_out); loki_disp1_out.dsi->dsi_instance = dsi_instance; loki_disp1_out.dsi->dsi_panel_rst_gpio = DSI_PANEL_RST_GPIO; loki_disp1_out.dsi->dsi_panel_bl_pwm_gpio = DSI_PANEL_BL_PWM_GPIO; tegra_dsi_update_init_cmd_gpio_rst(&loki_disp1_out); } if (panel->init_fb_data) panel->init_fb_data(&loki_disp1_fb_data); if (panel->init_cmu_data) panel->init_cmu_data(&loki_disp1_pdata); if (panel->set_disp_device) panel->set_disp_device(&loki_disp1_device); if (panel->register_bl_dev) panel->register_bl_dev(); } }