[U-Boot-Users] [PATCH] CFI driver AMD Command Set Top boot geometry reversal, etc. [Updated]

Timur Tabi timur at freescale.com
Fri Nov 10 23:44:07 CET 2006

Timur Tabi wrote:
> Stefan Roese wrote:
>> As you may notice, even the ID's are not correct (0020 and 22c4 are correct) 
>> and the geometry is not correct (bottom instead of top).
> It looks like the problem with the IDs (I have them too) is that 
> flash_read_jedec_ids() is broken.  After sending the commands, the function 
> just reads the regular data instead of the command reply.

Well, I think I fixed it.

In flash_read_jedec_ids(), make this change:

-               flash_write_cmd(info, 0, 0, FLASH_CMD_READ_ID);
+               flash_write_cmd(info, 0, AMD_ADDR_START, FLASH_CMD_READ_ID);

I got the value of AMD_ADDR_START from the MX29LV640BT/BB reference manual, 
which says that the third bus cycle should be a write of 90h to 555 or AAA, 
depending on the width.

Now when I run flinfo, I get this:

Bank # 1: CFI conformant FLASH (16 x 16)  Size: 8 MB in 135 Sectors
   AMD Standard command set, Manufacturer ID: 0xC2, Device ID: 0xC9
   Erase timeout: 16384 ms, write timeout: 1 ms

If this fix is real, then it means that flash_read_jedec_ids() never worked 
for any AMD part.

Timur Tabi
Linux Kernel Developer @ Freescale

More information about the U-Boot mailing list