55a6c2e7d3b81de45aceb771f3e57f7840188e54
[openwrt.git] / target / linux / generic / patches-2.6.36 / 014-cfi_show_amd_extended_table_version.patch
1 --- a/drivers/mtd/chips/cfi_cmdset_0002.c
2 +++ b/drivers/mtd/chips/cfi_cmdset_0002.c
3 @@ -371,6 +371,8 @@ static struct cfi_fixup fixup_table[] =
4  static void cfi_fixup_major_minor(struct cfi_private *cfi,
5                                   struct cfi_pri_amdstd *extp)
6  {
7 +       // manufacturers defined in include/linux/mtd/cfi.h
8 +
9         if (cfi->mfr == CFI_MFR_SAMSUNG && cfi->id == 0x257e &&
10             extp->MajorVersion == '0')
11                 extp->MajorVersion = '1';
12 @@ -403,6 +405,9 @@ struct mtd_info *cfi_cmdset_0002(struct
13  
14         mtd->reboot_notifier.notifier_call = cfi_amdstd_reboot;
15  
16 +       printk(" CFI mfr 0x%08x\n", cfi->mfr);  // TODO: Is there a more general place to print this info?
17 +       printk(" CFI id  0x%08x\n", cfi->id);
18 +
19         if (cfi->cfi_mode==CFI_MODE_CFI){
20                 unsigned char bootloc;
21                 __u16 adr = primary?cfi->cfiq->P_ADR:cfi->cfiq->A_ADR;
22 @@ -420,7 +425,7 @@ struct mtd_info *cfi_cmdset_0002(struct
23                          * Valid primary extension versions are: 1.0, 1.1, 1.2, 1.3, 1.4
24                          * see: http://www.amd.com/us-en/assets/content_type/DownloadableAssets/cfi_r20.pdf, page 19
25                          *      http://www.amd.com/us-en/assets/content_type/DownloadableAssets/cfi_100_20011201.pdf
26 -                        *      http://www.spansion.com/Support/Datasheets/s29ws-p_00_a12_e.pdf
27 +                        *      http://www.spansion.com/Support/AppNotes/CFI_Spec_AN_03.pdf
28                          */
29                         if (extp->MajorVersion != '1' ||
30                             (extp->MajorVersion == '1' && (extp->MinorVersion < '0' || extp->MinorVersion > '4'))) {