* Improper Command Sequence
@ 2001-05-04 23:09 Fry, Dan
2001-05-04 23:54 ` Alice Hennessy
0 siblings, 1 reply; 5+ messages in thread
From: Fry, Dan @ 2001-05-04 23:09 UTC (permalink / raw)
To: linux-mtd
Hi List,
I'm still trying to get JFFS2 up and running on an atlas demo board.
I have four 64Mbit Intel Strata Flash chips which are seemly being detected.
physmap flash device: 2000000 at 1c000000
Physically mapped flash: Found 2 x16 devices at 0x0 in 32-bit mode
Physically mapped flash: Found 2 x16 devices at 0x1000000 in 32-bit mode
JEDEC ID: 89 15
0: offset=0x0,size=0x40000,blocks=64
1: offset=0x1000000,size=0x40000,blocks=64
However when I attempt to mount /dev/mtdblock0/ as JFFS2 I get the
following:
JFFS2: Erase block at 0x00000000 is not formatted. It will be erased
JFFS2: Erase block at 0x00040000 is not formatted. It will be erased
JFFS2: Erase block at 0x00080000 is not formatted. It will be erased
JFFS2: Erase block at 0x000c0000 is not formatted. It will be erased
JFFS2: Erase block at 0x00100000 is not formatted. It will be erased
JFFS2: Erase block at 0x00140000 is not formatted. It will be erased
JFFS2: Erase block at 0x00180000 is not formatted. It will be erased
JFFS2: Erase block at 0x001c0000 is not formatted. It will be erased
JFFS2: Erase block at 0x00200000 is not formatted. It will be erased
Chip reports improper command sequence: status 0xa800a8
Erase at 0x01fc0000 failed immediately: -5
Chip reports improper command sequence: status 0xa800a8
Erase at 0x01f80000 failed immediately: -5
Chip reports improper command sequence: status 0xa800a8
Erase at 0x01f40000 failed immediately: -5
Chip reports improper command sequence: status 0xa800a8
Erase at 0x01f00000 failed immediately: -5
Chip reports improper command sequence: status 0xa800a8
Erase at 0x01ec0000 failed immediately: -5
Chip reports improper command sequence: status 0xa800a8
Erase at 0x01e80000 failed immediately: -5
Questions :
1) Does MTD support Intel Strata Flash??
2) Could there be a locking problem?
-- I looked through the code and it seems that locking is handled.
Cheers,
- Dan
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Improper Command Sequence
2001-05-04 23:09 Improper Command Sequence Fry, Dan
@ 2001-05-04 23:54 ` Alice Hennessy
2001-05-05 11:11 ` David Woodhouse
0 siblings, 1 reply; 5+ messages in thread
From: Alice Hennessy @ 2001-05-04 23:54 UTC (permalink / raw)
To: Fry, Dan; +Cc: linux-mtd
"Fry, Dan" wrote:
> Hi List,
>
> I'm still trying to get JFFS2 up and running on an atlas demo board.
>
> I have four 64Mbit Intel Strata Flash chips which are seemly being detected.
>
> physmap flash device: 2000000 at 1c000000
> Physically mapped flash: Found 2 x16 devices at 0x0 in 32-bit mode
>
> Physically mapped flash: Found 2 x16 devices at 0x1000000 in 32-bit mode
>
> JEDEC ID: 89 15
>
> 0: offset=0x0,size=0x40000,blocks=64
>
> 1: offset=0x1000000,size=0x40000,blocks=64
>
> However when I attempt to mount /dev/mtdblock0/ as JFFS2 I get the
> following:
>
> JFFS2: Erase block at 0x00000000 is not formatted. It will be erased
>
> JFFS2: Erase block at 0x00040000 is not formatted. It will be erased
>
> JFFS2: Erase block at 0x00080000 is not formatted. It will be erased
>
> JFFS2: Erase block at 0x000c0000 is not formatted. It will be erased
>
> JFFS2: Erase block at 0x00100000 is not formatted. It will be erased
>
> JFFS2: Erase block at 0x00140000 is not formatted. It will be erased
>
> JFFS2: Erase block at 0x00180000 is not formatted. It will be erased
>
> JFFS2: Erase block at 0x001c0000 is not formatted. It will be erased
>
> JFFS2: Erase block at 0x00200000 is not formatted. It will be erased
>
> Chip reports improper command sequence: status 0xa800a8
>
>
> Erase at 0x01fc0000 failed immediately: -5
>
> Chip reports improper command sequence: status 0xa800a8
>
> Erase at 0x01f80000 failed immediately: -5
>
> Chip reports improper command sequence: status 0xa800a8
>
> Erase at 0x01f40000 failed immediately: -5
>
> Chip reports improper command sequence: status 0xa800a8
>
> Erase at 0x01f00000 failed immediately: -5
>
> Chip reports improper command sequence: status 0xa800a8
>
> Erase at 0x01ec0000 failed immediately: -5
>
> Chip reports improper command sequence: status 0xa800a8
>
> Erase at 0x01e80000 failed immediately: -5
>
> Questions :
> 1) Does MTD support Intel Strata Flash??
Yes, it does.
a800a8 looks like the error status for low programming voltage detected -
you need to add some code to handle set_vpp (and unset_vpp) for your board.
The Intel Strata
allows the board designer to add an extra layer of data protection by making
the Vpen signal switchable or hardwired to Vpenh. When Vpen < Vpenh, memory
cannot be written or erased. Looks like your board is switchable, ie. you need
to set
and unset Vpen via software.
Alice
>
> 2) Could there be a locking problem?
> -- I looked through the code and it seems that locking is handled.
>
> Cheers,
>
> - Dan
>
> ______________________________________________________
> Linux MTD discussion mailing list
> http://lists.infradead.org/mailman/listinfo/linux-mtd/
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Improper Command Sequence
2001-05-04 23:54 ` Alice Hennessy
@ 2001-05-05 11:11 ` David Woodhouse
2001-05-05 15:13 ` Nicolas Pitre
0 siblings, 1 reply; 5+ messages in thread
From: David Woodhouse @ 2001-05-05 11:11 UTC (permalink / raw)
To: Alice Hennessy; +Cc: Fry, Dan, linux-mtd
ahennessy@mvista.com said:
> > Chip reports improper command sequence: status 0xa800a8
> a800a8 looks like the error status for low programming voltage detected -
> you need to add some code to handle set_vpp (and unset_vpp) for your board.
Bah. And I need to fix the blinkin' error reporting so it prints the
correct message.
- if (chipstatus & 0x30) {
+ if ((chipstatus & 0x30) == 0x30) {
printk(KERN_NOTICE "Chip reports improper command sequence: status 0x%x\n", status);
--
dwmw2
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Improper Command Sequence
2001-05-05 11:11 ` David Woodhouse
@ 2001-05-05 15:13 ` Nicolas Pitre
2001-05-05 15:45 ` David Woodhouse
0 siblings, 1 reply; 5+ messages in thread
From: Nicolas Pitre @ 2001-05-05 15:13 UTC (permalink / raw)
To: David Woodhouse; +Cc: Alice Hennessy, Fry, Dan, linux-mtd
On Sat, 5 May 2001, David Woodhouse wrote:
>
> ahennessy@mvista.com said:
> > > Chip reports improper command sequence: status 0xa800a8
>
> > a800a8 looks like the error status for low programming voltage detected -
> > you need to add some code to handle set_vpp (and unset_vpp) for your board.
>
> Bah. And I need to fix the blinkin' error reporting so it prints the
> correct message.
>
> - if (chipstatus & 0x30) {
> + if ((chipstatus & 0x30) == 0x30) {
> printk(KERN_NOTICE "Chip reports improper command sequence: status 0x%x\n", status);
... and don't forget possible chip interleaves.
Nicolas
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Improper Command Sequence
2001-05-05 15:13 ` Nicolas Pitre
@ 2001-05-05 15:45 ` David Woodhouse
0 siblings, 0 replies; 5+ messages in thread
From: David Woodhouse @ 2001-05-05 15:45 UTC (permalink / raw)
To: Nicolas Pitre; +Cc: Alice Hennessy, Fry, Dan, linux-mtd
nico@cam.org said:
> ... and don't forget possible chip interleaves.
We currently deal with that to a certain extent, but not particularly
nicely:
if (status & CMD(0x3a)) {
unsigned char chipstatus = status;
if (status != CMD(status & 0xff)) {
int i = cfi->interleave;
for (i = 1; i<cfi->interleave; i++) {
chipstatus |= status >> (cfi->device_type * 8);
}
printk(KERN_WARNING "Status is not identical for all chips: 0x%x. Merging to give 0x%02x\n", status, chipstatus);
}
Actually I think the device_type there ought to be buswidth / interleave.
--
dwmw2
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2001-05-05 15:45 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2001-05-04 23:09 Improper Command Sequence Fry, Dan
2001-05-04 23:54 ` Alice Hennessy
2001-05-05 11:11 ` David Woodhouse
2001-05-05 15:13 ` Nicolas Pitre
2001-05-05 15:45 ` David Woodhouse
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox