summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorPetr Cvek <petr.cvek@tul.cz>2015-09-28 23:16:14 +0200
committerRobert Jarzmik <robert.jarzmik@free.fr>2015-10-14 23:06:55 +0200
commitfa5407ad9cd9aa41e00102073958475a89ac5456 (patch)
tree4801d7e49ecfbbc2b47f66c32aa114093a4a4dd9 /arch
parentARM: pxa: magician: Rename abstract LCD GPIOs (diff)
downloadlinux-fa5407ad9cd9aa41e00102073958475a89ac5456.tar.xz
linux-fa5407ad9cd9aa41e00102073958475a89ac5456.zip
ARM: pxa: magician: Optimize powerup delays for Samsung LCD
Delays for the Samsung LCD are greater than needed. These values were extracted from a datasheet. Signed-off-by: Petr Cvek <petr.cvek@tul.cz> Acked-by: Philipp Zabel <philipp.zabel@gmail.com> Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/mach-pxa/magician.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/arch/arm/mach-pxa/magician.c b/arch/arm/mach-pxa/magician.c
index f52351a389ef..4846f5a70696 100644
--- a/arch/arm/mach-pxa/magician.c
+++ b/arch/arm/mach-pxa/magician.c
@@ -299,21 +299,19 @@ static void samsung_lcd_power(int on, struct fb_var_screeninfo *si)
gpio_set_value(GPIO75_MAGICIAN_SAMSUNG_POWER, 1);
else
gpio_set_value(EGPIO_MAGICIAN_LCD_POWER, 1);
- mdelay(10);
+ mdelay(6);
gpio_set_value(GPIO106_MAGICIAN_LCD_DCDC_NRESET, 1);
- mdelay(10);
+ mdelay(6); /* Avdd -> Voff >5ms */
gpio_set_value(GPIO104_MAGICIAN_LCD_VOFF_EN, 1);
- mdelay(30);
+ mdelay(16); /* Voff -> Von >(5+10)ms */
gpio_set_value(GPIO105_MAGICIAN_LCD_VON_EN, 1);
- mdelay(10);
} else {
- mdelay(10);
gpio_set_value(GPIO105_MAGICIAN_LCD_VON_EN, 0);
- mdelay(30);
+ mdelay(16);
gpio_set_value(GPIO104_MAGICIAN_LCD_VOFF_EN, 0);
- mdelay(10);
+ mdelay(6);
gpio_set_value(GPIO106_MAGICIAN_LCD_DCDC_NRESET, 0);
- mdelay(10);
+ mdelay(6);
if (system_rev < 3)
gpio_set_value(GPIO75_MAGICIAN_SAMSUNG_POWER, 0);
else