target: msm8996: Add display panel support for msm8996 DTP
Add panel support for msm8996 DTP which is using R69007 DDIC.
Change-Id: I2e55c7a877776a81402539414cd7738d8fd53ed3
diff --git a/target/msm8996/init.c b/target/msm8996/init.c
index e9e8eea..6a61687 100644
--- a/target/msm8996/init.c
+++ b/target/msm8996/init.c
@@ -311,6 +311,7 @@
case HW_PLATFORM_SURF:
case HW_PLATFORM_MTP:
case HW_PLATFORM_FLUID:
+ case HW_PLATFORM_QRD:
dprintf(SPEW, "Target_cont_splash=1\n");
splash_screen = 1;
break;
diff --git a/target/msm8996/oem_panel.c b/target/msm8996/oem_panel.c
index 3fbb979..25ef683 100644
--- a/target/msm8996/oem_panel.c
+++ b/target/msm8996/oem_panel.c
@@ -53,6 +53,7 @@
#include "include/panel_sharp_wqxga_dualdsi_video.h"
#include "include/panel_jdi_qhd_dualdsi_video.h"
#include "include/panel_jdi_qhd_dualdsi_cmd.h"
+#include "include/panel_r69007_wqxga_cmd.h"
/*---------------------------------------------------------------------------*/
/* static panel selection variable */
@@ -65,6 +66,7 @@
NT35597_WQXGA_DSC_CMD_PANEL,
JDI_QHD_DUALDSI_VIDEO_PANEL,
JDI_QHD_DUALDSI_CMD_PANEL,
+ R69007_WQXGA_CMD_PANEL,
UNKNOWN_PANEL
};
@@ -80,6 +82,7 @@
{"nt35597_wqxga_dsc_cmd", NT35597_WQXGA_DSC_CMD_PANEL},
{"jdi_qhd_dualdsi_video", JDI_QHD_DUALDSI_VIDEO_PANEL},
{"jdi_qhd_dualdsi_cmd", JDI_QHD_DUALDSI_CMD_PANEL},
+ {"r69007_wqxga_cmd", R69007_WQXGA_CMD_PANEL},
};
static uint32_t panel_id;
@@ -341,6 +344,36 @@
jdi_qhd_dualdsi_thulium_video_timings,
MAX_TIMING_CONFIG * sizeof(uint32_t));
break;
+ case R69007_WQXGA_CMD_PANEL:
+ pan_type = PANEL_TYPE_DSI;
+ pinfo->lcd_reg_en = 0;
+ panelstruct->paneldata = &r69007_wqxga_cmd_panel_data;
+ panelstruct->panelres = &r69007_wqxga_cmd_panel_res;
+ panelstruct->color = &r69007_wqxga_cmd_color;
+ panelstruct->videopanel = &r69007_wqxga_cmd_video_panel;
+ panelstruct->commandpanel = &r69007_wqxga_cmd_command_panel;
+ panelstruct->state = &r69007_wqxga_cmd_state;
+ panelstruct->laneconfig = &r69007_wqxga_cmd_lane_config;
+ panelstruct->paneltiminginfo
+ = &r69007_wqxga_cmd_timing_info;
+ panelstruct->panelresetseq
+ = &r69007_wqxga_cmd_reset_seq;
+ panelstruct->backlightinfo = &r69007_wqxga_cmd_backlight;
+
+ pinfo->labibb = &r69007_wqxga_cmd_labibb;
+
+ pinfo->mipi.panel_on_cmds
+ = r69007_wqxga_cmd_on_command;
+ pinfo->mipi.num_of_panel_on_cmds
+ = R69007_WQXGA_CMD_ON_COMMAND;
+ pinfo->mipi.panel_off_cmds
+ = r69007_wqxga_cmd_off_command;
+ pinfo->mipi.num_of_panel_off_cmds
+ = R69007_WQXGA_CMD_OFF_COMMAND;
+ memcpy(phy_db->timing,
+ r69007_wqxga_thulium_cmd_timings,
+ MAX_TIMING_CONFIG * sizeof(uint32_t));
+ break;
default:
case UNKNOWN_PANEL:
pan_type = PANEL_TYPE_UNKNOWN;
@@ -381,6 +414,9 @@
case HW_PLATFORM_SURF:
panel_id = SHARP_WQXGA_DUALDSI_VIDEO_PANEL;
break;
+ case HW_PLATFORM_QRD:
+ panel_id = R69007_WQXGA_CMD_PANEL;
+ break;
default:
dprintf(CRITICAL, "Display not enabled for %d HW type\n"
, hw_id);