[U-Boot] CFI driver and P33 64M flash

Wolfgang Denk
2008-09-25T15:52:28Z

Dear Stefan Roese,

In message <200809251653.30832.sr@denx.de> you wrote:
>
> This will not work. Take a look at the lwmon5 configuration. It has a similar
> Intel FLASH which has two chips inside:
>
> #define CFG_FLASH0 0xFC000000
> #define CFG_FLASH1 0xF8000000
> #define CFG_FLASH_BANKS_LIST { CFG_FLASH1, CFG_FLASH0 }
>
> #define CFG_MAX_FLASH_BANKS 2
>
> ...
>
> You need to change the addresses for your 32MB version though.

Please note that I really dislike such static configurations which
will break as soon as the size of the flash banks changes.

Right from the begining U-Boot was always designed to allow for
dynamic adjustment to the actual memory sizes found on the boards,
and we should just use this capability.

Assuming a 32 bit configuration, above should rather be written as:

#define CFG_FLASH0 (0 - flash_info[0].size)
#define CFG_FLASH1 (CFG_FLASH0 - flash_info[1].size)
#define CFG_FLASH_BANKS_LIST { CFG_FLASH1, CFG_FLASH0 }
...

This may require a preliminary mapping of the flash banks that is
then fixed after the CFI driver determined the real size; see for
example how this was done for the TQM8xx* boards (of course this
needs to be adapted for 4xx, but you get the idea).

Best regards,

Wolfgang Denk

--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
"We don't care. We don't have to. We're the Phone Company."