Trouble indetifying FLASH part

Ho-Kuo Chan hchan at wavesat.com
Fri May 24 10:09:41 EDT 2002


Hi David,
> hchan at wavesat.com said:
> > Calling cfi_probe_chip with bus width 2, interleave 2 and device_type 8
> > Calling cfi_probe_chip with bus width 2, interleave 2 and device_type 16
>
> What you have is a single chip, isn't it?
>
> Why does it never probe for bus width 2, interleave 1 and device_type 16?
>
> --
> dwmw2
Ooops, sorry, I missed part of the copy/paste. This is the result with
interleave at 1 with device_type 16:

Calling cfi_probe_chip with bus width 2, interleave 1 and device_type 16
Output Reg: 0x45480000
TCR: 0x750a0000
ODR: 0x20000
Control 0: 0x17ee616
Addr = 0x0
Cmd_addr = 0x0, CFIDEV_INTERLEAVE = 0x1, type = 0x2
Val = 0xf000
Addr = 0xaa
Cmd_addr = 0x55, CFIDEV_INTERLEAVE = 0x1, type = 0x2
Val = 0x9800
Read 0x=0, cmd = 0x5100
Read 0x=100, cmd = 0x5200
Read = 0x3e00, cmd = 0x5900
CFI Query Failed for driver

Something just occurred to me: the calculated cmd values are endian swapped.
I just checked and LE_BYTE_SWAP is still on, I have just turned it off and
the device is now recognied:

Calling cfi_probe_chip with bus width 2, interleave 1 and device_type 16
Output Reg: 0x45480000
TCR: 0x750a0000
ODR: 0x20000
Control 0: 0x17ee616
Addr = 0x0
Cmd_addr = 0x0, CFIDEV_INTERLEAVE = 0x1, type = 0x2
Val = 0xf0
Addr = 0xaa
Cmd_addr = 0x55, CFIDEV_INTERLEAVE = 0x1, type = 0x2
Val = 0x98
Read 0x=51, cmd = 0x51
Read 0x=52, cmd = 0x52
Read = 0x59, cmd = 0x59
Number of erase regions: 2
Primary Vendor Command Set: 0002 (AMD/Fujitsu Standard)
Primary Algorithm Table at 0040
Alternative Vendor Command Set: 0000 (None)
No Alternate Algorithm Table
Vcc Minimum: 2.7 V
Vcc Maximum: 3.6 V
No Vpp line
Typical byte/word write timeout: 16 µs
Maximum byte/word write timeout: 512 µs
Full buffer write not supported
Typical block erase timeout: 1024 µs
Maximum block erase timeout: 16384 µs
Chip erase not supported
Device size: 0x400000 bytes (4 MiB)
Flash Device Interface description: 0x0002
  - supports x8 and x16 via BYTE# with asynchronous interface
Max. bytes in buffer write: 0x1
Number of Erase Block Regions: 2
  Erase Region #0: BlockSize 0x2000 bytes, 8 blocks
  Erase Region #1: BlockSize 0x10000 bytes, 63 blocks
<snip>
number of CFI chips: 1
mtd: Giving out device 0 to Physically mapped flash

Thanks for your help!!!!

HK





More information about the linux-mtd mailing list