diff options
Diffstat (limited to 'util/flashrom/flashchips.c')
-rw-r--r-- | util/flashrom/flashchips.c | 2256 |
1 files changed, 0 insertions, 2256 deletions
diff --git a/util/flashrom/flashchips.c b/util/flashrom/flashchips.c deleted file mode 100644 index b9c87ad77a..0000000000 --- a/util/flashrom/flashchips.c +++ /dev/null @@ -1,2256 +0,0 @@ -/* - * This file is part of the flashrom project. - * - * Copyright (C) 2000 Silicon Integrated System Corporation - * Copyright (C) 2004 Tyan Corp - * Copyright (C) 2005-2008 coresystems GmbH <stepan@openbios.org> - * Copyright (C) 2006-2009 Carl-Daniel Hailfinger - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include "flash.h" - -/** - * List of supported flash ROM chips. - * - * Please keep the list sorted by vendor name and chip name, so that - * the output of 'flashrom -L' is alphabetically sorted. - */ -struct flashchip flashchips[] = { - - /* Vendor, Chip, Vendor ID, Chip ID, - * Total size (kB), Page size (B), - * Test status, - * Probe function, Erase function, Write function, Read function - */ - - { - .vendor = "AMD", - .name = "Am29F002(N)BB", - .manufacture_id = AMD_ID, - .model_id = AM_29F002BB, - .total_size = 256, - .page_size = 256, - .tested = TEST_UNTESTED, - .probe = probe_jedec, - .erase = erase_chip_jedec, - .write = write_en29f002a, - }, - - { - .vendor = "AMD", - .name = "Am29F002(N)BT", - .manufacture_id = AMD_ID, - .model_id = AM_29F002BT, - .total_size = 256, - .page_size = 256, - .tested = TEST_OK_PREW, - .probe = probe_jedec, - .erase = erase_chip_jedec, - .write = write_en29f002a, - }, - - { - .vendor = "AMD", - .name = "Am29F016D", - .manufacture_id = AMD_ID, - .model_id = AM_29F016D, - .total_size = 2048, - .page_size = 64 * 1024, - .tested = TEST_UNTESTED, - .probe = probe_29f040b, - .erase = erase_29f040b, - .write = write_29f040b, - }, - - { - .vendor = "AMD", - .name = "Am29F040B", - .manufacture_id = AMD_ID, - .model_id = AM_29F040B, - .total_size = 512, - .page_size = 64 * 1024, - .tested = TEST_OK_PREW, - .probe = probe_29f040b, - .erase = erase_29f040b, - .write = write_29f040b, - }, - - { - .vendor = "AMD", - .name = "Am29F080B", - .manufacture_id = 0x01, - .model_id = 0xd5, - .total_size = 1024, - .page_size = 64 * 1024, - .tested = TEST_UNTESTED, - .probe = probe_jedec, - .erase = erase_29f040b, - .write = write_29f040b, - }, - - { - .vendor = "AMD", - .name = "Am29LV040B", - .manufacture_id = AMD_ID, - .model_id = AM_29LV040B, - .total_size = 512, - .page_size = 64 * 1024, - .tested = TEST_UNTESTED, - .probe = probe_29f040b, - .erase = erase_29f040b, - .write = write_29f040b, - }, - - { - .vendor = "AMD", - .name = "Am29LV081B", - .manufacture_id = 0x01, - .model_id = 0x38, - .total_size = 1024, - .page_size = 64 * 1024, - .tested = TEST_UNTESTED, - .probe = probe_29f040b, - .erase = erase_29f040b, - .write = write_29f040b, - }, - - { - .vendor = "ASD", - .name = "AE49F2008", - .manufacture_id = ASD_ID, - .model_id = ASD_AE49F2008, - .total_size = 256, - .page_size = 128, - .tested = TEST_UNTESTED, - .probe = probe_jedec, - .erase = erase_chip_jedec, - .write = write_jedec, - }, - - { - .vendor = "Atmel", - .name = "AT25DF021", - .manufacture_id = ATMEL_ID, - .model_id = AT_25DF021, - .total_size = 256, - .page_size = 256, - .tested = TEST_UNTESTED, - .probe = probe_spi_rdid, - .erase = spi_chip_erase_60_c7, - .write = spi_chip_write, - .read = spi_chip_read, - }, - - { - .vendor = "Atmel", - .name = "AT25DF041A", - .manufacture_id = ATMEL_ID, - .model_id = AT_25DF041A, - .total_size = 512, - .page_size = 256, - .tested = TEST_UNTESTED, - .probe = probe_spi_rdid, - .erase = spi_chip_erase_60_c7, - .write = spi_chip_write, - .read = spi_chip_read, - }, - - { - .vendor = "Atmel", - .name = "AT25DF081", - .manufacture_id = ATMEL_ID, - .model_id = AT_25DF081, - .total_size = 1024, - .page_size = 256, - .tested = TEST_UNTESTED, - .probe = probe_spi_rdid, - .erase = spi_chip_erase_60_c7, - .write = spi_chip_write, - .read = spi_chip_read, - }, - - { - .vendor = "Atmel", - .name = "AT25DF161", - .manufacture_id = ATMEL_ID, - .model_id = AT_25DF161, - .total_size = 2048, - .page_size = 256, - .tested = TEST_UNTESTED, - .probe = probe_spi_rdid, - .erase = spi_chip_erase_60_c7, - .write = spi_chip_write, - .read = spi_chip_read, - }, - - { - .vendor = "Atmel", - .name = "AT25DF321", - .manufacture_id = ATMEL_ID, - .model_id = AT_25DF321, - .total_size = 4096, - .page_size = 256, - .tested = TEST_OK_PREW, - .probe = probe_spi_rdid, - .erase = spi_chip_erase_60_c7, - .write = spi_chip_write, - .read = spi_chip_read, - }, - - { - .vendor = "Atmel", - .name = "AT25DF321A", - .manufacture_id = ATMEL_ID, - .model_id = AT_25DF321A, - .total_size = 4096, - .page_size = 256, - .tested = TEST_UNTESTED, - .probe = probe_spi_rdid, - .erase = spi_chip_erase_60_c7, - .write = spi_chip_write, - .read = spi_chip_read, - }, - - { - .vendor = "Atmel", - .name = "AT25DF641", - .manufacture_id = ATMEL_ID, - .model_id = AT_25DF641, - .total_size = 8192, - .page_size = 256, - .tested = TEST_UNTESTED, - .probe = probe_spi_rdid, - .erase = spi_chip_erase_60_c7, - .write = spi_chip_write, - .read = spi_chip_read, - }, - - { - .vendor = "Atmel", - .name = "AT25F512B", - .manufacture_id = ATMEL_ID, - .model_id = AT_25F512B, - .total_size = 64, - .page_size = 256, - .tested = TEST_UNTESTED, - .probe = probe_spi_rdid, - .erase = spi_chip_erase_60_c7, - .write = spi_chip_write, - .read = spi_chip_read, - }, - - { - .vendor = "Atmel", - .name = "AT25FS010", - .manufacture_id = ATMEL_ID, - .model_id = AT_25FS010, - .total_size = 128, - .page_size = 256, - .tested = TEST_UNTESTED, - .probe = probe_spi_rdid, - .erase = spi_chip_erase_60_c7, - .write = spi_chip_write, - .read = spi_chip_read, - }, - - { - .vendor = "Atmel", - .name = "AT25FS040", - .manufacture_id = ATMEL_ID, - .model_id = AT_25FS040, - .total_size = 512, - .page_size = 256, - .tested = TEST_UNTESTED, - .probe = probe_spi_rdid, - .erase = spi_chip_erase_60_c7, - .write = spi_chip_write, - .read = spi_chip_read, - }, - - { - .vendor = "Atmel", - .name = "AT26DF041", - .manufacture_id = ATMEL_ID, - .model_id = AT_26DF041, - .total_size = 512, - .page_size = 256, - .tested = TEST_UNTESTED, - .probe = probe_spi_rdid, - .erase = NULL, - .write = NULL /* Incompatible Page write */, - .read = spi_chip_read, - }, - - { - .vendor = "Atmel", - .name = "AT26DF081A", - .manufacture_id = ATMEL_ID, - .model_id = AT_26DF081A, - .total_size = 1024, - .page_size = 256, - .tested = TEST_UNTESTED, - .probe = probe_spi_rdid, - .erase = spi_chip_erase_60_c7, - .write = spi_chip_write, - .read = spi_chip_read, - }, - - { - .vendor = "Atmel", - .name = "AT26DF161", - .manufacture_id = ATMEL_ID, - .model_id = AT_26DF161, - .total_size = 2048, - .page_size = 256, - .tested = TEST_UNTESTED, - .probe = probe_spi_rdid, - .erase = spi_chip_erase_60_c7, - .write = spi_chip_write, - .read = spi_chip_read, - }, - - { - .vendor = "Atmel", - .name = "AT26DF161A", - .manufacture_id = ATMEL_ID, - .model_id = AT_26DF161A, - .total_size = 2048, - .page_size = 256, - .tested = TEST_UNTESTED, - .probe = probe_spi_rdid, - .erase = spi_chip_erase_60_c7, - .write = spi_chip_write, - .read = spi_chip_read, - }, - - /*The AT26DF321 has the same ID as the AT25DF321. */ - /*{ - .vendor = "Atmel", - .name = "AT26DF321", - .manufacture_id = ATMEL_ID, - .model_id = AT_26DF321, - .total_size = 4096, - .page_size = 256, - .tested = TEST_UNTESTED, - .probe = probe_spi_rdid, - .erase = spi_chip_erase_60_c7, - .write = spi_chip_write, - .read = spi_chip_read, - },*/ - - { - .vendor = "Atmel", - .name = "AT26F004", - .manufacture_id = ATMEL_ID, - .model_id = AT_26F004, - .total_size = 512, - .page_size = 256, - .tested = TEST_UNTESTED, - .probe = probe_spi_rdid, - .erase = spi_chip_erase_60_c7, - .write = NULL /* Incompatible Page write */, - .read = spi_chip_read, - }, - - { - .vendor = "Atmel", - .name = "AT29C020", - .manufacture_id = ATMEL_ID, - .model_id = AT_29C020, - .total_size = 256, - .page_size = 256, - .tested = TEST_OK_PREW, - .probe = probe_jedec, - .erase = erase_chip_jedec, - .write = write_jedec, - }, - - { - .vendor = "Atmel", - .name = "AT29C040A", - .manufacture_id = ATMEL_ID, - .model_id = AT_29C040A, - .total_size = 512, - .page_size = 256, - .tested = TEST_UNTESTED, - .probe = probe_jedec, - .erase = erase_chip_jedec, - .write = write_jedec, - }, - - { - .vendor = "Atmel", - .name = "AT45CS1282", - .manufacture_id = ATMEL_ID, - .model_id = AT_45CS1282, - .total_size = 16896 /* No power of two sizes */, - .page_size = 1056 /* No power of two sizes */, - .tested = TEST_BAD_READ, - .probe = probe_spi_rdid, - .erase = NULL, - .write = NULL /* Incompatible Page write */, - .read = NULL /* Incompatible read */, - }, - - { - .vendor = "Atmel", - .name = "AT45DB011D", - .manufacture_id = ATMEL_ID, - .model_id = AT_45DB011D, - .total_size = 128 /* Size can only be determined from status register */, - .page_size = 256 /* Size can only be determined from status register */, - .tested = TEST_BAD_READ, - .probe = probe_spi_rdid, - .erase = NULL, - .write = NULL, - .read = NULL, - }, - - { - .vendor = "Atmel", - .name = "AT45DB021D", - .manufacture_id = ATMEL_ID, - .model_id = AT_45DB021D, - .total_size = 256 /* Size can only be determined from status register */, - .page_size = 256 /* Size can only be determined from status register */, - .tested = TEST_BAD_READ, - .probe = probe_spi_rdid, - .erase = NULL, - .write = NULL, - .read = NULL, - }, - - { - .vendor = "Atmel", - .name = "AT45DB041D", - .manufacture_id = ATMEL_ID, - .model_id = AT_45DB041D, - .total_size = 512 /* Size can only be determined from status register */, - .page_size = 256 /* Size can only be determined from status register */, - .tested = TEST_BAD_READ, - .probe = probe_spi_rdid, - .erase = NULL, - .write = NULL, - .read = NULL, - }, - - { - .vendor = "Atmel", - .name = "AT45DB081D", - .manufacture_id = ATMEL_ID, - .model_id = AT_45DB081D, - .total_size = 1024 /* Size can only be determined from status register */, - .page_size = 256 /* Size can only be determined from status register */, - .tested = TEST_BAD_READ, - .probe = probe_spi_rdid, - .erase = NULL, - .write = NULL, - .read = NULL, - }, - - { - .vendor = "Atmel", - .name = "AT45DB161D", - .manufacture_id = ATMEL_ID, - .model_id = AT_45DB161D, - .total_size = 2048 /* Size can only be determined from status register */, - .page_size = 512 /* Size can only be determined from status register */, - .tested = TEST_BAD_READ, - .probe = probe_spi_rdid, - .erase = NULL, - .write = NULL, - .read = NULL, - }, - - { - .vendor = "Atmel", - .name = "AT45DB321C", - .manufacture_id = ATMEL_ID, - .model_id = AT_45DB321C, - .total_size = 4224 /* No power of two sizes */, - .page_size = 528 /* No power of two sizes */, - .tested = TEST_BAD_READ, - .probe = probe_spi_rdid, - .erase = NULL, - .write = NULL, - .read = NULL /* Incompatible read */, - }, - - { - .vendor = "Atmel", - .name = "AT45DB321D", - .manufacture_id = ATMEL_ID, - .model_id = AT_45DB321D, - .total_size = 4096 /* Size can only be determined from status register */, - .page_size = 512 /* Size can only be determined from status register */, - .tested = TEST_BAD_READ, - .probe = probe_spi_rdid, - .erase = NULL, - .write = NULL, - .read = NULL, - }, - - { - .vendor = "Atmel", - .name = "AT45DB642D", - .manufacture_id = ATMEL_ID, - .model_id = AT_45DB642D, - .total_size = 8192 /* Size can only be determined from status register */, - .page_size = 1024 /* Size can only be determined from status register */, - .tested = TEST_BAD_READ, - .probe = probe_spi_rdid, - .erase = NULL, - .write = NULL, - .read = NULL, - }, - - { - .vendor = "Atmel", - .name = "AT49F002(N)", - .manufacture_id = ATMEL_ID, - .model_id = AT_49F002N, - .total_size = 256, - .page_size = 256, - .tested = TEST_UNTESTED, - .probe = probe_jedec, - .erase = erase_chip_jedec, - .write = write_49f002, - }, - - { - .vendor = "Atmel", - .name = "AT49F002(N)T", - .manufacture_id = ATMEL_ID, - .model_id = AT_49F002NT, - .total_size = 256, - .page_size = 256, - .tested = TEST_OK_PREW, - .probe = probe_jedec, - .erase = erase_chip_jedec, - .write = write_49f002, - }, - - { - .vendor = "AMIC", - .name = "A25L40P", - .manufacture_id = AMIC_ID, - .model_id = AMIC_A25L40P, - .total_size = 512, - .page_size = 256, - .tested = TEST_OK_PREW, - .probe = probe_spi_rdid4, - .erase = spi_chip_erase_c7, - .write = spi_chip_write, - .read = spi_chip_read, - }, - - { - .vendor = "AMIC", - .name = "A29002B", - .manufacture_id = AMIC_ID_NOPREFIX, - .model_id = AMIC_A29002B, - .total_size = 256, - .page_size = 64 * 1024, - .tested = TEST_UNTESTED, - .probe = probe_29f002, - .erase = erase_29f002, - .write = write_29f002, - }, - - { - .vendor = "AMIC", - .name = "A29002T", - .manufacture_id = AMIC_ID_NOPREFIX, - .model_id = AMIC_A29002T, - .total_size = 256, - .page_size = 64 * 1024, - .tested = TEST_OK_PREW, - .probe = probe_29f002, - .erase = erase_29f002, - .write = write_29f002, - }, - - { - .vendor = "AMIC", - .name = "A29040B", - .manufacture_id = AMIC_ID_NOPREFIX, - .model_id = AMIC_A29040B, - .total_size = 512, - .page_size = 64 * 1024, - .tested = TEST_OK_PR, - .probe = probe_29f040b, - .erase = erase_29f040b, - .write = write_29f040b, - }, - - { - .vendor = "AMIC", - .name = "A49LF040A", - .manufacture_id = AMIC_ID_NOPREFIX, - .model_id = AMIC_A49LF040A, - .total_size = 512, - .page_size = 64 * 1024, - .tested = TEST_OK_PREW, - .probe = probe_49fl00x, - .erase = erase_49fl00x, - .write = write_49fl00x, - }, - - { - .vendor = "EMST", - .name = "F49B002UA", - .manufacture_id = EMST_ID, - .model_id = EMST_F49B002UA, - .total_size = 256, - .page_size = 4096, - .tested = TEST_UNTESTED, - .probe = probe_jedec, - .erase = erase_chip_jedec, - .write = write_49f002, - }, - - { - .vendor = "EON", - .name = "EN29F002(A)(N)B", - .manufacture_id = EON_ID, - .model_id = EN_29F002B, - .total_size = 256, - .page_size = 256, - .tested = TEST_UNTESTED, - .probe = probe_jedec, - .erase = erase_chip_jedec, - .write = write_en29f002a, - }, - - { - .vendor = "EON", - .name = "EN29F002(A)(N)T", - .manufacture_id = EON_ID, - .model_id = EN_29F002T, - .total_size = 256, - .page_size = 256, - .tested = TEST_OK_PREW, - .probe = probe_jedec, - .erase = erase_chip_jedec, - .write = write_en29f002a, - }, - - { - .vendor = "Fujitsu", - .name = "MBM29F004BC", - .manufacture_id = FUJITSU_ID, - .model_id = MBM29F004BC, - .total_size = 512, - .page_size = 64 * 1024, - .tested = TEST_UNTESTED, - .probe = probe_jedec, - .erase = NULL, - .write = NULL, - }, - - { - .vendor = "Fujitsu", - .name = "MBM29F004TC", - .manufacture_id = FUJITSU_ID, - .model_id = MBM29F004TC, - .total_size = 512, - .page_size = 64 * 1024, - .tested = TEST_UNTESTED, - .probe = probe_jedec, - .erase = NULL, - .write = NULL, - }, - - { - .vendor = "Fujitsu", - .name = "MBM29F400BC", - .manufacture_id = FUJITSU_ID, - .model_id = MBM29F400BC, - .total_size = 512, - .page_size = 64 * 1024, - .tested = TEST_UNTESTED, - .probe = probe_m29f400bt, - .erase = erase_m29f400bt, - .write = write_coreboot_m29f400bt, - }, - - { - .vendor = "Fujitsu", - .name = "MBM29F400TC", - .manufacture_id = FUJITSU_ID, - .model_id = MBM29F400TC, - .total_size = 512, - .page_size = 64 * 1024, - .tested = TEST_UNTESTED, - .probe = probe_m29f400bt, - .erase = erase_m29f400bt, - .write = write_coreboot_m29f400bt, - }, - - { - .vendor = "Intel", - .name = "82802AB", - .manufacture_id = INTEL_ID, - .model_id = 173, - .total_size = 512, - .page_size = 64 * 1024, - .tested = TEST_OK_PREW, - .probe = probe_82802ab, - .erase = erase_82802ab, - .write = write_82802ab, - }, - - { - .vendor = "Intel", - .name = "82802AC", - .manufacture_id = INTEL_ID, - .model_id = 172, - .total_size = 1024, - .page_size = 64 * 1024, - .tested = TEST_OK_PREW, - .probe = probe_82802ab, - .erase = erase_82802ab, - .write = write_82802ab, - }, - - { - .vendor = "Macronix", - .name = "MX25L512", - .manufacture_id = MX_ID, - .model_id = MX_25L512, - .total_size = 64, - .page_size = 256, - .tested = TEST_UNTESTED, - .probe = probe_spi_rdid, - .erase = spi_chip_erase_60_c7, - .write = spi_chip_write, - .read = spi_chip_read, - }, - - { - .vendor = "Macronix", - .name = "MX25L1005", - .manufacture_id = MX_ID, - .model_id = MX_25L1005, - .total_size = 128, - .page_size = 256, - .tested = TEST_UNTESTED, - .probe = probe_spi_rdid, - .erase = spi_chip_erase_60_c7, - .write = spi_chip_write, - .read = spi_chip_read, - }, - - { - .vendor = "Macronix", - .name = "MX25L2005", - .manufacture_id = MX_ID, - .model_id = MX_25L2005, - .total_size = 256, - .page_size = 256, - .tested = TEST_UNTESTED, - .probe = probe_spi_rdid, - .erase = spi_chip_erase_60_c7, - .write = spi_chip_write, - .read = spi_chip_read, - }, - - { - .vendor = "Macronix", - .name = "MX25L4005", - .manufacture_id = MX_ID, - .model_id = MX_25L4005, - .total_size = 512, - .page_size = 256, - .tested = TEST_OK_PREW, - .probe = probe_spi_rdid, - .erase = spi_chip_erase_60_c7, - .write = spi_chip_write, - .read = spi_chip_read, - }, - - { - .vendor = "Macronix", - .name = "MX25L8005", - .manufacture_id = MX_ID, - .model_id = MX_25L8005, - .total_size = 1024, - .page_size = 256, - .tested = TEST_OK_PREW, - .probe = probe_spi_rdid, - .erase = spi_chip_erase_60_c7, - .write = spi_chip_write, - .read = spi_chip_read, - }, - - { - .vendor = "Macronix", - .name = "MX25L1605", - .manufacture_id = MX_ID, - .model_id = MX_25L1605, - .total_size = 2048, - .page_size = 256, - .tested = TEST_UNTESTED, - .probe = probe_spi_rdid, - .erase = spi_chip_erase_60_c7, - .write = spi_chip_write, - .read = spi_chip_read, - }, - - { - .vendor = "Macronix", - .name = "MX25L1635D", - .manufacture_id = MX_ID, - .model_id = MX_25L1635D, - .total_size = 2048, - .page_size = 256, - .tested = TEST_UNTESTED, - .probe = probe_spi_rdid, - .erase = spi_chip_erase_60_c7, - .write = spi_chip_write, - .read = spi_chip_read, - }, - - { - .vendor = "Macronix", - .name = "MX25L3205", - .manufacture_id = MX_ID, - .model_id = MX_25L3205, - .total_size = 4096, - .page_size = 256, - .tested = TEST_OK_PREW, - .probe = probe_spi_rdid, - .erase = spi_chip_erase_60_c7, - .write = spi_chip_write, - .read = spi_chip_read, - }, - - { - .vendor = "Macronix", - .name = "MX25L3235D", - .manufacture_id = MX_ID, - .model_id = MX_25L3235D, - .total_size = 4096, - .page_size = 256, - .tested = TEST_UNTESTED, - .probe = probe_spi_rdid, - .erase = spi_chip_erase_60_c7, - .write = spi_chip_write, - .read = spi_chip_read, - }, - - { - .vendor = "Macronix", - .name = "MX25L6405", - .manufacture_id = MX_ID, - .model_id = MX_25L6405, - .total_size = 8192, - .page_size = 256, - .tested = TEST_UNTESTED, - .probe = probe_spi_rdid, - .erase = spi_chip_erase_60_c7, - .write = spi_chip_write, - .read = spi_chip_read, - }, - - { - .vendor = "Macronix", - .name = "MX25L12805", - .manufacture_id = MX_ID, - .model_id = MX_25L12805, - .total_size = 16384, - .page_size = 256, - .tested = TEST_UNTESTED, - .probe = probe_spi_rdid, - .erase = spi_chip_erase_60_c7, - .write = spi_chip_write, - .read = spi_chip_read, - }, - - { - .vendor = "Macronix", - .name = "MX29F002B", - .manufacture_id = MX_ID, - .model_id = MX_29F002B, - .total_size = 256, - .page_size = 64 * 1024, - .tested = TEST_UNTESTED, - .probe = probe_29f002, - .erase = erase_29f002, - .write = write_29f002, - }, - - { - .vendor = "Macronix", - .name = "MX29F002T", - .manufacture_id = MX_ID, - .model_id = MX_29F002T, - .total_size = 256, - .page_size = 64 * 1024, - .tested = TEST_UNTESTED, - .probe = probe_29f002, - .erase = erase_29f002, - .write = write_29f002, - }, - - { - .vendor = "Macronix", - .name = "MX29LV040C", - .manufacture_id = MX_ID, - .model_id = MX_29LV040C, - .total_size = 512, - .page_size = 64 * 1024, - .tested = TEST_OK_PR, - .probe = probe_29f002, - .erase = erase_29f002, - .write = write_29f002, - }, - - { - .vendor = "Numonyx", - .name = "M25PE10", - .manufacture_id = ST_ID, - .model_id = 0x8011, - .total_size = 128, - .page_size = 256, - .tested = TEST_UNTESTED, - .probe = probe_spi_rdid, - .erase = spi_chip_erase_d8, - .write = spi_chip_write, - .read = spi_chip_read, - }, - - { - .vendor = "Numonyx", - .name = "M25PE20", - .manufacture_id = ST_ID, - .model_id = 0x8012, - .total_size = 256, - .page_size = 256, - .tested = TEST_UNTESTED, - .probe = probe_spi_rdid, - .erase = spi_chip_erase_d8, - .write = spi_chip_write, - .read = spi_chip_read, - }, - - { - .vendor = "Numonyx", - .name = "M25PE40", - .manufacture_id = ST_ID, - .model_id = 0x8013, - .total_size = 256, - .page_size = 256, - .tested = TEST_UNTESTED, - .probe = probe_spi_rdid, - .erase = spi_chip_erase_d8, - .write = spi_chip_write, - .read = spi_chip_read, - }, - - { - .vendor = "Numonyx", - .name = "M25PE80", - .manufacture_id = ST_ID, - .model_id = 0x8014, - .total_size = 1024, - .page_size = 256, - .tested = TEST_OK_PREW, - .probe = probe_spi_rdid, - .erase = spi_chip_erase_d8, - .write = spi_chip_write, - .read = spi_chip_read, - }, - - { - .vendor = "Numonyx", - .name = "M25PE16", - .manufacture_id = ST_ID, - .model_id = 0x8015, - .total_size = 2048, - .page_size = 256, - .tested = TEST_UNTESTED, - .probe = probe_spi_rdid, - .erase = spi_chip_erase_d8, - .write = spi_chip_write, - .read = spi_chip_read, - }, - - { - .vendor = "PMC", - .name = "Pm25LV010", - .manufacture_id = PMC_ID, - .model_id = PMC_25LV010, - .total_size = 128, - .page_size = 256, - .tested = TEST_UNTESTED, - .probe = probe_spi_rdid, - .erase = spi_chip_erase_c7, - .write = spi_chip_write, - .read = spi_chip_read, - }, - - { - .vendor = "PMC", - .name = "Pm25LV016B", - .manufacture_id = PMC_ID, - .model_id = PMC_25LV016B, - .total_size = 2048, - .page_size = 256, - .tested = TEST_UNTESTED, - .probe = probe_spi_rdid, - .erase = spi_chip_erase_c7, - .write = spi_chip_write, - .read = spi_chip_read, - }, - - { - .vendor = "PMC", - .name = "Pm25LV020", - .manufacture_id = PMC_ID, - .model_id = PMC_25LV020, - .total_size = 256, - .page_size = 256, - .tested = TEST_UNTESTED, - .probe = probe_spi_rdid, - .erase = spi_chip_erase_c7, - .write = spi_chip_write, - .read = spi_chip_read, - }, - - { - .vendor = "PMC", - .name = "Pm25LV040", - .manufacture_id = PMC_ID, - .model_id = PMC_25LV040, - .total_size = 512, - .page_size = 256, - .tested = TEST_UNTESTED, - .probe = probe_spi_rdid, - .erase = spi_chip_erase_c7, - .write = spi_chip_write, - .read = spi_chip_read, - }, - - { - .vendor = "PMC", - .name = "Pm25LV080B", - .manufacture_id = PMC_ID, - .model_id = PMC_25LV080B, - .total_size = 1024, - .page_size = 256, - .tested = TEST_UNTESTED, - .probe = probe_spi_rdid, - .erase = spi_chip_erase_c7, - .write = spi_chip_write, - .read = spi_chip_read, - }, - - { - .vendor = "PMC", - .name = "Pm25LV512", - .manufacture_id = PMC_ID, - .model_id = PMC_25LV512, - .total_size = 64, - .page_size = 256, - .tested = TEST_UNTESTED, - .probe = probe_spi_rdid, - .erase = spi_chip_erase_c7, - .write = spi_chip_write, - .read = spi_chip_read, - }, - - { - .vendor = "PMC", - .name = "Pm49FL002", - .manufacture_id = PMC_ID_NOPREFIX, - .model_id = PMC_49FL002, - .total_size = 256, - .page_size = 16 * 1024, - .tested = TEST_OK_PREW, - .probe = probe_49fl00x, - .erase = erase_49fl00x, - .write = write_49fl00x, - }, - - { - .vendor = "PMC", - .name = "Pm49FL004", - .manufacture_id = PMC_ID_NOPREFIX, - .model_id = PMC_49FL004, - .total_size = 512, - .page_size = 64 * 1024, - .tested = TEST_OK_PREW, - .probe = probe_49fl00x, - .erase = erase_49fl00x, - .write = write_49fl00x, - }, - - { - .vendor = "Sharp", - .name = "LHF00L04", - .manufacture_id = SHARP_ID, - .model_id = SHARP_LHF00L04, - .total_size = 1024, - .page_size = 64 * 1024, - .tested = TEST_UNTESTED, - .probe = probe_lhf00l04, - .erase = erase_lhf00l04, - .write = write_lhf00l04, - }, - - { - .vendor = "Spansion", - .name = "S25FL016A", - .manufacture_id = SPANSION_ID, - .model_id = SPANSION_S25FL016A, - .total_size = 2048, - .page_size = 256, - .tested = TEST_OK_PREW, - .probe = probe_spi_rdid, - .erase = spi_chip_erase_c7, - .write = spi_chip_write, - .read = spi_chip_read, - }, - - { - .vendor = "SST", - .name = "SST25VF016B", - .manufacture_id = SST_ID, - .model_id = SST_25VF016B, - .total_size = 2048, - .page_size = 256, - .tested = TEST_OK_PREW, - .probe = probe_spi_rdid, - .erase = spi_chip_erase_c7, - .write = spi_chip_write, - .read = spi_chip_read, - }, - - { - .vendor = "SST", - .name = "SST25VF032B", - .manufacture_id = SST_ID, - .model_id = SST_25VF032B, - .total_size = 4096, - .page_size = 256, - .tested = TEST_OK_PREW, - .probe = probe_spi_rdid, - .erase = spi_chip_erase_c7, - .write = spi_chip_write, - .read = spi_chip_read, - }, - - { - .vendor = "SST", - .name = "SST25VF040B", - .manufacture_id = SST_ID, - .model_id = SST_25VF040B, - .total_size = 512, - .page_size = 256, - .tested = TEST_UNTESTED, - .probe = probe_spi_rdid, - .erase = spi_chip_erase_c7, - .write = spi_chip_write, - .read = spi_chip_read, - }, - - { - .vendor = "SST", - .name = "SST25VF040.REMS", - .manufacture_id = 0xbf, - .model_id = 0x44, - .total_size = 512, - .page_size = 64*1024, - .tested = TEST_OK_PR, - .probe = probe_spi_rems, - .erase = spi_chip_erase_60, - .write = spi_chip_write, - .read = spi_chip_read, - }, - - { - .vendor = "SST", - .name = "SST25VF040B.REMS", - .manufacture_id = 0xbf, - .model_id = 0x8d, - .total_size = 512, - .page_size = 64*1024, - .tested = TEST_OK_PR, - .probe = probe_spi_rems, - .erase = spi_chip_erase_c7, - .write = spi_aai_write, - .read = spi_chip_read, - }, - - { - .vendor = "SST", - .name = "SST25VF080B", - .manufacture_id = SST_ID, - .model_id = SST_25VF080B, - .total_size = 1024, - .page_size = 256, - .tested = TEST_OK_PROBE, - .probe = probe_spi_rdid, - .erase = spi_chip_erase_60_c7, - .write = spi_chip_write, - .read = spi_chip_read, - }, - - { - .vendor = "SST", - .name = "SST28SF040A", - .manufacture_id = SST_ID, - .model_id = SST_28SF040, - .total_size = 512, - .page_size = 256, - .tested = TEST_UNTESTED, - .probe = probe_28sf040, - .erase = erase_28sf040, - .write = write_28sf040, - }, - - { - .vendor = "SST", - .name = "SST29EE010", - .manufacture_id = SST_ID, - .model_id = SST_29EE010, - .total_size = 128, - .page_size = 128, - .tested = TEST_OK_PREW, - .probe = probe_jedec, - .erase = erase_chip_jedec, - .write = write_jedec, - }, - - { - .vendor = "SST", - .name = "SST29LE010", - .manufacture_id = SST_ID, - .model_id = SST_29LE010, - .total_size = 128, - .page_size = 128, - .tested = TEST_UNTESTED, - .probe = probe_jedec, - .erase = erase_chip_jedec, - .write = write_jedec, - }, - - { - .vendor = "SST", - .name = "SST29EE020A", - .manufacture_id = SST_ID, - .model_id = SST_29EE020A, - .total_size = 256, - .page_size = 128, - .tested = TEST_OK_PREW, - .probe = probe_jedec, - .erase = erase_chip_jedec, - .write = write_jedec, - }, - - { - .vendor = "SST", - .name = "SST29LE020", - .manufacture_id = SST_ID, - .model_id = SST_29LE020, - .total_size = 256, - .page_size = 128, - .tested = TEST_UNTESTED, - .probe = probe_jedec, - .erase = erase_chip_jedec, - .write = write_jedec, - }, - - { - .vendor = "SST", - .name = "SST39SF010A", - .manufacture_id = SST_ID, - .model_id = SST_39SF010, - .total_size = 128, - .page_size = 4096, - .tested = TEST_OK_PREW, - .probe = probe_jedec, - .erase = erase_chip_jedec, - .write = write_39sf020, - }, - - { - .vendor = "SST", - .name = "SST39SF020A", - .manufacture_id = SST_ID, - .model_id = SST_39SF020, - .total_size = 256, - .page_size = 4096, - .tested = TEST_OK_PREW, - .probe = probe_jedec, - .erase = erase_chip_jedec, - .write = write_39sf020, - }, - - { - .vendor = "SST", - .name = "SST39SF040", - .manufacture_id = SST_ID, - .model_id = SST_39SF040, - .total_size = 512, - .page_size = 4096, - .tested = TEST_OK_PREW, - .probe = probe_jedec, - .erase = erase_chip_jedec, - .write = write_39sf020, - }, - - { - .vendor = "SST", - .name = "SST39VF512", - .manufacture_id = SST_ID, - .model_id = SST_39VF512, - .total_size = 64, - .page_size = 4096, - .tested = TEST_UNTESTED, - .probe = probe_jedec, - .erase = erase_chip_jedec, - .write = write_39sf020, - }, - - { - .vendor = "SST", - .name = "SST39VF010", - .manufacture_id = SST_ID, - .model_id = SST_39VF010, - .total_size = 128, - .page_size = 4096, - .tested = TEST_UNTESTED, - .probe = probe_jedec, - .erase = erase_chip_jedec, - .write = write_39sf020, - }, - - { - .vendor = "SST", - .name = "SST39VF020", - .manufacture_id = SST_ID, - .model_id = SST_39VF020, - .total_size = 256, - .page_size = 4096, - .tested = TEST_OK_PREW, - .probe = probe_jedec, - .erase = erase_chip_jedec, - .write = write_39sf020, - }, - - { - .vendor = "SST", - .name = "SST39VF040", - .manufacture_id = SST_ID, - .model_id = SST_39VF040, - .total_size = 512, - .page_size = 4096, - .tested = TEST_OK_PROBE, - .probe = probe_jedec, - .erase = erase_chip_jedec, - .write = write_39sf020, - }, - - { - .vendor = "SST", - .name = "SST39VF080", - .manufacture_id = 0xbf, - .model_id = 0xd8, - .total_size = 1024, - .page_size = 4096, - .tested = TEST_UNTESTED, - .probe = probe_jedec, - .erase = erase_chip_jedec, - .write = write_39sf020, - }, - - { - .vendor = "SST", - .name = "SST49LF002A/B", - .manufacture_id = SST_ID, - .model_id = SST_49LF002A, - .total_size = 256, - .page_size = 16 * 1024, - .tested = TEST_OK_PREW, - .probe = probe_sst_fwhub, - .erase = erase_sst_fwhub, - .write = write_sst_fwhub, - }, - - { - .vendor = "SST", - .name = "SST49LF003A/B", - .manufacture_id = SST_ID, - .model_id = SST_49LF003A, - .total_size = 384, - .page_size = 64 * 1024, - .tested = TEST_UNTESTED, - .probe = probe_sst_fwhub, - .erase = erase_sst_fwhub, - .write = write_sst_fwhub, - }, - - { - .vendor = "SST", - .name = "SST49LF004A/B", - .manufacture_id = SST_ID, - .model_id = SST_49LF004A, - .total_size = 512, - .page_size = 64 * 1024, - .tested = TEST_OK_PREW, - .probe = probe_sst_fwhub, - .erase = erase_sst_fwhub, - .write = write_sst_fwhub, - }, - - { - .vendor = "SST", - .name = "SST49LF004C", - .manufacture_id = SST_ID, - .model_id = SST_49LF004C, - .total_size = 512, - .page_size = 4 * 1024, - .tested = TEST_UNTESTED, - .probe = probe_49lfxxxc, - .erase = erase_49lfxxxc, - .write = write_49lfxxxc, - }, - - { - .vendor = "SST", - .name = "SST49LF008A", - .manufacture_id = SST_ID, - .model_id = SST_49LF008A, - .total_size = 1024, - .page_size = 64 * 1024, - .tested = TEST_OK_PREW, - .probe = probe_sst_fwhub, - .erase = erase_sst_fwhub, - .write = write_sst_fwhub, - }, - - { - .vendor = "SST", - .name = "SST49LF008C", - .manufacture_id = SST_ID, - .model_id = SST_49LF008C, - .total_size = 1024, - .page_size = 4 * 1024, - .tested = TEST_UNTESTED, - .probe = probe_49lfxxxc, - .erase = erase_49lfxxxc, - .write = write_49lfxxxc, - }, - - { - .vendor = "SST", - .name = "SST49LF016C", - .manufacture_id = SST_ID, - .model_id = SST_49LF016C, - .total_size = 2048, - .page_size = 4 * 1024, - .tested = TEST_OK_PREW, - .probe = probe_49lfxxxc, - .erase = erase_49lfxxxc, - .write = write_49lfxxxc, - }, - - { - .vendor = "SST", - .name = "SST49LF020", - .manufacture_id = SST_ID, - .model_id = SST_49LF020, - .total_size = 256, - .page_size = 16 * 1024, - .tested = TEST_OK_PR, - .probe = probe_jedec, - .erase = erase_49lf040, - .write = write_49lf040, - }, - - { - .vendor = "SST", - .name = "SST49LF020A", - .manufacture_id = SST_ID, - .model_id = SST_49LF020A, - .total_size = 256, - .page_size = 16 * 1024, - .tested = TEST_UNTESTED, - .probe = probe_jedec, - .erase = erase_49lf040, - .write = write_49lf040, - }, - - { - .vendor = "SST", - .name = "SST49LF040", - .manufacture_id = SST_ID, - .model_id = SST_49LF040, - .total_size = 512, - .page_size = 4096, - .tested = TEST_OK_PREW, - .probe = probe_jedec, - .erase = erase_49lf040, - .write = write_49lf040, - }, - - { - .vendor = "SST", - .name = "SST49LF040B", - .manufacture_id = SST_ID, - .model_id = SST_49LF040B, - .total_size = 512, - .page_size = 64 * 1024, - .tested = TEST_OK_PREW, - .probe = probe_sst_fwhub, - .erase = erase_sst_fwhub, - .write = write_sst_fwhub, - }, - - { - .vendor = "SST", - .name = "SST49LF080A", - .manufacture_id = SST_ID, - .model_id = SST_49LF080A, - .total_size = 1024, - .page_size = 4096, - .tested = TEST_OK_PREW, - .probe = probe_jedec, - .erase = erase_49lf040, - .write = write_49lf040, - }, - - { - .vendor = "SST", - .name = "SST49LF160C", - .manufacture_id = SST_ID, - .model_id = SST_49LF160C, - .total_size = 2048, - .page_size = 4 * 1024, - .tested = TEST_OK_PREW, - .probe = probe_49lfxxxc, - .erase = erase_49lfxxxc, - .write = write_49lfxxxc, - }, - - { - .vendor = "ST", - .name = "M25P05-A", - .manufacture_id = ST_ID, - .model_id = ST_M25P05A, - .total_size = 64, - .page_size = 256, - .tested = TEST_UNTESTED, - .probe = probe_spi_rdid, - .erase = spi_chip_erase_c7, - .write = spi_chip_write, - .read = spi_chip_read, - }, - - { - .vendor = "ST", - .name = "M25P10-A", - .manufacture_id = ST_ID, - .model_id = ST_M25P10A, - .total_size = 128, - .page_size = 256, - .tested = TEST_UNTESTED, - .probe = probe_spi_rdid, - .erase = spi_chip_erase_c7, - .write = spi_chip_write, - .read = spi_chip_read, - }, - - { - .vendor = "ST", - .name = "M25P20", - .manufacture_id = ST_ID, - .model_id = ST_M25P20, - .total_size = 256, - .page_size = 256, - .tested = TEST_UNTESTED, - .probe = probe_spi_rdid, - .erase = spi_chip_erase_c7, - .write = spi_chip_write, - .read = spi_chip_read, - }, - - { - .vendor = "ST", - .name = "M25P40", - .manufacture_id = ST_ID, - .model_id = ST_M25P40, - .total_size = 512, - .page_size = 256, - .tested = TEST_UNTESTED, - .probe = probe_spi_rdid, - .erase = spi_chip_erase_c7, - .write = spi_chip_write, - .read = spi_chip_read, - }, - - { - .vendor = "ST", - .name = "M25P40-old", - .manufacture_id = ST_ID, - .model_id = ST_M25P40_RES, - .total_size = 512, - .page_size = 256, - .tested = TEST_UNTESTED, - .probe = probe_spi_res, - .erase = spi_chip_erase_c7, - .write = spi_chip_write, - .read = spi_chip_read, - }, - - { - .vendor = "ST", - .name = "M25P80", - .manufacture_id = ST_ID, - .model_id = ST_M25P80, - .total_size = 1024, - .page_size = 256, - .tested = TEST_UNTESTED, - .probe = probe_spi_rdid, - .erase = spi_chip_erase_c7, - .write = spi_chip_write, - .read = spi_chip_read, - }, - - { - .vendor = "ST", - .name = "M25P16", - .manufacture_id = ST_ID, - .model_id = ST_M25P16, - .total_size = 2048, - .page_size = 256, - .tested = TEST_OK_PREW, - .probe = probe_spi_rdid, - .erase = spi_chip_erase_c7, - .write = spi_chip_write, - .read = spi_chip_read, - }, - - { - .vendor = "ST", - .name = "M25P32", - .manufacture_id = ST_ID, - .model_id = ST_M25P32, - .total_size = 4096, - .page_size = 256, - .tested = TEST_OK_PREW, - .probe = probe_spi_rdid, - .erase = spi_chip_erase_c7, - .write = spi_chip_write, - .read = spi_chip_read, - }, - - { - .vendor = "ST", - .name = "M25P64", - .manufacture_id = ST_ID, - .model_id = ST_M25P64, - .total_size = 8192, - .page_size = 256, - .tested = TEST_UNTESTED, - .probe = probe_spi_rdid, - .erase = spi_chip_erase_c7, - .write = spi_chip_write, - .read = spi_chip_read, - }, - - { - .vendor = "ST", - .name = "M25P128", - .manufacture_id = ST_ID, - .model_id = ST_M25P128, - .total_size = 16384, - .page_size = 256, - .tested = TEST_UNTESTED, - .probe = probe_spi_rdid, - .erase = spi_chip_erase_c7, - .write = spi_chip_write, - .read = spi_chip_read, - }, - - { - .vendor = "ST", - .name = "M29F002B", - .manufacture_id = ST_ID, - .model_id = ST_M29F002B, - .total_size = 256, - .page_size = 64 * 1024, - .tested = TEST_UNTESTED, - .probe = probe_jedec, - .erase = erase_m29f002, - .write = write_m29f002b, - }, - - { - .vendor = "ST", - .name = "M29F002T/NT", - .manufacture_id = ST_ID, - .model_id = ST_M29F002T, - .total_size = 256, - .page_size = 64 * 1024, - .tested = TEST_OK_PREW, - .probe = probe_jedec, - .erase = erase_m29f002, - .write = write_m29f002t, - }, - - { - .vendor = "ST", - .name = "M29F040B", - .manufacture_id = ST_ID, - .model_id = ST_M29F040B, - .total_size = 512, - .page_size = 64 * 1024, - .tested = TEST_OK_PREW, - .probe = probe_29f040b, - .erase = erase_29f040b, - .write = write_29f040b, - }, - - { - .vendor = "ST", - .name = "M29F400BT", - .manufacture_id = ST_ID, - .model_id = ST_M29F400BT, - .total_size = 512, - .page_size = 64 * 1024, - .tested = TEST_UNTESTED, - .probe = probe_m29f400bt, - .erase = erase_m29f400bt, - .write = write_coreboot_m29f400bt, - }, - - { - .vendor = "ST", - .name = "M29W010B", - .manufacture_id = ST_ID, - .model_id = ST_M29W010B, - .total_size = 128, - .page_size = 16 * 1024, - .tested = TEST_UNTESTED, - .probe = probe_jedec, - .erase = erase_chip_jedec, - .write = write_jedec, - }, - - { - .vendor = "ST", - .name = "M29W040B", - .manufacture_id = ST_ID, - .model_id = ST_M29W040B, - .total_size = 512, - .page_size = 64 * 1024, - .tested = TEST_UNTESTED, - .probe = probe_jedec, - .erase = erase_chip_jedec, - .write = write_jedec, - }, - - { - .vendor = "ST", - .name = "M50FLW040A", - .manufacture_id = ST_ID, - .model_id = ST_M50FLW040A, - .total_size = 512, - .page_size = 64 * 1024, - .tested = TEST_UNTESTED, - .probe = probe_stm50flw0x0x, - .erase = erase_stm50flw0x0x, - .write = write_stm50flw0x0x, - }, - - { - .vendor = "ST", - .name = "M50FLW040B", - .manufacture_id = ST_ID, - .model_id = ST_M50FLW040B, - .total_size = 512, - .page_size = 64 * 1024, - .tested = TEST_UNTESTED, - .probe = probe_stm50flw0x0x, - .erase = erase_stm50flw0x0x, - .write = write_stm50flw0x0x, - }, - - { - .vendor = "ST", - .name = "M50FLW080A", - .manufacture_id = ST_ID, - .model_id = ST_M50FLW080A, - .total_size = 1024, - .page_size = 64 * 1024, - .tested = TEST_OK_PREW, - .probe = probe_stm50flw0x0x, - .erase = erase_stm50flw0x0x, - .write = write_stm50flw0x0x, - }, - - { - .vendor = "ST", - .name = "M50FLW080B", - .manufacture_id = ST_ID, - .model_id = ST_M50FLW080B, - .total_size = 1024, - .page_size = 64 * 1024, - .tested = TEST_UNTESTED, - .probe = probe_stm50flw0x0x, - .erase = erase_stm50flw0x0x, - .write = write_stm50flw0x0x, - }, - - { - .vendor = "ST", - .name = "M50FW002", - .manufacture_id = ST_ID, - .model_id = ST_M50FW002, - .total_size = 256, - .page_size = 64 * 1024, - .tested = TEST_UNTESTED, - .probe = probe_49lfxxxc, - .erase = NULL, - .write = NULL, - }, - - { - .vendor = "ST", - .name = "M50FW016", - .manufacture_id = ST_ID, - .model_id = ST_M50FW016, - .total_size = 2048, - .page_size = 64 * 1024, - .tested = TEST_UNTESTED, - .probe = probe_82802ab, - .erase = erase_82802ab, - .write = write_82802ab, - }, - - { - .vendor = "ST", - .name = "M50FW040", - .manufacture_id = ST_ID, - .model_id = ST_M50FW040, - .total_size = 512, - .page_size = 64 * 1024, - .tested = TEST_OK_PREW, - .probe = probe_82802ab, - .erase = erase_82802ab, - .write = write_82802ab, - }, - - { - .vendor = "ST", - .name = "M50FW080", - .manufacture_id = ST_ID, - .model_id = ST_M50FW080, - .total_size = 1024, - .page_size = 64 * 1024, - .tested = TEST_OK_PREW, - .probe = probe_82802ab, - .erase = erase_82802ab, - .write = write_82802ab, - }, - - { - .vendor = "ST", - .name = "M50LPW116", - .manufacture_id = ST_ID, - .model_id = ST_M50LPW116, - .total_size = 2048, - .page_size = 64 * 1024, - .tested = TEST_UNTESTED, - .probe = probe_jedec, - .erase = erase_chip_jedec, - .write = write_jedec, - }, - - { - .vendor = "SyncMOS", - .name = "S29C31004T", - .manufacture_id = SYNCMOS_ID, - .model_id = S29C31004T, - .total_size = 512, - .page_size = 128, - .tested = TEST_UNTESTED, - .probe = probe_jedec, - .erase = erase_chip_jedec, - .write = write_49f002, - }, - - { - .vendor = "SyncMOS", - .name = "S29C51001T", - .manufacture_id = SYNCMOS_ID, - .model_id = S29C51001T, - .total_size = 128, - .page_size = 128, - .tested = TEST_UNTESTED, - .probe = probe_jedec, - .erase = erase_chip_jedec, - .write = write_49f002, - }, - - { - .vendor = "SyncMOS", - .name = "S29C51002T", - .manufacture_id = SYNCMOS_ID, - .model_id = S29C51002T, - .total_size = 256, - .page_size = 128, - .tested = TEST_OK_PREW, - .probe = probe_jedec, - .erase = erase_chip_jedec, - .write = write_49f002, - }, - - { - .vendor = "SyncMOS", - .name = "S29C51004T", - .manufacture_id = SYNCMOS_ID, - .model_id = S29C51004T, - .total_size = 512, - .page_size = 128, - .tested = TEST_UNTESTED, - .probe = probe_jedec, - .erase = erase_chip_jedec, - .write = write_49f002, - }, - - { - .vendor = "Winbond", - .name = "W25x10", - .manufacture_id = WINBOND_NEX_ID, - .model_id = W_25X10, - .total_size = 128, - .page_size = 256, - .tested = TEST_UNTESTED, - .probe = probe_spi_rdid, - .erase = spi_chip_erase_c7, - .write = spi_chip_write, - .read = spi_chip_read, - }, - - { - .vendor = "Winbond", - .name = "W25x20", - .manufacture_id = WINBOND_NEX_ID, - .model_id = W_25X20, - .total_size = 256, - .page_size = 256, - .tested = TEST_UNTESTED, - .probe = probe_spi_rdid, - .erase = spi_chip_erase_c7, - .write = spi_chip_write, - .read = spi_chip_read, - }, - - { - .vendor = "Winbond", - .name = "W25x40", - .manufacture_id = WINBOND_NEX_ID, - .model_id = W_25X40, - .total_size = 512, - .page_size = 256, - .tested = TEST_OK_PREW, - .probe = probe_spi_rdid, - .erase = spi_chip_erase_c7, - .write = spi_chip_write, - .read = spi_chip_read, - }, - - { - .vendor = "Winbond", - .name = "W25x80", - .manufacture_id = WINBOND_NEX_ID, - .model_id = W_25X80, - .total_size = 1024, - .page_size = 256, - .tested = TEST_OK_PREW, - .probe = probe_spi_rdid, - .erase = spi_chip_erase_c7, - .write = spi_chip_write, - .read = spi_chip_read, - }, - - { - .vendor = "Winbond", - .name = "W29C011", - .manufacture_id = WINBOND_ID, - .model_id = W_29C011, - .total_size = 128, - .page_size = 128, - .tested = TEST_OK_PREW, - .probe = probe_jedec, - .erase = erase_chip_jedec, - .write = write_jedec, - }, - - { - .vendor = "Winbond", - .name = "W29C020C", - .manufacture_id = WINBOND_ID, - .model_id = W_29C020C, - .total_size = 256, - .page_size = 128, - .tested = TEST_OK_PREW, - .probe = probe_jedec, - .erase = erase_chip_jedec, - .write = write_jedec, - }, - - { - .vendor = "Winbond", - .name = "W29C040P", - .manufacture_id = WINBOND_ID, - .model_id = W_29C040P, - .total_size = 512, - .page_size = 256, - .tested = TEST_UNTESTED, - .probe = probe_jedec, - .erase = erase_chip_jedec, - .write = write_jedec, - }, - - { - .vendor = "Winbond", - .name = "W29EE011", - .manufacture_id = WINBOND_ID, - .model_id = W_29C011, - .total_size = 128, - .page_size = 128, - .tested = TEST_OK_PREW, - .probe = probe_w29ee011, - .erase = erase_chip_jedec, - .write = write_jedec, - }, - - { - .vendor = "Winbond", - .name = "W39V040A", - .manufacture_id = WINBOND_ID, - .model_id = W_39V040A, - .total_size = 512, - .page_size = 64*1024, - .tested = TEST_UNTESTED, - .probe = probe_jedec, - .erase = erase_chip_jedec, - .write = write_39sf020, - }, - - { - .vendor = "Winbond", - .name = "W39V040B", - .manufacture_id = WINBOND_ID, - .model_id = W_39V040B, - .total_size = 512, - .page_size = 64*1024, - .tested = TEST_OK_PREW, - .probe = probe_jedec, - .erase = erase_chip_jedec, - .write = write_39sf020, - }, - - { - .vendor = "Winbond", - .name = "W39V040C", - .manufacture_id = WINBOND_ID, - .model_id = 0x50, - .total_size = 512, - .page_size = 64*1024, - .tested = TEST_OK_PREW, - .probe = probe_w39v040c, - .erase = erase_w39v040c, - .write = write_w39v040c, - }, - - { - .vendor = "Winbond", - .name = "W39V040FA", - .manufacture_id = WINBOND_ID, - .model_id = W_39V040FA, - .total_size = 512, - .page_size = 64*1024, - .tested = TEST_OK_PREW, - .probe = probe_jedec, - .erase = erase_chip_jedec, - .write = write_39sf020, - }, - - { - .vendor = "Winbond", - .name = "W39V080A", - .manufacture_id = WINBOND_ID, - .model_id = W_39V080A, - .total_size = 1024, - .page_size = 64*1024, - .tested = TEST_OK_PREW, - .probe = probe_jedec, - .erase = erase_chip_jedec, - .write = write_39sf020, - }, - - { - .vendor = "Winbond", - .name = "W49F002U", - .manufacture_id = WINBOND_ID, - .model_id = W_49F002U, - .total_size = 256, - .page_size = 128, - .tested = TEST_OK_PREW, - .probe = probe_jedec, - .erase = erase_chip_jedec, - .write = write_49f002, - }, - - { - .vendor = "Winbond", - .name = "W49V002A", - .manufacture_id = WINBOND_ID, - .model_id = W_49V002A, - .total_size = 256, - .page_size = 128, - .tested = TEST_OK_PREW, - .probe = probe_jedec, - .erase = erase_chip_jedec, - .write = write_49f002, - }, - - { - .vendor = "Winbond", - .name = "W49V002FA", - .manufacture_id = WINBOND_ID, - .model_id = W_49V002FA, - .total_size = 256, - .page_size = 128, - .tested = TEST_UNTESTED, - .probe = probe_jedec, - .erase = erase_chip_jedec, - .write = write_49f002, - }, - - { - .vendor = "Winbond", - .name = "W39V080FA", - .manufacture_id = WINBOND_ID, - .model_id = W_39V080FA, - .total_size = 1024, - .page_size = 64*1024, - .tested = TEST_OK_PREW, - .probe = probe_winbond_fwhub, - .erase = erase_winbond_fwhub, - .write = write_winbond_fwhub, - }, - - { - .vendor = "Winbond", - .name = "W39V080FA (dual mode)", - .manufacture_id = WINBOND_ID, - .model_id = W_39V080FA_DM, - .total_size = 512, - .page_size = 64*1024, - .tested = TEST_UNTESTED, - .probe = probe_winbond_fwhub, - .erase = erase_winbond_fwhub, - .write = write_winbond_fwhub, - }, - - { - .vendor = "Atmel", - .name = "unknown Atmel SPI chip", - .manufacture_id = ATMEL_ID, - .model_id = GENERIC_DEVICE_ID, - .total_size = 0, - .page_size = 256, - .tested = TEST_BAD_PREW, - .probe = probe_spi_rdid, - .erase = NULL, - .write = NULL, - }, - - { - .vendor = "EON", - .name = "unknown EON SPI chip", - .manufacture_id = EON_ID_NOPREFIX, - .model_id = GENERIC_DEVICE_ID, - .total_size = 0, - .page_size = 256, - .tested = TEST_BAD_PREW, - .probe = probe_spi_rdid, - .erase = NULL, - .write = NULL, - }, - - { - .vendor = "Macronix", - .name = "unknown Macronix SPI chip", - .manufacture_id = MX_ID, - .model_id = GENERIC_DEVICE_ID, - .total_size = 0, - .page_size = 256, - .tested = TEST_BAD_PREW, - .probe = probe_spi_rdid, - .erase = NULL, - .write = NULL, - }, - - { - .vendor = "PMC", - .name = "unknown PMC SPI chip", - .manufacture_id = PMC_ID, - .model_id = GENERIC_DEVICE_ID, - .total_size = 0, - .page_size = 256, - .tested = TEST_BAD_PREW, - .probe = probe_spi_rdid, - .erase = NULL, - .write = NULL, - }, - - { - .vendor = "SST", - .name = "unknown SST SPI chip", - .manufacture_id = SST_ID, - .model_id = GENERIC_DEVICE_ID, - .total_size = 0, - .page_size = 256, - .tested = TEST_BAD_PREW, - .probe = probe_spi_rdid, - .erase = NULL, - .write = NULL, - }, - - { - .vendor = "ST", - .name = "unknown ST SPI chip", - .manufacture_id = ST_ID, - .model_id = GENERIC_DEVICE_ID, - .total_size = 0, - .page_size = 256, - .tested = TEST_BAD_PREW, - .probe = probe_spi_rdid, - .erase = NULL, - .write = NULL, - }, - - { NULL } -}; |