summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorFrank Li <Frank.Li@freescale.com>2010-04-16 15:00:25 +0800
committerAlejandro Gonzalez <alex.gonzalez@digi.com>2010-05-25 11:20:25 +0200
commit3fff6407f72c5193b2026bdfbc0dc9c685129c15 (patch)
tree15c49b04ce4a6c2cec348901b347fb4722b063e4 /drivers
parenta21521b7d66ba85a661f61b9c013cf538c462c9f (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> Signed-off-by: Alejandro Gonzalez <alex.gonzalez@digi.com>
Diffstat (limited to 'drivers')
-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 00273b731588..c167774d5785 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 03d4abd8b85d..f7d48a6fb3e9 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);