Hello All, My board has one 16-bit flash: ST M29W640DB.
M29W640DB (16 bit bus):
0x00000000-0x00700000 : "Root" 0x00700000-0x00720000 : "U-Boot Bootloader" 0x00720000-0x01000000 : "Linux Kernel"
When power on, Linux kernel boots from flash and print out info such as: " .............................................. PPP generic driver version 2.4.2 .............................................. EP8248 flash map (size->0x800000 mem->0xFF800000) Amd/Fujitsu Extended Query Table v1.3 at 0x0040 number of CFI chips: 1 cfi_cmdset_0002: Disabling fast programming due to code brokenness. Creating 3 MTD partitions on "EP8248 flash memory": 0x00000000-0x00700000 : "Root" 0x00700000-0x00720000 : "U-Boot Bootloader" 0x00720000-0x01000000 : "Linux Kernel"
...................................... jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00060000: 0x0020 instead jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00060004: 0x22df instead jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0006000c: 0x0008 instead Further such events for this erase block will not be printed ................................................................ Further such events for this erase block will not be printed JFFS2: Erase block at 0x003a0000 is not formatted. It will be erased jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x003c0000: 0x0020 instead jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x003c0004: 0x22df instead jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x003c000c: 0x0008 instead
Further such events for this erase block will not be printed JFFS2: Erase block at 0x003c0000 is not formatted. It will be erased .................................................................... .................................................................... " In u-boot, I entered commands to display memory: u-boot=> md 0xff000000 The magic number 0x1985 IS here!No 0x0020 exists at all!!
It's quite strange!! Why Linux detects 0x0020 instead?
Why U-boot can read the data on flash correctly while linux can't?
Why linux always read all data as 0x0020?
When I simply replace ST M29W640DB with AMD AM29DL640D (the two chips are pin-to-pin compatible,) JFFS2 works very fine!
What's the problem?
I don't want to use AMD FLASH, can u suggest me what necessary changes are to be made in the code so that the ST M29W640DB Flash work,
Regards, VB
DISCLAIMER: This email (including any attachments) is intended for the sole use of the intended recipient/s and may contain material that is CONFIDENTIAL AND PRIVATE COMPANY INFORMATION. Any review or reliance by others or copying or distribution or forwarding of any or all of the contents in this message is STRICTLY PROHIBITED. If you are not the intended recipient, please contact the sender by email and delete all copies; your cooperation in this regard is appreciated.