
On 07/09/10 10:26, Stefan Roese wrote:
Hi Chris,
On Tuesday 07 September 2010 19:05:46 Chris Packham wrote:
My u-boot config is currently setup for the 2x32MB case i.e. CONFIG_SYS_MAX_FLASH_BANKS = 2, CONFIG_SYS_FLASH_BANKS_LIST = {base, base+32MB}. The problem with this is that when flash_get_size is called on the 1x64 chip it discovers the same chip the 2nd time around and promptly walks off the end of the memory area I have allocated for it.
Is there any existing way to make the cfi_flash driver handle this situation for me?
I just recently sent a patchset for the CFI driver that could help to handle such a situation. Here the most interesting patch:
http://www.mail-archive.com/u-boot@lists.denx.de/msg37234.html
I would suggest to set CONFIG_SYS_MAX_FLASH_BANKS_DETECT to 2 and then add some board specific code to determine the real bank count and set cfi_flash_num_flash_banks accordingly.
Thanks for the pointers. For now I've followed the example in tqm834x.c. I've done it in such a way that when we next pull in upstream u-boot it should co-exists nicely with your proposed patch.