FP2-TBD: add s6d6fa1 lcd panel driver

FPIIM-923

Change-Id: Ia9504d43b0bc0b364ca25ee20a80c2c805c7e67d
diff --git a/dev/gcdb/display/include/panel_s6d6fa1_1080p_video.h b/dev/gcdb/display/include/panel_s6d6fa1_1080p_video.h
new file mode 100644
index 0000000..2c3f88d
--- /dev/null
+++ b/dev/gcdb/display/include/panel_s6d6fa1_1080p_video.h
@@ -0,0 +1,436 @@
+/* Copyright (c) 2013, The Linux Foundation. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *  * Neither the name of The Linux Foundation nor the names of its
+ *    contributors may be used to endorse or promote products derived
+ *    from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+/*---------------------------------------------------------------------------
+ * This file is autogenerated file using gcdb parser. Please do not edit it.
+ * Update input XML file to add a new entry or update variable in this file
+ * VERSION = "1.0"
+ *---------------------------------------------------------------------------*/
+
+#ifndef _PANEL_S6D6FA1_1080P_VIDEO_H_
+
+#define _PANEL_S6D6FA1_1080P_VIDEO_H_
+/*---------------------------------------------------------------------------*/
+/* HEADER files                                                              */
+/*---------------------------------------------------------------------------*/
+#include "panel.h"
+
+/*---------------------------------------------------------------------------*/
+/* Panel configuration                                                       */
+/*---------------------------------------------------------------------------*/
+
+static struct panel_config s6d6fa1_1080p_video_panel_data = {
+  "qcom,mdss_dsi_s6d6fa1_1080p_video", "dsi:0:", "qcom,mdss-dsi-panel",
+  10, 0, "DISPLAY_1", 0, 424000000, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+};
+
+/*---------------------------------------------------------------------------*/
+/* Panel resolution                                                          */
+/*---------------------------------------------------------------------------*/
+static struct panel_resolution s6d6fa1_1080p_video_panel_res = {
+  1080, 1920, 152, 54, 12, 0, 4, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0
+};
+
+/*---------------------------------------------------------------------------*/
+/* Panel Color Information                                                   */
+/*---------------------------------------------------------------------------*/
+static struct color_info s6d6fa1_1080p_video_color = {
+  24, 0, 0xff, 0, 0, 0
+};
+
+/*---------------------------------------------------------------------------*/
+/* Panel Command information                                                 */
+/*---------------------------------------------------------------------------*/
+static char s6d6fa1_1080p_video_init_cmd0[] = {
+0x03, 0x00, 0x29, 0xC0,
+0xF0, 0x5A, 0x5A, 0xFF,  };
+
+static char s6d6fa1_1080p_video_init_cmd1[] = {
+0x03, 0x00, 0x29, 0xC0,
+0xF1, 0x5A, 0x5A, 0xFF,  };
+
+static char s6d6fa1_1080p_video_init_cmd2[] = {
+0x03, 0x00, 0x29, 0xC0,
+0xFC, 0x5A, 0x5A, 0xFF,  };
+
+static char s6d6fa1_1080p_video_init_cmd3[] = {
+0x08, 0x00, 0x29, 0xC0,
+0xF5, 0x10, 0x18, 0x00,
+0xD1, 0xA7, 0x11, 0x08,  };
+
+static char s6d6fa1_1080p_video_init_cmd4[] = {
+0x07, 0x00, 0x29, 0xC0,
+0xB3, 0x10, 0xF0, 0x00,
+0xBB, 0x04, 0x08, 0xFF,  };
+
+static char s6d6fa1_1080p_video_init_cmd5[] = {
+0x07, 0x00, 0x29, 0xC0,
+0xB6, 0x29, 0x10, 0x2C,
+0x64, 0x64, 0x01, 0xFF,  };
+
+static char s6d6fa1_1080p_video_init_cmd6[] = {
+0x0F, 0x00, 0x29, 0xC0,
+0xB7, 0x00, 0x00, 0x00,
+0x00, 0x00, 0xC0, 0x00,
+0x09, 0x03, 0xF5, 0x00,
+0x00, 0x00, 0x00, 0xFF,  };
+
+static char s6d6fa1_1080p_video_init_cmd7[] = {
+0x1C, 0x00, 0x29, 0xC0,
+0xB8, 0x3B, 0x00, 0x18,
+0x18, 0x03, 0x21, 0x11,
+0x00, 0x83, 0xF4, 0xBB,
+0x00, 0x03, 0x1E, 0x21,
+0x00, 0xBE, 0xBB, 0x0B,
+0xE0, 0x70, 0xFF, 0xFF,
+0x00, 0x20, 0x00, 0x00,  };
+
+static char s6d6fa1_1080p_video_init_cmd8[] = {
+0x1C, 0x00, 0x29, 0xC0,
+0xB9, 0x1D, 0x00, 0x18,
+0x18, 0x03, 0x00, 0x11,
+0x00, 0x02, 0xF4, 0xBB,
+0x00, 0x03, 0x00, 0x00,
+0x11, 0x86, 0x83, 0x18,
+0x61, 0x20, 0xFF, 0xFF,
+0x00, 0x40, 0x00, 0x00,  };
+
+static char s6d6fa1_1080p_video_init_cmd9[] = {
+0x1C, 0x00, 0x29, 0xC0,
+0xBA, 0x3B, 0x00, 0x18,
+0x18, 0x03, 0x21, 0x11,
+0x00, 0x83, 0xF4, 0xBB,
+0x00, 0x03, 0x1E, 0x21,
+0x00, 0xBE, 0xBB, 0x0B,
+0xE0, 0x70, 0xFF, 0xFF,
+0x00, 0x20, 0x00, 0x00,  };
+
+static char s6d6fa1_1080p_video_init_cmd10[] = {
+0x1C, 0x00, 0x29, 0xC0,
+0xBB, 0x3B, 0x00, 0x18,
+0x18, 0x03, 0x21, 0x11,
+0x00, 0x83, 0xF4, 0xBB,
+0x00, 0x03, 0x1E, 0x21,
+0x00, 0xBE, 0xBB, 0x0B,
+0xE0, 0x70, 0xFF, 0xFF,
+0x00, 0x20, 0x00, 0x00,  };
+
+static char s6d6fa1_1080p_video_init_cmd11[] = {
+0x18, 0x00, 0x29, 0xC0,
+0xBC, 0x20, 0x80, 0x3C,
+0x19, 0x01, 0x02, 0x06,
+0x00, 0x00, 0x2D, 0x06,
+0x0F, 0x13, 0x0B, 0x1E,
+0x04, 0x02, 0x2A, 0x00,
+0x00, 0x02, 0x00, 0x99,  };
+
+static char s6d6fa1_1080p_video_init_cmd12[] = {
+0x15, 0x00, 0x29, 0xC0,
+0xBD, 0x01, 0x07, 0x07,
+0x07, 0x00, 0x00, 0x00,
+0x00, 0x05, 0x01, 0x00,
+0x00, 0x00, 0x40, 0x00,
+0x05, 0x2D, 0x05, 0x05,
+0x05, 0xFF, 0xFF, 0xFF,  };
+
+static char s6d6fa1_1080p_video_init_cmd13[] = {
+0x2C, 0x00, 0x29, 0xC0,
+0xBE, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x02,
+0x0B, 0x0A, 0x0B, 0x07,
+0x0B, 0x04, 0x06, 0x02,
+0x01, 0x00, 0x09, 0x0B,
+0x0E, 0x0D, 0x0C, 0x11,
+0x10, 0x0F, 0x0B, 0x0B,
+0x0B, 0x0B, 0x12, 0x03,
+0x05, 0x02, 0x01, 0x00,
+0x08, 0x0B, 0x0E, 0x0D,
+0x0C, 0x11, 0x10, 0x0F,  };
+
+static char s6d6fa1_1080p_video_init_cmd14[] = {
+0x0F, 0x00, 0x29, 0xC0,
+0xBF, 0x00, 0x00, 0x00,
+0x00, 0x0C, 0xCC, 0xCC,
+0xCC, 0xCC, 0x0C, 0xC6,
+0xCC, 0xC7, 0xCC, 0xFF,  };
+
+static char s6d6fa1_1080p_video_init_cmd15[] = {
+0x02, 0x00, 0x29, 0xC0,
+0xD0, 0x08, 0xFF, 0xFF,  };
+
+static char s6d6fa1_1080p_video_init_cmd16[] = {
+0x02, 0x00, 0x29, 0xC0,
+0xE3, 0x22, 0xFF, 0xFF,  };
+
+static char s6d6fa1_1080p_video_init_cmd17[] = {
+0x08, 0x00, 0x29, 0xC0,
+0xE8, 0x00, 0x03, 0x10,
+0x04, 0x02, 0x06, 0xD0,  };
+
+static char s6d6fa1_1080p_video_init_cmd18[] = {
+0x07, 0x00, 0x29, 0xC0,
+0xF2, 0x46, 0x43, 0x13,
+0x33, 0xC1, 0x16, 0xFF,  };
+
+static char s6d6fa1_1080p_video_init_cmd19[] = {
+0x1C, 0x00, 0x29, 0xC0,
+0xF4, 0x50, 0x50, 0x70,
+0x14, 0x14, 0x14, 0x14,
+0x06, 0x16, 0x26, 0x00,
+0x6E, 0x1F, 0x14, 0x0E,
+0xC9, 0x02, 0x55, 0x35,
+0x54, 0xAA, 0x55, 0x05,
+0x04, 0x44, 0x48, 0x30,  };
+
+static char s6d6fa1_1080p_video_init_cmd20[] = {
+0x05, 0x00, 0x29, 0xC0,
+0xF7, 0x00, 0x00, 0x3F,
+0xFF, 0xFF, 0xFF, 0xFF,  };
+
+static char s6d6fa1_1080p_video_init_cmd21[] = {
+0x53, 0x00, 0x29, 0xC0,
+0xFA, 0x05, 0x7C, 0x19,
+0x21, 0x2D, 0x39, 0x3F,
+0x45, 0x48, 0x48, 0x56,
+0x5B, 0x3C, 0x3D, 0x3D,
+0x46, 0x43, 0x3E, 0x41,
+0x3D, 0x3A, 0x3A, 0x23,
+0x23, 0x26, 0x2B, 0x1A,
+0x05, 0x7C, 0x19, 0x22,
+0x2E, 0x3A, 0x40, 0x45,
+0x48, 0x48, 0x56, 0x5B,
+0x3C, 0x3D, 0x3D, 0x46,
+0x44, 0x3F, 0x42, 0x3E,
+0x3B, 0x3B, 0x25, 0x24,
+0x27, 0x2C, 0x1A, 0x05,
+0x7C, 0x22, 0x2F, 0x39,
+0x43, 0x48, 0x4C, 0x4D,
+0x4C, 0x5A, 0x5E, 0x3E,
+0x3F, 0x3E, 0x46, 0x44,
+0x3E, 0x41, 0x3D, 0x3A,
+0x3A, 0x23, 0x22, 0x25,
+0x2B, 0x1A, 0x00, 0xFF,  };
+
+static char s6d6fa1_1080p_video_init_cmd22[] = {
+0x52, 0x00, 0x29, 0xC0,
+0xFB, 0x05, 0x7C, 0x19,
+0x21, 0x2D, 0x39, 0x3F,
+0x45, 0x48, 0x48, 0x56,
+0x5B, 0x3C, 0x3D, 0x3D,
+0x46, 0x43, 0x3E, 0x41,
+0x3D, 0x3A, 0x3A, 0x23,
+0x23, 0x26, 0x2B, 0x1A,
+0x05, 0x7C, 0x19, 0x22,
+0x2E, 0x3A, 0x40, 0x45,
+0x48, 0x48, 0x56, 0x5B,
+0x3C, 0x3D, 0x3D, 0x46,
+0x44, 0x3F, 0x42, 0x3E,
+0x3B, 0x3B, 0x25, 0x24,
+0x27, 0x2C, 0x1A, 0x05,
+0x7C, 0x22, 0x2F, 0x39,
+0x43, 0x48, 0x4C, 0x4D,
+0x4C, 0x5A, 0x5E, 0x3E,
+0x3F, 0x3E, 0x46, 0x44,
+0x3E, 0x41, 0x3D, 0x3A,
+0x3A, 0x23, 0x22, 0x25,
+0x2B, 0x1A, 0xFF, 0xFF,  };
+
+static char s6d6fa1_1080p_video_init_cmd23[] = {
+0x03, 0x00, 0x29, 0xC0,
+0xF0, 0xA5, 0xA5, 0xFF,  };
+
+static char s6d6fa1_1080p_video_init_cmd24[] = {
+0x03, 0x00, 0x29, 0xC0,
+0xF1, 0xA5, 0xA5, 0xFF,  };
+
+static char s6d6fa1_1080p_video_init_cmd25[] = {
+0x03, 0x00, 0x29, 0xC0,
+0xFC, 0xA5, 0xA5, 0xFF,  };
+
+/* NVM write*/
+/*static char s6d6fa1_1080p_video_init_cmd26[] = {
+0x03, 0x00, 0x29, 0xC0,
+0xF0, 0x5A, 0x5A, 0xFF,  };
+
+static char s6d6fa1_1080p_video_init_cmd27[] = {
+0x03, 0x00, 0x29, 0xC0,
+0xF1, 0x5A, 0x5A, 0xFF,  };
+
+static char s6d6fa1_1080p_video_init_cmd28[] = {
+0x03, 0x00, 0x29, 0xC0,
+0xF0, 0x5A, 0x5A, 0xFF,  };
+
+static char s6d6fa1_1080p_video_init_cmd29[] = {
+0x03, 0x00, 0x29, 0xC0,
+0xF1, 0x5A, 0x5A, 0xFF,  };
+
+static char s6d6fa1_1080p_video_init_cmd30[] = {
+0x02, 0x00, 0x29, 0xC0,
+0xD0, 0x01, 0xFF, 0xFF,  };
+
+static char s6d6fa1_1080p_video_init_cmd31[] = {
+0x02, 0x00, 0x29, 0xC0,
+0xD0, 0x00, 0xFF, 0xFF,  };
+
+static char s6d6fa1_1080p_video_init_cmd32[] = {
+0x03, 0x00, 0x29, 0xC0,
+0xF0, 0x5A, 0x5A, 0xFF,  };
+
+static char s6d6fa1_1080p_video_init_cmd33[] = {
+0x03, 0x00, 0x29, 0xC0,
+0xF1, 0x5A, 0x5A, 0xFF,  };*/
+
+static char s6d6fa1_1080p_video_on_cmd0[] = {
+0x02, 0x00, 0x29, 0xC0,
+0x51, 0xFF, 0xFF, 0xFF,  };
+
+static char s6d6fa1_1080p_video_on_cmd1[] = {
+0x02, 0x00, 0x29, 0xC0,
+0x53, 0x2C, 0xFF, 0xFF,  };
+
+static char s6d6fa1_1080p_video_on_cmd2[] = {
+0x02, 0x00, 0x29, 0xC0,
+0x55, 0x00, 0xFF, 0xFF,  };
+
+static char s6d6fa1_1080p_video_on_cmd3[] = {
+0x02, 0x00, 0x29, 0xC0,
+0x35, 0x00, 0xFF, 0xFF,  };
+
+static char s6d6fa1_1080p_video_on_cmd4[] = {
+0x11, 0x00, 0x05, 0x80 };
+
+static char s6d6fa1_1080p_video_on_cmd5[] = {
+0x29, 0x00, 0x05, 0x80 };
+
+static struct mipi_dsi_cmd s6d6fa1_1080p_video_on_command[] = {
+{ 0x8 , s6d6fa1_1080p_video_init_cmd0 ,0x00},
+{ 0x8 , s6d6fa1_1080p_video_init_cmd1 ,0x00},
+{ 0x8 , s6d6fa1_1080p_video_init_cmd2 ,0x00},
+{ 0xc , s6d6fa1_1080p_video_init_cmd3 ,0x00},
+{ 0xc , s6d6fa1_1080p_video_init_cmd4 ,0x00},
+{ 0xc , s6d6fa1_1080p_video_init_cmd5 ,0x00},
+{ 0x14, s6d6fa1_1080p_video_init_cmd6 ,0x00},
+{ 0x20, s6d6fa1_1080p_video_init_cmd7 ,0x00},
+{ 0x20, s6d6fa1_1080p_video_init_cmd8 ,0x00},
+{ 0x20, s6d6fa1_1080p_video_init_cmd9 ,0x00},
+{ 0x20, s6d6fa1_1080p_video_init_cmd10 ,0x00},
+{ 0x1c, s6d6fa1_1080p_video_init_cmd11 ,0x00},
+{ 0x1c, s6d6fa1_1080p_video_init_cmd12 ,0x00},
+{ 0x30, s6d6fa1_1080p_video_init_cmd13 ,0x00},
+{ 0x14, s6d6fa1_1080p_video_init_cmd14 ,0x00},
+{ 0x8 , s6d6fa1_1080p_video_init_cmd15 ,0x00},
+{ 0x8 , s6d6fa1_1080p_video_init_cmd16 ,0x00},
+{ 0xc , s6d6fa1_1080p_video_init_cmd17 ,0x00},
+{ 0xc , s6d6fa1_1080p_video_init_cmd18 ,0x00},
+{ 0x20, s6d6fa1_1080p_video_init_cmd19 ,0x00},
+{ 0xc , s6d6fa1_1080p_video_init_cmd20 ,0x00},
+{ 0x58, s6d6fa1_1080p_video_init_cmd21 ,0x00},
+{ 0x58, s6d6fa1_1080p_video_init_cmd22 ,0x00},
+{ 0x8 , s6d6fa1_1080p_video_init_cmd23 ,0x00},
+{ 0x8 , s6d6fa1_1080p_video_init_cmd24 ,0x00},
+{ 0x8 , s6d6fa1_1080p_video_init_cmd25 ,0x00},
+{ 0x8 , s6d6fa1_1080p_video_on_cmd0 ,0x00},
+{ 0x8 , s6d6fa1_1080p_video_on_cmd1 ,0x00},
+{ 0x8 , s6d6fa1_1080p_video_on_cmd2 ,0x00},
+{ 0x8 , s6d6fa1_1080p_video_on_cmd3 ,0x00},
+{ 0x4 , s6d6fa1_1080p_video_on_cmd4 ,0x78},
+{ 0x4 , s6d6fa1_1080p_video_on_cmd5 ,0x00},
+};
+#define S6D6FA1_1080P_VIDEO_ON_COMMAND 32
+
+static char s6d6fa1_1080p_videooff_cmd0[] = {
+0x28, 0x00, 0x05, 0x80 };
+
+static char s6d6fa1_1080p_videooff_cmd1[] = {
+0x10, 0x00, 0x05, 0x80 };
+
+static struct mipi_dsi_cmd s6d6fa1_1080p_video_off_command[] = {
+{ 0x4 , s6d6fa1_1080p_videooff_cmd0 , 0x14},
+{ 0x4 , s6d6fa1_1080p_videooff_cmd1 , 0x50}
+};
+#define S6D6FA1_1080P_VIDEO_OFF_COMMAND 2
+
+
+static struct command_state s6d6fa1_1080p_video_state = {
+  0, 1
+};
+
+/*---------------------------------------------------------------------------*/
+/* Command mode panel information                                            */
+/*---------------------------------------------------------------------------*/
+
+static struct commandpanel_info s6d6fa1_1080p_video_command_panel = {
+  1, 1, 1, 0, 0, 0x2c, 0x3c, 0, 0, 1, 0, 0
+};
+
+/*---------------------------------------------------------------------------*/
+/* Video mode panel information                                              */
+/*---------------------------------------------------------------------------*/
+
+static struct videopanel_info s6d6fa1_1080p_video_video_panel = {
+  1, 0, 0, 0, 1, 1, 2, 0, 0x9
+};
+
+/*---------------------------------------------------------------------------*/
+/* Lane Configuration                                                        */
+/*---------------------------------------------------------------------------*/
+
+static struct lane_configuration s6d6fa1_1080p_video_lane_config = {
+  4, 0, 1, 1, 1, 1
+};
+
+
+/*---------------------------------------------------------------------------*/
+/* Panel Timing                                                              */
+/*---------------------------------------------------------------------------*/
+// 900Mbps
+const uint32_t s6d6fa1_1080p_video_timings[] = {
+  0xe6, 0x38, 0x26, 0x00, 0x68, 0x6e, 0x2a, 0x3c, 0x2c, 0x03, 0x04, 0x00
+};
+
+static struct panel_timing s6d6fa1_1080p_video_timing_info = {
+  0, 4, 0x03, 0x2b
+};
+
+static struct panel_reset_sequence s6d6fa1_1080p_video_panel_reset_seq = {
+{ 1, 0, 1, }, { 10, 10, 10 }, 2
+};
+
+/*---------------------------------------------------------------------------*/
+/* Backlight Settings                                                        */
+/*---------------------------------------------------------------------------*/
+
+static struct backlight s6d6fa1_1080p_video_backlight = {
+  1, 0, 255, 100, 2, "PMIC_8941"
+};
+
+
+#define S6D6FA1_1080P_VIDEO_SIGNATURE 0xFFFF
+
+#endif /*_PANEL_S6D6FA1_1080P_VIDEO_H_*/
diff --git a/target/FP2/oem_panel.c b/target/FP2/oem_panel.c
index 7278487..1a62c08 100755
--- a/target/FP2/oem_panel.c
+++ b/target/FP2/oem_panel.c
@@ -47,6 +47,7 @@
 #include "include/panel_jdi_qhd_dualdsi_video.h"
 #include "include/panel_jdi_qhd_dualdsi_cmd.h"
 #include "include/panel_otm1902b_1080p_cmd.h"
