summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSandor Yu <R01008@freescale.com>2012-01-11 16:42:53 +0800
committerJason Liu <r64343@freescale.com>2012-01-19 12:41:30 +0800
commit33d5e1fd472147efd1bfd7b9501e2e176008ba55 (patch)
tree17765936890b83d1ea5dc191268ab6297c8a4b72
parent6b5c5a07e6f7abb7cb213c119fca1455d93befa1 (diff)
ENGR00171383 HDMI: blank and unblank display can not resume.
It cause by HDMI Blank/Unblank function not implement. Implement the HDMI blank/unblank function. Signed-off-by: Sandor Yu <R01008@freescale.com>
-rw-r--r--drivers/video/mxc_hdmi.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/video/mxc_hdmi.c b/drivers/video/mxc_hdmi.c
index 3c9a52685d4d..6572c1b8e41e 100644
--- a/drivers/video/mxc_hdmi.c
+++ b/drivers/video/mxc_hdmi.c
@@ -1404,8 +1404,14 @@ static void mxc_hdmi_phy_disable(struct mxc_hdmi *hdmi)
if (!hdmi->phy_enabled)
return;
+ /* Setting PHY to reset status */
+ hdmi_writeb(HDMI_MC_PHYRSTZ_DEASSERT, HDMI_MC_PHYRSTZ);
+
+ /* Power down PHY */
mxc_hdmi_phy_enable_tmds(0);
mxc_hdmi_phy_enable_power(0);
+ mxc_hdmi_phy_gen2_txpwron(0);
+ mxc_hdmi_phy_gen2_pddq(1);
hdmi->phy_enabled = false;
dev_dbg(&hdmi->pdev->dev, "%s - exit\n", __func__);
@@ -2054,10 +2060,13 @@ static int mxc_hdmi_fb_event(struct notifier_block *nb,
dev_dbg(&hdmi->pdev->dev,
"event=FB_EVENT_BLANK - UNBLANK\n");
mxc_hdmi_enable_pins(hdmi);
+ if (hdmi->fb_reg && hdmi->cable_plugin)
+ mxc_hdmi_setup(hdmi);
} else {
dev_dbg(&hdmi->pdev->dev,
"event=FB_EVENT_BLANK - BLANK\n");
mxc_hdmi_disable_pins(hdmi);
+ mxc_hdmi_phy_disable(hdmi);
}
break;
}