[PATCH] fix-lcm-flicker.patch
Andy Green
andy at openmoko.com
Wed Mar 26 13:16:40 CET 2008
Resolve LCM flicker issue at source by modifying LCM register
to not swap Red / Blue data strobe timing on alternate frames only.
Select instead mode 4 which swaps on alternate lines and frames, so
we take advantage of EMI reduction but do not see the flicker.
Signed-off-by: Andy Green <andy at openmoko.com>
---
arch/arm/mach-s3c2440/mach-gta02.c | 3 ++-
drivers/mfd/glamo/glamo-core.c | 2 +-
drivers/video/display/jbt6k74.c | 6 +++++-
3 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/arch/arm/mach-s3c2440/mach-gta02.c b/arch/arm/mach-s3c2440/mach-gta02.c
index 3fc7398..4b0dc50 100644
--- a/arch/arm/mach-s3c2440/mach-gta02.c
+++ b/arch/arm/mach-s3c2440/mach-gta02.c
@@ -1196,7 +1196,8 @@ gta02_glamo_mmc_set_power(unsigned char power_mode, unsigned short vdd)
static struct glamofb_platform_data gta02_glamo_pdata = {
.width = 43,
.height = 58,
- .pixclock = 40816, /* 24.5MHz nom, 40.816ns */
+ /* 24.5MHz --> 40.816ns */
+ .pixclock = 40816,
.left_margin = 8,
.right_margin = 16,
.upper_margin = 2,
diff --git a/drivers/mfd/glamo/glamo-core.c b/drivers/mfd/glamo/glamo-core.c
index 628d40d..3544c52 100644
--- a/drivers/mfd/glamo/glamo-core.c
+++ b/drivers/mfd/glamo/glamo-core.c
@@ -678,7 +678,7 @@ static struct glamo_script glamo_init_script[] = {
*/
{ GLAMO_REG_IRQ_ENABLE, 0x01ff },
{ GLAMO_REG_CLOCK_GEN6, 0x2000 },
- { GLAMO_REG_CLOCK_GEN7, 0x0001 }, /* 0101 */
+ { GLAMO_REG_CLOCK_GEN7, 0x0002 }, /* 1 = /2, 2 = /3 */
{ GLAMO_REG_CLOCK_GEN8, 0x0100 },
{ GLAMO_REG_CLOCK_HOST, 0x000d },
{ 0x200, 0x0ef0 },
diff --git a/drivers/video/display/jbt6k74.c b/drivers/video/display/jbt6k74.c
index c37143a..85582e3 100644
--- a/drivers/video/display/jbt6k74.c
+++ b/drivers/video/display/jbt6k74.c
@@ -206,7 +206,11 @@ static int jbt_init_regs(struct jbt_info *jbt, int qvga)
rc |= jbt_reg_write(jbt, JBT_REG_VCOM_VOLTAGE, 0x40);
rc |= jbt_reg_write(jbt, JBT_REG_EXT_DISPL, 0x03);
rc |= jbt_reg_write(jbt, JBT_REG_DCCLK_DCEV, 0x04);
- rc |= jbt_reg_write(jbt, JBT_REG_ASW_SLEW, 0x02);
+ /*
+ * default of 0x02 in JBT_REG_ASW_SLEW responsible for 72Hz requirement
+ * to avoid red / blue flicker
+ */
+ rc |= jbt_reg_write(jbt, JBT_REG_ASW_SLEW, 0x04);
rc |= jbt_reg_write(jbt, JBT_REG_DUMMY_DISPLAY, 0x00);
rc |= jbt_reg_write(jbt, JBT_REG_SLEEP_OUT_FR_A, 0x11);
More information about the openmoko-kernel
mailing list