aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/mtd/chips/cfi_probe.c8
-rw-r--r--include/linux/mtd/cfi.h1
2 files changed, 9 insertions, 0 deletions
diff --git a/drivers/mtd/chips/cfi_probe.c b/drivers/mtd/chips/cfi_probe.c
index 045dc100496c..b2acd32f4fbf 100644
--- a/drivers/mtd/chips/cfi_probe.c
+++ b/drivers/mtd/chips/cfi_probe.c
@@ -206,6 +206,11 @@ static int __xipram cfi_chip_setup(struct map_info *map,
206#endif 206#endif
207 } 207 }
208 208
209 if (cfi->cfiq->P_ID == P_ID_SST_OLD) {
210 addr_unlock1 = 0x5555;
211 addr_unlock2 = 0x2AAA;
212 }
213
209 /* 214 /*
210 * Note we put the device back into Read Mode BEFORE going into Auto 215 * Note we put the device back into Read Mode BEFORE going into Auto
211 * Select Mode, as some devices support nesting of modes, others 216 * Select Mode, as some devices support nesting of modes, others
@@ -271,6 +276,9 @@ static char *vendorname(__u16 vendor)
271 case P_ID_SST_PAGE: 276 case P_ID_SST_PAGE:
272 return "SST Page Write"; 277 return "SST Page Write";
273 278
279 case P_ID_SST_OLD:
280 return "SST 39VF160x/39VF320x";
281
274 case P_ID_INTEL_PERFORMANCE: 282 case P_ID_INTEL_PERFORMANCE:
275 return "Intel Performance Code"; 283 return "Intel Performance Code";
276 284
diff --git a/include/linux/mtd/cfi.h b/include/linux/mtd/cfi.h
index cee05b1e62b1..5716fc78ca8e 100644
--- a/include/linux/mtd/cfi.h
+++ b/include/linux/mtd/cfi.h
@@ -253,6 +253,7 @@ struct cfi_bri_query {
253#define P_ID_MITSUBISHI_STD 0x0100 253#define P_ID_MITSUBISHI_STD 0x0100
254#define P_ID_MITSUBISHI_EXT 0x0101 254#define P_ID_MITSUBISHI_EXT 0x0101
255#define P_ID_SST_PAGE 0x0102 255#define P_ID_SST_PAGE 0x0102
256#define P_ID_SST_OLD 0x0701
256#define P_ID_INTEL_PERFORMANCE 0x0200 257#define P_ID_INTEL_PERFORMANCE 0x0200
257#define P_ID_INTEL_DATA 0x0210 258#define P_ID_INTEL_DATA 0x0210
258#define P_ID_RESERVED 0xffff 259#define P_ID_RESERVED 0xffff