]> git.karo-electronics.de Git - linux-beck.git/commitdiff
mtd: cfi_cmdset_0002: add CFI detection for SST 39VF{32, 64}xxB chips
authorGuillaume LECERF <glecerf@gmail.com>
Sat, 24 Apr 2010 15:58:27 +0000 (17:58 +0200)
committerDavid Woodhouse <David.Woodhouse@intel.com>
Fri, 14 May 2010 00:39:43 +0000 (01:39 +0100)
This patch adds support for detecting SST 39VF32xxB and 39VF64xxB
chips in CFI mode.

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_cmdset_0002.c

index b7d821d6183639ea86a21e6be2af30a0274da835..0e21b098248009e6950b7230269263ceb567c966 100644 (file)
@@ -283,6 +283,17 @@ static void fixup_sst39vf(struct mtd_info *mtd, void *param)
        cfi->addr_unlock2 = 0x2AAA;
 }
 
+static void fixup_sst39vf_rev_b(struct mtd_info *mtd, void *param)
+{
+       struct map_info *map = mtd->priv;
+       struct cfi_private *cfi = map->fldrv_priv;
+
+       fixup_old_sst_eraseregion(mtd);
+
+       cfi->addr_unlock1 = 0x555;
+       cfi->addr_unlock2 = 0x2AA;
+}
+
 static void fixup_s29gl064n_sectors(struct mtd_info *mtd, void *param)
 {
        struct map_info *map = mtd->priv;
@@ -311,6 +322,10 @@ static struct cfi_fixup cfi_nopri_fixup_table[] = {
        { CFI_MFR_SST, 0x234B, fixup_sst39vf, NULL, }, // SST39VF1601
        { CFI_MFR_SST, 0x235A, fixup_sst39vf, NULL, }, // SST39VF3202
        { CFI_MFR_SST, 0x235B, fixup_sst39vf, NULL, }, // SST39VF3201
+       { CFI_MFR_SST, 0x235C, fixup_sst39vf_rev_b, NULL, }, // SST39VF3202B
+       { CFI_MFR_SST, 0x235D, fixup_sst39vf_rev_b, NULL, }, // SST39VF3201B
+       { CFI_MFR_SST, 0x236C, fixup_sst39vf_rev_b, NULL, }, // SST39VF6402B
+       { CFI_MFR_SST, 0x236D, fixup_sst39vf_rev_b, NULL, }, // SST39VF6401B
        { 0, 0, NULL, NULL }
 };