User:Omega/Flash

JEDEC
{ "n25q064", INFO(0x20ba17, 0, 64 * 1024, 128, 0) },
 * JEDEC SPD man
 * https://lkml.org/lkml/2013/1/3/111
 * http://lxr.free-electrons.com/source/drivers/mtd/devices/m25p80.c?v=3.15

/* Macronix */ -    { "mx25l2005a",  INFO(0xc22012, 0, 64 * 1024,   4, SECT_4K) }, -    { "mx25l4005a",  INFO(0xc22013, 0, 64 * 1024,   8, SECT_4K) }, -    { "mx25l8005",   INFO(0xc22014, 0, 64 * 1024,  16, 0) },         MX25L8005PC-15G (DIP8) -    { "mx25l1606e",  INFO(0xc22015, 0, 64 * 1024,  32, SECT_4K) }, -    { "mx25l3205d",  INFO(0xc22016, 0, 64 * 1024,  64, 0) }, -    { "mx25l6405d",  INFO(0xc22017, 0, 64 * 1024, 128, 0) }, -    { "mx25l12805d", INFO(0xc22018, 0, 64 * 1024, 256, 0) }, +    { "mx25l512e",   INFO(0xc22010, 0, 64 * 1024,   1, SECT_4K) }, +    { "mx25l5121e",  INFO(0xc22210, 0, 64 * 1024,   1, SECT_4K) }, +    { "mx25l1006e",  INFO(0xc22011, 0, 64 * 1024,   2, SECT_4K) }, +    { "mx25l1021e",  INFO(0xc22211, 0, 64 * 1024,   2, SECT_4K) }, +    { "mx25l2006e",  INFO(0xc22012, 0, 64 * 1024,   4, SECT_4K) }, +    { "mx25l4006e",  INFO(0xc22013, 0, 64 * 1024,   8, SECT_4K) }, +    { "mx25u4035",   INFO(0xc22533, 0, 64 * 1024,   8, SECT_4K) }, +    { "mx25v4035",   INFO(0xc22553, 0, 64 * 1024,   8, SECT_4K) }, +    { "mx25l8006e",  INFO(0xc22014, 0, 64 * 1024,  16, 0) }, +    { "mx25u8035",   INFO(0xc22534, 0, 64 * 1024,  16, 0) }, +    { "mx25v8035",   INFO(0xc22554, 0, 64 * 1024,  16, 0) }, +    { "mx25l1606e",  INFO(0xc22015, 0, 64 * 1024,  32, 0) }, +    { "mx25l1633e",  INFO(0xc22415, 0, 64 * 1024,  32, 0) }, +    { "mx25l1635e",  INFO(0xc22515, 0, 64 * 1024,  32, 0) }, +    { "mx25u1635e",  INFO(0xc22535, 0, 64 * 1024,  32, 0) }, +    { "mx25l1655d",  INFO(0xc22615, 0, 64 * 1024,  32, 0) }, +    { "mx25l3206e",  INFO(0xc22016, 0, 64 * 1024,  64, 0) }, +    { "mx25l3239e",  INFO(0xc22536, 0, 64 * 1024,  64, 0) }, +    { "mx25l3225d",  INFO(0xc25e16, 0, 64 * 1024,  64, 0) }, +    { "mx25l3255d",  INFO(0xc29e16, 0, 64 * 1024,  64, 0) }, +    { "mx25l6406e",  INFO(0xc22017, 0, 64 * 1024, 128, 0) }, +    { "mx25l6439e",  INFO(0xc22537, 0, 64 * 1024, 128, 0) }, +    { "mx25l6455e",  INFO(0xc22617, 0, 64 * 1024, 128, 0) }, +    { "mx25l12806e", INFO(0xc22018, 0, 64 * 1024, 256, 0) }, +    { "mx25u12835f", INFO(0xc22538, 0, 64 * 1024, 256, 0) }, { "mx25l12855e", INFO(0xc22618, 0, 64 * 1024, 256, 0) }, { "mx25l25635e", INFO(0xc22019, 0, 64 * 1024, 512, 0) }, { "mx25l25655e", INFO(0xc22619, 0, 64 * 1024, 512, 0) },

+     * Atmel, SST, Intel/Numonyx and Macronix serial flash tend +     * to power up with the software protection bits set */

