diff mbox

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

Message ID b8e9195f0911221710x5587429eve175bf6bfb2e360f@mail.gmail.com
State Accepted
Commit 4a58948669702639db7acecfa2105c3172d85c93
Headers show

Commit Message

Guillaume LECERF Nov. 23, 2009, 1:10 a.m. UTC
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
diff mbox

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;
 }