- added manufacturer field
- name moved to the end for better text alignment
---
 src/flash/nand/core.c |  154 +++++++++++++++++++++++++------------------------
 src/flash/nand/core.h |    3 +-
 2 files changed, 81 insertions(+), 76 deletions(-)

diff --git a/src/flash/nand/core.c b/src/flash/nand/core.c
index 7c20ca5..a9fc3cd 100644
--- a/src/flash/nand/core.c
+++ b/src/flash/nand/core.c
@@ -42,8 +42,8 @@ void nand_device_add(struct nand_device *c)
 
 /*     Chip ID list
  *
- *     Name, ID code, pagesize, chipsize in MegaByte, eraseblock size,
- *     options
+ *     Manufacturer, ID code, pagesize, chipsize in MegaByte, eraseblock size,
+ *     options, name
  *
  *     Pagesize; 0, 256, 512
  *     0       get this information from the extended chip ID
@@ -52,82 +52,86 @@ void nand_device_add(struct nand_device *c)
  */
 static struct nand_info nand_flash_ids[] =
 {
+       /* Vendor Specific Entries */
+       { NAND_MFR_SAMSUNG,     0xD5, 0, 8192, 0, LP_OPTIONS,           
"K9GAG08 2GB NAND 3.3V x8 MLC 2b/cell"},
+       { NAND_MFR_SAMSUNG,     0xD7, 0, 8192, 0, LP_OPTIONS,           
"K9LBG08/K9HCG08 4/8GB NAND 3.3V x8 MLC 2b/cell"},
+
        /* start "museum" IDs */
-       {"NAND 1MiB 5V 8-bit",          0x6e, 256, 1, 0x1000, 0},
-       {"NAND 2MiB 5V 8-bit",          0x64, 256, 2, 0x1000, 0},
-       {"NAND 4MiB 5V 8-bit",          0x6b, 512, 4, 0x2000, 0},
-       {"NAND 1MiB 3.3V 8-bit",        0xe8, 256, 1, 0x1000, 0},
-       {"NAND 1MiB 3.3V 8-bit",        0xec, 256, 1, 0x1000, 0},
-       {"NAND 2MiB 3.3V 8-bit",        0xea, 256, 2, 0x1000, 0},
-       {"NAND 4MiB 3.3V 8-bit",        0xd5, 512, 4, 0x2000, 0},
-       {"NAND 4MiB 3.3V 8-bit",        0xe3, 512, 4, 0x2000, 0},
-       {"NAND 4MiB 3.3V 8-bit",        0xe5, 512, 4, 0x2000, 0},
-       {"NAND 8MiB 3.3V 8-bit",        0xd6, 512, 8, 0x2000, 0},
-
-       {"NAND 8MiB 1.8V 8-bit",        0x39, 512, 8, 0x2000, 0},
-       {"NAND 8MiB 3.3V 8-bit",        0xe6, 512, 8, 0x2000, 0},
-       {"NAND 8MiB 1.8V 16-bit",       0x49, 512, 8, 0x2000, NAND_BUSWIDTH_16},
-       {"NAND 8MiB 3.3V 16-bit",       0x59, 512, 8, 0x2000, NAND_BUSWIDTH_16},
+       { 0x0,                  0x6e, 256, 1, 0x1000, 0,                "NAND 
1MiB 5V 8-bit"},
+       { 0x0,                  0x64, 256, 2, 0x1000, 0,                "NAND 
2MiB 5V 8-bit"},
+       { 0x0,                  0x6b, 512, 4, 0x2000, 0,                "NAND 
4MiB 5V 8-bit"},
+       { 0x0,                  0xe8, 256, 1, 0x1000, 0,                "NAND 
1MiB 3.3V 8-bit"},
+       { 0x0,                  0xec, 256, 1, 0x1000, 0,                "NAND 
1MiB 3.3V 8-bit"},
+       { 0x0,                  0xea, 256, 2, 0x1000, 0,                "NAND 
2MiB 3.3V 8-bit"},
+       { 0x0,                  0xd5, 512, 4, 0x2000, 0,                "NAND 
4MiB 3.3V 8-bit"},
+       { 0x0,                  0xe3, 512, 4, 0x2000, 0,                "NAND 
4MiB 3.3V 8-bit"},
+       { 0x0,                  0xe5, 512, 4, 0x2000, 0,                "NAND 
4MiB 3.3V 8-bit"},
+       { 0x0,                  0xd6, 512, 8, 0x2000, 0,                "NAND 
8MiB 3.3V 8-bit"},
+
+       { 0x0,                  0x39, 512, 8, 0x2000, 0,                "NAND 
8MiB 1.8V 8-bit"},
+       { 0x0,                  0xe6, 512, 8, 0x2000, 0,                "NAND 
8MiB 3.3V 8-bit"},
+       { 0x0,                  0x49, 512, 8, 0x2000, NAND_BUSWIDTH_16, "NAND 
8MiB 1.8V 16-bit"},
+       { 0x0,                  0x59, 512, 8, 0x2000, NAND_BUSWIDTH_16, "NAND 
8MiB 3.3V 16-bit"},
        /* end "museum" IDs */
 
-       {"NAND 16MiB 1.8V 8-bit",       0x33, 512, 16, 0x4000, 0},
-       {"NAND 16MiB 3.3V 8-bit",       0x73, 512, 16, 0x4000, 0},
-       {"NAND 16MiB 1.8V 16-bit",      0x43, 512, 16, 0x4000, 
NAND_BUSWIDTH_16},
-       {"NAND 16MiB 3.3V 16-bit",      0x53, 512, 16, 0x4000, 
NAND_BUSWIDTH_16},
-
-       {"NAND 32MiB 1.8V 8-bit",       0x35, 512, 32, 0x4000, 0},
-       {"NAND 32MiB 3.3V 8-bit",       0x75, 512, 32, 0x4000, 0},
-       {"NAND 32MiB 1.8V 16-bit",      0x45, 512, 32, 0x4000, 
NAND_BUSWIDTH_16},
-       {"NAND 32MiB 3.3V 16-bit",      0x55, 512, 32, 0x4000, 
NAND_BUSWIDTH_16},
-
-       {"NAND 64MiB 1.8V 8-bit",       0x36, 512, 64, 0x4000, 0},
-       {"NAND 64MiB 3.3V 8-bit",       0x76, 512, 64, 0x4000, 0},
-       {"NAND 64MiB 1.8V 16-bit",      0x46, 512, 64, 0x4000, 
NAND_BUSWIDTH_16},
-       {"NAND 64MiB 3.3V 16-bit",      0x56, 512, 64, 0x4000, 
NAND_BUSWIDTH_16},
-
-       {"NAND 128MiB 1.8V 8-bit",      0x78, 512, 128, 0x4000, 0},
-       {"NAND 128MiB 1.8V 8-bit",      0x39, 512, 128, 0x4000, 0},
-       {"NAND 128MiB 3.3V 8-bit",      0x79, 512, 128, 0x4000, 0},
-       {"NAND 128MiB 1.8V 16-bit",     0x72, 512, 128, 0x4000, 
NAND_BUSWIDTH_16},
-       {"NAND 128MiB 1.8V 16-bit",     0x49, 512, 128, 0x4000, 
NAND_BUSWIDTH_16},
-       {"NAND 128MiB 3.3V 16-bit",     0x74, 512, 128, 0x4000, 
NAND_BUSWIDTH_16},
-       {"NAND 128MiB 3.3V 16-bit",     0x59, 512, 128, 0x4000, 
NAND_BUSWIDTH_16},
-
-       {"NAND 256MiB 3.3V 8-bit",      0x71, 512, 256, 0x4000, 0},
-
-       {"NAND 64MiB 1.8V 8-bit",       0xA2, 0,  64, 0, LP_OPTIONS},
-       {"NAND 64MiB 3.3V 8-bit",       0xF2, 0,  64, 0, LP_OPTIONS},
-       {"NAND 64MiB 1.8V 16-bit",      0xB2, 0,  64, 0, LP_OPTIONS16},
-       {"NAND 64MiB 3.3V 16-bit",      0xC2, 0,  64, 0, LP_OPTIONS16},
-
-       {"NAND 128MiB 1.8V 8-bit",      0xA1, 0, 128, 0, LP_OPTIONS},
-       {"NAND 128MiB 3.3V 8-bit",      0xF1, 0, 128, 0, LP_OPTIONS},
-       {"NAND 128MiB 1.8V 16-bit",     0xB1, 0, 128, 0, LP_OPTIONS16},
-       {"NAND 128MiB 3.3V 16-bit",     0xC1, 0, 128, 0, LP_OPTIONS16},
-
-       {"NAND 256MiB 1.8V 8-bit",      0xAA, 0, 256, 0, LP_OPTIONS},
-       {"NAND 256MiB 3.3V 8-bit",      0xDA, 0, 256, 0, LP_OPTIONS},
-       {"NAND 256MiB 1.8V 16-bit",     0xBA, 0, 256, 0, LP_OPTIONS16},
-       {"NAND 256MiB 3.3V 16-bit",     0xCA, 0, 256, 0, LP_OPTIONS16},
-
-       {"NAND 512MiB 1.8V 8-bit",      0xAC, 0, 512, 0, LP_OPTIONS},
-       {"NAND 512MiB 3.3V 8-bit",      0xDC, 0, 512, 0, LP_OPTIONS},
-       {"NAND 512MiB 1.8V 16-bit",     0xBC, 0, 512, 0, LP_OPTIONS16},
-       {"NAND 512MiB 3.3V 16-bit",     0xCC, 0, 512, 0, LP_OPTIONS16},
-
-       {"NAND 1GiB 1.8V 8-bit",        0xA3, 0, 1024, 0, LP_OPTIONS},
-       {"NAND 1GiB 3.3V 8-bit",        0xD3, 0, 1024, 0, LP_OPTIONS},
-       {"NAND 1GiB 1.8V 16-bit",       0xB3, 0, 1024, 0, LP_OPTIONS16},
-       {"NAND 1GiB 3.3V 16-bit",       0xC3, 0, 1024, 0, LP_OPTIONS16},
-
-       {"NAND 2GiB 1.8V 8-bit",        0xA5, 0, 2048, 0, LP_OPTIONS},
-       {"NAND 2GiB 3.3V 8-bit",        0xD5, 0, 2048, 0, LP_OPTIONS},
-       {"NAND 2GiB 1.8V 16-bit",       0xB5, 0, 2048, 0, LP_OPTIONS16},
-       {"NAND 2GiB 3.3V 16-bit",       0xC5, 0, 2048, 0, LP_OPTIONS16},
-
-       {"NAND 2GiB 3.3V 8-bit",        0x48, 0, 2048, 0, LP_OPTIONS},
-
-       {NULL, 0, 0, 0, 0, 0 }
+       { 0x0,                  0x33, 512, 16, 0x4000, 0,               "NAND 
16MiB 1.8V 8-bit"},
+       { 0x0,                  0x73, 512, 16, 0x4000, 0,               "NAND 
16MiB 3.3V 8-bit"},
+       { 0x0,                  0x43, 512, 16, 0x4000, NAND_BUSWIDTH_16,"NAND 
16MiB 1.8V 16-bit"},
+       { 0x0,                  0x53, 512, 16, 0x4000, NAND_BUSWIDTH_16,"NAND 
16MiB 3.3V 16-bit"},
+
+       { 0x0,                  0x35, 512, 32, 0x4000, 0,               "NAND 
32MiB 1.8V 8-bit"},
+       { 0x0,                  0x75, 512, 32, 0x4000, 0,               "NAND 
32MiB 3.3V 8-bit"},
+       { 0x0,                  0x45, 512, 32, 0x4000, NAND_BUSWIDTH_16,"NAND 
32MiB 1.8V 16-bit"},
+       { 0x0,                  0x55, 512, 32, 0x4000, NAND_BUSWIDTH_16,"NAND 
32MiB 3.3V 16-bit"},
+
+       { 0x0,                  0x36, 512, 64, 0x4000, 0,               "NAND 
64MiB 1.8V 8-bit"},
+       { 0x0,                  0x76, 512, 64, 0x4000, 0,               "NAND 
64MiB 3.3V 8-bit"},
+       { 0x0,                  0x46, 512, 64, 0x4000, NAND_BUSWIDTH_16,"NAND 
64MiB 1.8V 16-bit"},
+       { 0x0,                  0x56, 512, 64, 0x4000, NAND_BUSWIDTH_16,"NAND 
64MiB 3.3V 16-bit"},
+
+       { 0x0,                  0x78, 512, 128, 0x4000, 0,              "NAND 
128MiB 1.8V 8-bit"},
+       { 0x0,                  0x39, 512, 128, 0x4000, 0,              "NAND 
128MiB 1.8V 8-bit"},
+       { 0x0,                  0x79, 512, 128, 0x4000, 0,              "NAND 
128MiB 3.3V 8-bit"},
+       { 0x0,                  0x72, 512, 128, 0x4000, NAND_BUSWIDTH_16,"NAND 
128MiB 1.8V 16-bit"},
+       { 0x0,                  0x49, 512, 128, 0x4000, NAND_BUSWIDTH_16,"NAND 
128MiB 1.8V 16-bit"},
+       { 0x0,                  0x74, 512, 128, 0x4000, NAND_BUSWIDTH_16,"NAND 
128MiB 3.3V 16-bit"},
+       { 0x0,                  0x59, 512, 128, 0x4000, NAND_BUSWIDTH_16,"NAND 
128MiB 3.3V 16-bit"},
+
+       { 0x0,                  0x71, 512, 256, 0x4000, 0,              "NAND 
256MiB 3.3V 8-bit"},
+
+       { 0x0,                  0xA2, 0,  64, 0, LP_OPTIONS,            "NAND 
64MiB 1.8V 8-bit"},
+       { 0x0,                  0xF2, 0,  64, 0, LP_OPTIONS,            "NAND 
64MiB 3.3V 8-bit"},
+       { 0x0,                  0xB2, 0,  64, 0, LP_OPTIONS16,          "NAND 
64MiB 1.8V 16-bit"},
+       { 0x0,                  0xC2, 0,  64, 0, LP_OPTIONS16,          "NAND 
64MiB 3.3V 16-bit"},
+
+       { 0x0,                  0xA1, 0, 128, 0, LP_OPTIONS,            "NAND 
128MiB 1.8V 8-bit"},
+       { 0x0,                  0xF1, 0, 128, 0, LP_OPTIONS,            "NAND 
128MiB 3.3V 8-bit"},
+       { 0x0,                  0xB1, 0, 128, 0, LP_OPTIONS16,          "NAND 
128MiB 1.8V 16-bit"},
+       { 0x0,                  0xC1, 0, 128, 0, LP_OPTIONS16,          "NAND 
128MiB 3.3V 16-bit"},
+
+       { 0x0,                  0xAA, 0, 256, 0, LP_OPTIONS,            "NAND 
256MiB 1.8V 8-bit"},
+       { 0x0,                  0xDA, 0, 256, 0, LP_OPTIONS,            "NAND 
256MiB 3.3V 8-bit"},
+       { 0x0,                  0xBA, 0, 256, 0, LP_OPTIONS16,          "NAND 
256MiB 1.8V 16-bit"},
+       { 0x0,                  0xCA, 0, 256, 0, LP_OPTIONS16,          "NAND 
256MiB 3.3V 16-bit"},
+
+       { 0x0,                  0xAC, 0, 512, 0, LP_OPTIONS,            "NAND 
512MiB 1.8V 8-bit"},
+       { 0x0,                  0xDC, 0, 512, 0, LP_OPTIONS,            "NAND 
512MiB 3.3V 8-bit"},
+       { 0x0,                  0xBC, 0, 512, 0, LP_OPTIONS16,          "NAND 
512MiB 1.8V 16-bit"},
+       { 0x0,                  0xCC, 0, 512, 0, LP_OPTIONS16,          "NAND 
512MiB 3.3V 16-bit"},
+
+       { 0x0,                  0xA3, 0, 1024, 0, LP_OPTIONS,           "NAND 
1GiB 1.8V 8-bit"},
+       { 0x0,                  0xD3, 0, 1024, 0, LP_OPTIONS,           "NAND 
1GiB 3.3V 8-bit"},
+       { 0x0,                  0xB3, 0, 1024, 0, LP_OPTIONS16,         "NAND 
1GiB 1.8V 16-bit"},
+       { 0x0,                  0xC3, 0, 1024, 0, LP_OPTIONS16,         "NAND 
1GiB 3.3V 16-bit"},
+
+       { 0x0,                  0xA5, 0, 2048, 0, LP_OPTIONS,           "NAND 
2GiB 1.8V 8-bit"},
+       { 0x0,                  0xD5, 0, 8192, 0, LP_OPTIONS,           "NAND 
2GiB 3.3V 8-bit"},
+       { 0x0,                  0xB5, 0, 2048, 0, LP_OPTIONS16,         "NAND 
2GiB 1.8V 16-bit"},
+       { 0x0,                  0xC5, 0, 2048, 0, LP_OPTIONS16,         "NAND 
2GiB 3.3V 16-bit"},
+
+       { 0x0,                  0x48, 0, 2048, 0, LP_OPTIONS,           "NAND 
2GiB 3.3V 8-bit"},
+
+       {0, 0, 0, 0, 0, 0, NULL}
 };
 
 /* Manufacturer ID list
diff --git a/src/flash/nand/core.h b/src/flash/nand/core.h
index 73fd0ed..8a76d48 100644
--- a/src/flash/nand/core.h
+++ b/src/flash/nand/core.h
@@ -97,12 +97,13 @@ struct nand_manufacturer
 
 struct nand_info
 {
-       const char *name;
+       int mfr_id;
        int id;
        int page_size;
        int chip_size;
        int erase_size;
        int options;
+       const char *name;
 };
 
 /* Option constants for bizarre disfunctionality and real features
-- 
1.7.3.4

_______________________________________________
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to