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