Edgar E. Iglesias wrote: > Hello, > > I ran into problems when mounting jffs2 images on CFI02 flashes on a linux > guest. Looks like we got some fields wrong in our CFI table. > > We are reporting a too large device size, MTD doesn't like that. > We are reporting timing info for buffer writes, this makes MTD beleive we > support buffer writes leading failures when programming. > Also linux MTD seems to require an extended CFI table to use the device. > > This patch seems to work (only tested with ETRAX/CRIS). > Comments? No regressions found for the MusicPal (which uses cfi02 as well). But... > > Best regards > -- > Edgar E. Iglesias > Axis Communications AB > > commit 7f62e4f49c65f64ef8624474c5d22d9785d9b18c > Author: Edgar E. Iglesias > Date: Thu May 8 01:48:55 2008 +0200 > > CFI-0002 linux MTD compatibility. > * Add an extended table area. > * Clear buffer write timeouts to indicate that we dont support it. > * Correct device size. > > diff --git a/hw/pflash_cfi02.c b/hw/pflash_cfi02.c > index cb9b250..1daaac3 100644 > --- a/hw/pflash_cfi02.c > +++ b/hw/pflash_cfi02.c > @@ -608,8 +608,8 @@ pflash_t *pflash_cfi02_register(target_phys_addr_t base, ram_addr_t off, > /* Command set (AMD/Fujitsu) */ > pfl->cfi_table[0x13] = 0x02; > pfl->cfi_table[0x14] = 0x00; > - /* Primary extended table address (none) */ > - pfl->cfi_table[0x15] = 0x00; > + /* Primary extended table address */ > + pfl->cfi_table[0x15] = 0x31; > pfl->cfi_table[0x16] = 0x00; > /* Alternate command set (none) */ > pfl->cfi_table[0x17] = 0x00; > @@ -627,22 +627,22 @@ pflash_t *pflash_cfi02_register(target_phys_addr_t base, ram_addr_t off, > pfl->cfi_table[0x1E] = 0x00; > /* Reserved */ > pfl->cfi_table[0x1F] = 0x07; > - /* Timeout for min size buffer write (16 ÄĐs) */ ... I had to apply you patch manually due to this encoding issue. Jan