+#include "include/panel_s6d6fa1_1080p_video.h"
 
 #define DISPLAY_MAX_PANEL_DETECTION 3
 
@@ -61,6 +62,7 @@
 JDI_QHD_DUALDSI_VIDEO_PANEL,
 JDI_QHD_DUALDSI_CMD_PANEL,
 OTM1902B_1080P_CMD_PANEL,
+S6D6FA1_1080P_VIDEO_PANEL,
 UNKNOWN_PANEL
 };
 
@@ -76,6 +78,7 @@
 	{"jdi_qhd_dualdsi_video", JDI_QHD_DUALDSI_VIDEO_PANEL},
 	{"jdi_qhd_dualdsi_cmd", JDI_QHD_DUALDSI_CMD_PANEL},
 	{"otm1902b_1080p_cmd",OTM1902B_1080P_CMD_PANEL},
+	{"s6d6fa1_1080p_video", S6D6FA1_1080P_VIDEO_PANEL},
 };
 
 static uint32_t panel_id;
@@ -250,6 +253,27 @@
 		memcpy(phy_db->timing,
 			otm1902b_1080p_cmd_timings, TIMING_SIZE);
 		break;
+	case S6D6FA1_1080P_VIDEO_PANEL:
+		panelstruct->paneldata    = &s6d6fa1_1080p_video_panel_data;
+		panelstruct->panelres     = &s6d6fa1_1080p_video_panel_res;
+		panelstruct->color        = &s6d6fa1_1080p_video_color;
+		panelstruct->videopanel   = &s6d6fa1_1080p_video_video_panel;
+		panelstruct->commandpanel = &s6d6fa1_1080p_video_command_panel;
+		panelstruct->state        = &s6d6fa1_1080p_video_state;
+		panelstruct->laneconfig   = &s6d6fa1_1080p_video_lane_config;
+		panelstruct->paneltiminginfo
+			= &s6d6fa1_1080p_video_timing_info;
+		panelstruct->panelresetseq
+			= &s6d6fa1_1080p_video_panel_reset_seq;
+		panelstruct->backlightinfo = &s6d6fa1_1080p_video_backlight;
+		pinfo->mipi.panel_cmds
+			= s6d6fa1_1080p_video_on_command;
+		pinfo->mipi.num_of_panel_cmds
+			= S6D6FA1_1080P_VIDEO_ON_COMMAND;
+		memcpy(phy_db->timing,
+			s6d6fa1_1080p_video_timings, TIMING_SIZE);
+		pinfo->mipi.signature = S6D6FA1_1080P_VIDEO_SIGNATURE;
+		break;
 	case UNKNOWN_PANEL:
 		memset(panelstruct, 0, sizeof(struct panel_struct));
 		memset(pinfo->mipi.panel_cmds, 0, sizeof(struct mipi_dsi_cmd));
@@ -300,10 +324,10 @@
 	case HW_PLATFORM_SURF:
 		switch (auto_pan_loop) {
 		case 0:
-			panel_id = OTM1902B_1080P_CMD_PANEL;
+			panel_id = S6D6FA1_1080P_VIDEO_PANEL;
 			break;
 		case 1:
-			panel_id = TOSHIBA_720P_VIDEO_PANEL;
+			panel_id = OTM1902B_1080P_CMD_PANEL;
 			break;
 		case 2:
 			panel_id = GENERIC_720P_CMD_PANEL;