[U-Boot] PATCH add rgb555 for at91
Giulio Benetti
giulio.benetti at micronovasrl.com
Thu Jun 18 16:23:32 CEST 2009
Detlev Zundel wrote:
> Hi Giulio,
>
>> Signed-off-by: giulio.benetti at micronovasrl.com
>
> Can you please provide a somewhat more descriptive description? It may
> be obvious for you what this does (or what new features can now be
> used), but it isn't for me.
>
>>
>> diff -urpN b/common/lcd.c a/common/lcd.c
>> --- b/common/lcd.c 2009-06-14 21:30:39.000000000 +0200
>> +++ a/common/lcd.c 2009-06-18 12:45:15.000000000 +0200
>> @@ -1,4 +1,4 @@
>> -/*
>> +/*OC
>> * Common LCD routines for supported CPUs
>> *
>> * (C) Copyright 2001-2002
>> @@ -575,6 +575,10 @@ void bitmap_plot (int x, int y)
>> lut_entry = ((colreg & 0x000F) << 11) |
>> ((colreg & 0x00F0) << 2) |
>> ((colreg & 0x0F00) >> 7);
>> +#elif defined (CONFIG_ATMEL_LCD_RGB555)
>> + lut_entry = ((colreg & 0x000F) << 1) |
>> + ((colreg & 0x00F0) << 2) |
>> + ((colreg & 0x0F00) << 3);
>> #else /* CONFIG_ATMEL_LCD_RGB565 */
>> lut_entry = ((colreg & 0x000F) << 1) |
>> ((colreg & 0x00F0) << 3) |
>> diff -urpN b/drivers/video/atmel_lcdfb.c a/drivers/video/atmel_lcdfb.c
>> --- b/drivers/video/atmel_lcdfb.c 2009-06-14 21:30:39.000000000
>> +0200
>> +++ a/drivers/video/atmel_lcdfb.c 2009-06-18 12:45:15.000000000
>> +0200 @@ -57,6 +57,9 @@ void lcd_setcolreg(ushort regno, ushort
>> #if defined(CONFIG_ATMEL_LCD_BGR555)
> ^^^
> I know this line is not touched by you, but is BGR correct?
>
>> lcdc_writel(panel_info.mmio, ATMEL_LCDC_LUT(regno),
>> (red >> 3) | ((green & 0xf8) << 2) | ((blue & 0xf8)
>> << 7));
>> +#elif defined(CONFIG_ATMEL_LCD_RGB555)
>> + lcdc_writel(panel_info.mmio, ATMEL_LCDC_LUT(regno),
>> + (blue >> 3) | ((green & 0xf8) << 2) | ((red & 0xf8)
>> << 7));
>> #else
>> lcdc_writel(panel_info.mmio, ATMEL_LCDC_LUT(regno),
>> (blue >> 3) | ((green & 0xfc) << 3) | ((red & 0xf8)
>> << 8));
>
> Cheers
> Detlev
>
You're right, sorry.
This patch add support for Rgb 555 bits following a precise hardware wiring
that should be more correct respect the at91sam9263ek.
I mean
LCD2 - LCD7 are RED0 - RED4,
LCD10 - LCD15 are GREEN0 - GREEN4,
LCD18 - LCD23 are BLUE0 - BLUE4
Regarding "LCD_BGR555", it is correct only because at91sam9263ek was wired
swapped between red and blue. It should be in that way but I'm not sure.
Anyway I think the wiring should be done better before, instead of create a
new "standard". Fortunately with software you can change more than
something, but not everything.
--
Giulio Benetti
R&D
Micronova srl
More information about the U-Boot
mailing list