891        /* Atmel -- some are (confusingly) marketed as "DataFlash" */ 892        { "at25fs010",  INFO(0x1f6601, 0, 32 * 1024,   4, SECT_4K) }, 893        { "at25fs040",  INFO(0x1f6604, 0, 64 * 1024,   8, SECT_4K) }, 895        { "at25df041a", INFO(0x1f4401, 0, 64 * 1024,   8, SECT_4K) }, 896        { "at25df321a", INFO(0x1f4701, 0, 64 * 1024,  64, SECT_4K) }, 897        { "at25df641",  INFO(0x1f4800, 0, 64 * 1024, 128, SECT_4K) }, 899        { "at26f004",   INFO(0x1f0400, 0, 64 * 1024,  8, SECT_4K) }, 900        { "at26df081a", INFO(0x1f4501, 0, 64 * 1024, 16, SECT_4K) }, 901        { "at26df161a", INFO(0x1f4601, 0, 64 * 1024, 32, SECT_4K) }, 902        { "at26df321",  INFO(0x1f4700, 0, 64 * 1024, 64, SECT_4K) }, 904        { "at45db081d", INFO(0x1f2500, 0, 64 * 1024, 16, SECT_4K) }, 905 906        /* EON -- en25xxx */ 907        { "en25f32",    INFO(0x1c3116, 0, 64 * 1024,   64, SECT_4K) }, 908        { "en25p32",    INFO(0x1c2016, 0, 64 * 1024,   64, 0) }, 909        { "en25q32b",   INFO(0x1c3016, 0, 64 * 1024,   64, 0) }, 910        { "en25p64",    INFO(0x1c2017, 0, 64 * 1024,  128, 0) }, 911        { "en25q64",    INFO(0x1c3017, 0, 64 * 1024,  128, SECT_4K) }, 912        { "en25qh256",  INFO(0x1c7019, 0, 64 * 1024,  512, 0) }, 913 914        /* ESMT */ 915        { "f25l32pa", INFO(0x8c2016, 0, 64 * 1024, 64, SECT_4K) }, 916 917        /* Everspin */ 918        { "mr25h256", CAT25_INFO( 32 * 1024, 1, 256, 2, M25P_NO_ERASE | M25P_NO_FR) }, 919        { "mr25h10",  CAT25_INFO(128 * 1024, 1, 256, 3, M25P_NO_ERASE | M25P_NO_FR) }, 920 921        /* GigaDevice */ 922        { "gd25q32", INFO(0xc84016, 0, 64 * 1024,  64, SECT_4K) }, 923        { "gd25q64", INFO(0xc84017, 0, 64 * 1024, 128, SECT_4K) }, 924 925        /* Intel/Numonyx -- xxxs33b */ 926        { "160s33b",  INFO(0x898911, 0, 64 * 1024,  32, 0) }, 927        { "320s33b",  INFO(0x898912, 0, 64 * 1024,  64, 0) }, 928        { "640s33b",  INFO(0x898913, 0, 64 * 1024, 128, 0) }, 929 930        /* Macronix */ 931        { "mx25l2005a",  INFO(0xc22012, 0, 64 * 1024,   4, SECT_4K) }, 932        { "mx25l4005a",  INFO(0xc22013, 0, 64 * 1024,   8, SECT_4K) }, 933        { "mx25l8005",   INFO(0xc22014, 0, 64 * 1024,  16, 0) }, 934        { "mx25l1606e",  INFO(0xc22015, 0, 64 * 1024,  32, SECT_4K) }, 935        { "mx25l3205d",  INFO(0xc22016, 0, 64 * 1024,  64, 0) }, 936        { "mx25l3255e",  INFO(0xc29e16, 0, 64 * 1024,  64, SECT_4K) }, 937        { "mx25l6405d",  INFO(0xc22017, 0, 64 * 1024, 128, 0) }, 938        { "mx25l12805d", INFO(0xc22018, 0, 64 * 1024, 256, 0) }, 939        { "mx25l12855e", INFO(0xc22618, 0, 64 * 1024, 256, 0) }, 940        { "mx25l25635e", INFO(0xc22019, 0, 64 * 1024, 512, 0) }, 941        { "mx25l25655e", INFO(0xc22619, 0, 64 * 1024, 512, 0) }, 942        { "mx66l51235l", INFO(0xc2201a, 0, 64 * 1024, 1024, M25P80_QUAD_READ) }, 943        { "mx66l1g55g",  INFO(0xc2261b, 0, 64 * 1024, 2048, M25P80_QUAD_READ) }, 944 945        /* Micron */ 946        { "n25q064",     INFO(0x20ba17, 0, 64 * 1024,  128, 0) }, 947        { "n25q128a11",  INFO(0x20bb18, 0, 64 * 1024,  256, 0) }, 948        { "n25q128a13",  INFO(0x20ba18, 0, 64 * 1024,  256, 0) }, 949        { "n25q256a",    INFO(0x20ba19, 0, 64 * 1024,  512, SECT_4K) }, 950        { "n25q512a",    INFO(0x20bb20, 0, 64 * 1024, 1024, SECT_4K) }, 951 952        /* PMC */ 953        { "pm25lv512",   INFO(0,        0, 32 * 1024,    2, SECT_4K_PMC) }, 954        { "pm25lv010",   INFO(0,        0, 32 * 1024,    4, SECT_4K_PMC) }, 955        { "pm25lq032",   INFO(0x7f9d46, 0, 64 * 1024,   64, SECT_4K) }, 956 957        /* Spansion -- single (large) sector size only, at least 958         * for the chips listed here (without boot sectors). 960        { "s25sl032p",  INFO(0x010215, 0x4d00,  64 * 1024,  64, 0) }, 961        { "s25sl064p",  INFO(0x010216, 0x4d00,  64 * 1024, 128, 0) }, 962        { "s25fl256s0", INFO(0x010219, 0x4d00, 256 * 1024, 128, 0) }, 963        { "s25fl256s1", INFO(0x010219, 0x4d01,  64 * 1024, 512, M25P80_DUAL_READ | M25P80_QUAD_READ) }, 964        { "s25fl512s",  INFO(0x010220, 0x4d00, 256 * 1024, 256, M25P80_DUAL_READ | M25P80_QUAD_READ) }, 965        { "s70fl01gs",  INFO(0x010221, 0x4d00, 256 * 1024, 256, 0) }, 966        { "s25sl12800", INFO(0x012018, 0x0300, 256 * 1024,  64, 0) }, 967        { "s25sl12801", INFO(0x012018, 0x0301,  64 * 1024, 256, 0) }, 968        { "s25fl129p0", INFO(0x012018, 0x4d00, 256 * 1024,  64, 0) }, 969        { "s25fl129p1", INFO(0x012018, 0x4d01,  64 * 1024, 256, 0) }, 970        { "s25sl004a",  INFO(0x010212,      0,  64 * 1024,   8, 0) }, 971        { "s25sl008a",  INFO(0x010213,      0,  64 * 1024,  16, 0) }, 972        { "s25sl016a",  INFO(0x010214,      0,  64 * 1024,  32, 0) }, 973        { "s25sl032a",  INFO(0x010215,      0,  64 * 1024,  64, 0) }, 974        { "s25sl064a",  INFO(0x010216,      0,  64 * 1024, 128, 0) }, 975        { "s25fl008k",  INFO(0xef4014,      0,  64 * 1024,  16, SECT_4K) }, 976        { "s25fl016k",  INFO(0xef4015,      0,  64 * 1024,  32, SECT_4K) }, 977        { "s25fl064k",  INFO(0xef4017,      0,  64 * 1024, 128, SECT_4K) }, 978 979        /* SST -- large erase sizes are "overlays", "sectors" are 4K */ 980        { "sst25vf040b", INFO(0xbf258d, 0, 64 * 1024,  8, SECT_4K | SST_WRITE) }, 981        { "sst25vf080b", INFO(0xbf258e, 0, 64 * 1024, 16, SECT_4K | SST_WRITE) }, 982        { "sst25vf016b", INFO(0xbf2541, 0, 64 * 1024, 32, SECT_4K | SST_WRITE) }, 983        { "sst25vf032b", INFO(0xbf254a, 0, 64 * 1024, 64, SECT_4K | SST_WRITE) }, 984        { "sst25vf064c", INFO(0xbf254b, 0, 64 * 1024, 128, SECT_4K) }, 985        { "sst25wf512",  INFO(0xbf2501, 0, 64 * 1024,  1, SECT_4K | SST_WRITE) }, 986        { "sst25wf010",  INFO(0xbf2502, 0, 64 * 1024,  2, SECT_4K | SST_WRITE) }, 987        { "sst25wf020",  INFO(0xbf2503, 0, 64 * 1024,  4, SECT_4K | SST_WRITE) }, 988        { "sst25wf040",  INFO(0xbf2504, 0, 64 * 1024,  8, SECT_4K | SST_WRITE) }, 989 990        /* ST Microelectronics -- newer production may have feature updates */ 991        { "m25p05",  INFO(0x202010,  0,  32 * 1024,   2, 0) }, 992        { "m25p10",  INFO(0x202011,  0,  32 * 1024,   4, 0) }, 993        { "m25p20",  INFO(0x202012,  0,  64 * 1024,   4, 0) }, 994        { "m25p40",  INFO(0x202013,  0,  64 * 1024,   8, 0) }, 995        { "m25p80",  INFO(0x202014,  0,  64 * 1024,  16, 0) }, 996        { "m25p16",  INFO(0x202015,  0,  64 * 1024,  32, 0) }, 997        { "m25p32",  INFO(0x202016,  0,  64 * 1024,  64, 0) }, 998        { "m25p64",  INFO(0x202017,  0,  64 * 1024, 128, 0) }, 999        { "m25p128", INFO(0x202018,  0, 256 * 1024,  64, 0) }, 1000        { "n25q032", INFO(0x20ba16,  0,  64 * 1024,  64, 0) }, 1002        { "m25p05-nonjedec",  INFO(0, 0,  32 * 1024,   2, 0) }, 1003        { "m25p10-nonjedec",  INFO(0, 0,  32 * 1024,   4, 0) }, 1004        { "m25p20-nonjedec",  INFO(0, 0,  64 * 1024,   4, 0) }, 1005        { "m25p40-nonjedec",  INFO(0, 0,  64 * 1024,   8, 0) }, 1006        { "m25p80-nonjedec",  INFO(0, 0,  64 * 1024,  16, 0) }, 1007        { "m25p16-nonjedec",  INFO(0, 0,  64 * 1024,  32, 0) }, 1008        { "m25p32-nonjedec",  INFO(0, 0,  64 * 1024,  64, 0) }, 1009        { "m25p64-nonjedec",  INFO(0, 0,  64 * 1024, 128, 0) }, 1010        { "m25p128-nonjedec", INFO(0, 0, 256 * 1024,  64, 0) }, 1012        { "m45pe10", INFO(0x204011,  0, 64 * 1024,    2, 0) }, 1013        { "m45pe80", INFO(0x204014,  0, 64 * 1024,   16, 0) }, 1014        { "m45pe16", INFO(0x204015,  0, 64 * 1024,   32, 0) }, 1016        { "m25pe20", INFO(0x208012,  0, 64 * 1024,  4,       0) }, 1017        { "m25pe80", INFO(0x208014,  0, 64 * 1024, 16,       0) }, 1018        { "m25pe16", INFO(0x208015,  0, 64 * 1024, 32, SECT_4K) }, 1020        { "m25px16",    INFO(0x207115,  0, 64 * 1024, 32, SECT_4K) }, 1021        { "m25px32",    INFO(0x207116,  0, 64 * 1024, 64, SECT_4K) }, 1022        { "m25px32-s0", INFO(0x207316,  0, 64 * 1024, 64, SECT_4K) }, 1023        { "m25px32-s1", INFO(0x206316,  0, 64 * 1024, 64, SECT_4K) }, 1024        { "m25px64",    INFO(0x207117,  0, 64 * 1024, 128, 0) }, 1025 1026        /* Winbond -- w25x "blocks" are 64K, "sectors" are 4KiB */ 1027        { "w25x10", INFO(0xef3011, 0, 64 * 1024,  2,  SECT_4K) }, 1028        { "w25x20", INFO(0xef3012, 0, 64 * 1024,  4,  SECT_4K) }, 1029        { "w25x40", INFO(0xef3013, 0, 64 * 1024,  8,  SECT_4K) }, 1030        { "w25x80", INFO(0xef3014, 0, 64 * 1024,  16, SECT_4K) }, 1031        { "w25x16", INFO(0xef3015, 0, 64 * 1024,  32, SECT_4K) }, 1032        { "w25x32", INFO(0xef3016, 0, 64 * 1024,  64, SECT_4K) }, 1033        { "w25q32", INFO(0xef4016, 0, 64 * 1024,  64, SECT_4K) }, 1034        { "w25q32dw", INFO(0xef6016, 0, 64 * 1024,  64, SECT_4K) }, 1035        { "w25x64", INFO(0xef3017, 0, 64 * 1024, 128, SECT_4K) }, 1036        { "w25q64", INFO(0xef4017, 0, 64 * 1024, 128, SECT_4K) }, 1037        { "w25q128", INFO(0xef4018, 0, 64 * 1024, 256, SECT_4K) }, 1038        { "w25q80", INFO(0xef5014, 0, 64 * 1024,  16, SECT_4K) }, 1039        { "w25q80bl", INFO(0xef4014, 0, 64 * 1024,  16, SECT_4K) }, 1040        { "w25q128", INFO(0xef4018, 0, 64 * 1024, 256, SECT_4K) }, 1041        { "w25q256", INFO(0xef4019, 0, 64 * 1024, 512, SECT_4K) }, 1042 1043        /* Catalyst / On Semiconductor -- non-JEDEC */ 1044        { "cat25c11", CAT25_INFO(  16, 8, 16, 1, M25P_NO_ERASE | M25P_NO_FR) }, 1045        { "cat25c03", CAT25_INFO(  32, 8, 16, 2, M25P_NO_ERASE | M25P_NO_FR) }, 1046        { "cat25c09", CAT25_INFO( 128, 8, 32, 2, M25P_NO_ERASE | M25P_NO_FR) }, 1047        { "cat25c17", CAT25_INFO( 256, 8, 32, 2, M25P_NO_ERASE | M25P_NO_FR) }, 1048        { "cat25128", CAT25_INFO(2048, 8, 64, 2, M25P_NO_ERASE | M25P_NO_FR) },

