[U-Boot] mtd/cfi: SST39VF3201B flash model not properly handled

Angelo Dureghello
2012-11-29T15:30:12Z

Dear Stefan Roese,

> > as Wolfgang Denx suggested me, i am trying to use the u-boot CFI driver with
> > a CFI flash (SSTVF3201B).
>
> Yes. But please take a look at the CONFIG_FLASH_CFI_LEGACY config
> option. This enables the legacy CFI flash devices. And IIRC the SST
> flash chips are supported via this driver/extension.
>

> > This flash chip allows erasing/writing blocks of 4 KBytes (called "sectors"
> > in the SST datasheet), or 64 KBytes (called "blocks").
> >
> > The command sequence table for this flash shows 2 different commands to >
> Please see my comment above. And grep for CONFIG_FLASH_CFI_LEGACY to see
> how its used in the config header. And if necessary, you can always
> extend the CFI configuration in the JEDEC source:
>
> drivers/mtd/jedec_flash.c

thaks for the hint, anyway seems i am unfortunate whit this flash chip:

first of all, i would understand why a flash chip is defined/handled as
leagacy. Can someone kindly clarify this ? SST39VF3201B is a 2M x 16,
CFI compliant.

CFI legacy dont seems anyway to support 0x50 command for erasing a sector,
i grepped and found "only" a CMD_CLEAR_STATUS as 0x50 that don't seems to fit
the case. But the code is not trivial, and i can miss something of course.

Also, legacy flash_info_t don't have any field to define the erase sector
command. But still, i am not sure this chip should be considered legacy.

I grepped for *3201* SST chip, only baord that seems to use it is

esd/common

and this board has her own flash.c

But still, has been suggested me to use CFI driver, so i need to know what
the u-boot community would prefer as approach.

Still a note. I found issues in Linux also for this chip (STT39VF3201B) and
had to ask for a patch on the command set to allow the correct erase command
to be used.

So how should i proceed ?

Many thanks.

Best Regards
Angelo Dureghello