AW: Microwindows on Icecube/CoralP

Jarno Manninen manninej at students.cc.tut.fi
Tue Feb 8 22:28:56 EST 2005


On Tue, 8 Feb 2005, Martin Krause wrote:

> Hm, the SM501 has 8 MB internal RAM. The framebuffer lies within this
> memory. The SM501 is connected with the MPC5200 over the local bus
> interface (not over PCI) and mapped with CS1 to address range
> 0xE0000000-0xE3FFFFFF. The SM501 configuration registers are within
> the mapped memory area at 0xE3E00000. I can't imagine, why the byte
> swapping should only affect accesses to the famebuffer memory and not
> to the configuration registers (where also single bits at the right
> position must be set correctly). I could configure CS1 to do byte
> swapping, but then access to the SM501 configuration registers does
> not work any longer, because this bytes are swapped, too.

Um. Have you written a kernel FB driver? If so then the write/read macros
do this swapping for you. Assuming that you use those for accessing the
device registers. At least SM722 requires those writes to be swapped too.

> Geert, I've seen, you have done much of the fb stuff in the linux
> kernel (thank you for that!). Could you please point me to the best
> place, where byte swapping should be done if I want to use the linux
> text console in 16 bit mode with the MPC5200?

Perhaps the pseudopalette would suffice here, I guess? And supposing that
you have written a FB driver. If not then you have to do the patching at
the gfx-library level.

- Jarno



More information about the Linuxppc-embedded mailing list