[U-Boot] U-boot running on DDR fails to detect the CFI compliant flash
Francisco
francisco.missael at gmail.com
Wed Feb 15 09:14:36 CET 2012
Stefan Roese <sr <at> denx.de> writes:
>
> Hi Prakash,
>
> On Friday 15 January 2010 14:23:35 prakash bedge wrote:
> > In October 09 month, I had asked whether U-boot supports M29W128GH, a CFI
> > compilant chip and I got a yes reply. Please refer below URL for reference.
> >
> > http://www.mail-archive.com/u-boot <at> lists.denx.de/msg24531.html.
>
> Link not found. Please correct.
>
> > So I have used Uboot for my PPC440 based board.
> >
> > When I flashed U-boot on flash and then run the Uboot in DDR then U-boot
> > running on DDR fails to detect CFI chip M29W128GH (16M x 8 mode).
> >
> > flash_detect_cfi function gives error that flash not found. I have added
> > debug statements for temporary debug purpose.
> > Please see the below error I am getting.
> >
> > The CFI query address looks different in below code and not as per ST make
> > M29W128GH specs. PCIMW.
>
> What's the difference then? Please give an example.
>
> I suggest you take a look at this prelimiary patch:
>
> http://lists.denx.de/pipermail/u-boot/2009-December/065562.html
>
> Please let me know if this helps or not.
>
> Cheers,
> 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
>
Hello everyone,
Im still facing this issue with i tried to detect the M29W256G . I applied
the patch above and the code keeps on hanging in the first reset commmad.
void __flash_cmd_reset(flash_info_t *info)
{
/*
* We do not yet know what kind of commandset to use, so we issue
* the reset command in both Intel and AMD variants, in the hope
* that AMD flash roms ignore the Intel command.
*/
flash_write_cmd(info, 0, 0, AMD_CMD_RESET); <<<<<----HERE it stops
if(info->cfi_fixup & CFI_NUMONYX_FIXUP)
return;
udelay(1);
flash_write_cmd(info, 0, 0, FLASH_CMD_RESET);
}
void flash_cmd_reset(flash_info_t *info)
__attribute__((weak,alias("__flash_cmd_reset")));
static int __flash_detect_cfi (flash_info_t * info, struct cfi_qry *qry)
{
int cfi_offset;
#define reset() writew(0x00F0, CONFIG_SYS_FLASH_BASE)
#define unlock() writel(0x00AA, CONFIG_SYS_FLASH_BASE+(0x555<<1));
writel(0x0055, CONFIG_SYS_FLASH_BASE+(0x2AA<<1))
/* Issue FLASH reset command */
info->cfi_fixup = 0;
#ifdef CONFIG_FLASH_NUMONYX_FIXUP
info->cfi_fixup = CFI_NUMONYX_FIXUP;
#endif
flash_cmd_reset(info);
Boot Device: SD
I2C: ready
DRAM: 2 GB
fwc addr 08000000 cmd f0 f0 8bit x 8 bit
if you please could provide any hint about who to overcome this issue, I would
apprecieate it so baddly.
Regards,
Francisco
More information about the U-Boot
mailing list