public inbox for linux-mtd@lists.infradead.org
 help / color / mirror / Atom feed
From: Stuart Menefy <stuart.menefy@st.com>
To: gromit1463@mailworks.org
Cc: linux-mtd@lists.infradead.org
Subject: Re: "Read-only file system" error while writing
Date: Thu, 1 Aug 2002 23:37:10 +0100	[thread overview]
Message-ID: <20020801233710.6be124a0.stuart.menefy@st.com> (raw)
In-Reply-To: <1028231145.22264.9.camel@mahi190.austin.ibm.com>

Stephen

This is slightly different from what I see with the bottom version of the device:

Number of erase regions: 2
Vendor 00000020 id 000000bb
Detected STM M28W320CB, applying CFI fixups
Primary Vendor Command Set: 0003 (Intel/Sharp Standard)
Primary Algorithm Table at 0035
Alternative Vendor Command Set: 0000 (None)
No Alternate Algorithm Table
Vcc Minimum:  2.7 V
Vcc Maximum:  3.6 V
Vpp Minimum: 11.4 V
Vpp Maximum: 12.6 V
Typical byte/word write timeout: 16 µs
Maximum byte/word write timeout: 256 µs
Full buffer write not supported
Typical block erase timeout: 1024 µs
Maximum block erase timeout: 8192 µs
Chip erase not supported
Device size: 0x400000 bytes (4 MiB)
Flash Device Interface description: 0x0001
  - x16-only asynchronous interface
Max. bytes in buffer write: 0x1
Number of Erase Block Regions: 2
  Erase Region #0: BlockSize 0x2000 bytes, 8 blocks
  Erase Region #1: BlockSize 0x10000 bytes, 63 blocks

In particular the buffer write is detected as not supported.

Try this variant of the patch I'm using:

diff -u -r1.66 cfi_probe.c
--- cfi_probe.c	2 Oct 2001 15:05:12 -0000	1.66
+++ cfi_probe.c	1 Aug 2002 22:31:11 -0000
@@ -147,6 +145,28 @@
 		((unsigned char *)cfi->cfiq)[i] = cfi_read_query(map,base + (0x10 + i)*ofs_factor);
 	}
 	
+	/* The STMicroelectronics M28W320C[BT] devices report incorrect CFI data.
+	 * Check here and fix up if necessary.
+	 */
+#define VENDOR_STMICROELECTRONICS 0x0020
+#define DEVICE_M28W320CT 0xba
+#define DEVICE_M28W320CB 0xbb
+	{
+		unsigned int vendor, id;
+		vendor = cfi_read_query(map,base + 0*ofs_factor);
+		id     = cfi_read_query(map,base + 1*ofs_factor);
+printk("Vendor %08x id %08x\n", vendor, id);
+		if ((vendor == VENDOR_STMICROELECTRONICS) && (id == DEVICE_M28W320CT)) {
+			printk("Detected STM M28W320CT, applying CFI fixups\n");
+			((unsigned char*)cfi->cfiq)[0x20 - 0x10] = 0x0;
+			((unsigned char*)cfi->cfiq)[0x24 - 0x10] = 0x0;
+		}
+		if ((vendor == VENDOR_STMICROELECTRONICS) && (id == DEVICE_M28W320CB)) {
+			printk("Detected STM M28W320CB, applying CFI fixups\n");
+			((unsigned char*)cfi->cfiq)[0x31 - 0x10] = 0x3e;
+		}
+	}
+
 	/* Do any necessary byteswapping */
 	cfi->cfiq->P_ID = le16_to_cpu(cfi->cfiq->P_ID);
 	

This is not intended as a permanent fix, just to see if it fixes the problem.

Stuart


On Thu, 1 Aug 2002 14:45:45 -0500
gromit1463@mailworks.org wrote:

> Number of erase regions: 2 
> Vendor 00000020 id 000000ba 
> Primary Vendor Command Set: 0003 (Intel/Sharp Standard) 
> Primary Algorithm Table at 0035 
> Alternative Vendor Command Set: 0000 (None) 
> No Alternate Algorithm Table 
> Vcc Minimum: 2.7 V 
> Vcc Maximum: 3.6 V 
> Vpp Minimum: b.4 V 
> Vpp Maximum: c.6 V 
> Typical byte/word write timeout: 16 s 
> Maximum byte/word write timeout: 512 s 
> Typical full buffer write timeout: 16 s 
> Maximum full buffer write timeout: 512 s 
> Typical block erase timeout: 1024 s 
> Maximum block erase timeout: 8192 s 
> Chip erase not supported 
> Device size: 0x400000 bytes (4 Mb) 
> Flash Device Interface description: 0x0001 
> x16-only asynchronous interface 
> Max. bytes in buffer write: 0x4 
> Number of Erase Block Regions: 2 
> Erase Region #0: BlockSize 0x10000 bytes, 63 blocks 
> Erase Region #1: BlockSize 0x2000 bytes, 8 blocks 
> 
> 
> 
> I have 8 chips total, 4MB each.
> 
> 
> On Thu, 2002-08-01 at 13:26, Stuart Menefy wrote:
> > Try building cfi_probe.c with DEBUG_CFI set, and post what it reports.
> 
> 
> -- 
> "Find out what you've been missing while you've been
> rebooting Windows NT." -- Infoworld on Linux
> 
> http://www.ao.com/~regan/penguins/tux.html
> 
> 
> ______________________________________________________
> Linux MTD discussion mailing list
> http://lists.infradead.org/mailman/listinfo/linux-mtd/


-- 
Stuart Menefy                                        stuart.menefy@st.com
STMicroelectronics Ltd                         ST Intranet: mo.bri.st.com
Bristol, UK                         Rest of the World: www.linuxsh.st.com

  reply	other threads:[~2002-08-01 22:38 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-07-30 21:27 "Read-only file system" error while writing Stephen Hui
2002-07-30 22:25 ` David Woodhouse
2002-07-31 11:53   ` Jörn Engel
2003-05-21 11:33   ` Gordon J Milne
2003-05-21 14:18     ` Thayne Harbaugh
2003-05-22 21:57     ` Gordon J Milne
2002-07-31 15:35 ` Stuart Menefy
2002-07-31 20:24   ` Stephen Hui
2002-08-01 10:31     ` David Woodhouse
2002-08-01 18:05       ` Stuart Menefy
2002-08-01 18:26         ` Stuart Menefy
2002-08-01 19:45           ` Stephen Hui
2002-08-01 22:37             ` Stuart Menefy [this message]
2002-08-02 14:46               ` Stephen Hui
2002-08-01 10:35   ` David Woodhouse

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20020801233710.6be124a0.stuart.menefy@st.com \
    --to=stuart.menefy@st.com \
    --cc=gromit1463@mailworks.org \
    --cc=linux-mtd@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox