
Hello.
I'm using the AM29LV160DT (top boot block) with the u-boot CFI flash driver. It seems that U-boot thinks this is a bottom boot block device:
flinfo:
Bank # 1: CFI conformant FLASH (16 x 16) Size: 2 MB in 35 Sectors Erase timeout 16384 ms, write timeout 0 ms, buffer write timeout 1 ms, buffer size 1 Sector Start Addresses: B8000000 B8004000 B8006000 B8008000 B8010000 B8020000 B8030000 B8040000 B8050000 B8060000 B8070000 B8080000 B8090000 B80A0000 B80B0000 B80C0000 B80D0000 B80E0000 B80F0000 B8100000 B8110000 B8120000 B8130000 B8140000 B8150000 B8160000 B8170000 B8180000 B8190000 B81A0000 B81B0000 B81C0000 B81D0000 B81E0000 B81F0000
Note the boot sectors are appearing at the bottom of the device instead of the top.
There is a note in the CFI specification that states:
1. Erase Blocks always start at address 0 of the Bottom Boot or Uniform Low Version of the Flash Device
So I assume, the CFI information in the device is correct and it must be swapped if you have a top boot block device. If this is true, the sector information needs to be reversed after the device is scanned. Unfortunately, the CFI data for this device does not include top/bottom boot info. The only other information I have found to key off of is the device ID.
Has anyone else run into this problem and is there a better solution than keying off the device ID and then reversing the sector info?
Thanks, Cliff
-- ======================= Cliff Brake http://bec-systems.com