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