
Hello,
in message 40179180.7070608@imms.de you wrote:
So I suspected the write_buff function in boards/csb226/flash.c (which wrote the two chips sequentially as two 16-bit words) and modified it to access both chips in parallel as 32 bit (the flash_erase function already works this way). The flash write problem seems to be gone now. Did anyone else experience such problems, or is just our board equipped with particularly unequal or pernickety flash chips?
If the erase function was already working that way it should be probably OK to use this for writes, too.
In the attached patch, the old functions are just #ifdef'd out and could be easily reactivated.
I removed the old code; if anybody should really need it it's in the CVS history.
Thanks for the patch, added.
There's one more thing I'm unsure about: Which is the right place to set the CPU clock? In boards/csb226/memsetup.S it is set to a default value. In cpu/pxa/start.S it is set to the configured CFG_CPUSPEED value, but memsetup is called after this.
I didn't care about the PXA yet, but "memsetup.S" should set up the memory controller; clocks should probably be set up in some cpu/pxa/ file.
Best regards, Viele Grüße,
Wolfgang Denk