From dad631ccf720b78201e4b026422bb347fec64f5a Mon Sep 17 00:00:00 2001 From: Nikita Kiryanov Date: Thu, 20 Dec 2012 00:52:34 +0000 Subject: [PATCH 1/2] lcd: restore ability to display 8 bpp BMPs on 16 bpp LCDs Commit fb6a9aab7ae78c (LCD: display 32bpp decompressed bitmap image) broke the check that allowed U-Boot to display 8 bpp BMPs on a 16 bpp LCD screen, effectively turning this feature off. Restore this feature by changing the check back to the same meaning it originally had. To avoid future confusion, the check has also been rephrased to make its meaning clear. Signed-off-by: Nikita Kiryanov Signed-off-by: Igor Grinberg --- common/lcd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/lcd.c b/common/lcd.c index 4778655a26..66d4f94f9e 100644 --- a/common/lcd.c +++ b/common/lcd.c @@ -888,7 +888,7 @@ int lcd_display_bitmap(ulong bmp_image, int x, int y) } /* We support displaying 8bpp BMPs on 16bpp LCDs */ - if (bpix != bmp_bpix && (bmp_bpix != 8 || bpix != 16 || bpix != 32)) { + if (bpix != bmp_bpix && !(bmp_bpix == 8 && bpix == 16)) { printf ("Error: %d bit/pixel mode, but BMP has %d bit/pixel\n", bpix, le16_to_cpu(bmp->header.bit_count)); From 44a53b57439dc1f117135b4f8c22d25915096164 Mon Sep 17 00:00:00 2001 From: Wolfgang Denk Date: Thu, 3 Jan 2013 00:43:59 +0000 Subject: [PATCH 2/2] VIDEO: better document the correct use of CONFIG_FB_ADDR Signed-off-by: Wolfgang Denk cc: Anatolij Gustschin --- README | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/README b/README index 8707bf2d7c..a336476237 100644 --- a/README +++ b/README @@ -2714,10 +2714,13 @@ FIT uImage format: CONFIG_FB_ADDR Define CONFIG_FB_ADDR if you want to use specific - address for frame buffer. - Then system will reserve the frame buffer address to - defined address instead of lcd_setmem (this function - grabs the memory for frame buffer by panel's size). + address for frame buffer. This is typically the case + when using a graphics controller has separate video + memory. U-Boot will then place the frame buffer at + the given address instead of dynamically reserving it + in system RAM by calling lcd_setmem(), which grabs + the memory for the frame buffer depending on the + configured panel size. Please see board_init_f function.