This patch adds a config option CONFIG_SYS_LCD_PXA_NO_L_BIAS, which causes the lcd controller initialization code to leave as an ordinary gpio the line that is typically configured as the lcd L_BIAS alternate function (this is the gpio 77 line).
For some reason (I don't have a datasheet), the lcd device on the palmtreo680 board does not use the L_BIAS line. PalmOS does not configure the gpio 77 line for the L_BIAS alternate function, and if it is configured as such, the lcd does not work. Signed-off-by: Mike Dunn <miked...@newsguy.com> --- This is a little ugly, I know, but I didn't want to try and get too fancy. drivers/video/pxa_lcd.c | 18 ++++++++++++++++-- 1 files changed, 16 insertions(+), 2 deletions(-) diff --git a/drivers/video/pxa_lcd.c b/drivers/video/pxa_lcd.c index fd848ef..29f62e9 100644 --- a/drivers/video/pxa_lcd.c +++ b/drivers/video/pxa_lcd.c @@ -478,8 +478,13 @@ static void pxafb_setup_gpio (vidinfo_t *vid) /* bits 74-77 */ writel(readl(GPDR2) | (0xf << 10), GPDR2); +#ifdef CONFIG_SYS_LCD_PXA_NO_L_BIAS + writel((readl(GAFR2_L) & ~(0xff << 20)) | (0x2a << 20), + GAFR2_L); +#else writel((readl(GAFR2_L) & ~(0xff << 20)) | (0xaa << 20), - GAFR2_L); + GAFR2_L); +#endif } /* 8 bit interface */ @@ -497,8 +502,13 @@ static void pxafb_setup_gpio (vidinfo_t *vid) /* bits 74-77 */ writel(readl(GPDR2) | (0xf << 10), GPDR2); +#ifdef CONFIG_SYS_LCD_PXA_NO_L_BIAS + writel((readl(GAFR2_L) & ~(0xff << 20)) | (0x2a << 20), + GAFR2_L); +#else writel((readl(GAFR2_L) & ~(0xff << 20)) | (0xaa << 20), - GAFR2_L); + GAFR2_L); +#endif } /* 16 bit interface */ @@ -511,7 +521,11 @@ static void pxafb_setup_gpio (vidinfo_t *vid) writel((readl(GAFR1_U) & ~(0xfff << 20)) | (0xaaa << 20), GAFR1_U); +#ifdef CONFIG_SYS_LCD_PXA_NO_L_BIAS + writel((readl(GAFR2_L) & 0xf0000000) | 0x02aaaaaa, GAFR2_L); +#else writel((readl(GAFR2_L) & 0xf0000000) | 0x0aaaaaaa, GAFR2_L); +#endif } else { -- 1.7.8.6 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot