Patchwork [MTD] CHIPS: add support for switching old SST chips into QRY mode (tested with 39VF3201)

login
register
mail settings
Submitter Guillaume LECERF
Date Nov. 23, 2009, 1:10 a.m.
Message ID <b8e9195f0911221710x5587429eve175bf6bfb2e360f@mail.gmail.com>
Download mbox | patch
Permalink /patch/39020/
State New
Headers show

Comments

Guillaume LECERF - Nov. 23, 2009, 1:10 a.m.
Hi,

SST 39VF160x/39VF320x and some old SST chips need a special command
sequence to enter CFI QueRY mode [1].
This patch adds the relevant sequence to cfi_qry_mode_on().

Signed-off-by: Guillaume LECERF <glecerf@gmail.com>


[1] http://www.sst.com/dotAsset/40479.pdf / Table 6 : Software Command Sequence

Patch

diff --git a/drivers/mtd/chips/cfi_util.c b/drivers/mtd/chips/cfi_util.c
index c5a84fd..ca584d0 100755
--- a/drivers/mtd/chips/cfi_util.c
+++ b/drivers/mtd/chips/cfi_util.c
@@ -71,6 +71,13 @@  int __xipram cfi_qry_mode_on(uint32_t base, struct map_info *map,
 	cfi_send_gen_cmd(0x98, 0x555, base, map, cfi, cfi->device_type, NULL);
 	if (cfi_qry_present(map, base, cfi))
 		return 1;
+	/* some old SST chips, e.g. 39VF160x/39VF320x */
+	cfi_send_gen_cmd(0xF0, 0, base, map, cfi, cfi->device_type, NULL);
+	cfi_send_gen_cmd(0xAA, 0x5555, base, map, cfi, cfi->device_type, NULL);
+	cfi_send_gen_cmd(0x55, 0x2AAA, base, map, cfi, cfi->device_type, NULL);
+	cfi_send_gen_cmd(0x98, 0x5555, base, map, cfi, cfi->device_type, NULL);
+	if (cfi_qry_present(map, base, cfi))
+		return 1;
 	/* QRY not found */
 	return 0;
 }