Commit b5c26f97 authored by Michael Grzeschik's avatar Michael Grzeschik Committed by Linus Torvalds

lxfb: set the H- and V-SYNC polarity of the flatpanel output

Fixup for the flatpanel output.  The geode_modedb attribute flags are used
to set the SYNC polarity of the flatpanel.  Without this patch our
flatpanel registers stayed unconfigured, so we just saw garbage output.
Signed-off-by: default avatarMichael Grzeschik <m.grzeschik@pengutronix.de>
Cc: Andres Salomon <dilinger@collabora.co.uk>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 4fd2c20d
...@@ -365,6 +365,8 @@ enum fp_registers { ...@@ -365,6 +365,8 @@ enum fp_registers {
FP_CRC, /* 0x458 */ FP_CRC, /* 0x458 */
}; };
#define FP_PT2_HSP (1 << 22)
#define FP_PT2_VSP (1 << 23)
#define FP_PT2_SCRC (1 << 27) /* shfclk free */ #define FP_PT2_SCRC (1 << 27) /* shfclk free */
#define FP_PM_P (1 << 24) /* panel power ctl */ #define FP_PM_P (1 << 24) /* panel power ctl */
......
...@@ -274,7 +274,15 @@ static void lx_graphics_enable(struct fb_info *info) ...@@ -274,7 +274,15 @@ static void lx_graphics_enable(struct fb_info *info)
u32 msrlo, msrhi; u32 msrlo, msrhi;
write_fp(par, FP_PT1, 0); write_fp(par, FP_PT1, 0);
write_fp(par, FP_PT2, FP_PT2_SCRC); temp = FP_PT2_SCRC;
if (info->var.sync & FB_SYNC_HOR_HIGH_ACT)
temp |= FP_PT2_HSP;
if (info->var.sync & FB_SYNC_VERT_HIGH_ACT)
temp |= FP_PT2_VSP;
write_fp(par, FP_PT2, temp);
write_fp(par, FP_DFC, FP_DFC_BC); write_fp(par, FP_DFC, FP_DFC_BC);
msrlo = MSR_LX_MSR_PADSEL_TFT_SEL_LOW; msrlo = MSR_LX_MSR_PADSEL_TFT_SEL_LOW;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment