aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrank Li <Frank.Li@freescale.com>2010-04-16 15:00:25 +0800
committerFrank Li <Frank.Li@freescale.com>2010-04-16 17:27:55 +0800
commit9232b710bbd342564850c3e241b42e304349a93c (patch)
tree90404a1471be91a7f0f08c0a5fb0b7beccb166ef
parenta037d9e754d5578e7de71a2e7b7a757cc3f37857 (diff)
ENGR00122612-2 iMX23 Lower the suspend current to 9mA.
Fix LCDIF suspend issue and improve suspend flow,now suspend current can low to 9mA with LCD panel. Signed-off-by: Frank Li <Frank.Li@freescale.com>
-rw-r--r--drivers/video/mxs/lcd_lms430.c6
-rw-r--r--drivers/video/mxs/lcdif.c3
2 files changed, 6 insertions, 3 deletions
diff --git a/drivers/video/mxs/lcd_lms430.c b/drivers/video/mxs/lcd_lms430.c
index 00273b73158..c167774d578 100644
--- a/drivers/video/mxs/lcd_lms430.c
+++ b/drivers/video/mxs/lcd_lms430.c
@@ -113,11 +113,17 @@ out:
static void release_panel(struct device *dev,
struct mxs_platform_fb_entry *pentry)
{
+ /* Reset LCD panel signel. */
+ __raw_writel(BM_LCDIF_CTRL1_RESET,
+ REGS_LCDIF_BASE + HW_LCDIF_CTRL1_CLR);
+ mdelay(100);
mxs_lcdif_notify_clients(MXS_LCDIF_PANEL_RELEASE, pentry);
release_dotclk_panel();
mxs_lcdif_dma_release();
clk_disable(lcd_clk);
clk_put(lcd_clk);
+ __raw_writel(BM_LCDIF_CTRL_CLKGATE,
+ REGS_LCDIF_BASE + HW_LCDIF_CTRL_SET);
}
static int blank_panel(int blank)
diff --git a/drivers/video/mxs/lcdif.c b/drivers/video/mxs/lcdif.c
index 03d4abd8b85..f7d48a6fb3e 100644
--- a/drivers/video/mxs/lcdif.c
+++ b/drivers/video/mxs/lcdif.c
@@ -101,9 +101,6 @@ void mxs_lcdif_stop(void)
__raw_writel(BM_LCDIF_CTRL_LCDIF_MASTER,
REGS_LCDIF_BASE + HW_LCDIF_CTRL_CLR);
udelay(100);
-
- __raw_writel(BM_LCDIF_CTRL_CLKGATE,
- REGS_LCDIF_BASE + HW_LCDIF_CTRL_SET);
}
EXPORT_SYMBOL(mxs_lcdif_stop);