aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mtd/chips
diff options
context:
space:
mode:
authorNate Case <ncase@xes-inc.com>2008-05-13 15:45:29 -0400
committerDavid Woodhouse <dwmw2@infradead.org>2008-05-14 06:03:46 -0400
commitdeb1a5f1134e7da0e3dacd37b5d32b7fe0600a7f (patch)
tree46c85f3d76e3c344f77b646684432f1d851311c2 /drivers/mtd/chips
parent91949d64548ead31df51c9fb6f7201ca8ffc9b51 (diff)
[MTD] [NOR] Support for M50FLW080A and M50FLW080B
Add support for M50FLW080A and M50FLW080B revisions of LPC flash devices. Signed-off-by: Aaron Lindner <alindner@xes-inc.com> Signed-off-by: Nate Case <ncase@xes-inc.com> Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Diffstat (limited to 'drivers/mtd/chips')
-rw-r--r--drivers/mtd/chips/cfi_cmdset_0001.c4
-rw-r--r--drivers/mtd/chips/jedec_probe.c32
2 files changed, 36 insertions, 0 deletions
diff --git a/drivers/mtd/chips/cfi_cmdset_0001.c b/drivers/mtd/chips/cfi_cmdset_0001.c
index 235830b9e994..cc6b7bb6de02 100644
--- a/drivers/mtd/chips/cfi_cmdset_0001.c
+++ b/drivers/mtd/chips/cfi_cmdset_0001.c
@@ -50,6 +50,8 @@
50#define I82802AC 0x00ac 50#define I82802AC 0x00ac
51#define MANUFACTURER_ST 0x0020 51#define MANUFACTURER_ST 0x0020
52#define M50LPW080 0x002F 52#define M50LPW080 0x002F
53#define M50FLW080A 0x0080
54#define M50FLW080B 0x0081
53#define AT49BV640D 0x02de 55#define AT49BV640D 0x02de
54 56
55static int cfi_intelext_read (struct mtd_info *, loff_t, size_t, size_t *, u_char *); 57static int cfi_intelext_read (struct mtd_info *, loff_t, size_t, size_t *, u_char *);
@@ -301,6 +303,8 @@ static struct cfi_fixup jedec_fixup_table[] = {
301 { MANUFACTURER_INTEL, I82802AB, fixup_use_fwh_lock, NULL, }, 303 { MANUFACTURER_INTEL, I82802AB, fixup_use_fwh_lock, NULL, },
302 { MANUFACTURER_INTEL, I82802AC, fixup_use_fwh_lock, NULL, }, 304 { MANUFACTURER_INTEL, I82802AC, fixup_use_fwh_lock, NULL, },
303 { MANUFACTURER_ST, M50LPW080, fixup_use_fwh_lock, NULL, }, 305 { MANUFACTURER_ST, M50LPW080, fixup_use_fwh_lock, NULL, },
306 { MANUFACTURER_ST, M50FLW080A, fixup_use_fwh_lock, NULL, },
307 { MANUFACTURER_ST, M50FLW080B, fixup_use_fwh_lock, NULL, },
304 { 0, 0, NULL, NULL } 308 { 0, 0, NULL, NULL }
305}; 309};
306static struct cfi_fixup fixup_table[] = { 310static struct cfi_fixup fixup_table[] = {
diff --git a/drivers/mtd/chips/jedec_probe.c b/drivers/mtd/chips/jedec_probe.c
index aa07575eb288..99f9ed21f660 100644
--- a/drivers/mtd/chips/jedec_probe.c
+++ b/drivers/mtd/chips/jedec_probe.c
@@ -141,6 +141,8 @@
141#define M50FW080 0x002D 141#define M50FW080 0x002D
142#define M50FW016 0x002E 142#define M50FW016 0x002E
143#define M50LPW080 0x002F 143#define M50LPW080 0x002F
144#define M50FLW080A 0x0080
145#define M50FLW080B 0x0081
144 146
145/* SST */ 147/* SST */
146#define SST29EE020 0x0010 148#define SST29EE020 0x0010
@@ -1590,6 +1592,36 @@ static const struct amd_flash_info jedec_table[] = {
1590 .nr_regions = 1, 1592 .nr_regions = 1,
1591 .regions = { 1593 .regions = {
1592 ERASEINFO(0x10000,16), 1594 ERASEINFO(0x10000,16),
1595 },
1596 }, {
1597 .mfr_id = MANUFACTURER_ST,
1598 .dev_id = M50FLW080A,
1599 .name = "ST M50FLW080A",
1600 .devtypes = CFI_DEVICETYPE_X8,
1601 .uaddr = MTD_UADDR_UNNECESSARY,
1602 .dev_size = SIZE_1MiB,
1603 .cmd_set = P_ID_INTEL_EXT,
1604 .nr_regions = 4,
1605 .regions = {
1606 ERASEINFO(0x1000,16),
1607 ERASEINFO(0x10000,13),
1608 ERASEINFO(0x1000,16),
1609 ERASEINFO(0x1000,16),
1610 }
1611 }, {
1612 .mfr_id = MANUFACTURER_ST,
1613 .dev_id = M50FLW080B,
1614 .name = "ST M50FLW080B",
1615 .devtypes = CFI_DEVICETYPE_X8,
1616 .uaddr = MTD_UADDR_UNNECESSARY,
1617 .dev_size = SIZE_1MiB,
1618 .cmd_set = P_ID_INTEL_EXT,
1619 .nr_regions = 4,
1620 .regions = {
1621 ERASEINFO(0x1000,16),
1622 ERASEINFO(0x1000,16),
1623 ERASEINFO(0x10000,13),
1624 ERASEINFO(0x1000,16),
1593 } 1625 }
1594 }, { 1626 }, {
1595 .mfr_id = MANUFACTURER_TOSHIBA, 1627 .mfr_id = MANUFACTURER_TOSHIBA,