[U-Boot-Users] [patch] do not use cmd_reset uninitialized in cfi_flash.c

Stefan Roese sr at denx.de
Tue Jan 29 14:13:38 CET 2008


On Tuesday 29 January 2008, Mike Frysinger wrote:
> On Tuesday 29 January 2008, Stefan Roese wrote:
> > On Tuesday 29 January 2008, Mike Frysinger wrote:
> > > The cmd_reset member of the flash info struct is not initialized until
> > > the specific cmdset function is called.  This normally happens by:
> > >  flash_get_size -> flash_detect_cfi -> cmdset_*_init
> > > That means we cannot use cmd_reset inside of the cfi detection
> > > functions.
> >
> > Right. But your version now uses the Intel reset command (0xff)
> > unconditionally. AMD/Spansion style flash chips need AMD_CMD_RESET (0xf0)
> > instead. Any idea how we should handle this?
>
> i saw that, but there's a define already to account for this i think:
> CFG_FLASH_CFI_AMD_RESET ... or did i miss the purpose of this ?

But you need to know what FLASH chips you are using in this case (Intel or 
AMD/Spansion). But you are right, they are not pin compatible, so it should 
be fixed for one board and your solution should be ok. The board config file 
just has to select CFG_FLASH_CFI_AMD_RESET is AMD/Spasion style flash chips 
are used.

> the other option is to just not issue a reset ... when i looked at the
> kernel, it didnt seem to issue a reset in the cfi detection case

Yes, this is probably an even better solution, since we have here a 
chicken-egg-problem.

Any thoughts on this? How should we proceed?

Best regards,
Stefan

=====================================================================
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80  Email: office at denx.de
=====================================================================




More information about the U-Boot mailing list