// fill flash info based on JEDEC ID	switch(info->flash_id){ /*		 * 4M flash chips */		case 0x010215:	// tested flash_set_geom(SIZE_INBYTES_4MBYTES, 64, SIZE_INBYTES_64KBYTES); puts("Spansion S25FL032P (4 MB)"); break;

case 0x1F4700: flash_set_geom(SIZE_INBYTES_4MBYTES, 64, SIZE_INBYTES_64KBYTES); puts("Atmel AT25DF321 (4 MB)"); break;

case 0x1C3016:	// tested flash_set_geom(SIZE_INBYTES_4MBYTES, 64, SIZE_INBYTES_64KBYTES); puts("EON EN25Q32 (4 MB)"); break;

case 0x1C3116:	// tested flash_set_geom(SIZE_INBYTES_4MBYTES, 64, SIZE_INBYTES_64KBYTES); puts("EON EN25F32 (4 MB)"); break;

case 0x202016: flash_set_geom(SIZE_INBYTES_4MBYTES, 64, SIZE_INBYTES_64KBYTES); puts("Micron M25P32 (4 MB)"); break;

case 0xEF4016: flash_set_geom(SIZE_INBYTES_4MBYTES, 64, SIZE_INBYTES_64KBYTES); puts("Winbond W25Q32 (4 MB)"); break;

