From 59d80bf180c39e4e83ec23654dc17ce514c88208 Mon Sep 17 00:00:00 2001
From: Wolfgang Denk <wd@pollux.(none)>
Date: Wed, 21 Sep 2005 15:24:52 +0200
Subject: [PATCH] Fix computation of framebuffer palette for 8bpp LCD bitmaps
 Patch by Francesco Mandracci, 16 Sep 2005

---
 CHANGELOG    | 3 +++
 common/lcd.c | 5 ++---
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/CHANGELOG b/CHANGELOG
index 1b47ce4615..54420fc195 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -2,6 +2,9 @@
 Changes for U-Boot 1.1.4:
 ======================================================================
 
+* Fix computation of framebuffer palette for 8bpp LCD bitmaps
+  Patch by Francesco Mandracci, 16 Sep 2005
+
 * Update configuration for INKA4x0 board
 
 * Update configuration for PM854 board
diff --git a/common/lcd.c b/common/lcd.c
index a85599dd76..7bf7a63fd7 100644
--- a/common/lcd.c
+++ b/common/lcd.c
@@ -638,9 +638,8 @@ int lcd_display_bitmap(ulong bmp_image, int x, int y)
 			bmp_color_table_entry_t cte = bmp->color_table[i];
 			ushort colreg =
 				( ((cte.red)   << 8) & 0xf800) |
-				( ((cte.green) << 4) & 0x07e0) |
-				( (cte.blue) & 0x001f) ;
-
+				( ((cte.green) << 3) & 0x07e0) |
+				( ((cte.blue)  >> 3) & 0x001f) ;
 #ifdef CFG_INVERT_COLORS
 			*cmap = 0xffff - colreg;
 #else
-- 
2.39.5