コード例 #1
0
void target_display_init(const char *panel_name)
{
	uint32_t hw_id = board_hardware_id();
	uint32_t panel_loop = 0;
	uint32_t ret = 0;

	if (target_hw_interposer())
		return;

	panel_name += strspn(panel_name, " ");

	if ((!strcmp(panel_name, NO_PANEL_CONFIG))
			|| (!strcmp(panel_name, SIM_VIDEO_PANEL))
			|| (!strcmp(panel_name, SIM_DUALDSI_VIDEO_PANEL))) {
		dprintf(INFO, "Selected panel: %s\nSkip panel configuration",
								panel_name);
		return;
	} else if (!strcmp(panel_name, HDMI_PANEL_NAME)) {
		dprintf(INFO, "%s: HDMI is primary\n", __func__);
		return;
	}
	switch (hw_id) {
	case HW_PLATFORM_LIQUID:
		edp_panel_init(&(panel.panel_info));
		panel.clk_func = msm8974_mdss_edp_panel_clock;
		panel.power_func = msm8974_edp_panel_power;
		panel.fb.base = (void *)EDP_FB_ADDR;
		panel.fb.format = FB_FORMAT_RGB888;
		panel.mdp_rev = MDP_REV_50;

		if (msm_display_init(&panel)) {
			dprintf(CRITICAL, "edp init failed!\n");
			return;
		}

		edp_enable = 1;
		break;
	default:
		do {
			ret = gcdb_display_init(panel_name, MDP_REV_50,
				MIPI_FB_ADDR);
			if (!ret || ret == ERR_NOT_SUPPORTED) {
				break;
			} else {
				target_force_cont_splash_disable(true);
				msm_display_off();
				target_force_cont_splash_disable(false);
			}
		} while (++panel_loop <= oem_panel_max_auto_detect_panels());
		break;
	}
}
コード例 #2
0
ファイル: target_display.c プロジェクト: M1cha/lktris
void target_edp_panel_init(struct msm_panel_info *pinfo)
{
	edp_panel_init(pinfo);
}