target: msm8952: enable NT35695B truly FHD panel for SDM439/SDM429
Add support for NT35695B truly FHD video and command mode panels for
SDM439/SDM429 targets. Add support for fastboot oem command to select
these panels whenever required.
Change-Id: I3c2ab54f2f822fc9633aa05ab801e82a6184c390
diff --git a/dev/gcdb/display/fastboot_oem_display.h b/dev/gcdb/display/fastboot_oem_display.h
index 6f34538..a8af486 100644
--- a/dev/gcdb/display/fastboot_oem_display.h
+++ b/dev/gcdb/display/fastboot_oem_display.h
@@ -113,6 +113,8 @@
{"mirrorlake1_hdplus_video", "qcom,mdss_dsi_icn9706_720_1440p_video", false},
{"hx8399c_fhd_plus_video", "qcom,mdss_dsi_hx8399c_truly_video", false},
{"hx8399c_hd_plus_video", "qcom,mdss_dsi_hx8399c_hd_video", false},
+ {"nt35695b_truly_fhd_video", "qcom,mdss_dsi_nt35695b_truly_fhd_video", false},
+ {"nt35695b_truly_fhd_cmd", "qcom,mdss_dsi_nt35695b_truly_fhd_cmd", false},
};
struct sim_lookup_list lookup_sim[] = {
diff --git a/target/msm8952/oem_panel.c b/target/msm8952/oem_panel.c
index 566d964..01bccfd 100644
--- a/target/msm8952/oem_panel.c
+++ b/target/msm8952/oem_panel.c
@@ -65,6 +65,8 @@
#include "include/panel_lead_fl10802_fwvga_video.h"
#include "include/panel_hx8399c_fhd_pluse_video.h"
#include "include/panel_hx8399c_hd_plus_video.h"
+#include "include/panel_nt35695b_truly_fhd_video.h"
+#include "include/panel_nt35695b_truly_fhd_cmd.h"
/*---------------------------------------------------------------------------*/
/* static panel selection variable */
@@ -90,6 +92,8 @@
LEAD_FL10802_FWVGA_VIDEO_PANEL,
HX8399C_FHD_PLUSE_VIDEO_PANEL,
HX8399C_HD_PLUS_VIDEO_PANEL,
+ NT35695B_TRULY_FHD_VIDEO_PANEL,
+ NT35695B_TRULY_FHD_CMD_PANEL,
UNKNOWN_PANEL
};
@@ -122,6 +126,8 @@
{"lead_fl10802_fwvga_video", LEAD_FL10802_FWVGA_VIDEO_PANEL},
{"hx8399c_fhd_plus_video", HX8399C_FHD_PLUSE_VIDEO_PANEL},
{"hx8399c_hd_plus_video", HX8399C_HD_PLUS_VIDEO_PANEL},
+ {"nt35695b_truly_fhd_video", NT35695B_TRULY_FHD_VIDEO_PANEL},
+ {"nt35695b_truly_fhd_cmd", NT35695B_TRULY_FHD_CMD_PANEL},
};
static uint32_t panel_id;
@@ -785,6 +791,76 @@
pinfo->mipi.signature = HX8399C_HD_PLUS_VIDEO_SIGNATURE;
pinfo->mipi.tx_eot_append = true;
break;
+ case NT35695B_TRULY_FHD_VIDEO_PANEL:
+ panelstruct->paneldata = &nt35695b_truly_fhd_video_panel_data;
+ panelstruct->panelres = &nt35695b_truly_fhd_video_panel_res;
+ panelstruct->color = &nt35695b_truly_fhd_video_color;
+ panelstruct->videopanel =
+ &nt35695b_truly_fhd_video_video_panel;
+ panelstruct->commandpanel =
+ &nt35695b_truly_fhd_video_command_panel;
+ panelstruct->state = &nt35695b_truly_fhd_video_state;
+ panelstruct->laneconfig =
+ &nt35695b_truly_fhd_video_lane_config;
+ panelstruct->paneltiminginfo
+ = &nt35695b_truly_fhd_video_timing_info;
+ panelstruct->panelresetseq
+ = &nt35695b_truly_fhd_video_panel_reset_seq;
+ panelstruct->backlightinfo = &nt35695b_truly_fhd_video_backlight;
+ pinfo->labibb = &nt35695b_truly_fhd_video_labibb;
+ pinfo->mipi.panel_on_cmds
+ = nt35695b_truly_fhd_video_on_command;
+ pinfo->mipi.num_of_panel_on_cmds
+ = NT35695B_TRULY_FHD_VIDEO_ON_COMMAND;
+ pinfo->mipi.panel_off_cmds
+ = nt35695b_truly_fhd_video_off_command;
+ pinfo->mipi.num_of_panel_off_cmds
+ = NT35695B_TRULY_FHD_VIDEO_OFF_COMMAND;
+ if (phy_db->pll_type == DSI_PLL_TYPE_12NM)
+ memcpy(phy_db->timing,
+ nt35695b_truly_fhd_video_12nm_timings,
+ TIMING_SIZE_12NM);
+ else
+ memcpy(phy_db->timing, nt35695b_truly_fhd_video_timings,
+ TIMING_SIZE);
+ pinfo->mipi.signature = NT35695B_TRULY_FHD_VIDEO_SIGNATURE;
+ pinfo->mipi.tx_eot_append = true;
+ break;
+ case NT35695B_TRULY_FHD_CMD_PANEL:
+ panelstruct->paneldata = &nt35695b_truly_fhd_cmd_panel_data;
+ panelstruct->panelres = &nt35695b_truly_fhd_cmd_panel_res;
+ panelstruct->color = &nt35695b_truly_fhd_cmd_color;
+ panelstruct->videopanel =
+ &nt35695b_truly_fhd_cmd_video_panel;
+ panelstruct->commandpanel =
+ &nt35695b_truly_fhd_cmd_command_panel;
+ panelstruct->state = &nt35695b_truly_fhd_cmd_state;
+ panelstruct->laneconfig =
+ &nt35695b_truly_fhd_cmd_lane_config;
+ panelstruct->paneltiminginfo
+ = &nt35695b_truly_fhd_cmd_timing_info;
+ panelstruct->panelresetseq
+ = &nt35695b_truly_fhd_cmd_panel_reset_seq;
+ panelstruct->backlightinfo = &nt35695b_truly_fhd_cmd_backlight;
+ pinfo->labibb = &nt35695b_truly_fhd_cmd_labibb;
+ pinfo->mipi.panel_on_cmds
+ = nt35695b_truly_fhd_cmd_on_command;
+ pinfo->mipi.num_of_panel_on_cmds
+ = NT35695B_TRULY_FHD_CMD_ON_COMMAND;
+ pinfo->mipi.panel_off_cmds
+ = nt35695b_truly_fhd_cmd_off_command;
+ pinfo->mipi.num_of_panel_off_cmds
+ = NT35695B_TRULY_FHD_CMD_OFF_COMMAND;
+ if (phy_db->pll_type == DSI_PLL_TYPE_12NM)
+ memcpy(phy_db->timing,
+ nt35695b_truly_fhd_cmd_12nm_timings,
+ TIMING_SIZE_12NM);
+ else
+ memcpy(phy_db->timing, nt35695b_truly_fhd_cmd_timings,
+ TIMING_SIZE);
+ pinfo->mipi.signature = NT35695B_TRULY_FHD_CMD_SIGNATURE;
+ pinfo->mipi.tx_eot_append = true;
+ break;
case UNKNOWN_PANEL:
default:
memset(panelstruct, 0, sizeof(struct panel_struct));