From mboxrd@z Thu Jan 1 00:00:00 1970 From: "stanley.miao" Subject: [PATCH] ARM: OMAP3: Fix omapfb's problem on OMAP3430sdp Date: Mon, 08 Sep 2008 10:42:31 +0800 Message-ID: <1220841751.28777.9.camel@localhost> Reply-To: stanley.miao@windriver.com Mime-Version: 1.0 Content-Type: text/plain Content-Transfer-Encoding: 7bit Return-path: Received: from mail.windriver.com ([147.11.1.11]:38130 "EHLO mail.wrs.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751792AbYIHCkU (ORCPT ); Sun, 7 Sep 2008 22:40:20 -0400 Sender: linux-omap-owner@vger.kernel.org List-Id: linux-omap@vger.kernel.org To: "linux-omap@vger.kernel.org" Cc: Tony Lindgren For clarity, I re-send this request. In RGB565 mode, red and blue color are filtered, so the picture on LCD looks green and dark. Fix omapfb's problem on OMAP3430sdp. Signed-off-by: Stanley.Miao --- drivers/video/omap/lcd_2430sdp.c | 18 ++++++++++++++++++ 1 files changed, 18 insertions(+), 0 deletions(-) diff --git a/drivers/video/omap/lcd_2430sdp.c b/drivers/video/omap/lcd_2430sdp.c index 9af6cd0..3747e7d 100644 --- a/drivers/video/omap/lcd_2430sdp.c +++ b/drivers/video/omap/lcd_2430sdp.c @@ -23,6 +23,7 @@ #include #include +#include #include #include @@ -45,6 +46,10 @@ static unsigned enable_gpio; #define ENABLE_VAUX3_DEDICATED 0x03 #define ENABLE_VAUX3_DEV_GRP 0x20 +#define ENABLE_VPLL2_DEDICATED 0x05 +#define ENABLE_VPLL2_DEV_GRP 0xE0 +#define TWL4030_VPLL2_DEV_GRP 0x33 +#define TWL4030_VPLL2_DEDICATED 0x36 #define t2_out(c, r, v) twl4030_i2c_write_u8(c, r, v) @@ -77,11 +82,19 @@ static int sdp2430_panel_enable(struct lcd_panel *panel) u8 ded_val, ded_reg; u8 grp_val, grp_reg; + if (machine_is_omap_3430sdp()) { ded_reg = TWL4030_VAUX3_DEDICATED; ded_val = ENABLE_VAUX3_DEDICATED; grp_reg = TWL4030_VAUX3_DEV_GRP; grp_val = ENABLE_VAUX3_DEV_GRP; + + if (is_sil_rev_greater_than(OMAP3430_REV_ES1_0)) { + t2_out(PM_RECEIVER, ENABLE_VPLL2_DEDICATED, + TWL4030_VPLL2_DEDICATED); + t2_out(PM_RECEIVER, ENABLE_VPLL2_DEV_GRP, + TWL4030_VPLL2_DEV_GRP); + } } else { ded_reg = TWL4030_VAUX2_DEDICATED; ded_val = ENABLE_VAUX2_DEDICATED; @@ -104,6 +117,11 @@ static void sdp2430_panel_disable(struct lcd_panel *panel) { omap_set_gpio_dataout(enable_gpio, 0); omap_set_gpio_dataout(backlight_gpio, 0); + if (is_sil_rev_greater_than(OMAP3430_REV_ES1_0)) { + t2_out(PM_RECEIVER, 0x0, TWL4030_VPLL2_DEDICATED); + t2_out(PM_RECEIVER, 0x0, TWL4030_VPLL2_DEV_GRP); + mdelay(4); + } } static unsigned long sdp2430_panel_get_caps(struct lcd_panel *panel) -- 1.5.6.3