cosmetic update for getpir.
[coreboot.git] / util / flashrom / flashchips.c
index 3862158f8c0923ec98f06807cc3d27875547d488..22f1d027d05f9000c50df3c5a68219ef4883611c 100644 (file)
  */
 struct flashchip flashchips[] = {
        /**********************************************************************************************************************************************************************************************************************/
-       /* Vendor       Chip                    Vendor ID       Chip ID                 TODO    TODO            Test status     Probe function          Erase function                  Write function          Read function */
+       /* Vendor       Chip                    Vendor ID       Chip ID         Total size (kB) Page size (B)   Test status     Probe function          Erase function                  Write function          Read function */
        /**********************************************************************************************************************************************************************************************************************/
+       {"AMD",         "Am29F002(N)BB",        AMD_ID,         AM_29F002BB,            256,    256,            TEST_UNTESTED,  probe_jedec,            erase_chip_jedec,               write_en29f002a},
+       {"AMD",         "Am29F002(N)BT",        AMD_ID,         AM_29F002BT,            256,    256,            TEST_OK_PREW,   probe_jedec,            erase_chip_jedec,               write_en29f002a},
        {"AMD",         "Am29F016D",            AMD_ID,         AM_29F016D,             2048,   64 * 1024,      TEST_UNTESTED,  probe_29f040b,          erase_29f040b,                  write_29f040b},
        {"AMD",         "Am29F040B",            AMD_ID,         AM_29F040B,             512,    64 * 1024,      TEST_OK_PREW,   probe_29f040b,          erase_29f040b,                  write_29f040b},
        {"AMD",         "Am29LV040B",           AMD_ID,         AM_29LV040B,            512,    64 * 1024,      TEST_UNTESTED,  probe_29f040b,          erase_29f040b,                  write_29f040b},
@@ -40,7 +42,7 @@ struct flashchip flashchips[] = {
        {"Atmel",       "AT29C040A",            ATMEL_ID,       AT_29C040A,             512,    256,            TEST_UNTESTED,  probe_jedec,            erase_chip_jedec,               write_jedec},
        {"Atmel",       "AT49F002(N)",          ATMEL_ID,       AT_49F002N,             256,    256,            TEST_UNTESTED,  probe_jedec,            erase_chip_jedec,               write_49f002},
        {"Atmel",       "AT49F002(N)T",         ATMEL_ID,       AT_49F002NT,            256,    256,            TEST_OK_PREW,   probe_jedec,            erase_chip_jedec,               write_49f002},
-       {"Atmel",       "AT25DF321",            ATMEL_ID,       AT_25DF321,             4096,   256,            TEST_OK_PREW,   probe_spi_rdid,         spi_chip_erase_c7,      spi_chip_write, spi_chip_read},
+       {"Atmel",       "AT25DF321",            ATMEL_ID,       AT_25DF321,             4096,   256,            TEST_OK_PREW,   probe_spi_rdid,         spi_chip_erase_c7,      spi_chip_write, spi_chip_read},
        {"AMIC",        "A25L40P",              AMIC_ID,        AMIC_A25L40P,           512,    256,            TEST_OK_PREW,   probe_spi_rdid4,        spi_chip_erase_c7,      spi_chip_write, spi_chip_read},
        {"AMIC",        "A29002B",              AMIC_ID_NOPREFIX, AMIC_A29002B,         256,    64 * 1024,      TEST_UNTESTED,  probe_29f002,           erase_29f002,                   write_29f002},
        {"AMIC",        "A29002T",              AMIC_ID_NOPREFIX, AMIC_A29002T,         256,    64 * 1024,      TEST_OK_PREW,   probe_29f002,           erase_29f002,                   write_29f002},
@@ -49,14 +51,27 @@ struct flashchip flashchips[] = {
        {"EMST",        "F49B002UA",            EMST_ID,        EMST_F49B002UA,         256,    4096,           TEST_UNTESTED,  probe_jedec,            erase_chip_jedec,               write_49f002},
        {"EON",         "EN29F002(A)(N)B",      EON_ID,         EN_29F002B,             256,    256,            TEST_UNTESTED,  probe_jedec,            erase_chip_jedec,               write_en29f002a},
        {"EON",         "EN29F002(A)(N)T",      EON_ID,         EN_29F002T,             256,    256,            TEST_OK_PREW,   probe_jedec,            erase_chip_jedec,               write_en29f002a},
-       {"Fujitsu",     "MBM29F400TC",          FUJITSU_ID,     MBM29F400TC_STRANGE,    512,    64 * 1024,      TEST_UNTESTED,  probe_m29f400bt,        erase_m29f400bt,                write_coreboot_m29f400bt},
+       {"Fujitsu",     "MBM29F004BC",          FUJITSU_ID,     MBM29F004BC,            512,    64 * 1024,      TEST_UNTESTED,  probe_jedec,            NULL,                   NULL},
+       {"Fujitsu",     "MBM29F004TC",          FUJITSU_ID,     MBM29F004TC,            512,    64 * 1024,      TEST_UNTESTED,  probe_jedec,            NULL,                   NULL},
+       {"Fujitsu",     "MBM29F400BC",          FUJITSU_ID,     MBM29F400BC,            512,    64 * 1024,      TEST_UNTESTED,  probe_m29f400bt,        erase_m29f400bt,                write_coreboot_m29f400bt},
+       {"Fujitsu",     "MBM29F400TC",          FUJITSU_ID,     MBM29F400TC,            512,    64 * 1024,      TEST_UNTESTED,  probe_m29f400bt,        erase_m29f400bt,                write_coreboot_m29f400bt},
        {"Intel",       "82802AB",              INTEL_ID,       173,                    512,    64 * 1024,      TEST_OK_PREW,   probe_82802ab,          erase_82802ab,                  write_82802ab},
        {"Intel",       "82802AC",              INTEL_ID,       172,                    1024,   64 * 1024,      TEST_OK_PREW,   probe_82802ab,          erase_82802ab,                  write_82802ab},
+       {"Macronix",    "MX25L512",             MX_ID,          MX_25L512,              64,     256,            TEST_UNTESTED,  probe_spi_rdid,         spi_chip_erase_c7,      spi_chip_write, spi_chip_read},
+       {"Macronix",    "MX25L1005",            MX_ID,          MX_25L1005,             128,    256,            TEST_UNTESTED,  probe_spi_rdid,         spi_chip_erase_c7,      spi_chip_write, spi_chip_read},
+       {"Macronix",    "MX25L2005",            MX_ID,          MX_25L2005,             256,    256,            TEST_UNTESTED,  probe_spi_rdid,         spi_chip_erase_c7,      spi_chip_write, spi_chip_read},
        {"Macronix",    "MX25L4005",            MX_ID,          MX_25L4005,             512,    256,            TEST_OK_PREW,   probe_spi_rdid,         spi_chip_erase_c7,      spi_chip_write, spi_chip_read},
        {"Macronix",    "MX25L8005",            MX_ID,          MX_25L8005,             1024,   256,            TEST_OK_PREW,   probe_spi_rdid,         spi_chip_erase_c7,      spi_chip_write, spi_chip_read},
        {"Macronix",    "MX25L1605",            MX_ID,          MX_25L1605,             2048,   256,            TEST_UNTESTED,  probe_spi_rdid,         spi_chip_erase_c7,      spi_chip_write, spi_chip_read},
        {"Macronix",    "MX25L3205",            MX_ID,          MX_25L3205,             4096,   256,            TEST_OK_PREW,   probe_spi_rdid,         spi_chip_erase_c7,      spi_chip_write, spi_chip_read},
-       {"Macronix",    "MX29F002",             MX_ID,          MX_29F002,              256,    64 * 1024,      TEST_UNTESTED,  probe_29f002,           erase_29f002,                   write_29f002},
+       {"Macronix",    "MX25L6405",            MX_ID,          MX_25L6405,             8192,   256,            TEST_UNTESTED,  probe_spi_rdid,         spi_chip_erase_c7,      spi_chip_write, spi_chip_read},
+       {"Macronix",    "MX29F002B",            MX_ID,          MX_29F002B,             256,    64 * 1024,      TEST_UNTESTED,  probe_29f002,           erase_29f002,                   write_29f002},
+       {"Macronix",    "MX29F002T",            MX_ID,          MX_29F002T,             256,    64 * 1024,      TEST_UNTESTED,  probe_29f002,           erase_29f002,                   write_29f002},
+       {"Numonyx",     "M25PE10",              ST_ID,          0x8011,                 128,    256,            TEST_UNTESTED,  probe_spi_rdid,         spi_chip_erase_d8,      spi_chip_write, spi_chip_read},
+       {"Numonyx",     "M25PE20",              ST_ID,          0x8012,                 256,    256,            TEST_UNTESTED,  probe_spi_rdid,         spi_chip_erase_d8,      spi_chip_write, spi_chip_read},
+       {"Numonyx",     "M25PE40",              ST_ID,          0x8013,                 256,    256,            TEST_UNTESTED,  probe_spi_rdid,         spi_chip_erase_d8,      spi_chip_write, spi_chip_read},
+       {"Numonyx",     "M25PE80",              ST_ID,          0x8014,                 1024,   256,            TEST_OK_PREW,   probe_spi_rdid,         spi_chip_erase_d8,      spi_chip_write, spi_chip_read},
+       {"Numonyx",     "M25PE16",              ST_ID,          0x8015,                 2048,   256,            TEST_UNTESTED,  probe_spi_rdid,         spi_chip_erase_d8,      spi_chip_write, spi_chip_read},
        {"PMC",         "Pm25LV010",            PMC_ID,         PMC_25LV010,            128,    256,            TEST_UNTESTED,  probe_spi_rdid,         spi_chip_erase_c7,      spi_chip_write, spi_chip_read},
        {"PMC",         "Pm25LV016B",           PMC_ID,         PMC_25LV016B,           2048,   256,            TEST_UNTESTED,  probe_spi_rdid,         spi_chip_erase_c7,      spi_chip_write, spi_chip_read},
        {"PMC",         "Pm25LV020",            PMC_ID,         PMC_25LV020,            256,    256,            TEST_UNTESTED,  probe_spi_rdid,         spi_chip_erase_c7,      spi_chip_write, spi_chip_read},
@@ -74,9 +89,9 @@ struct flashchip flashchips[] = {
        {"SST",         "SST29LE010",           SST_ID,         SST_29LE010,            128,    128,            TEST_UNTESTED,  probe_jedec,            erase_chip_jedec,               write_jedec},
        {"SST",         "SST29EE020A",          SST_ID,         SST_29EE020A,           256,    128,            TEST_UNTESTED,  probe_jedec,            erase_chip_jedec,               write_jedec},
        {"SST",         "SST29LE020",           SST_ID,         SST_29LE020,            256,    128,            TEST_UNTESTED,  probe_jedec,            erase_chip_jedec,               write_jedec},
-       {"SST",         "SST39SF010A",          SST_ID,         SST_39SF010,            128,    4096,           TEST_UNTESTED,  probe_jedec,            erase_chip_jedec,               write_39sf020},
+       {"SST",         "SST39SF010A",          SST_ID,         SST_39SF010,            128,    4096,           TEST_OK_PREW,   probe_jedec,            erase_chip_jedec,               write_39sf020},
        {"SST",         "SST39SF020A",          SST_ID,         SST_39SF020,            256,    4096,           TEST_OK_PREW,   probe_jedec,            erase_chip_jedec,               write_39sf020},
-       {"SST",         "SST39SF040",           SST_ID,         SST_39SF040,            512,    4096,           TEST_UNTESTED,  probe_jedec,            erase_chip_jedec,               write_39sf020},
+       {"SST",         "SST39SF040",           SST_ID,         SST_39SF040,            512,    4096,           TEST_OK_PREW,   probe_jedec,            erase_chip_jedec,               write_39sf020},
        {"SST",         "SST39VF512",           SST_ID,         SST_39VF512,            64,     4096,           TEST_UNTESTED,  probe_jedec,            erase_chip_jedec,               write_39sf020},
        {"SST",         "SST39VF010",           SST_ID,         SST_39VF010,            128,    4096,           TEST_UNTESTED,  probe_jedec,            erase_chip_jedec,               write_39sf020},
        {"SST",         "SST39VF020",           SST_ID,         SST_39VF020,            256,    4096,           TEST_UNTESTED,  probe_jedec,            erase_chip_jedec,               write_39sf020},
@@ -100,7 +115,7 @@ struct flashchip flashchips[] = {
        {"ST",          "M25P40",               ST_ID,          ST_M25P40,              512,    256,            TEST_UNTESTED,  probe_spi_rdid,         spi_chip_erase_c7,      spi_chip_write, spi_chip_read},
        {"ST",          "M25P40-old",           ST_ID,          ST_M25P40_RES,          512,    256,            TEST_UNTESTED,  probe_spi_res,          spi_chip_erase_c7,      spi_chip_write, spi_chip_read},
        {"ST",          "M25P80",               ST_ID,          ST_M25P80,              1024,   256,            TEST_UNTESTED,  probe_spi_rdid,         spi_chip_erase_c7,      spi_chip_write, spi_chip_read},
-       {"ST",          "M25P16",               ST_ID,          ST_M25P16,              2048,   256,            TEST_UNTESTED,  probe_spi_rdid,         spi_chip_erase_c7,      spi_chip_write, spi_chip_read},
+       {"ST",          "M25P16",               ST_ID,          ST_M25P16,              2048,   256,            TEST_OK_PREW,   probe_spi_rdid,         spi_chip_erase_c7,      spi_chip_write, spi_chip_read},
        {"ST",          "M25P32",               ST_ID,          ST_M25P32,              4096,   256,            TEST_OK_PREW,   probe_spi_rdid,         spi_chip_erase_c7,      spi_chip_write, spi_chip_read},
        {"ST",          "M25P64",               ST_ID,          ST_M25P64,              8192,   256,            TEST_UNTESTED,  probe_spi_rdid,         spi_chip_erase_c7,      spi_chip_write, spi_chip_read},
        {"ST",          "M25P128",              ST_ID,          ST_M25P128,             16384,  256,            TEST_UNTESTED,  probe_spi_rdid,         spi_chip_erase_c7,      spi_chip_write, spi_chip_read},
@@ -114,6 +129,7 @@ struct flashchip flashchips[] = {
        {"ST",          "M50FLW040B",           ST_ID,          ST_M50FLW040B,          512,    64 * 1024,      TEST_UNTESTED,  probe_stm50flw0x0x,     erase_stm50flw0x0x,             write_stm50flw0x0x},
        {"ST",          "M50FLW080A",           ST_ID,          ST_M50FLW080A,          1024,   64 * 1024,      TEST_OK_PREW,   probe_stm50flw0x0x,     erase_stm50flw0x0x,             write_stm50flw0x0x},
        {"ST",          "M50FLW080B",           ST_ID,          ST_M50FLW080B,          1024,   64 * 1024,      TEST_UNTESTED,  probe_stm50flw0x0x,     erase_stm50flw0x0x,             write_stm50flw0x0x},
+       {"ST",          "M50FW002",             ST_ID,          ST_M50FW002,            256,    64 * 1024,      TEST_UNTESTED,  probe_49lfxxxc,         NULL,                   NULL},
        {"ST",          "M50FW016",             ST_ID,          ST_M50FW016,            2048,   64 * 1024,      TEST_UNTESTED,  probe_82802ab,          erase_82802ab,                  write_82802ab},
        {"ST",          "M50FW040",             ST_ID,          ST_M50FW040,            512,    64 * 1024,      TEST_OK_PREW,   probe_82802ab,          erase_82802ab,                  write_82802ab},
        {"ST",          "M50FW080",             ST_ID,          ST_M50FW080,            1024,   64 * 1024,      TEST_UNTESTED,  probe_82802ab,          erase_82802ab,                  write_82802ab},
@@ -126,14 +142,14 @@ struct flashchip flashchips[] = {
        {"Winbond",     "W25x20",               WINBOND_NEX_ID, W_25X20,                256,    256,            TEST_UNTESTED,  probe_spi_rdid,         spi_chip_erase_c7,      spi_chip_write, spi_chip_read},
        {"Winbond",     "W25x40",               WINBOND_NEX_ID, W_25X40,                512,    256,            TEST_OK_PREW,   probe_spi_rdid,         spi_chip_erase_c7,      spi_chip_write, spi_chip_read},
        {"Winbond",     "W25x80",               WINBOND_NEX_ID, W_25X80,                1024,   256,            TEST_OK_PREW,   probe_spi_rdid,         spi_chip_erase_c7,      spi_chip_write, spi_chip_read},
-       {"Winbond",     "W29C011",              WINBOND_ID,     W_29C011,               128,    128,            TEST_UNTESTED,  probe_jedec,            erase_chip_jedec,               write_jedec},
+       {"Winbond",     "W29C011",              WINBOND_ID,     W_29C011,               128,    128,            TEST_OK_PREW,   probe_jedec,            erase_chip_jedec,               write_jedec},
        {"Winbond",     "W29C020C",             WINBOND_ID,     W_29C020C,              256,    128,            TEST_OK_PREW,   probe_jedec,            erase_chip_jedec,               write_jedec},
        {"Winbond",     "W29C040P",             WINBOND_ID,     W_29C040P,              512,    256,            TEST_UNTESTED,  probe_jedec,            erase_chip_jedec,               write_jedec},
        {"Winbond",     "W29EE011",             WINBOND_ID,     W_29C011,               128,    128,            TEST_OK_PREW,   probe_w29ee011,         erase_chip_jedec,               write_jedec},
        {"Winbond",     "W39V040A",             WINBOND_ID,     W_39V040A,              512,    64*1024,        TEST_UNTESTED,  probe_jedec,            erase_chip_jedec,               write_39sf020},
        {"Winbond",     "W39V040B",             WINBOND_ID,     W_39V040B,              512,    64*1024,        TEST_OK_PREW,   probe_jedec,            erase_chip_jedec,               write_39sf020},
-       {"Winbond",     "W39V040C",             0xda,           0x50,                   512,    64*1024,        TEST_OK_PREW,   probe_w39v040c,         erase_w39v040c,                 write_w39v040c},
-       {"Winbond",     "W39V040FA",            WINBOND_ID,     W_39V040FA,             512,    64*1024,        TEST_OK_PR,     probe_jedec,            erase_chip_jedec,               write_39sf020},
+       {"Winbond",     "W39V040C",             WINBOND_ID,     0x50,                   512,    64*1024,        TEST_OK_PREW,   probe_w39v040c,         erase_w39v040c,                 write_w39v040c},
+       {"Winbond",     "W39V040FA",            WINBOND_ID,     W_39V040FA,             512,    64*1024,        TEST_OK_PREW,   probe_jedec,            erase_chip_jedec,               write_39sf020},
        {"Winbond",     "W39V080A",             WINBOND_ID,     W_39V080A,              1024,   64*1024,        TEST_OK_PREW,   probe_jedec,            erase_chip_jedec,               write_39sf020},
        {"Winbond",     "W49F002U",             WINBOND_ID,     W_49F002U,              256,    128,            TEST_OK_PREW,   probe_jedec,            erase_chip_jedec,               write_49f002},
        {"Winbond",     "W49V002A",             WINBOND_ID,     W_49V002A,              256,    128,            TEST_OK_PREW,   probe_jedec,            erase_chip_jedec,               write_49f002},