Copy files to jffs2 partition have problem

Jonas Holmberg jonas.holmberg at
Wed Feb 4 14:53:34 EST 2004

On Thu, Feb 05, 2004 at 01:15:52AM +0800, Pham Huy Vu wrote:
> In amd_flash.c:
> static const struct amd_flash_info table[] = {
> ....
>     //This my flash setup
>         mfr_id: MANUFACTURER_MX,
>         dev_id: MX29LV320T,
>         name: "MXIC MX29LV320T",
>         size: 0x00400000,
>         numeraseregions: 3,
>         regions: {
>             { offset: 0x000000, erasesize: 0x10000, numblocks: 48 },
>             { offset: 0x300000, erasesize: 0x10000, numblocks: 15 },
>             { offset: 0x3f0000, erasesize: 0x02000, numblocks:  8 },

Hmm, I wonder why this isn't

	     { offset: 0x000000, erasesize: 0x10000, numblocks: 63 },
	     { offset: 0x3f0000, erasesize: 0x02000, numblocks:  8 },

Because of two banks? Make sure this layout is correct (check the 
datasheet). I have seen commits to the table in amd_flash.c that were 
wrong before. If your flash chip supports CFI, try using the 
CFI-driver. Otherwise try jedec_probe.c instead. amd_flash is 

Another piece of probably useless information:
I resently tested another, 64Mbit, MX-flash that didn't work with the 
CFI-driver because thay had gotten the number of eraseregions wrong in 
the CFI-table (in flash). A new, corrected version of the chip was 
released, but with exactly the same device ID, grrr. (Got any 
unused baseball bats left, David?)

> MX FLASH: write to 0x3a59c0 failed. datum = 14000010, verify = 10

With buswidth 2 you can only write 16-bits. That's probably why verify 
is 0x0010. I don't know why jffs2 tries to write 0x14000010, though.


More information about the linux-mtd mailing list