Merge git://git.infradead.org/~dwmw2/iommu-2.6.32
[cascardo/linux.git] / drivers / mtd / chips / jedec_probe.c
index ccc4cfc..736a3be 100644 (file)
 #define I28F320B3B     0x8897
 #define I28F640B3T     0x8898
 #define I28F640B3B     0x8899
+#define I28F640C3B     0x88CD
+#define I28F160F3T     0x88F3
+#define I28F160F3B     0x88F4
+#define I28F160C3T     0x88C2
+#define I28F160C3B     0x88C3
 #define I82802AB       0x00ad
 #define I82802AC       0x00ac
 
 #define M50LPW080       0x002F
 #define M50FLW080A     0x0080
 #define M50FLW080B     0x0081
+#define PSD4256G6V     0x00e9
 
 /* SST */
 #define SST29EE020     0x0010
@@ -201,6 +207,7 @@ enum uaddr {
        MTD_UADDR_0x0555_0x02AA,
        MTD_UADDR_0x0555_0x0AAA,
        MTD_UADDR_0x5555_0x2AAA,
+       MTD_UADDR_0x0AAA_0x0554,
        MTD_UADDR_0x0AAA_0x0555,
        MTD_UADDR_0xAAAA_0x5555,
        MTD_UADDR_DONT_CARE,            /* Requires an arbitrary address */
@@ -245,6 +252,11 @@ static const struct unlock_addr  unlock_addrs[] = {
                .addr2 = 0x2aaa
        },
 
+       [MTD_UADDR_0x0AAA_0x0554] = {
+               .addr1 = 0x0AAA,
+               .addr2 = 0x0554
+       },
+
        [MTD_UADDR_0x0AAA_0x0555] = {
                .addr1 = 0x0AAA,
                .addr2 = 0x0555
@@ -1101,6 +1113,19 @@ static const struct amd_flash_info jedec_table[] = {
                        ERASEINFO(0x10000, 127),
                        ERASEINFO(0x02000, 8),
                }
+       }, {
+               .mfr_id         = MANUFACTURER_INTEL,
+               .dev_id         = I28F640C3B,
+               .name           = "Intel 28F640C3B",
+               .devtypes       = CFI_DEVICETYPE_X16,
+               .uaddr          = MTD_UADDR_UNNECESSARY,
+               .dev_size       = SIZE_8MiB,
+               .cmd_set        = P_ID_INTEL_STD,
+               .nr_regions     = 2,
+               .regions        = {
+                       ERASEINFO(0x02000, 8),
+                       ERASEINFO(0x10000, 127),
+               }
        }, {
                .mfr_id         = MANUFACTURER_INTEL,
                .dev_id         = I82802AB,
@@ -1156,8 +1181,8 @@ static const struct amd_flash_info jedec_table[] = {
                .mfr_id         = MANUFACTURER_NEC,
                .dev_id         = UPD29F064115,
                .name           = "NEC uPD29F064115",
-               .devtypes       = CFI_DEVICETYPE_X16|CFI_DEVICETYPE_X8,
-               .uaddr          = MTD_UADDR_0x0555_0x02AA,      /* ???? */
+               .devtypes       = CFI_DEVICETYPE_X16,
+               .uaddr          = MTD_UADDR_0xAAAA_0x5555,
                .dev_size       = SIZE_8MiB,
                .cmd_set        = P_ID_AMD_STD,
                .nr_regions     = 3,
@@ -1725,6 +1750,18 @@ static const struct amd_flash_info jedec_table[] = {
                        ERASEINFO(0x10000,13),
                        ERASEINFO(0x1000,16),
                }
+       }, {
+               .mfr_id         = 0xff00 | MANUFACTURER_ST,
+               .dev_id         = 0xff00 | PSD4256G6V,
+               .name           = "ST PSD4256G6V",
+               .devtypes       = CFI_DEVICETYPE_X16,
+               .uaddr          = MTD_UADDR_0x0AAA_0x0554,
+               .dev_size       = SIZE_1MiB,
+               .cmd_set        = P_ID_AMD_STD,
+               .nr_regions     = 1,
+               .regions        = {
+                       ERASEINFO(0x10000,16),
+               }
        }, {
                .mfr_id         = MANUFACTURER_TOSHIBA,
                .dev_id         = TC58FVT160,