mtd: cfi_probe: add support for SST 0x0701 vendorname
Guillaume LECERF [Sat, 24 Apr 2010 15:58:02 +0000 (17:58 +0200)]
SST 39VF160x and 39VF320x chips use vendorname id 0x0701 and alternative
unlock addresses. Add support for them in cfi_probe.c.

Signed-off-by: Guillaume LECERF <glecerf@gmail.com>
Reviewed-by: Wolfram Sang <w.sang@pengutronix.de>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>

drivers/mtd/chips/cfi_probe.c
include/linux/mtd/cfi.h

index 045dc10..b2acd32 100644 (file)
@@ -206,6 +206,11 @@ static int __xipram cfi_chip_setup(struct map_info *map,
 #endif
        }
 
+       if (cfi->cfiq->P_ID == P_ID_SST_OLD) {
+               addr_unlock1 = 0x5555;
+               addr_unlock2 = 0x2AAA;
+       }
+
        /*
         * Note we put the device back into Read Mode BEFORE going into Auto
         * Select Mode, as some devices support nesting of modes, others
@@ -271,6 +276,9 @@ static char *vendorname(__u16 vendor)
        case P_ID_SST_PAGE:
                return "SST Page Write";
 
+       case P_ID_SST_OLD:
+               return "SST 39VF160x/39VF320x";
+
        case P_ID_INTEL_PERFORMANCE:
                return "Intel Performance Code";
 
index cee05b1..5716fc7 100644 (file)
@@ -253,6 +253,7 @@ struct cfi_bri_query {
 #define P_ID_MITSUBISHI_STD     0x0100
 #define P_ID_MITSUBISHI_EXT     0x0101
 #define P_ID_SST_PAGE           0x0102
+#define P_ID_SST_OLD            0x0701
 #define P_ID_INTEL_PERFORMANCE  0x0200
 #define P_ID_INTEL_DATA         0x0210
 #define P_ID_RESERVED           0xffff