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 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();

}
/* can be called multiple times */
static struct tegra_panel *ardbeg_panel_configure(struct board_info *board_out,
	u8 *dsi_instance_out)
{
	struct tegra_panel *panel = NULL;
	u8 dsi_instance = DSI_INSTANCE_0;
	struct board_info boardtmp;

	if (!board_out)
		board_out = &boardtmp;
	tegra_get_display_board_info(board_out);

	switch (board_out->board_id) {
	case BOARD_E1639:
	case BOARD_E1813:
		panel = &dsi_s_wqxga_10_1;
		break;
	case BOARD_PM354:
		panel = &dsi_a_1080p_14_0;
		break;
	case BOARD_E1627:
		panel = &dsi_p_wuxga_10_1;
		tegra_io_dpd_enable(&dsic_io);
		tegra_io_dpd_enable(&dsid_io);
		break;
	case BOARD_E1549:
		panel = &dsi_lgd_wxga_7_0;
		break;
	case BOARD_E1937:
		switch (board_out->sku) {
		case 1100:
			panel = &dsi_a_1200_800_8_0;
			dsi_instance = DSI_INSTANCE_0;
			break;
		default:
			panel = &dsi_a_1200_1920_8_0;
			dsi_instance = DSI_INSTANCE_0;
			break;
		}
		break;
	case BOARD_PM363:
	case BOARD_E1824:
		switch (board_out->sku) {
		case 1200:
			panel = &edp_i_1080p_11_6;
			ardbeg_disp1_out.type = TEGRA_DC_OUT_NVSR_DP;
			break;
		default:
			panel = &edp_a_1080p_14_0;
			ardbeg_disp1_out.type = TEGRA_DC_OUT_DP;
			break;
		}

		ardbeg_disp1_out.dp_out = &dp_settings;
		ardbeg_disp1_device.resource = ardbeg_disp1_edp_resources;
		ardbeg_disp1_device.num_resources =
			ARRAY_SIZE(ardbeg_disp1_edp_resources);
		break;
	case BOARD_PM366:
		panel = &lvds_c_1366_14;
		ardbeg_disp1_out.type = TEGRA_DC_OUT_LVDS;
		ardbeg_disp1_device.resource = ardbeg_disp1_edp_resources;
		ardbeg_disp1_device.num_resources =
			ARRAY_SIZE(ardbeg_disp1_edp_resources);
		break;
	case BOARD_E1807:
		panel = &dsi_a_1200_800_8_0;
		dsi_instance = DSI_INSTANCE_0;
		tegra_io_dpd_enable(&dsic_io);
		tegra_io_dpd_enable(&dsid_io);
		break;
	case BOARD_P1761:
		if (tegra_get_board_panel_id())
			panel = &dsi_a_1200_1920_8_0;
		else
			panel = &dsi_a_1200_800_8_0;
		dsi_instance = DSI_INSTANCE_0;
		tegra_io_dpd_enable(&dsic_io);
		tegra_io_dpd_enable(&dsid_io);
		break;
	default:
		panel = &dsi_p_wuxga_10_1;
		tegra_io_dpd_enable(&dsic_io);
		tegra_io_dpd_enable(&dsid_io);
		break;
	}
	if (dsi_instance_out)
		*dsi_instance_out = dsi_instance;
	return panel;
}