Commit 4c06650a authored by Mattias Mattsson's avatar Mattias Mattsson Committed by Carl-Daniel Hailfinger
Browse files

Add definitions for the following chips


Mosel Vitelic Corporation:
V29C51000B, V29C51000T, V29C51400B, V29C51400T, V29LC51000, V29LC51001,
V29LC51002

SyncMOS / Mosel Vitelic Corporation:
{F,S,V}29C51001B, {F,S,V}29C51001T, {F,S,V}29C51002B, {F,S,V}29C51002T,
{F,S,V}29C51004B, {F,S,V}29C51004T, {V,S}29C31004B, {V,S}29C31004T

Modify earlier definitions of
S29C31004T/S29C51001T/S29C51002T/S29C51004T to change name and correct
page size.

Corresponding to flashrom svn r1124.
Signed-off-by: default avatarMattias Mattsson <vitplister@gmail.com>
Signed-off-by: default avatarCarl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: default avatarUwe Hermann <uwe@hermann-uwe.de>
parent 70145291
......@@ -3878,6 +3878,188 @@ struct flashchip flashchips[] = {
.read = read_memmapped,
},
{
.vendor = "MoselVitelic",
.name = "V29C51000B",
.bustype = CHIP_BUSTYPE_PARALLEL,
.manufacture_id = SYNCMOS_MVC_ID,
.model_id = MVC_V29C51000B,
.total_size = 64,
.page_size = 512,
.feature_bits = FEATURE_EITHER_RESET,
.tested = TEST_UNTESTED,
.probe = probe_jedec,
.probe_timing = TIMING_ZERO,
.block_erasers =
{
{
.eraseblocks = { {512, 128} },
.block_erase = erase_sector_jedec,
}, {
.eraseblocks = { {64 * 1024, 1} },
.block_erase = erase_chip_block_jedec,
},
},
.write = write_jedec_1,
.read = read_memmapped,
},
{
.vendor = "MoselVitelic",
.name = "V29C51000T",
.bustype = CHIP_BUSTYPE_PARALLEL,
.manufacture_id = SYNCMOS_MVC_ID,
.model_id = MVC_V29C51000T,
.total_size = 64,
.page_size = 512,
.feature_bits = FEATURE_EITHER_RESET,
.tested = TEST_UNTESTED,
.probe = probe_jedec,
.probe_timing = TIMING_ZERO,
.block_erasers =
{
{
.eraseblocks = { {512, 128} },
.block_erase = erase_sector_jedec,
}, {
.eraseblocks = { {64 * 1024, 1} },
.block_erase = erase_chip_block_jedec,
},
},
.write = write_jedec_1,
.read = read_memmapped,
},
{
.vendor = "MoselVitelic",
.name = "V29C51400B",
.bustype = CHIP_BUSTYPE_PARALLEL,
.manufacture_id = SYNCMOS_MVC_ID,
.model_id = MVC_V29C51400B,
.total_size = 512,
.page_size = 1024,
.feature_bits = FEATURE_EITHER_RESET,
.tested = TEST_UNTESTED,
.probe = probe_jedec,
.probe_timing = TIMING_ZERO,
.block_erasers =
{
{
.eraseblocks = { {1024, 512} },
.block_erase = erase_sector_jedec,
}, {
.eraseblocks = { {512 * 1024, 1} },
.block_erase = erase_chip_block_jedec,
},
},
.write = write_jedec_1,
.read = read_memmapped,
},
{
.vendor = "MoselVitelic",
.name = "V29C51400T",
.bustype = CHIP_BUSTYPE_PARALLEL,
.manufacture_id = SYNCMOS_MVC_ID,
.model_id = MVC_V29C51400T,
.total_size = 512,
.page_size = 1024,
.feature_bits = FEATURE_EITHER_RESET,
.tested = TEST_UNTESTED,
.probe = probe_jedec,
.probe_timing = TIMING_ZERO,
.block_erasers =
{
{
.eraseblocks = { {1024, 512} },
.block_erase = erase_sector_jedec,
}, {
.eraseblocks = { {512 * 1024, 1} },
.block_erase = erase_chip_block_jedec,
},
},
.write = write_jedec_1,
.read = read_memmapped,
},
{
.vendor = "MoselVitelic",
.name = "V29LC51000",
.bustype = CHIP_BUSTYPE_PARALLEL,
.manufacture_id = SYNCMOS_MVC_ID,
.model_id = MVC_V29LC51000,
.total_size = 64,
.page_size = 512,
.feature_bits = FEATURE_EITHER_RESET,
.tested = TEST_UNTESTED,
.probe = probe_jedec,
.probe_timing = TIMING_ZERO,
.block_erasers =
{
{
.eraseblocks = { {512, 128} },
.block_erase = erase_sector_jedec,
}, {
.eraseblocks = { {64 * 1024, 1} },
.block_erase = erase_chip_block_jedec,
},
},
.write = write_jedec_1,
.read = read_memmapped,
},
{
.vendor = "MoselVitelic",
.name = "V29LC51001",
.bustype = CHIP_BUSTYPE_PARALLEL,
.manufacture_id = SYNCMOS_MVC_ID,
.model_id = MVC_V29LC51001,
.total_size = 128,
.page_size = 512,
.feature_bits = FEATURE_EITHER_RESET,
.tested = TEST_UNTESTED,
.probe = probe_jedec,
.probe_timing = TIMING_ZERO,
.block_erasers =
{
{
.eraseblocks = { {512, 256} },
.block_erase = erase_sector_jedec,
}, {
.eraseblocks = { {128 * 1024, 1} },
.block_erase = erase_chip_block_jedec,
},
},
.write = write_jedec_1,
.read = read_memmapped,
},
{
.vendor = "MoselVitelic",
.name = "V29LC51002",
.bustype = CHIP_BUSTYPE_PARALLEL,
.manufacture_id = SYNCMOS_MVC_ID,
.model_id = MVC_V29LC51002,
.total_size = 256,
.page_size = 512,
.feature_bits = FEATURE_EITHER_RESET,
.tested = TEST_UNTESTED,
.probe = probe_jedec,
.probe_timing = TIMING_ZERO,
.block_erasers =
{
{
.eraseblocks = { {512, 512} },
.block_erase = erase_sector_jedec,
}, {
.eraseblocks = { {256 * 1024, 1} },
.block_erase = erase_chip_block_jedec,
},
},
.write = write_jedec_1,
.read = read_memmapped,
},
{
.vendor = "Numonyx",
.name = "M25PE10",
......@@ -6382,13 +6564,13 @@ struct flashchip flashchips[] = {
},
{
.vendor = "SyncMOS",
.name = "S29C31004T",
.vendor = "SyncMOS/MoselVitelic",
.name = "{F,S,V}29C51001B",
.bustype = CHIP_BUSTYPE_PARALLEL,
.manufacture_id = SYNCMOS_ID,
.model_id = S29C31004T,
.total_size = 512,
.page_size = 128,
.manufacture_id = SYNCMOS_MVC_ID,
.model_id = SM_MVC_29C51001B,
.total_size = 128,
.page_size = 512,
.feature_bits = FEATURE_EITHER_RESET,
.tested = TEST_UNTESTED,
.probe = probe_jedec,
......@@ -6396,10 +6578,10 @@ struct flashchip flashchips[] = {
.block_erasers =
{
{
.eraseblocks = { {1 * 1024, 512} },
.eraseblocks = { {512, 256} },
.block_erase = erase_sector_jedec,
}, {
.eraseblocks = { {512 * 1024, 1} },
.eraseblocks = { {128 * 1024, 1} },
.block_erase = erase_chip_block_jedec,
},
},
......@@ -6408,13 +6590,13 @@ struct flashchip flashchips[] = {
},
{
.vendor = "SyncMOS",
.name = "S29C51001T",
.vendor = "SyncMOS/MoselVitelic",
.name = "{F,S,V}29C51001T",
.bustype = CHIP_BUSTYPE_PARALLEL,
.manufacture_id = SYNCMOS_ID,
.model_id = S29C51001T,
.manufacture_id = SYNCMOS_MVC_ID,
.model_id = SM_MVC_29C51001T,
.total_size = 128,
.page_size = 128,
.page_size = 512,
.feature_bits = FEATURE_EITHER_RESET,
.tested = TEST_UNTESTED,
.probe = probe_jedec,
......@@ -6434,15 +6616,15 @@ struct flashchip flashchips[] = {
},
{
.vendor = "SyncMOS",
.name = "S29C51002T",
.vendor = "SyncMOS/MoselVitelic",
.name = "{F,S,V}29C51002B",
.bustype = CHIP_BUSTYPE_PARALLEL,
.manufacture_id = SYNCMOS_ID,
.model_id = S29C51002T,
.manufacture_id = SYNCMOS_MVC_ID,
.model_id = SM_MVC_29C51002B,
.total_size = 256,
.page_size = 128,
.page_size = 512,
.feature_bits = FEATURE_EITHER_RESET,
.tested = TEST_OK_PRW,
.tested = TEST_UNTESTED,
.probe = probe_jedec,
.probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
.block_erasers =
......@@ -6460,13 +6642,39 @@ struct flashchip flashchips[] = {
},
{
.vendor = "SyncMOS",
.name = "S29C51004T",
.vendor = "SyncMOS/MoselVitelic",
.name = "{F,S,V}29C51002T",
.bustype = CHIP_BUSTYPE_PARALLEL,
.manufacture_id = SYNCMOS_ID,
.model_id = S29C51004T,
.manufacture_id = SYNCMOS_MVC_ID,
.model_id = SM_MVC_29C51002T,
.total_size = 256,
.page_size = 512,
.feature_bits = FEATURE_EITHER_RESET,
.tested = TEST_OK_PR,
.probe = probe_jedec,
.probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
.block_erasers =
{
{
.eraseblocks = { {512, 512} },
.block_erase = erase_sector_jedec,
}, {
.eraseblocks = { {256 * 1024, 1} },
.block_erase = erase_chip_block_jedec,
},
},
.write = write_jedec_1,
.read = read_memmapped,
},
{
.vendor = "SyncMOS/MoselVitelic",
.name = "{F,S,V}29C51004B",
.bustype = CHIP_BUSTYPE_PARALLEL,
.manufacture_id = SYNCMOS_MVC_ID,
.model_id = SM_MVC_29C51004B,
.total_size = 512,
.page_size = 128,
.page_size = 1024,
.feature_bits = FEATURE_EITHER_RESET,
.tested = TEST_UNTESTED,
.probe = probe_jedec,
......@@ -6474,7 +6682,85 @@ struct flashchip flashchips[] = {
.block_erasers =
{
{
.eraseblocks = { {1 * 1024, 512} },
.eraseblocks = { {1024, 512} },
.block_erase = erase_sector_jedec,
}, {
.eraseblocks = { {512 * 1024, 1} },
.block_erase = erase_chip_block_jedec,
},
},
.write = write_jedec_1,
.read = read_memmapped,
},
{
.vendor = "SyncMOS/MoselVitelic",
.name = "{F,S,V}29C51004T",
.bustype = CHIP_BUSTYPE_PARALLEL,
.manufacture_id = SYNCMOS_MVC_ID,
.model_id = SM_MVC_29C51004T,
.total_size = 512,
.page_size = 1024,
.feature_bits = FEATURE_EITHER_RESET,
.tested = TEST_UNTESTED,
.probe = probe_jedec,
.probe_timing = TIMING_ZERO,
.block_erasers =
{
{
.eraseblocks = { {1024, 512} },
.block_erase = erase_sector_jedec,
}, {
.eraseblocks = { {512 * 1024, 1} },
.block_erase = erase_chip_block_jedec,
},
},
.write = write_jedec_1,
.read = read_memmapped,
},
{
.vendor = "SyncMOS/MoselVitelic",
.name = "{S,V}29C31004B",
.bustype = CHIP_BUSTYPE_PARALLEL,
.manufacture_id = SYNCMOS_MVC_ID,
.model_id = SM_MVC_29C31004B,
.total_size = 512,
.page_size = 1024,
.feature_bits = FEATURE_EITHER_RESET,
.tested = TEST_UNTESTED,
.probe = probe_jedec,
.probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
.block_erasers =
{
{
.eraseblocks = { {1024, 512} },
.block_erase = erase_sector_jedec,
}, {
.eraseblocks = { {512 * 1024, 1} },
.block_erase = erase_chip_block_jedec,
},
},
.write = write_jedec_1,
.read = read_memmapped,
},
{
.vendor = "SyncMOS/MoselVitelic",
.name = "{S,V}29C31004T",
.bustype = CHIP_BUSTYPE_PARALLEL,
.manufacture_id = SYNCMOS_MVC_ID,
.model_id = SM_MVC_29C31004T,
.total_size = 512,
.page_size = 1024,
.feature_bits = FEATURE_EITHER_RESET,
.tested = TEST_UNTESTED,
.probe = probe_jedec,
.probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */
.block_erasers =
{
{
.eraseblocks = { {1024, 512} },
.block_erase = erase_sector_jedec,
}, {
.eraseblocks = { {512 * 1024, 1} },
......
......@@ -514,11 +514,22 @@
#define ST_M29W040B 0xE3
#define ST_M29W512B 0x27
#define SYNCMOS_ID 0x40 /* SyncMOS and Mosel Vitelic */
#define S29C51001T 0x01
#define S29C51002T 0x02
#define S29C51004T 0x03
#define S29C31004T 0x63
#define SYNCMOS_MVC_ID 0x40 /* SyncMOS (SM) and Mosel Vitelic Corporation (MVC) */
#define MVC_V29C51000T 0x00
#define MVC_V29C51400T 0x13
#define MVC_V29LC51000 0x20
#define MVC_V29LC51001 0x60
#define MVC_V29LC51002 0x82
#define MVC_V29C51000B 0xA0
#define MVC_V29C51400B 0xB3
#define SM_MVC_29C51001T 0x01 /* Identical chips: {F,S,V}29C51001T */
#define SM_MVC_29C51002T 0x02 /* Identical chips: {F,S,V}29C51002T */
#define SM_MVC_29C51004T 0x03 /* Identical chips: {F,S,V}29C51004T */
#define SM_MVC_29C31004T 0x63 /* Identical chips: {S,V}29C31004T */
#define SM_MVC_29C31004B 0x73 /* Identical chips: {S,V}29C31004B */
#define SM_MVC_29C51001B 0xA1 /* Identical chips: {F,S,V}29C51001B */
#define SM_MVC_29C51002B 0xA2 /* Identical chips: {F,S,V}29C51002B */
#define SM_MVC_29C51004B 0xA3 /* Identical chips: {F,S,V}29C51004B */
#define TI_ID 0x97 /* Texas Instruments */
#define TI_OLD_ID 0x01 /* TI chips from last century */
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment