Subject: Re: [F]Framebuffer driver using SM501 hardware.

From: Andrey Volkov <[email-masked]>
Date: Wed, 17 Aug 2005 18:52:33 +0400

Clemens Koller wrote:
> Hi Geert, Andrey and friends...
> 
> I am working on ppc, MPC8540, SM501 on PCI,
> drivers=voyagerfb-0.2.tar.gz from last post.
> on linux-2.6
> 
> Geert wrote:
> 
>> Sorry, I cannot follow.
>>
>>  1. If it's a palette issue, your setcolreg() routine doesn't fill in
>> correctly
>>     the pseudo palette,
>>  2. If it's a RGB565 vs. BGR565 issue, you don't fill in correctly the
>> offsets
>>     in the color bitfields in fb_var_screeninfo,
>>  3. If it's an endian issue, it's RRRRRGGGGGGBBBBB vs.GGBBBBBRRRRGGGG,
>> right?
>>     And then there's no much we can do...
> 
> 
> It looks for me like 3. = bytes are flipped = an endian issue:
> In 32 (RGBAlpha) mode (the one we want to use) the colors appear
> wrong. I get my /dev/fb0 appear as
> BB GG RR aa BB GG RR aa BB GG RR aa ...
> 
> In the 
> great 
You're forget qutation here :)

SM501 Databook Version 1.02, Page 2-39, it says:
> Configuration 2, Endian Control at MMIO_base+0x00005c:
> write 0x00000000 for little endian or
> write 0xffffffff for big endian
> into this register before touching any other register of the sm501.
> I've tried that, but it didn't change anything on my system. :-(
> (Well, we can flip the DAC outputs in our hw design ;-)
As I understand, but I'm not sure, LE/BE controlled only by some GPIO
pin (GPIO4 was on rev A/B). I try write to this reg too, with same result.

> 
> Best greets,
> 
> Clemens
> _______________________________
> R&D Imaging Devices
> Anagramm GmbH
> Rupert-Mayer-Str. 45/1
> 81379 Muenchen
> Germany
> 
> http://www.anagramm.de
> Phone: +49-89-741518-50
> Fax: +49-89-741518-19
> 
> ------------------------------------------------
> details:
> 
> $ cp red /dev/fb0 gives me a some red color...
> $ bvi red
> 00000000  00 00 FF 00 00 00 FF 00 00 00 FF 00 00 00 FF 00 ................
> 00000010  00 00 FF 00 00 00 FF 00 00 00 FF 00 00 00 FF 00 ................
> 00000020  00 00 FF 00 00 00 FF 00 00 00 FF 00 00 00 FF 00 ................
> ...
> $ cp green /dev/fb0 gives me a some green color...
> 00 FF 00 00 00 FF 00 00 00 FF 00 00 00 FF 00 00
> ...
> $ cp blue /dev/fb0
> well... blue
> FF 00 00 00 FF 00 00 00 FF 00 00 00 FF 00 00 00
> 

-- 
Regards
Andrey Volkov