[U-Boot-Users] AT91 with framebuffer in SDRAM

Zac Wheeler zac.wheeler at gmail.com
Tue Oct 23 21:56:42 CEST 2007


On 10/22/07, Ulf Samuelsson <ulf at atmel.com> wrote:
>
> The environment variables should be stored in flash, not in SDRAM.
> - Even if you execute from SDRAM.
>
> What type of flash are you using.
> My stuff is there to support dataflash, and anything else
> get little or no testing.

I am using dataflash for everything. Everything is pretty equivalent
to your code base, just the LCD timing values and the fb_base have
changed.

Maybe I should rephrase. Everything seems fine once it is in
dataflash. But if I `setenv bootcmd something' and then `saveenv`, it
says "saving to dataflash...". `printenv` prints back the correct
value (bootcmd=something), which I understand it isn't actually
reloading from dataflash. If I then reset the board that
bootcmd=something is gone. The environment variables are not in
protected dataflash.

In board/at91sam9261ek/at91sam9261ek.c
If I change
gd->fb_base = (unsigned long) PHYS_SDRAM  + 0x10000;
back to
gd->fb_base = (unsigned long) AT91C_IRAM;
the LCD goes wonky but saving to dataflash works again.

The problem is that my framebuffer needs to be 384k, which is too big
for the internal ram.  Looking at what I just wrote it seems that
maybe it is the writes to dataflash that are breaking, and not
actually parts of the SDRAM getting corrupted.

Zac




More information about the U-Boot mailing list