public inbox for linux-mtd@lists.infradead.org
 help / color / mirror / Atom feed
* 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