case 0xC22016: flash_set_geom(SIZE_INBYTES_4MBYTES, 64, SIZE_INBYTES_64KBYTES); puts("Macronix MX25L320 (4 MB)"); break;

/*			 * 8M flash chips */		case 0x010216: flash_set_geom(SIZE_INBYTES_8MBYTES, 128, SIZE_INBYTES_64KBYTES); puts("Spansion S25FL064P (8 MB)"); break;

case 0x1F4800: flash_set_geom(SIZE_INBYTES_8MBYTES, 128, SIZE_INBYTES_64KBYTES); puts("Atmel AT25DF641 (8 MB)"); break;

case 0x1C3017:	// tested flash_set_geom(SIZE_INBYTES_8MBYTES, 128, SIZE_INBYTES_64KBYTES); puts("EON EN25Q64 (8 MB)"); break;

case 0x202017: flash_set_geom(SIZE_INBYTES_8MBYTES, 128, SIZE_INBYTES_64KBYTES); puts("Micron M25P64 (8 MB)"); break;

case 0xEF4017:	// tested flash_set_geom(SIZE_INBYTES_8MBYTES, 128, SIZE_INBYTES_64KBYTES); puts("Winbond W25Q64 (8 MB)"); break;

case 0xC22017:	// tested case 0xC22617: flash_set_geom(SIZE_INBYTES_8MBYTES, 128, SIZE_INBYTES_64KBYTES); puts("Macronix MX25L64 (8 MB)"); break;

