diff options
author | Alexander Shiyan <shc_work@mail.ru> | 2012-11-17 17:57:18 +0400 |
---|---|---|
committer | Olof Johansson <olof@lixom.net> | 2012-11-21 21:57:44 +0400 |
commit | 87c37b51ade7d1296ab99ed8f237637bed7779c7 (patch) | |
tree | 615582ab943b3f0c2e587668d09e7d38d6e0289c /drivers | |
parent | 90383e0ac2ae3df283f2b56997040f71f6d1df08 (diff) | |
download | linux-87c37b51ade7d1296ab99ed8f237637bed7779c7.tar.xz |
ARM: clps711x: Moving power management of framebuffer driver to the board
This patch moves the power management for clps711x-framebuffer driver
to the board code. To control we use "platform-lcd" driver.
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Olof Johansson <olof@lixom.net>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/video/clps711xfb.c | 44 |
1 files changed, 6 insertions, 38 deletions
diff --git a/drivers/video/clps711xfb.c b/drivers/video/clps711xfb.c index 2ccbb9b2a255..1902551f6e45 100644 --- a/drivers/video/clps711xfb.c +++ b/drivers/video/clps711xfb.c @@ -167,35 +167,16 @@ static int clps7111fb_blank(int blank, struct fb_info *info) /* Turn off the LCD backlight. */ clps_writeb(clps_readb(PDDR) & ~EDB_PD3_LCDBL, PDDR); - /* Power off the LCD DC-DC converter. */ - clps_writeb(clps_readb(PDDR) & ~EDB_PD1_LCD_DC_DC_EN, PDDR); - - /* Delay for a little while (half a second). */ - udelay(100); - - /* Power off the LCD panel. */ - clps_writeb(clps_readb(PDDR) & ~EDB_PD2_LCDEN, PDDR); - - /* Power off the LCD controller. */ + /* Disable LCD controller. */ clps_writel(clps_readl(SYSCON1) & ~SYSCON1_LCDEN, SYSCON1); } } else { if (machine_is_edb7211()) { - /* Power up the LCD controller. */ + /* Enable LCD controller. */ clps_writel(clps_readl(SYSCON1) | SYSCON1_LCDEN, SYSCON1); - /* Power up the LCD panel. */ - clps_writeb(clps_readb(PDDR) | EDB_PD2_LCDEN, PDDR); - - /* Delay for a little while. */ - udelay(100); - - /* Power up the LCD DC-DC converter. */ - clps_writeb(clps_readb(PDDR) | EDB_PD1_LCD_DC_DC_EN, - PDDR); - /* Turn on the LCD backlight. */ clps_writeb(clps_readb(PDDR) | EDB_PD3_LCDBL, PDDR); } @@ -386,21 +367,10 @@ static int __devinit clps711x_fb_probe(struct platform_device *pdev) /* * Power up the LCD */ - if (machine_is_p720t()) { - PLD_LCDEN = PLD_LCDEN_EN; - PLD_PWR |= (PLD_S4_ON|PLD_S3_ON|PLD_S2_ON|PLD_S1_ON); - } + if (machine_is_p720t()) + PLD_PWR |= PLD_S3_ON; if (machine_is_edb7211()) { - /* Power up the LCD panel. */ - clps_writeb(clps_readb(PDDR) | EDB_PD2_LCDEN, PDDR); - - /* Delay for a little while. */ - udelay(100); - - /* Power up the LCD DC-DC converter. */ - clps_writeb(clps_readb(PDDR) | EDB_PD1_LCD_DC_DC_EN, PDDR); - /* Turn on the LCD backlight. */ clps_writeb(clps_readb(PDDR) | EDB_PD3_LCDBL, PDDR); } @@ -418,10 +388,8 @@ static int __devexit clps711x_fb_remove(struct platform_device *pdev) /* * Power down the LCD */ - if (machine_is_p720t()) { - PLD_LCDEN = 0; - PLD_PWR &= ~(PLD_S4_ON|PLD_S3_ON|PLD_S2_ON|PLD_S1_ON); - } + if (machine_is_p720t()) + PLD_PWR &= ~PLD_S3_ON; return 0; } |