
Wolfgang Denk writes:
...
Yuli> The problem is that you usually have to specify Yuli> BR0_PRELIM/OR0_PRELIM which can't refer to variables like Yuli> flash_info. You can initialise chip selects in the flash Yuli> driver if you write board-specific driver but if you use Yuli> common driver (CFI) things are more complicated.
Wolfgang> Yet another reason for me to use the CFI driver, umm, only Wolfgang> occasionally.
Well, if a useful driver has problems, IMHO it's better to fix the problems than to discard the driver:) I looked at many board-specific flash drivers and many of them are clones containing all the bugs and irrelevant code from the original versions. Of course, CFI driver needs improvements and you've got several patches in the backlog with more coming, but endless cloning of board-specific drivers IMHO is not a better solution. When porting U-Boot to a new board, I find it very useful to be able just to #define CONFIG_CFI instead of writing another flash driver. Linux MTD handles it well and U-Boot driver is much simpler than the Linux' one because it does not work in a multi-tasking environment.