/*			 * 16M flash chips */		case 0xEF4018:	// tested flash_set_geom(SIZE_INBYTES_16MBYTES, 256, SIZE_INBYTES_64KBYTES); puts("Winbond W25Q128 (16 MB)"); break;

case 0xC22018: case 0xC22618: flash_set_geom(SIZE_INBYTES_16MBYTES, 256, SIZE_INBYTES_64KBYTES); puts("Macronix MX25L128 (16 MB)"); break;

case 0x012018: flash_set_geom(SIZE_INBYTES_16MBYTES, 256, SIZE_INBYTES_64KBYTES); puts("Spansion S25FL127S (16 MB)"); break;

case 0x20BA18: flash_set_geom(SIZE_INBYTES_16MBYTES, 256, SIZE_INBYTES_64KBYTES); puts("Micron N25Q128 (16 MB)"); break;

/*
 * https://github.com/pepe2k/u-boot_mod/blob/master/u-boot/board/ar7240/common/ar7240_flash.c#L95

Numonyx

 * Numonyx was a semiconductor company making flash memories
 * which was founded on March 31, 2008 (Numonyx on Wikipedia)
 * by Intel Corporation, STMicroelectronics and Francisco Partners
 * It was acquired by Micron Technology on February 9, 2010


 * Numonyx (Intel) JS28F640 16MB (TSOP56) Cisco RV042

SPI
On Tech-blog (PL)


 * Spansion S25FL032P (4MB, 64 x 64 KB, TL-MR3020/TL-MR3040 & TL-WR703N)
 * Eon EN25Q32B (4MB, 1024 x 4 KB, TL-WR703N)
 * Eon EN25Q64 (8MB, 2048 x 4 KB)
 * Winbond W25Q64BV (8MB, 2048 x 4 KB)
 * Winbond W25Q128FV (16MB, 4096 x 4 KB)

4 MB

 * Spansion S25FL032P (4MB, JEDEC ID: 01 0215)
 * Atmel AT25DF321 (4MB, JEDEC ID: 1F 4700)
 * Eon EN25Q32 (4MB, JEDEC ID: 1C 3016)
 * Eon EN25F32 (4MB, JEDEC ID: 1C 3116) *
 * Micron M25P32 (4MB, JEDEC ID: 20 2016)
 * Winbond W25Q32 (4MB, JEDEC ID: EF 4016)
 * Macronix MX25L320 (4MB, JEDEC ID: C2 2016)

8 MB

 * Spansion S25FL064P (8MB, JEDEC ID: 01 0216)
 * Atmel AT25DF641 (8MB, JEDEC ID: 1F 4800)
 * Eon EN25Q64 (8 MB, JEDEC ID: 1C 3017)
 * Micron M25P64 (8MB, JEDEC ID: 20 2017)
 * Winbond W25Q64 (8MB, JEDEC ID: EF 4017)
 * Macronix MX25L640 (8MB, JEDEC ID: C2 2017, C2 2617)
 * SST 25VF064C (8MB, JEDEC ID: BF 254B) *

16 MB

 * Winbond W25Q128 (16MB, JEDEC ID: EF 4018)
 * Macronix MX25L128 (16MB, JEDEC ID: C2 2018, C2 2618)
 * Spansion S25FL127S (16MB, JEDEC ID: 01 2018) * U-Boot mod


 * S25FL032P (4MB), W25Q64(8MB), MX25L6445E（8MB）, W25Q128 (16MB)

TJTAG
/fc:XX = Optional (Manual) Flash Chip Selection ———————————————– /fc:01 …………. MX29LV800BTC 512kx16 TopB (1MB) /fc:02 …………. MX29LV800BTC 512kx16 BotB (1MB) /fc:03 …………. AMD 29lv160DB 1Mx16 BotB (2MB) /fc:04 …………. AMD 29lv160DT 1Mx16 TopB (2MB) /fc:05 …………. EON EN29LV160A 1Mx16 BotB (2MB) /fc:06 …………. EON EN29LV160A 1Mx16 TopB (2MB) /fc:07 …………. MBM29LV160B 1Mx16 BotB (2MB) /fc:08 …………. MBM29LV160T 1Mx16 TopB (2MB) /fc:09 …………. MX29LV160CB 1Mx16 BotB (2MB) /fc:10 …………. MX29LV160CT 1Mx16 TopB (2MB) /fc:11 …………. K8D1716UTC 1Mx16 TopB (2MB) /fc:12 …………. K8D1716UBC 1Mx16 BotB (2MB) /fc:13 …………. ST M29W160EB 1Mx16 BotB (2MB) /fc:14 …………. ST M29W160ET 1Mx16 TopB (2MB) /fc:15 …………. Macronix MX25L160A (2MB) Serial /fc:16 …………. K8D3216UTC 2Mx16 TopB (4MB) /fc:17 …………. K8D3216UBC 2Mx16 BotB (4MB) /fc:18 …………. K8P3215UQB 2Mx16 BotB (4MB) /fc:19 …………. Macronix MX25L1605D (2MB) Serial /fc:20 …………. Macronix MX25L3205D (4MB) Serial /fc:21 …………. Macronix MX25L6405D (8MB) Serial /fc:22 …………. STMicro M25P16 (2MB) Serial /fc:23 …………. STMicro M25P32 (4MB) Serial /fc:24 …………. STMicro M25P64 (8MB) Serial /fc:25 …………. STMicro M25P128 (16MB) Serial /fc:26 …………. AMD 29lv320MB 2Mx16 BotB (4MB) /fc:27 …………. AMD 29lv320MT 2Mx16 TopB (4MB) /fc:28 …………. AMD 29lv320MT 2Mx16 TopB (4MB) /fc:29 …………. TC58FVB321 2Mx16 BotB (4MB) /fc:30 …………. TC58FVT321 2Mx16 TopB (4MB) /fc:31 …………. AT49BV/LV16X 2Mx16 BotB (4MB) /fc:32 …………. AT49BV/LV16XT 2Mx16 TopB (4MB) /fc:33 …………. MBM29DL323BE 2Mx16 BotB (4MB) /fc:34 …………. MBM29DL323TE 2Mx16 TopB (4MB) /fc:35 …………. AMD 29lv320DB 2Mx16 BotB (4MB) /fc:36 …………. AMD 29lv320DT 2Mx16 TopB (4MB) /fc:37 …………. MBM29LV320BE 2Mx16 BotB (4MB) /fc:38 …………. MBM29LV320TE 2Mx16 TopB (4MB) /fc:39 …………. MX29LV320B 2Mx16 BotB (4MB) /fc:40 …………. MX29LV320T 2Mx16 TopB (4MB) /fc:41 …………. ST 29w320DB 2Mx16 BotB (4MB) /fc:42 …………. ST 29w320DT 2Mx16 TopB (4MB) /fc:43 …………. MX29LV640B 4Mx16 TopB (8MB) /fc:44 …………. MX29LV640B 4Mx16 BotB (8MB) /fc:45 …………. W19B(L)320ST 2Mx16 TopB (4MB) /fc:46 …………. W19B(L)320SB 2Mx16 BotB (4MB) /fc:47 …………. W19B(L)320SB 2Mx16 BotB (4MB) /fc:48 …………. M29DW324DT 2Mx16 TopB (4MB) /fc:49 …………. M29DW324DB 2Mx16 BotB (4MB) /fc:50 …………. TC58FVM6T2A 4Mx16 TopB (8MB) /fc:51 …………. TC58FVM6B2A 4Mx16 BopB (8MB) /fc:52 …………. K8D6316UTM 4Mx16 TopB (8MB) /fc:53 …………. K8D6316UBM 4Mx16 BotB (8MB) /fc:54 …………. Intel 28F160B3 1Mx16 BotB (2MB) /fc:55 …………. Intel 28F160B3 1Mx16 TopB (2MB) /fc:56 …………. Intel 28F160C3 1Mx16 BotB (2MB) /fc:57 …………. Intel 28F160C3 1Mx16 TopB (2MB) /fc:58 …………. Intel 28F320B3 2Mx16 BotB (4MB) /fc:59 …………. Intel 28F320B3 2Mx16 TopB (4MB) /fc:60 …………. Intel 28F320C3 2Mx16 BotB (4MB) /fc:61 …………. Intel 28F320C3 2Mx16 TopB (4MB) /fc:62 …………. Sharp 28F320BJE 2Mx16 BotB (4MB) /fc:63 …………. Intel 28F640B3 4Mx16 BotB (8MB) /fc:64 …………. Intel 28F640B3 4Mx16 TopB (8MB) /fc:65 …………. Intel 28F640C3 4Mx16 BotB (8MB) /fc:66 …………. Intel 28F640C3 4Mx16 TopB (8MB) /fc:67 …………. Intel 28F160S3/5 1Mx16 (2MB) /fc:68 …………. Intel 28F320J3 2Mx16 (4MB) /fc:69 …………. Intel 28F320J5 2Mx16 (4MB) /fc:70 …………. Intel 28F320S3/5 2Mx16 (4MB) /fc:71 …………. Intel 28F640J3 4Mx16 (8MB) /fc:72 …………. Intel 28F640J5 4Mx16 (8MB) /fc:73 …………. Intel 28F128J3 8Mx16 (16MB) /fc:74 …………. SST39VF1601 1Mx16 BotB (2MB) /fc:75 …………. SST39VF1602 1Mx16 TopB (2MB) /fc:76 …………. SST39VF3201 2Mx16 BotB (4MB) /fc:77 …………. SST39VF3202 2Mx16 TopB (4MB) /fc:78 …………. SST39VF6401 4Mx16 BotB (8MB) /fc:79 …………. SST39VF6402 4Mx16 TopB (8MB) /fc:80 …………. SST39VF6401B 4Mx16 BotB (8MB) /fc:81 …………. SST39VF6402B 4Mx16 TopB (8MB) /fc:82 …………. Spansion S29GL032M BotB (4MB) /fc:83 …………. Spansion S29GL032M TopB (4MB) /fc:84 …………. Spansion S29GL064M BotB (8MB) /fc:85 …………. Spansion S29GL064M TopB (8MB) /fc:86 …………. Spansion S29GL064M TopB (8MB) /fc:87 …………. Spansion S29GL064M U (8MB) /fc:88 …………. Spansion S29GL128P U (16MB) /fc:89 …………. Spansion S29GL128M U (16MB) /fc:90 …………. Spansion S29GL256P U (32MB) /fc:91 …………. Spansion S29GL256P U (32MB) /fc:92 …………. Spansion S29GL512P U (64MB) /fc:93 …………. Spansion S29GL01GP U (128MB) /fc:94 …………. Spansion S25FL016A (2MB) Serial /fc:95 …………. Spansion S25FL032A (4MB) Serial /fc:96 …………. Spansion S25FL064A (8MB) Serial /fc:97 …………. Winbond W19B320AB BotB (4MB) /fc:98 …………. Winbond W19B320AT TopB (4MB) /fc:99 …………. Winbond W25X32 (4MB) Serial /fc:100 …………. Winbond W25X32 (4MB) Serial /fc:101 …………. Winbond W25X64 (8MB) Serial /fc:102 …………. EON EN29LV320 2Mx16 BotB (4MB) /fc:103 …………. EON EN29LV320 2Mx16 BotB (4MB) /fc:104 …………. EON EN29LV320 2Mx16 TopB (4MB) /fc:105 …………. EON EN29LV640 4Mx16 TopB (8MB) /fc:106 …………. EON EN29LV640 4Mx16 BotB (8MB) /fc:107 …………. cFeon EN29LV640 4Mx16 BotB (8MB) /fc:108 …………. cFeon EN29LV640 4Mx16 TopB (8MB) /fc:109 …………. AT49BV322A 2Mx16 BotB (4MB) /fc:110 …………. AT49BV322A(T) 2Mx16 TopB (4MB) /fc:111 …………. Macronix MX25L6402 (8MB) Serial /fc:112 …………. Ceon EN25P64 U (8MB) Serial /fc:113 …………. Spansion S29AL032D (4MB) /fc:114 …………. Macronix MX29GL256E (32MB) /fc:115 …………. Spansion S25FL008A (1MB) Serial /fc:116 …………. Spansion S25FL016A (2MB) Serial /fc:117 …………. Spansion S25FL032A (4MB) Serial /fc:118 …………. Spansion S25FL064A (8MB) Serial /fc:119 …………. Ceon EN25P32 U (4MB) Serial /fc:120 …………. Ceon EN25P64 U (8MB) Serial /fc:121 …………. Atmel AT26DF081A (1MB) Serial /fc:122 …………. Atmel AT26DF161A (2MB) Serial /fc:123 …………. Atmel AT26DF321 (4MB) Serial /fc:124 …………. STMicro M25P80 (1MB) Serial /fc:125 …………. STMicro M25P16 (2MB) Serial /fc:126 …………. STMicro M25P32 (4MB) Serial /fc:127 …………. STMicro M25P64 (8MB) Serial /fc:128 …………. STMicro M25P128 (16MB) Serial /fc:129 …………. STMicro M45PE80 (1MB) Serial /fc:130 …………. STMicro M45PE16 (2MB) Serial /fc:131 …………. STMicro M25PE80 (1MB) Serial /fc:132 …………. STMicro M25PE16 (2MB) Serial /fc:133 …………. Intel 160S33B (2MB) Serial /fc:134 …………. Intel 320S33B (4MB) Serial /fc:135 …………. Intel 640S33B (8MB) Serial /fc:136 …………. ESMT F25L008A (1MB) Serial /fc:137 …………. ESMT F25L016A (2MB) Serial /fc:138 …………. ESMT F25L32PA (4MB) Serial /fc:139 …………. SST 25VF080B (1MB) Serial /fc:140 …………. SST 25VF016B (2MB) Serial /fc:141 …………. SST 25VF032B (4MB) Serial /fc:142 …………. Macronix MX25L160A (2MB) Serial /fc:143 …………. Macronix MX25L6402 (8MB) Serial /fc:144 …………. Macronix MX25L8005 (1MB) Serial /fc:145 …………. Macronix MX25L1605D (2MB) Serial /fc:146 …………. Macronix MX25L3205D (4MB) Serial /fc:147 …………. Macronix MX25L6405D (8MB) Serial /fc:148 …………. Macronix MX25L12805D (16MB) Serial /fc:149 …………. Macronix MX25L25635E (32MB) Serial /fc:150 …………. Macronix MX29LV640MT TopB 4Mx16 (8 /fc:151 …………. Macronix MX29LV640MT BotB 4Mx16 (8 /fc:152 …………. Macronix MX29LV640MT TopB 4Mx16 (8 /fc:153 …………. Macronix MX25L12855E (16MB) Serial /fc:154 …………. Winbond W25X80 (1MB) Serial /fc:155 …………. Winbond W25X16 (2MB) Serial /fc:156 …………. Winbond W25X32 (4MB) Serial /fc:157 …………. Winbond W25X64 (8MB) Serial /fc:158 …………. Winbond W25Q80 (1MB) Serial /fc:159 …………. Winbond W25Q16 (2MB) Serial /fc:160 …………. Winbond W25Q32 (4MB) Serial /fc:161 …………. Winbond W25Q64 (8MB) Serial
 * http://infodepot.wikia.com/wiki/TJTAG