[U-Boot-Users] Can U-boot support CFI and None CFI devices on the same board
Rui Sousa
rui.sousa at laposte.net
Mon Nov 27 23:44:07 CET 2006
On Thursday 23 November 2006 14:42, Yotam Admon wrote:
> Hi,
> I use U-Boot (1.1.4) and try to work with AM29LV040B (AMD None CFI
> Flash) in addition to known CFI flash devices (AMD, Intel, MXIC, SST).
>
> Does anyone have a way to integrate the CFI deriver with none CFI
> devices?
Hi Yotam,
What I did in our local U-boot version was(*):
1. Add a cfi_ prefix to flash functions in drivers/cfi_flash.c:
flash_init --> cfi_flash_init
flash_erase --> cfi_flash_erase
write_buff--> cfi_write_buff
...
2. Change flash base address table, in drivers/cfi_flash.c also:
flash_info_t flash_info --> extern flash_info_t flash_info
3. Create in our board specific directory a flash.c file with all the flash
interface functions and the declaration of flash_info:
flash_info_t flash_info[CFG_MAX_FLASH_BANKS];
flash_init()
flash_erase()
write_buff()
...
4. From my flash_init() I call cfi_flash_init() first. This will change the
flash_id for all CFI compatible flashes in the flash_info table.
5. For all other flash types I use my own flash driver(s).
6. flash_erase(), for example, then looks like this:
if (info->flash_id == FLASH_MAN_CFI)
return cfi_flash_erase(info, s_first, s_last);
else
/ * call my flash driver specific flash_erase */
> Thanks,
> Yotam
I hope the helps you,
Rui
*) I don't see a way for this to be merged into U-boot any time soon since it
implies changes for all boards using the CFI driver.
More information about the U-Boot
mailing list