board-8064: Add boot param to enable MHL
This change extends the existing boot parameter that specifies
the external display to add the capability to enable the
MHL transmitter.
Change-Id: I062bb68c7b94bc0f84771f5fafe7208d0a362484
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
(cherry picked from commit de80944923f84837afc9f83ba11cb251a5d59aef)
Signed-off-by: Sudhir Sharma <sudsha@codeaurora.org>
diff --git a/arch/arm/mach-msm/board-8064-display.c b/arch/arm/mach-msm/board-8064-display.c
index 8a6c2eb..d0f1e87 100644
--- a/arch/arm/mach-msm/board-8064-display.c
+++ b/arch/arm/mach-msm/board-8064-display.c
@@ -62,6 +62,7 @@
#define MIPI_VIDEO_TOSHIBA_WSVGA_PANEL_NAME "mipi_video_toshiba_wsvga"
#define MIPI_VIDEO_CHIMEI_WXGA_PANEL_NAME "mipi_video_chimei_wxga"
#define HDMI_PANEL_NAME "hdmi_msm"
+#define MHL_PANEL_NAME "hdmi_msm,mhl_8334"
#define TVOUT_PANEL_NAME "tvout_msm"
#define LVDS_PIXEL_MAP_PATTERN_1 1
@@ -73,11 +74,18 @@
static unsigned char hdmi_is_primary;
#endif
+static unsigned char mhl_display_enabled;
+
unsigned char apq8064_hdmi_as_primary_selected(void)
{
return hdmi_is_primary;
}
+unsigned char apq8064_mhl_display_enabled(void)
+{
+ return mhl_display_enabled;
+}
+
static void set_mdp_clocks_for_wuxga(void);
static int msm_fb_detect_panel(const char *name)
@@ -1075,7 +1083,15 @@
PANEL_NAME_MAX_LEN);
pr_debug("msm_fb_pdata.ext_panel_name %s\n",
msm_fb_pdata.ext_panel_name);
+
+ if (!strncmp((char *)msm_fb_pdata.ext_panel_name,
+ MHL_PANEL_NAME, strnlen(MHL_PANEL_NAME,
+ PANEL_NAME_MAX_LEN))) {
+ pr_debug("MHL is external display by boot parameter\n");
+ mhl_display_enabled = 1;
+ }
}
msm_fb_pdata.ext_resolution = resolution;
+ hdmi_msm_data.is_mhl_enabled = mhl_display_enabled;
}
diff --git a/arch/arm/mach-msm/board-8064.h b/arch/arm/mach-msm/board-8064.h
index 308c1b1..1437b3b 100644
--- a/arch/arm/mach-msm/board-8064.h
+++ b/arch/arm/mach-msm/board-8064.h
@@ -92,6 +92,7 @@
#define APQ_8064_GSBI5_QUP_I2C_BUS_ID 5
unsigned char apq8064_hdmi_as_primary_selected(void);
+unsigned char apq8064_mhl_display_enabled(void);
void apq8064_init_fb(void);
void apq8064_allocate_fb_region(void);
void apq8064_mdp_writeback(struct memtype_reserve *reserve_table);