[ELDK] question of probing flash in linux
xiangguo_li at hotmail.com
xiangguo_li at hotmail.com
Sat Jun 14 20:01:08 CEST 2008
hello,
in the system, there are two 28f128(16MB,x16) connected to 32 bits
interface.
when u-boot is up, a 'fli' command could get the following results:
Bank # 2: CFI conformant FLASH (32 x 16) Size: 32 MB in 128 Sectors
Intel Extended command set, Manufacturer ID: 0x89, Device ID: 0x18
Erase timeout: 4096 ms, write timeout: 1 ms
Buffer write timeout: 2 ms, buffer size: 32 bytes
Sector Start Addresses:
FC000000 FC040000 ...... FDFC0000
the result is correct.
while in linux, I built memory map files under ./drivers/mtd/maps,
if i set .bankwidth (in struct map_info) to 2 and 4, I get "map probe
failed";
when setting .bankwidth to 1, I get the following:
: big flash mapping: 2000000 @ fc000000
Big Flash: Found 1 x32 devices at 0x0 in 8-bit bank
Intel/Sharp Extended Query Table at 0x0031
Using buffer write method
cfi_cmdset_0001: Erase suspend on write enabled
Creating 4 MTD partitions on "Big Flash":
0x00000000-0x00200000 : "kernel"
mtd: Giving out device 3 to kernel
0x00200000-0x00240000 : "dtb"
mtd: Giving out device 4 to dtb
0x00240000-0x00640000 : "initrd"
mtd: Giving out device 5 to initrd
0x00640000-0x02000000 : "jffs2"
mtd: partition "jffs2" extends beyond the end of device "Big Flash" -- size
truncated to 0x9c0000
mtd: Giving out device 6 to jffs2
it seems that:
(1) the probing result is strange but wrong: 1 x32 devices at 0x0 in 8-bit
bank.
(2) half of the flash volume is truncated off.
and, I have set these configuration options: CONFIG_MTD_CFI_ADV_OPTIONS \
CONFIG_MTD_MAP_BANK_WIDTH_1\ CONFIG_MTD_MAP_BANK_WIDTH_2 \
CONFIG_MTD_MAP_BANK_WIDTH_4 \ CONFIG_MTD_MAP_BANK_WIDTH_8 \
CONFIG_MTD_MAP_BANK_WIDTH_16 \ CONFIG_MTD_MAP_BANK_WIDTH_32
what's the possible reasons of this question?
thank you.
-lxg
-lxg
More information about the eldk
mailing list