gitee.com/mirrors_u-root/u-root@v7.0.0+incompatible/pkg/mount/mtd/dat.go (about) 1 // Copyright 2019 the u-root Authors. All rights reserved 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 package mtd 6 7 var vendors = []vendor{ 8 {names: []VendorName{"ZETTADEVICE", "Zetta"}, id: 0xBA}, 9 {names: []VendorName{"WINBOND"}, id: 0xDA}, 10 {names: []VendorName{"WINBOND", "NEX", "Nexcom", "Winbond (ex Nexcom) serial flashes,"}, id: 0xEF}, 11 // {names: []VendorName{"TI_OLD",}, id: 0x01, "TI chips from last century,"}, 12 {names: []VendorName{"TI", "Texas Instruments"}, id: 0x97}, 13 {names: []VendorName{"TENX", "Tenx", "Tenx Technologies"}, id: 0x7F7F5E}, 14 {names: []VendorName{"SYNCMOS", "MVC"}, id: 0x40}, 15 {names: []VendorName{"Micron", "ST", "SGS/Thomson", "Numonyx"}, id: 0x20}, 16 {names: []VendorName{"SST"}, id: 0xBF}, 17 {names: []VendorName{"SPANSION", "AMD"}, id: 0x01}, 18 {names: []VendorName{"SHARP"}, id: 0xB0}, 19 {names: []VendorName{"SANYO"}, id: 0x62}, 20 {names: []VendorName{"PMC", "Chingis Technology Corporation"}, id: 0x7F9D}, 21 {names: []VendorName{"NANTRONICS"}, id: 0x7F7F7F7F7F7FD5}, 22 {names: []VendorName{"MACRONIX", "MX", "Generalplus"}, id: 0xC2}, 23 //ISSI Integrated Silicon Solutions, disjoint overlap with PMC 24 {names: []VendorName{"ISSI"}, id: 0xD5}, 25 {names: []VendorName{"INTEL"}, id: 0x89}, 26 {names: []VendorName{"IMT", "Integrated Memory Technologies"}, id: 0x7F1F}, 27 {names: []VendorName{"HYUNDAI"}, id: 0xAD}, 28 {names: []VendorName{"GIGADEVICE"}, id: 0xC8}, 29 {names: []VendorName{"FUJITSU"}, id: 0x04}, 30 {names: []VendorName{"FIDELIX"}, id: 0xF8}, 31 {names: []VendorName{"EXCEL", "Excel Semiconductor Inc. (ESI) resides in bank 5"}, id: 0x7F7F7F7F4A}, 32 {names: []VendorName{"EON", "EON Silicon Devices"}, id: 0x7F1C}, 33 {names: []VendorName{"ESMT", "Elite Semiconductor Memory Technology (ESMT) / EFST Elite Flash Storage"}, id: 0x8C}, 34 {names: []VendorName{"CATALYST"}, id: 0x31}, 35 {names: []VendorName{"BRIGHT", "Bright Microelectronics"}, id: 0xAD}, 36 {names: []VendorName{"Adesto", "ATMEL"}, id: 0x1F}, 37 {names: []VendorName{"AMIC"}, id: 0x7F37}, 38 {names: []VendorName{"ALLIANCE", "Alliance", "Alliance Semiconductor,"}, id: 0x52}, 39 } 40 41 // Devices are the individual devices. Each device has a few properties 42 // that vary with the device, and a few that do not. For example, many 43 // devices have the same basic block sizes, erase patterns, and so on; 44 // they differ only in size. Hence we can save space if we have 45 // per-device data and per-family data. 46 // Flashrom supported a lot of oldjunk. For now, we're just 47 // going to worry about those things /dev/mtd can support. 48 // TODO: figure out what defining common data. 49 var ( 50 devices = []ChipDevice{ 51 {vendor: "ALLIANCE", devices: []ChipName{"AS29F002B"}, id: 0x34}, 52 {vendor: "ALLIANCE", devices: []ChipName{"AS29F002T"}, id: 0xB0}, 53 {vendor: "ALLIANCE", devices: []ChipName{"AS29F010"}, id: 0x04}, 54 {vendor: "ALLIANCE", devices: []ChipName{"AS29F040"}, id: 0xA4}, 55 {vendor: "ALLIANCE", devices: []ChipName{"AS29F200B"}, id: 0x57}, 56 {vendor: "ALLIANCE", devices: []ChipName{"AS29F200T"}, id: 0x51}, 57 {vendor: "ALLIANCE", devices: []ChipName{"AS29LV160B"}, id: 0x49}, 58 {vendor: "ALLIANCE", devices: []ChipName{"AS29LV160T"}, id: 0xCA}, 59 {vendor: "ALLIANCE", devices: []ChipName{"AS29LV400B"}, id: 0xBA}, 60 {vendor: "ALLIANCE", devices: []ChipName{"AS29LV400T"}, id: 0xB9}, 61 {vendor: "ALLIANCE", devices: []ChipName{"AS29LV800B"}, id: 0x5B}, 62 {vendor: "ALLIANCE", devices: []ChipName{"AS29LV800T"}, id: 0xDA}, 63 {vendor: "AMD", devices: []ChipName{"AM29DL400BT"}, id: 0x0C}, 64 {vendor: "AMD", devices: []ChipName{"AM29DL400BB"}, id: 0x0F}, 65 {vendor: "AMD", devices: []ChipName{"AM29DL800BT"}, id: 0x4A}, 66 {vendor: "AMD", devices: []ChipName{"AM29DL800BB"}, id: 0xCB}, 67 {vendor: "AMD", devices: []ChipName{"AM29F002BB"}, id: 0x34, remarks: " /* Same as Am29F002NBB */"}, 68 {vendor: "AMD", devices: []ChipName{"AM29F002BT"}, id: 0xB0, remarks: " /* Same as Am29F002NBT */"}, 69 {vendor: "AMD", devices: []ChipName{"AM29F004BB"}, id: 0x7B}, 70 {vendor: "AMD", devices: []ChipName{"AM29F004BT"}, id: 0x77}, 71 {vendor: "AMD", devices: []ChipName{"AM29F016D"}, id: 0xAD}, 72 {vendor: "AMD", devices: []ChipName{"AM29F010"}, id: 0x20, remarks: " /* Same as Am29F010A and Am29F010B */"}, 73 {vendor: "AMD", devices: []ChipName{"AM29F040"}, id: 0xA4, remarks: " /* Same as AM29F040B */"}, 74 {vendor: "AMD", devices: []ChipName{"AM29F080"}, id: 0xD5, remarks: " /* Same as Am29F080B */"}, 75 {vendor: "AMD", devices: []ChipName{"AM29F200BB"}, id: 0x57}, 76 {vendor: "AMD", devices: []ChipName{"AM29F200BT"}, id: 0x51}, 77 {vendor: "AMD", devices: []ChipName{"AM29F400BB"}, id: 0xAB}, 78 {vendor: "AMD", devices: []ChipName{"AM29F400BT"}, id: 0x23}, 79 {vendor: "AMD", devices: []ChipName{"AM29F800BB"}, id: 0x58}, 80 {vendor: "AMD", devices: []ChipName{"AM29F800BT"}, id: 0xD6}, 81 {vendor: "AMD", devices: []ChipName{"AM29LV001BB"}, id: 0x6D}, 82 {vendor: "AMD", devices: []ChipName{"AM29LV001BT"}, id: 0xED}, 83 {vendor: "AMD", devices: []ChipName{"AM29LV010B"}, id: 0x6E, remarks: " /* 1Mb, uniform */"}, 84 {vendor: "AMD", devices: []ChipName{"AM29LV002BB"}, id: 0xC2}, 85 {vendor: "AMD", devices: []ChipName{"AM29LV002BT"}, id: 0x40}, 86 {vendor: "AMD", devices: []ChipName{"AM29LV004BB"}, id: 0xB6}, 87 {vendor: "AMD", devices: []ChipName{"AM29LV004BT"}, id: 0xB5}, 88 {vendor: "AMD", devices: []ChipName{"AM29LV008BB"}, id: 0x37}, 89 {vendor: "AMD", devices: []ChipName{"AM29LV008BT"}, id: 0x3E}, 90 {vendor: "AMD", devices: []ChipName{"AM29LV040B"}, id: 0x4F}, 91 {vendor: "AMD", devices: []ChipName{"AM29LV080B"}, id: 0x38, remarks: " /* Same as Am29LV081B */"}, 92 {vendor: "AMD", devices: []ChipName{"AM29LV200BB"}, id: 0xBF}, 93 {vendor: "AMD", devices: []ChipName{"AM29LV200BT"}, id: 0x3B}, 94 {vendor: "AMD", devices: []ChipName{"AM29LV800BB"}, id: 0x5B, remarks: " /* Same as Am29LV800DB */"}, 95 {vendor: "AMD", devices: []ChipName{"AM29LV400BT"}, id: 0xB9}, 96 {vendor: "AMD", devices: []ChipName{"AM29LV400BB"}, id: 0xBA}, 97 {vendor: "AMD", devices: []ChipName{"AM29LV800BT"}, id: 0xDA, remarks: " /* Same as Am29LV800DT */"}, 98 {vendor: "AMIC", devices: []ChipName{"A25L05PT"}, id: 0x2020}, 99 {vendor: "AMIC", devices: []ChipName{"A25L05PU"}, id: 0x2010}, 100 {vendor: "AMIC", devices: []ChipName{"A25L10PT"}, id: 0x2021}, 101 {vendor: "AMIC", devices: []ChipName{"A25L10PU"}, id: 0x2011}, 102 {vendor: "AMIC", devices: []ChipName{"A25L20PT"}, id: 0x2022}, 103 {vendor: "AMIC", devices: []ChipName{"A25L20PU"}, id: 0x2012}, 104 {vendor: "AMIC", devices: []ChipName{"A25L40PT"}, id: 0x2013, remarks: " /* Datasheet says T and U have"}, 105 {vendor: "AMIC", devices: []ChipName{"A25L40PU"}, id: 0x2013}, 106 {vendor: "AMIC", devices: []ChipName{"A25L80P"}, id: 0x2014, remarks: " /* Seems that no A25L80PT exists */"}, 107 {vendor: "AMIC", devices: []ChipName{"A25L16PT"}, id: 0x2025}, 108 {vendor: "AMIC", devices: []ChipName{"A25L16PU"}, id: 0x2015}, 109 {vendor: "AMIC", devices: []ChipName{"A25L512"}, id: 0x3010}, 110 {vendor: "AMIC", devices: []ChipName{"A25L010"}, id: 0x3011}, 111 {vendor: "AMIC", devices: []ChipName{"A25L020"}, id: 0x3012}, 112 {vendor: "AMIC", devices: []ChipName{"A25L040"}, id: 0x3013}, 113 {vendor: "AMIC", devices: []ChipName{"A25L080"}, id: 0x3014}, 114 {vendor: "AMIC", devices: []ChipName{"A25L016"}, id: 0x3015}, 115 {vendor: "AMIC", devices: []ChipName{"A25L032"}, id: 0x3016}, 116 {vendor: "AMIC", devices: []ChipName{"A25LQ16"}, id: 0x4015}, 117 {vendor: "AMIC", devices: []ChipName{"A25LQ032"}, id: 0x4016, remarks: " /* Same as A25LQ32A, but the latter supports SFDP */"}, 118 {vendor: "AMIC", devices: []ChipName{"A25LQ64"}, id: 0x4017}, 119 {vendor: "AMIC", devices: []ChipName{"A29002B"}, id: 0x0, remarks: "d"}, 120 {vendor: "AMIC", devices: []ChipName{"A29002T"}, id: 0x8C, remarks: " /* Same as A290021T */"}, 121 {vendor: "AMIC", devices: []ChipName{"A29040B"}, id: 0x86}, 122 {vendor: "AMIC", devices: []ChipName{"A29400T"}, id: 0xB0, remarks: " /* Same as 294001T */"}, 123 {vendor: "AMIC", devices: []ChipName{"A29400U"}, id: 0x31, remarks: " /* Same as A294001U */"}, 124 {vendor: "AMIC", devices: []ChipName{"A29800T"}, id: 0x0E}, 125 {vendor: "AMIC", devices: []ChipName{"A29800U"}, id: 0x8F}, 126 {vendor: "AMIC", devices: []ChipName{"A29L004T"}, id: 0x34, remarks: " /* Same as A29L400T */"}, 127 {vendor: "AMIC", devices: []ChipName{"A29L004U"}, id: 0xB5, remarks: " /* Same as A29L400U */"}, 128 {vendor: "AMIC", devices: []ChipName{"A29L008T"}, id: 0x1A, remarks: " /* Same as A29L800T */"}, 129 {vendor: "AMIC", devices: []ChipName{"A29L008U"}, id: 0x9B, remarks: " /* Same as A29L800U */"}, 130 {vendor: "AMIC", devices: []ChipName{"A29L040"}, id: 0x92}, 131 {vendor: "AMIC", devices: []ChipName{"A49LF040A"}, id: 0x9, remarks: "d"}, 132 {vendor: "ATMEL", devices: []ChipName{"AT25DF021"}, id: 0x4300}, 133 {vendor: "ATMEL", devices: []ChipName{"AT25DF021A"}, id: 0x4301}, 134 {vendor: "ATMEL", devices: []ChipName{"AT25DF041A"}, id: 0x4401}, 135 {vendor: "ATMEL", devices: []ChipName{"AT25DF081"}, id: 0x4502, remarks: " /* EDI 0x00. AT25DL081 has same ID + EDI 0x0100 */"}, 136 {vendor: "ATMEL", devices: []ChipName{"AT25DF081A"}, id: 0x4501, remarks: " /* Yes, 81A has a lower number than 81 */"}, 137 {vendor: "ATMEL", devices: []ChipName{"AT25DF161"}, id: 0x4602}, 138 {vendor: "ATMEL", devices: []ChipName{"AT25DF321"}, id: 0x4700, remarks: " /* Same as 26DF321 */"}, 139 {vendor: "ATMEL", devices: []ChipName{"AT25DF321A"}, id: 0x4701}, 140 {vendor: "ATMEL", devices: []ChipName{"AT25DF641"}, id: 0x4800}, 141 {vendor: "ATMEL", devices: []ChipName{"AT25DL161"}, id: 0x4603, remarks: " /* EDI 0x0100 */"}, 142 {vendor: "ATMEL", devices: []ChipName{"AT25DQ161"}, id: 0x8600, remarks: " /* EDI 0x0100 */"}, 143 {vendor: "ATMEL", devices: []ChipName{"AT25DQ321"}, id: 0x8700, remarks: " /* EDI 0x0100 */"}, 144 {vendor: "ATMEL", devices: []ChipName{"AT25F512"}, id: 0x60, remarks: " /* Needs AT25F_RDID. ID from PCN and actual HW. Seems to be a relabeled AT25F1024. */"}, 145 {vendor: "ATMEL", devices: []ChipName{"AT25F512A"}, id: 0x65, remarks: " /* Needs AT25F_RDID */"}, 146 {vendor: "ATMEL", devices: []ChipName{"AT25F512B"}, id: 0x6500}, 147 {vendor: "ATMEL", devices: []ChipName{"AT25F1024"}, id: 0x60, remarks: " /* Needs AT25F_RDID */"}, 148 {vendor: "ATMEL", devices: []ChipName{"AT25F2048"}, id: 0x63, remarks: " /* Needs AT25F_RDID */"}, 149 {vendor: "ATMEL", devices: []ChipName{"AT25F4096"}, id: 0x64, remarks: " /* Needs AT25F_RDID */"}, 150 {vendor: "ATMEL", devices: []ChipName{"AT25FS010"}, id: 0x6601}, 151 {vendor: "ATMEL", devices: []ChipName{"AT25FS040"}, id: 0x6604}, 152 {vendor: "ATMEL", devices: []ChipName{"AT25SF041"}, id: 0x8401}, 153 {vendor: "ATMEL", devices: []ChipName{"AT25SF081"}, id: 0x8501}, 154 {vendor: "ATMEL", devices: []ChipName{"AT25SF161"}, id: 0x8601}, 155 {vendor: "ATMEL", devices: []ChipName{"AT25SL128A"}, id: 0x4218}, 156 {vendor: "ATMEL", devices: []ChipName{"AT26DF041"}, id: 0x4400}, 157 {vendor: "ATMEL", devices: []ChipName{"AT26DF081"}, id: 0x4500, remarks: " /* guessed, no datasheet available */"}, 158 {vendor: "ATMEL", devices: []ChipName{"AT26DF081A"}, id: 0x4501}, 159 {vendor: "ATMEL", devices: []ChipName{"AT26DF161"}, id: 0x4600}, 160 {vendor: "ATMEL", devices: []ChipName{"AT26DF161A"}, id: 0x4601}, 161 {vendor: "ATMEL", devices: []ChipName{"AT26F004"}, id: 0x0400}, 162 {vendor: "ATMEL", devices: []ChipName{"AT29LV512"}, id: 0x3D}, 163 {vendor: "ATMEL", devices: []ChipName{"AT29LV010A"}, id: 0x35, remarks: " /* Same as AT29BV010A, the latter works down to 2.7V */"}, 164 {vendor: "ATMEL", devices: []ChipName{"AT29LV020"}, id: 0xBA}, 165 {vendor: "ATMEL", devices: []ChipName{"AT29BV040A"}, id: 0xC4}, 166 {vendor: "ATMEL", devices: []ChipName{"AT29C040A"}, id: 0xA4}, 167 {vendor: "ATMEL", devices: []ChipName{"AT29C010A"}, id: 0xD5}, 168 {vendor: "ATMEL", devices: []ChipName{"AT29C020"}, id: 0xDA}, 169 {vendor: "ATMEL", devices: []ChipName{"AT29C512"}, id: 0x5D}, 170 {vendor: "ATMEL", devices: []ChipName{"AT45CS1282"}, id: 0x2920}, 171 {vendor: "ATMEL", devices: []ChipName{"AT45DB011D"}, id: 0x2200}, 172 {vendor: "ATMEL", devices: []ChipName{"AT45DB021D"}, id: 0x2300}, 173 {vendor: "ATMEL", devices: []ChipName{"AT45DB041D"}, id: 0x2400}, 174 {vendor: "ATMEL", devices: []ChipName{"AT45DB081D"}, id: 0x2500}, 175 {vendor: "ATMEL", devices: []ChipName{"AT45DB081E /*"}, id: 0x0100, remarks: "*/"}, 176 {vendor: "ATMEL", devices: []ChipName{"AT45DB161D"}, id: 0x2600}, 177 {vendor: "ATMEL", devices: []ChipName{"AT45DB161E /*"}, id: 0x0100, remarks: "*/"}, 178 {vendor: "ATMEL", devices: []ChipName{"AT45DB321C"}, id: 0x2700}, 179 {vendor: "ATMEL", devices: []ChipName{"AT45DB321E /*"}, id: 0x0100, remarks: "*/"}, 180 {vendor: "ATMEL", devices: []ChipName{"AT45DB321D"}, id: 0x2701, remarks: "/* Buggy data sheet */"}, 181 {vendor: "ATMEL", devices: []ChipName{"AT45DB642D"}, id: 0x2800}, 182 {vendor: "ATMEL", devices: []ChipName{"AT49BV512"}, id: 0x03, remarks: " /* Same as AT49F512 */"}, 183 {vendor: "ATMEL", devices: []ChipName{"AT49F001N"}, id: 0x05, remarks: " /* Same as AT49F001 */"}, 184 {vendor: "ATMEL", devices: []ChipName{"AT49F001NT"}, id: 0x04, remarks: " /* Same as AT49F001T */"}, 185 {vendor: "ATMEL", devices: []ChipName{"AT49F002N"}, id: 0x07, remarks: " /* for AT49F002(N) */"}, 186 {vendor: "ATMEL", devices: []ChipName{"AT49LH002"}, id: 0xE9}, 187 {vendor: "ATMEL", devices: []ChipName{"AT49LH00B4"}, id: 0xED}, 188 {vendor: "ATMEL", devices: []ChipName{"AT49LH004"}, id: 0xEE}, 189 {vendor: "ATMEL", devices: []ChipName{"AT49F002NT"}, id: 0x08, remarks: " /* for AT49F002(N)T */"}, 190 {vendor: "ATMEL", devices: []ChipName{"AT49F010"}, id: 0x17, remarks: " /* Same as AT49HF010 (some erroneous datasheets say 0x87), AT49BV010, AT49HBV010, AT49HLV010 */"}, 191 {vendor: "ATMEL", devices: []ChipName{"AT49F020"}, id: 0x0B}, 192 {vendor: "ATMEL", devices: []ChipName{"AT49F040"}, id: 0x13}, 193 {vendor: "ATMEL", devices: []ChipName{"AT49F080"}, id: 0x23}, 194 {vendor: "ATMEL", devices: []ChipName{"AT49F080T"}, id: 0x27}, 195 /* Bright Microelectronics has the same manufacturer ID as Hyundai... */ 196 {vendor: "BRIGHT", devices: []ChipName{"BM29F040"}, id: 0x40}, 197 {vendor: "BRIGHT", devices: []ChipName{"BM29F400B"}, id: 0xAB}, 198 {vendor: "BRIGHT", devices: []ChipName{"BM29F400T"}, id: 0xAD}, 199 {vendor: "CATALYST", devices: []ChipName{"CAT28F512"}, id: 0xB8}, 200 {vendor: "ESMT", devices: []ChipName{"F25L008A"}, id: 0x2014}, 201 {vendor: "ESMT", devices: []ChipName{"F25L32PA"}, id: 0x2016}, 202 {vendor: "ESMT", devices: []ChipName{"F25D08QA"}, id: 0x2534}, 203 {vendor: "ESMT", devices: []ChipName{"F25L16QA2S"}, id: 0x4015}, 204 {vendor: "ESMT", devices: []ChipName{"F25L32QA"}, id: 0x4016}, 205 {vendor: "ESMT", devices: []ChipName{"F25L32QA2S"}, id: 0x4116}, 206 {vendor: "ESMT", devices: []ChipName{"F25L64QA"}, id: 0x4117}, 207 {vendor: "ESMT", devices: []ChipName{"F25L128QA"}, id: 0x4118}, 208 {vendor: "ESMT", devices: []ChipName{"F49B002UA"}, id: 0x00}, 209 // /* 210 // * EN25 chips are SPI, first byte of device ID is memory type, 211 // * second byte of device ID is log(bitsize)-9. 212 // * Vendor and device ID of EN29 series are both prefixed with 0x7F, which 213 // * is the continuation code for IDs in bank 2. 214 // * Vendor ID of EN25 series is NOT prefixed with 0x7F, this results in 215 // * a collision with Mitsubishi. Mitsubishi once manufactured flash chips. 216 // * Let's hope they are not manufacturing SPI flash chips as well. 217 // */ 218 {vendor: "EON", devices: []ChipName{"EN25B05"}, id: 0x2010, remarks: " /* Same as EN25P05, can be distinguished by RES/REMS: */"}, 219 {vendor: "EON", devices: []ChipName{"EN25P05"}, id: 0x05}, 220 {vendor: "EON", devices: []ChipName{"EN25B05T"}, id: 0x25}, 221 {vendor: "EON", devices: []ChipName{"EN25B05B"}, id: 0x95}, 222 {vendor: "EON", devices: []ChipName{"EN25B10"}, id: 0x2011, remarks: " /* Same as EN25P10, can be distinguished by RES/REMS: */"}, 223 {vendor: "EON", devices: []ChipName{"EN25P10"}, id: 0x10}, 224 {vendor: "EON", devices: []ChipName{"EN25B10T"}, id: 0x40}, 225 {vendor: "EON", devices: []ChipName{"EN25B10B"}, id: 0x30}, 226 {vendor: "EON", devices: []ChipName{"EN25B20"}, id: 0x2012, remarks: " /* Same as EN25P20, can be distinguished by RES/REMS: */"}, 227 {vendor: "EON", devices: []ChipName{"EN25P20"}, id: 0x11}, 228 {vendor: "EON", devices: []ChipName{"EN25B20T"}, id: 0x41}, 229 {vendor: "EON", devices: []ChipName{"EN25B20B"}, id: 0x31}, 230 {vendor: "EON", devices: []ChipName{"EN25B40"}, id: 0x2013, remarks: " /* Same as EN25P40, can be distinguished by RES/REMS: */"}, 231 {vendor: "EON", devices: []ChipName{"EN25P40"}, id: 0x12}, 232 {vendor: "EON", devices: []ChipName{"EN25B40T"}, id: 0x42}, 233 {vendor: "EON", devices: []ChipName{"EN25B40B"}, id: 0x32}, 234 {vendor: "EON", devices: []ChipName{"EN25B80"}, id: 0x2014, remarks: " /* Same as EN25P80, can be distinguished by RES/REMS: */"}, 235 {vendor: "EON", devices: []ChipName{"EN25P80"}, id: 0x13}, 236 {vendor: "EON", devices: []ChipName{"EN25B80T"}, id: 0x43}, 237 {vendor: "EON", devices: []ChipName{"EN25B80B"}, id: 0x33}, 238 {vendor: "EON", devices: []ChipName{"EN25B16"}, id: 0x2015, remarks: " /* Same as EN25P16, can be distinguished by RES/REMS: */"}, 239 {vendor: "EON", devices: []ChipName{"EN25P16"}, id: 0x14}, 240 {vendor: "EON", devices: []ChipName{"EN25B16T"}, id: 0x44}, 241 {vendor: "EON", devices: []ChipName{"EN25B16B"}, id: 0x34}, 242 {vendor: "EON", devices: []ChipName{"EN25B32"}, id: 0x2016, remarks: " /* Same as EN25P32, can be distinguished by RES/REMS: */"}, 243 {vendor: "EON", devices: []ChipName{"EN25P32"}, id: 0x15}, 244 {vendor: "EON", devices: []ChipName{"EN25B32T"}, id: 0x45}, 245 {vendor: "EON", devices: []ChipName{"EN25B32B"}, id: 0x35}, 246 {vendor: "EON", devices: []ChipName{"EN25B64"}, id: 0x2017, remarks: " /* Same as EN25P64, can be distinguished by RES/REMS: */"}, 247 {vendor: "EON", devices: []ChipName{"EN25P64"}, id: 0x16}, 248 {vendor: "EON", devices: []ChipName{"EN25B64T"}, id: 0x46}, 249 {vendor: "EON", devices: []ChipName{"EN25B64B"}, id: 0x36}, 250 {vendor: "EON", devices: []ChipName{"EN25F05"}, id: 0x3110}, 251 {vendor: "EON", devices: []ChipName{"EN25F10"}, id: 0x3111}, 252 {vendor: "EON", devices: []ChipName{"EN25F20"}, id: 0x3112}, 253 {vendor: "EON", devices: []ChipName{"EN25F40"}, id: 0x3113}, 254 {vendor: "EON", devices: []ChipName{"EN25F80"}, id: 0x3114}, 255 {vendor: "EON", devices: []ChipName{"EN25F16"}, id: 0x3115}, 256 {vendor: "EON", devices: []ChipName{"EN25F32"}, id: 0x3116}, 257 {vendor: "EON", devices: []ChipName{"EN25F64"}, id: 0x3117}, 258 {vendor: "EON", devices: []ChipName{"EN25Q40"}, id: 0x3013}, 259 {vendor: "EON", devices: []ChipName{"EN25Q80"}, id: 0x3014}, 260 {vendor: "EON", devices: []ChipName{"EN25Q16"}, id: 0x3015, remarks: " /* Same as EN25D16 */"}, 261 {vendor: "EON", devices: []ChipName{"EN25Q32"}, id: 0x3016, remarks: " /* Same as EN25Q32A and EN25Q32B */"}, 262 {vendor: "EON", devices: []ChipName{"EN25Q64"}, id: 0x3017}, 263 {vendor: "EON", devices: []ChipName{"EN25Q128"}, id: 0x3018}, 264 {vendor: "EON", devices: []ChipName{"EN25QH16"}, id: 0x7015}, 265 {vendor: "EON", devices: []ChipName{"EN25QH32"}, id: 0x7016}, 266 {vendor: "EON", devices: []ChipName{"EN25QH64"}, id: 0x7017}, 267 {vendor: "EON", devices: []ChipName{"EN25QH128"}, id: 0x7018}, 268 {vendor: "EON", devices: []ChipName{"EN25QH256"}, id: 0x7019}, 269 {vendor: "EON", devices: []ChipName{"EN25S10"}, id: 0x3811}, 270 {vendor: "EON", devices: []ChipName{"EN25S20"}, id: 0x3812}, 271 {vendor: "EON", devices: []ChipName{"EN25S40"}, id: 0x3813}, 272 {vendor: "EON", devices: []ChipName{"EN25S80"}, id: 0x3814}, 273 {vendor: "EON", devices: []ChipName{"EN25S16"}, id: 0x3815}, 274 {vendor: "EON", devices: []ChipName{"EN25S32"}, id: 0x3816}, 275 {vendor: "EON", devices: []ChipName{"EN25S64"}, id: 0x3817}, 276 {vendor: "EON", devices: []ChipName{"EN25T80"}, id: 0x5114}, 277 {vendor: "EON", devices: []ChipName{"EN25T16"}, id: 0x5115}, 278 {vendor: "EON", devices: []ChipName{"EN29F512"}, id: 0x7F21}, 279 {vendor: "EON", devices: []ChipName{"EN29F010"}, id: 0x20}, 280 {vendor: "EON", devices: []ChipName{"EN29F040A"}, id: 0x7F04}, 281 {vendor: "EON", devices: []ChipName{"EN29LV010"}, id: 0x7F6E}, 282 {vendor: "EON", devices: []ChipName{"EN29LV040"}, id: 0x4F, remarks: " /* Same as EN29LV040A */"}, 283 {vendor: "EON", devices: []ChipName{"EN29LV640B"}, id: 0xCB}, 284 {vendor: "EON", devices: []ChipName{"EN29LV640T"}, id: 0xC9}, 285 {vendor: "EON", devices: []ChipName{"EN29LV640U"}, id: 0x7E}, 286 {vendor: "EON", devices: []ChipName{"EN29F002T"}, id: 0x7F92, remarks: " /* Same as EN29F002A */"}, 287 {vendor: "EON", devices: []ChipName{"EN29F002B"}, id: 0x7F97, remarks: " /* Same as EN29F002AN */"}, 288 {vendor: "EON", devices: []ChipName{"EN29GL064HL"}, id: 0x7E0C01, remarks: " /* Uniform Sectors, WP protects Top OR Bottom sector */"}, 289 {vendor: "EON", devices: []ChipName{"EN29GL064T"}, id: 0x7E1001, remarks: " /* Same ID as EN29GL064AT */"}, 290 {vendor: "EON", devices: []ChipName{"EN29GL064B"}, id: 0x7E1000, remarks: " /* Same ID as EN29GL064AB */"}, 291 {vendor: "EON", devices: []ChipName{"EN29GL128HL"}, id: 0x7F2101, remarks: " /* Uniform Sectors, WP protects Top OR Bottom sector */"}, 292 {vendor: "EON", devices: []ChipName{"EN29GL256HL"}, id: 0x7F2201, remarks: " /* Uniform Sectors, WP protects Top OR Bottom sector */"}, 293 {vendor: "EXCEL", devices: []ChipName{"ES25P40"}, id: 0x2013}, 294 {vendor: "EXCEL", devices: []ChipName{"ES25P80"}, id: 0x2014}, 295 {vendor: "EXCEL", devices: []ChipName{"ES25P16"}, id: 0x2015}, 296 {vendor: "FIDELIX", devices: []ChipName{"FM25M16"}, id: 0x4215}, 297 {vendor: "FIDELIX", devices: []ChipName{"FM25M32"}, id: 0x4216}, 298 {vendor: "FIDELIX", devices: []ChipName{"FM25M64"}, id: 0x4217}, 299 {vendor: "FIDELIX", devices: []ChipName{"FM25Q08"}, id: 0x3214}, 300 {vendor: "FIDELIX", devices: []ChipName{"FM25Q16"}, id: 0x3215, remarks: " /* Same as FM25S16 (which is apparently single I/O only) */"}, 301 {vendor: "FIDELIX", devices: []ChipName{"FM25Q32"}, id: 0x3216}, 302 {vendor: "FIDELIX", devices: []ChipName{"FM25Q64"}, id: 0x3217}, 303 {vendor: "FUJITSU", devices: []ChipName{"MBM29DL400BC"}, id: 0x0F}, 304 {vendor: "FUJITSU", devices: []ChipName{"MBM29DL400TC"}, id: 0x0C}, 305 {vendor: "FUJITSU", devices: []ChipName{"MBM29DL800BA"}, id: 0xCB}, 306 {vendor: "FUJITSU", devices: []ChipName{"MBM29DL800TA"}, id: 0x4A}, 307 {vendor: "FUJITSU", devices: []ChipName{"MBM29F002BC"}, id: 0x34}, 308 {vendor: "FUJITSU", devices: []ChipName{"MBM29F002TC"}, id: 0xB0}, 309 {vendor: "FUJITSU", devices: []ChipName{"MBM29F004BC"}, id: 0x7B}, 310 {vendor: "FUJITSU", devices: []ChipName{"MBM29F004TC"}, id: 0x77}, 311 {vendor: "FUJITSU", devices: []ChipName{"MBM29F040C"}, id: 0xA4}, 312 {vendor: "FUJITSU", devices: []ChipName{"MBM29F080A"}, id: 0xD5}, 313 {vendor: "FUJITSU", devices: []ChipName{"MBM29F200BC"}, id: 0x57}, 314 {vendor: "FUJITSU", devices: []ChipName{"MBM29F200TC"}, id: 0x51}, 315 {vendor: "FUJITSU", devices: []ChipName{"MBM29F400BC"}, id: 0xAB}, 316 {vendor: "FUJITSU", devices: []ChipName{"MBM29F400TC"}, id: 0x23}, 317 {vendor: "FUJITSU", devices: []ChipName{"MBM29F800BA"}, id: 0x58}, 318 {vendor: "FUJITSU", devices: []ChipName{"MBM29F800TA"}, id: 0xD6}, 319 {vendor: "FUJITSU", devices: []ChipName{"MBM29LV002BC"}, id: 0xC2}, 320 {vendor: "FUJITSU", devices: []ChipName{"MBM29LV002TC"}, id: 0x40}, 321 {vendor: "FUJITSU", devices: []ChipName{"MBM29LV004BC"}, id: 0xB6}, 322 {vendor: "FUJITSU", devices: []ChipName{"MBM29LV004TC"}, id: 0xB5}, 323 {vendor: "FUJITSU", devices: []ChipName{"MBM29LV008BA"}, id: 0x37}, 324 {vendor: "FUJITSU", devices: []ChipName{"MBM29LV008TA"}, id: 0x3E}, 325 {vendor: "FUJITSU", devices: []ChipName{"MBM29LV080A"}, id: 0x38}, 326 {vendor: "FUJITSU", devices: []ChipName{"MBM29LV200BC"}, id: 0xBF}, 327 {vendor: "FUJITSU", devices: []ChipName{"MBM29LV200TC"}, id: 0x3B}, 328 {vendor: "FUJITSU", devices: []ChipName{"MBM29LV400BC"}, id: 0xBA}, 329 {vendor: "FUJITSU", devices: []ChipName{"MBM29LV400TC"}, id: 0xB9}, 330 {vendor: "FUJITSU", devices: []ChipName{"MBM29LV800BA"}, id: 0x5B, remarks: " /* Same as MBM29LV800BE */"}, 331 {vendor: "FUJITSU", devices: []ChipName{"MBM29LV800TA"}, id: 0xDA, remarks: " /* Same as MBM29LV800TE */"}, 332 {vendor: "FUJITSU", devices: []ChipName{"MBM29LV160BE"}, id: 0x49, remarks: " /* 16 b mode 0x2249 */"}, 333 {vendor: "FUJITSU", devices: []ChipName{"MBM29LV160TE"}, id: 0xC4, remarks: " /* 16 b mode 0x22C4 */"}, 334 {vendor: "GIGADEVICE", devices: []ChipName{"GD25T80"}, id: 0x3114}, 335 {vendor: "GIGADEVICE", devices: []ChipName{"GD25Q512"}, id: 0x4010}, 336 {vendor: "GIGADEVICE", devices: []ChipName{"GD25Q10"}, id: 0x4011}, 337 {vendor: "GIGADEVICE", devices: []ChipName{"GD25Q20"}, id: 0x4012, remarks: " /* Same as GD25QB */"}, 338 {vendor: "GIGADEVICE", devices: []ChipName{"GD25Q40"}, id: 0x4013, remarks: " /* Same as GD25QB */"}, 339 {vendor: "GIGADEVICE", devices: []ChipName{"GD25Q80"}, id: 0x4014, remarks: " /* Same as GD25Q80B (which has OTP) */"}, 340 {vendor: "GIGADEVICE", devices: []ChipName{"GD25Q16"}, id: 0x4015, remarks: " /* Same as GD25Q16B (which has OTP) */"}, 341 {vendor: "GIGADEVICE", devices: []ChipName{"GD25Q32"}, id: 0x4016, remarks: " /* Same as GD25Q32B */"}, 342 {vendor: "GIGADEVICE", devices: []ChipName{"GD25Q64"}, id: 0x4017, remarks: " /* Same as GD25Q64B */"}, 343 {vendor: "GIGADEVICE", devices: []ChipName{"GD25Q128"}, id: 0x4018, remarks: " /* GD25Q128B and GD25Q128C only, can be distinguished by SFDP */"}, 344 {vendor: "GIGADEVICE", devices: []ChipName{"GD25VQ21B"}, id: 0x4212}, 345 {vendor: "GIGADEVICE", devices: []ChipName{"GD25VQ41B"}, id: 0x4213, remarks: "/* Same as GD25VQ40C, can be distinguished by SFDP */"}, 346 {vendor: "GIGADEVICE", devices: []ChipName{"GD25VQ80C"}, id: 0x4214}, 347 {vendor: "GIGADEVICE", devices: []ChipName{"GD25VQ16C"}, id: 0x4215}, 348 {vendor: "GIGADEVICE", devices: []ChipName{"GD25LQ40"}, id: 0x6013}, 349 {vendor: "GIGADEVICE", devices: []ChipName{"GD25LQ80"}, id: 0x6014}, 350 {vendor: "GIGADEVICE", devices: []ChipName{"GD25LQ16"}, id: 0x6015}, 351 {vendor: "GIGADEVICE", devices: []ChipName{"GD25LQ32"}, id: 0x6016}, 352 {vendor: "GIGADEVICE", devices: []ChipName{"GD25LQ64"}, id: 0x6017, remarks: " /* Same as GD25LQ64B (which is faster) */"}, 353 {vendor: "GIGADEVICE", devices: []ChipName{"GD25LQ128"}, id: 0x6018}, 354 {vendor: "GIGADEVICE", devices: []ChipName{"GD29GL064CAB"}, id: 0x7E0601}, 355 {vendor: "HYUNDAI", devices: []ChipName{"HY29F400T"}, id: 0x23, remarks: " /* Same as HY29F400AT */"}, 356 {vendor: "HYUNDAI", devices: []ChipName{"HY29F800B"}, id: 0x58, remarks: " /* Same as HY29F800AB */"}, 357 {vendor: "HYUNDAI", devices: []ChipName{"HY29LV800B"}, id: 0x5B}, 358 {vendor: "HYUNDAI", devices: []ChipName{"HY29F040A"}, id: 0xA4}, 359 {vendor: "HYUNDAI", devices: []ChipName{"HY29F400B"}, id: 0xAB, remarks: " /* Same as HY29F400AB */"}, 360 {vendor: "HYUNDAI", devices: []ChipName{"HY29F002B"}, id: 0x34}, 361 {vendor: "HYUNDAI", devices: []ChipName{"HY29F002T"}, id: 0xB0}, 362 {vendor: "HYUNDAI", devices: []ChipName{"HY29LV400T"}, id: 0xB9}, 363 {vendor: "HYUNDAI", devices: []ChipName{"HY29LV400B"}, id: 0xBA}, 364 {vendor: "HYUNDAI", devices: []ChipName{"HY29F080"}, id: 0xD5}, 365 {vendor: "HYUNDAI", devices: []ChipName{"HY29F800T"}, id: 0xD6, remarks: " /* Same as HY29F800AT */"}, 366 {vendor: "HYUNDAI", devices: []ChipName{"HY29LV800T"}, id: 0xDA}, 367 {vendor: "IMT", devices: []ChipName{"IM29F004B"}, id: 0xAE}, 368 {vendor: "IMT", devices: []ChipName{"IM29F004T"}, id: 0xAF}, 369 {vendor: "INTEL", devices: []ChipName{"28F320J5"}, id: 0x14}, 370 {vendor: "INTEL", devices: []ChipName{"28F640J5"}, id: 0x15}, 371 {vendor: "INTEL", devices: []ChipName{"28F320J3"}, id: 0x16}, 372 {vendor: "INTEL", devices: []ChipName{"28F640J3"}, id: 0x17}, 373 {vendor: "INTEL", devices: []ChipName{"28F128J3"}, id: 0x18}, 374 {vendor: "INTEL", devices: []ChipName{"28F256J3"}, id: 0x1D}, 375 {vendor: "INTEL", devices: []ChipName{"28F400T"}, id: 0x70, remarks: " /* 28F400BV/BX/CE/CV-T */"}, 376 {vendor: "INTEL", devices: []ChipName{"28F400B"}, id: 0x71, remarks: " /* 28F400BV/BX/CE/CV-B */"}, 377 {vendor: "INTEL", devices: []ChipName{"28F200T"}, id: 0x74, remarks: " /* 28F200BL/BV/BX/CV-T */"}, 378 {vendor: "INTEL", devices: []ChipName{"28F200B"}, id: 0x75, remarks: " /* 28F200BL/BV/BX/CV-B */"}, 379 {vendor: "INTEL", devices: []ChipName{"28F004T"}, id: 0x78, remarks: " /* 28F004B5/BE/BV/BX-T */"}, 380 {vendor: "INTEL", devices: []ChipName{"28F004B"}, id: 0x79, remarks: " /* 28F004B5/BE/BV/BX-B */"}, 381 {vendor: "INTEL", devices: []ChipName{"28F002T"}, id: 0x7C, remarks: " /* 28F002BC/BL/BV/BX-T */"}, 382 {vendor: "INTEL", devices: []ChipName{"28F002B"}, id: 0x7D, remarks: " /* 28F002BL/BV/BX-B */"}, 383 {vendor: "INTEL", devices: []ChipName{"28F001T"}, id: 0x94, remarks: " /* 28F001BN/BX-T */"}, 384 {vendor: "INTEL", devices: []ChipName{"28F001B"}, id: 0x95, remarks: " /* 28F001BN/BX-B */"}, 385 {vendor: "INTEL", devices: []ChipName{"28F008T"}, id: 0x98, remarks: " /* 28F008BE/BV-T */"}, 386 {vendor: "INTEL", devices: []ChipName{"28F008B"}, id: 0x99, remarks: " /* 28F008BE/BV-B */"}, 387 {vendor: "INTEL", devices: []ChipName{"28F800T"}, id: 0x9C, remarks: " /* 28F800B5/BV/CE/CV-T */"}, 388 {vendor: "INTEL", devices: []ChipName{"28F800B"}, id: 0x9D, remarks: " /* 28F800B5/BV/CE/CV-B */"}, 389 {vendor: "INTEL", devices: []ChipName{"28F016SV"}, id: 0xA0, remarks: " /* 28F016SA/SV */"}, 390 {vendor: "INTEL", devices: []ChipName{"28F008SA"}, id: 0xA2}, 391 {vendor: "INTEL", devices: []ChipName{"28F008S3"}, id: 0xA6, remarks: " /* 28F008S3/S5/SC */"}, 392 {vendor: "INTEL", devices: []ChipName{"28F004S3"}, id: 0xA7, remarks: " /* 28F008S3/S5/SC */"}, 393 {vendor: "INTEL", devices: []ChipName{"28F016XS"}, id: 0xA8}, 394 {vendor: "INTEL", devices: []ChipName{"28F016S3"}, id: 0xAA, remarks: " /* 28F016S3/S5/SC */"}, 395 {vendor: "INTEL", devices: []ChipName{"82802AC"}, id: 0xAC}, 396 {vendor: "INTEL", devices: []ChipName{"82802AB"}, id: 0xAD}, 397 {vendor: "INTEL", devices: []ChipName{"28F010"}, id: 0xB4}, 398 {vendor: "INTEL", devices: []ChipName{"28F512"}, id: 0xB8}, 399 {vendor: "INTEL", devices: []ChipName{"28F256A"}, id: 0xB9}, 400 {vendor: "INTEL", devices: []ChipName{"28F020"}, id: 0xBD}, 401 {vendor: "INTEL", devices: []ChipName{"28F016B3T"}, id: 0xD0, remarks: " /* 28F016B3-T */"}, 402 {vendor: "INTEL", devices: []ChipName{"28F016B3B"}, id: 0xD1, remarks: " /* 28F016B3-B */"}, 403 {vendor: "INTEL", devices: []ChipName{"28F008B3T"}, id: 0xD2, remarks: " /* 28F008B3-T */"}, 404 {vendor: "INTEL", devices: []ChipName{"28F008B3B"}, id: 0xD3, remarks: " /* 28F008B3-B */"}, 405 {vendor: "INTEL", devices: []ChipName{"28F004B3T"}, id: 0xD4, remarks: " /* 28F004B3-T */"}, 406 {vendor: "INTEL", devices: []ChipName{"28F004B3B"}, id: 0xD5, remarks: " /* 28F004B3-B */"}, 407 {vendor: "INTEL", devices: []ChipName{"25F160S33B8"}, id: 0x8911, remarks: " /* Same as 25F016S33B8 */"}, 408 {vendor: "INTEL", devices: []ChipName{"25F320S33B8"}, id: 0x8912}, 409 {vendor: "INTEL", devices: []ChipName{"25F640S33B8"}, id: 0x8913}, 410 {vendor: "INTEL", devices: []ChipName{"25F160S33T8"}, id: 0x8915, remarks: " /* Same as 25F016S33T8 */"}, 411 {vendor: "INTEL", devices: []ChipName{"25F320S33T8"}, id: 0x8916}, 412 {vendor: "INTEL", devices: []ChipName{"25F640S33T8"}, id: 0x8917}, 413 {vendor: "SHARP", devices: []ChipName{"LH28F008SA"}, id: 0xA2, remarks: " /* Sharp chip, Intel Vendor ID */"}, 414 {vendor: "SHARP", devices: []ChipName{"LH28F008SC"}, id: 0xA6, remarks: " /* Sharp chip, Intel Vendor ID */"}, 415 {vendor: "ISSI", devices: []ChipName{"IS25LP064"}, id: 0x6017}, 416 {vendor: "ISSI", devices: []ChipName{"IS25LP128"}, id: 0x6018}, 417 {vendor: "ISSI", devices: []ChipName{"IS25LP256"}, id: 0x6019}, 418 {vendor: "ISSI", devices: []ChipName{"IS25WP032"}, id: 0x7016}, 419 {vendor: "ISSI", devices: []ChipName{"IS25WP064"}, id: 0x7017}, 420 {vendor: "ISSI", devices: []ChipName{"IS25WP128"}, id: 0x7018}, 421 {vendor: "ISSI", devices: []ChipName{"IS25WP256"}, id: 0x7019}, 422 {vendor: "ISSI", devices: []ChipName{"PMC_"}, id: 0xF9}, 423 {vendor: "ISSI", devices: []ChipName{"PMC_"}, id: 0xF6}, 424 {vendor: "ISSI", devices: []ChipName{"PMC_"}, id: 0x7E1000}, 425 {vendor: "ISSI", devices: []ChipName{"PMC_"}, id: 0x7E1001}, 426 {vendor: "ISSI", devices: []ChipName{"PMC_"}, id: 0x7E0C01}, 427 {vendor: "ISSI", devices: []ChipName{"PMC_"}, id: 0x7E2101}, 428 {vendor: "ISSI", devices: []ChipName{"PMC_"}, id: 0x7E2201}, 429 /* Mask ROMs */ 430 {vendor: "MACRONIX", devices: []ChipName{"MX23L1654"}, id: 0x0515}, 431 {vendor: "MACRONIX", devices: []ChipName{"MX23L3254"}, id: 0x0516}, 432 {vendor: "MACRONIX", devices: []ChipName{"MX23L6454"}, id: 0x0517}, 433 {vendor: "MACRONIX", devices: []ChipName{"MX23L12854"}, id: 0x0518}, 434 /* MX25 chips are SPI, first byte of device ID is memory type, 435 * second byte of device ID is log(bitsize)-9. 436 * Generalplus SPI chips seem to be compatible with Macronix 437 * and use the same set of IDs. */ 438 {vendor: "MACRONIX", devices: []ChipName{"MX25L512"}, id: 0x2010, remarks: " /* Same as MX25L512E, MX25V512, MX25V512C */"}, 439 {vendor: "MACRONIX", devices: []ChipName{"MX25L1005"}, id: 0x2011, remarks: " /* Same as MX25L1005C, MX25L1006E */"}, 440 {vendor: "MACRONIX", devices: []ChipName{"MX25L2005"}, id: 0x2012, remarks: " /* Same as MX25L2005C, MX25L2006E */"}, 441 {vendor: "MACRONIX", devices: []ChipName{"MX25L4005"}, id: 0x2013, remarks: " /* Same as MX25L4005A, MX25L4005C, MX25L4006E */"}, 442 {vendor: "MACRONIX", devices: []ChipName{"MX25L8005"}, id: 0x2014, remarks: " /* Same as MX25V8005, MX25L8006E, MX25L8008E, FIXME: MX25L8073E (4k 0x20) */"}, 443 {vendor: "MACRONIX", devices: []ChipName{"MX25L1605"}, id: 0x2015, remarks: " /* MX25L1605 (64k 0x20); MX25L1605A/MX25L1606E/MX25L1608E (4k 0x20, 64k 0x52); MX25L1605D/MX25L1608D/MX25L1673E (4k 0x20) */"}, 444 {vendor: "MACRONIX", devices: []ChipName{"MX25L3205"}, id: 0x2016, remarks: " /* MX25L3205, MX25L3205A (64k 0x20); MX25L3205D/MX25L3208D (4k 0x20); MX25L3206E/MX25L3208E (4k 0x20, 64k 0x52); MX25L3273E (4k 0x20, 32k 0x52) */"}, 445 {vendor: "MACRONIX", devices: []ChipName{"MX25L6405"}, id: 0x2017, remarks: " /* MX25L6405, MX25L6405D (64k 0x20); MX25L6406E/MX25L6408E (4k 0x20); MX25L6436E/MX25L6445E/MX25L6465E/MX25L6473E (4k 0x20, 32k 0x52) */"}, 446 {vendor: "MACRONIX", devices: []ChipName{"MX25L12805D"}, id: 0x2018, remarks: " /* MX25L12805D (no 32k); MX25L12865E, MX25L12835F, MX25L12845E (32k 0x52) */"}, 447 {vendor: "MACRONIX", devices: []ChipName{"MX25L25635F"}, id: 0x2019, remarks: " /* Same as MX25L25639F, but the latter seems to not support REMS */"}, 448 {vendor: "MACRONIX", devices: []ChipName{"MX25L1635D"}, id: 0x2415}, 449 {vendor: "MACRONIX", devices: []ChipName{"MX25L1635E"}, id: 0x2515, remarks: " /* MX25L1635{E} */"}, 450 {vendor: "MACRONIX", devices: []ChipName{"MX66L51235F"}, id: 0x201, remarks: "a /* MX66L51235F, MX25L51245G */"}, 451 {vendor: "MACRONIX", devices: []ChipName{"MX25U8032E"}, id: 0x2534}, 452 {vendor: "MACRONIX", devices: []ChipName{"MX25U1635E"}, id: 0x2535}, 453 {vendor: "MACRONIX", devices: []ChipName{"MX25U3235E"}, id: 0x2536, remarks: " /* Same as MX25U6435F */"}, 454 {vendor: "MACRONIX", devices: []ChipName{"MX25U6435E"}, id: 0x2537, remarks: " /* Same as MX25U6435F */"}, 455 {vendor: "MACRONIX", devices: []ChipName{"MX25U12835E"}, id: 0x2538, remarks: " /* Same as MX25U12835F */"}, 456 {vendor: "MACRONIX", devices: []ChipName{"MX25U25635F"}, id: 0x2539}, 457 {vendor: "MACRONIX", devices: []ChipName{"MX25U51245G"}, id: 0x253, remarks: "a"}, 458 {vendor: "MACRONIX", devices: []ChipName{"MX25L3235D"}, id: 0x5E16, remarks: " /* MX25L3225D/MX25L3235D/MX25L3237D */"}, 459 {vendor: "MACRONIX", devices: []ChipName{"MX25L6495F"}, id: 0x9517}, 460 {vendor: "MACRONIX", devices: []ChipName{"MX25R6435F"}, id: 0x2817}, 461 {vendor: "MACRONIX", devices: []ChipName{"MX29F001B"}, id: 0x19}, 462 {vendor: "MACRONIX", devices: []ChipName{"MX29F001T"}, id: 0x18}, 463 {vendor: "MACRONIX", devices: []ChipName{"MX29F002B"}, id: 0x34, remarks: " /* Same as MX29F002NB; N has reset pin n/c. */"}, 464 {vendor: "MACRONIX", devices: []ChipName{"MX29F002T"}, id: 0xB0, remarks: " /* Same as MX29F002NT; N has reset pin n/c. */"}, 465 {vendor: "MACRONIX", devices: []ChipName{"MX29F004B"}, id: 0x46}, 466 {vendor: "MACRONIX", devices: []ChipName{"MX29F004T"}, id: 0x45}, 467 {vendor: "MACRONIX", devices: []ChipName{"MX29F022B"}, id: 0x37, remarks: " /* Same as MX29F022NB */"}, 468 {vendor: "MACRONIX", devices: []ChipName{"MX29F022T"}, id: 0x36, remarks: " /* Same as MX29F022NT */"}, 469 {vendor: "MACRONIX", devices: []ChipName{"MX29F040"}, id: 0xA4, remarks: " /* Same as MX29F040C */"}, 470 {vendor: "MACRONIX", devices: []ChipName{"MX29F080"}, id: 0xD5}, 471 {vendor: "MACRONIX", devices: []ChipName{"MX29F200B"}, id: 0x57, remarks: " /* Same as MX29F200CB */"}, 472 {vendor: "MACRONIX", devices: []ChipName{"MX29F200T"}, id: 0x51, remarks: " /* Same as MX29F200CT */"}, 473 {vendor: "MACRONIX", devices: []ChipName{"MX29F400B"}, id: 0xAB, remarks: " /* Same as MX29F400CB */"}, 474 {vendor: "MACRONIX", devices: []ChipName{"MX29F400T"}, id: 0x23, remarks: " /* Same as MX29F400CT */"}, 475 {vendor: "MACRONIX", devices: []ChipName{"MX29F800B"}, id: 0x58}, 476 {vendor: "MACRONIX", devices: []ChipName{"MX29F800T"}, id: 0xD6}, 477 {vendor: "MACRONIX", devices: []ChipName{"MX29GL320EB"}, id: 0x7E1A00}, 478 {vendor: "MACRONIX", devices: []ChipName{"MX29GL320ET"}, id: 0x7E1A01}, 479 {vendor: "MACRONIX", devices: []ChipName{"MX29GL320EHL"}, id: 0x7E1D00}, 480 {vendor: "MACRONIX", devices: []ChipName{"MX29GL640EB"}, id: 0x7E1000}, 481 {vendor: "MACRONIX", devices: []ChipName{"MX29GL640ET"}, id: 0x7E1001}, 482 {vendor: "MACRONIX", devices: []ChipName{"MX29GL640EHL"}, id: 0x7E0C01}, 483 {vendor: "MACRONIX", devices: []ChipName{"MX29GL128F"}, id: 0x7E2101, remarks: "/* Same as MX29GL128E */"}, 484 {vendor: "MACRONIX", devices: []ChipName{"MX29GL256F"}, id: 0x7E2201, remarks: "/* Same as MX29GL256E */"}, 485 {vendor: "MACRONIX", devices: []ChipName{"MX29GL512F"}, id: 0x7E2301}, 486 {vendor: "MACRONIX", devices: []ChipName{"MX68GL1G0F"}, id: 0x7E2801}, 487 {vendor: "MACRONIX", devices: []ChipName{"MX29LV002CB"}, id: 0x5A}, 488 {vendor: "MACRONIX", devices: []ChipName{"MX29LV002CT"}, id: 0x59}, 489 {vendor: "MACRONIX", devices: []ChipName{"MX29LV004B"}, id: 0xB6, remarks: " /* Same as MX29LV004CB */"}, 490 {vendor: "MACRONIX", devices: []ChipName{"MX29LV004T"}, id: 0xB5, remarks: " /* Same as MX29LV004CT */"}, 491 {vendor: "MACRONIX", devices: []ChipName{"MX29LV008B"}, id: 0x37, remarks: " /* Same as MX29LV008CB */"}, 492 {vendor: "MACRONIX", devices: []ChipName{"MX29LV008T"}, id: 0x3E, remarks: " /* Same as MX29LV008CT */"}, 493 {vendor: "MACRONIX", devices: []ChipName{"MX29LV040"}, id: 0x4F, remarks: " /* Same as MX29LV040C */"}, 494 {vendor: "MACRONIX", devices: []ChipName{"MX29LV081"}, id: 0x38}, 495 {vendor: "MACRONIX", devices: []ChipName{"MX29LV128DB"}, id: 0x7A}, 496 {vendor: "MACRONIX", devices: []ChipName{"MX29LV128DT"}, id: 0x7E}, 497 {vendor: "MACRONIX", devices: []ChipName{"MX29LV160DB"}, id: 0x49, remarks: " /* Same as MX29LV161DB/MX29LV160CB */"}, 498 {vendor: "MACRONIX", devices: []ChipName{"MX29LV160DT"}, id: 0xC4, remarks: " /* Same as MX29LV161DT/MX29LV160CT */"}, 499 {vendor: "MACRONIX", devices: []ChipName{"MX29LV320DB"}, id: 0xA8, remarks: " /* Same as MX29LV321DB */"}, 500 {vendor: "MACRONIX", devices: []ChipName{"MX29LV320DT"}, id: 0xA7, remarks: " /* Same as MX29LV321DT */"}, 501 {vendor: "MACRONIX", devices: []ChipName{"MX29LV400B"}, id: 0xBA, remarks: " /* Same as MX29LV400CB */"}, 502 {vendor: "MACRONIX", devices: []ChipName{"MX29LV400T"}, id: 0xB9, remarks: " /* Same as MX29LV400CT */"}, 503 {vendor: "MACRONIX", devices: []ChipName{"MX29LV640DB"}, id: 0xCB, remarks: " /* Same as MX29LV640EB */"}, 504 {vendor: "MACRONIX", devices: []ChipName{"MX29LV640DT"}, id: 0xC9, remarks: " /* Same as MX29LV640ET */"}, 505 {vendor: "MACRONIX", devices: []ChipName{"MX29LV800B"}, id: 0x5B, remarks: " /* Same as MX29LV800CB */"}, 506 {vendor: "MACRONIX", devices: []ChipName{"MX29LV800T"}, id: 0xDA, remarks: " /* Same as MX29LV800CT */"}, 507 {vendor: "MACRONIX", devices: []ChipName{"MX29SL402CB"}, id: 0xF1}, 508 {vendor: "MACRONIX", devices: []ChipName{"MX29SL402CT"}, id: 0x70}, 509 {vendor: "MACRONIX", devices: []ChipName{"MX29SL800CB"}, id: 0x6B, remarks: " /* Same as MX29SL802CB */"}, 510 {vendor: "MACRONIX", devices: []ChipName{"MX29SL800CT"}, id: 0xEA, remarks: " /* Same as MX29SL802CT */"}, 511 /* Nantronics Semiconductors is listed in JEP106AJ in bank 7, so it should have 6 continuation codes in front 512 * of the manufacturer ID of 0xD5. httpName://www.nantronicssemi.com */ 513 {vendor: "NANTRONICS", devices: []ChipName{"N25S10"}, id: 0x3011}, 514 {vendor: "NANTRONICS", devices: []ChipName{"N25S20"}, id: 0x3012}, 515 {vendor: "NANTRONICS", devices: []ChipName{"N25S40"}, id: 0x3013}, 516 {vendor: "NANTRONICS", devices: []ChipName{"N25S80"}, id: 0x3014}, 517 {vendor: "NANTRONICS", devices: []ChipName{"N25S16"}, id: 0x3015}, 518 /* 519 * Programmable Micro Corp is listed in JEP106W in bank 2, so it should 520 * have a 0x7F continuation code prefix. 521 * Apparently PMC was renamed to "Chingis Technology Corporation"httpName://www.chingistek.com which is now a 522 * subsidiary of ISSI. They continue to use the PMC manufacturer ID (instead of ISSI's) nevertheless, even for 523 * new chips with IS* model numbers. 524 */ 525 {vendor: "PMC", devices: []ChipName{"PM25LD256C"}, id: 0x2F}, 526 {vendor: "PMC", devices: []ChipName{"PM25LD512"}, id: 0x20, remarks: " /* Same as Pm25LD512C, but the latter has more locking options. */"}, 527 {vendor: "PMC", devices: []ChipName{"PM25LD010"}, id: 0x21, remarks: " /* Same as Pm25LD010C, but the latter has more locking options. */"}, 528 {vendor: "PMC", devices: []ChipName{"PM25LD020"}, id: 0x22, remarks: " /* Same as Pm25LD020C, but the latter has more locking options. */"}, 529 {vendor: "PMC", devices: []ChipName{"PM25LQ020"}, id: 0x42}, 530 {vendor: "PMC", devices: []ChipName{"PM25LQ040"}, id: 0x43}, 531 {vendor: "PMC", devices: []ChipName{"PM25LQ080"}, id: 0x44}, 532 {vendor: "PMC", devices: []ChipName{"PM25LQ016"}, id: 0x45}, 533 {vendor: "PMC", devices: []ChipName{"PM25LQ032C"}, id: 0x46}, 534 {vendor: "PMC", devices: []ChipName{"PM25LV512"}, id: 0x7B, remarks: " /* Same as Pm25LV512A */"}, 535 {vendor: "PMC", devices: []ChipName{"PM25LV010"}, id: 0x7C, remarks: " /* Same as Pm25LV010A, but the former does not support RDID but RES3 only. */"}, 536 {vendor: "PMC", devices: []ChipName{"PM25LV020"}, id: 0x7D}, 537 {vendor: "PMC", devices: []ChipName{"PM25LV040"}, id: 0x7E, remarks: " /* Same as PM25LD040(C), but the latter supports more features. */"}, 538 {vendor: "PMC", devices: []ChipName{"PM25LV080B"}, id: 0x13}, 539 {vendor: "PMC", devices: []ChipName{"PM25LV016B"}, id: 0x14}, 540 {vendor: "PMC", devices: []ChipName{"PM29F002T"}, id: 0x1D}, 541 {vendor: "PMC", devices: []ChipName{"PM29F002B"}, id: 0x2D}, 542 {vendor: "PMC", devices: []ChipName{"PM39LV512"}, id: 0x1B, remarks: " /* Same as IS39LV512 */"}, 543 {vendor: "PMC", devices: []ChipName{"PM39F010"}, id: 0x1C, remarks: " /* Same as Pm39LV010, IS39LV010 */"}, 544 {vendor: "PMC", devices: []ChipName{"PM39LV020"}, id: 0x3D}, 545 {vendor: "PMC", devices: []ChipName{"PM39LV040"}, id: 0x3E, remarks: " /* Same as IS39LV040 */"}, 546 {vendor: "PMC", devices: []ChipName{"PM39F020"}, id: 0x4D}, 547 {vendor: "PMC", devices: []ChipName{"PM39F040"}, id: 0x4E}, 548 {vendor: "PMC", devices: []ChipName{"PM49FL002"}, id: 0x6D}, 549 {vendor: "PMC", devices: []ChipName{"PM49FL004"}, id: 0x6E}, 550 /* 551 * The Sanyo chip found so far uses SPI, first byte is manufacture code, 552 * second byte is the device code, 553 * third byte is a placeholder byte. 554 */ 555 {vendor: "SANYO", devices: []ChipName{"LE25FW203A"}, id: 0x1600}, 556 {vendor: "SANYO", devices: []ChipName{"LE25FW403A"}, id: 0x1100}, 557 {vendor: "SANYO", devices: []ChipName{"LE25FW106"}, id: 0x15}, 558 {vendor: "SANYO", devices: []ChipName{"LE25FW406"}, id: 0x07, remarks: " /* RES2 */"}, 559 {vendor: "SANYO", devices: []ChipName{"LE25FW418A"}, id: 0x10, remarks: " /* RES2 and some weird 1 byte RDID variant */"}, 560 {vendor: "SANYO", devices: []ChipName{"LE25FW406A"}, id: 0x1A, remarks: " /* RES2, no datasheet */"}, 561 {vendor: "SANYO", devices: []ChipName{"LE25FU106B"}, id: 0x1D}, 562 {vendor: "SANYO", devices: []ChipName{"LE25FU206"}, id: 0x44}, 563 {vendor: "SANYO", devices: []ChipName{"LE25FU206A"}, id: 0x0612}, 564 {vendor: "SANYO", devices: []ChipName{"LE25FU406B"}, id: 0x1E, remarks: " /* LE25FW418A without HD_READ mode option variant */"}, 565 {vendor: "SANYO", devices: []ChipName{"LE25FU406C"}, id: 0x0613, remarks: " /* Also known as LE25U40CMC apparently */"}, 566 {vendor: "SANYO", devices: []ChipName{"LE25FW806"}, id: 0x26, remarks: " /* RES2 and some weird 1 byte RDID variant */"}, 567 {vendor: "SANYO", devices: []ChipName{"LE25FW808"}, id: 0x20, remarks: " /* RES2 and some weird 1 byte RDID variant */"}, 568 {vendor: "SHARP_LH28F008BJ_", devices: []ChipName{"PT"}, id: 0xEC}, 569 {vendor: "SHARP_LH28F008BJ_", devices: []ChipName{"PB"}, id: 0xED}, 570 {vendor: "SHARP_LH28F800BV_", devices: []ChipName{"BTL"}, id: 0x4B}, 571 {vendor: "SHARP_LH28F800BV_", devices: []ChipName{"BV"}, id: 0x4D}, 572 {vendor: "SHARP_LH28F800BV_", devices: []ChipName{"TV"}, id: 0x4C}, 573 {vendor: "SHARP", devices: []ChipName{"LHF00L02"}, id: 0xC9, remarks: " /* Same as LHF00L06/LHF00L07 */"}, 574 {vendor: "SHARP", devices: []ChipName{"LHF00L04"}, id: 0xCF, remarks: " /* Same as LHF00L03/LHF00L05 */"}, 575 /* Spansion was previously a joint venture of AMD and Fujitsu. */ 576 /* S25 chips are SPI. The first device ID byte is memory type and 577 * the second device ID byte is memory capacity. */ 578 {vendor: "SPANSION", devices: []ChipName{"S25FL004A"}, id: 0x0212}, 579 {vendor: "SPANSION", devices: []ChipName{"S25FL008A"}, id: 0x0213}, 580 {vendor: "SPANSION", devices: []ChipName{"S25FL016A"}, id: 0x0214}, 581 {vendor: "SPANSION", devices: []ChipName{"S25FL032A"}, id: 0x0215, remarks: " /* Same as S25FL032P, but the latter supports EDI and CFI */"}, 582 {vendor: "SPANSION", devices: []ChipName{"S25FL064A"}, id: 0x0216, remarks: " /* Same as S25FL064P, but the latter supports EDI and CFI */"}, 583 {vendor: "SPANSION", devices: []ChipName{"S25FL128"}, id: 0x2018, remarks: " /* Same ID for various S25FL127S, S25FL128P, S25FL128S and S25FL129P (including dual-die S70FL256P) variants (EDI supported) */"}, 584 {vendor: "SPANSION", devices: []ChipName{"S25FL256"}, id: 0x0219}, 585 {vendor: "SPANSION", devices: []ChipName{"S25FL512"}, id: 0x0220}, 586 {vendor: "SPANSION", devices: []ChipName{"S25FL204"}, id: 0x4013}, 587 {vendor: "SPANSION", devices: []ChipName{"S25FL208"}, id: 0x4014}, 588 {vendor: "SPANSION", devices: []ChipName{"S25FL216"}, id: 0x4015, remarks: " /* Same as S25FL216K, but the latter supports OTP, 3 status regs, quad I/O, SFDP etc. */"}, 589 {vendor: "SPANSION", devices: []ChipName{"S25FL132K"}, id: 0x4016}, 590 {vendor: "SPANSION", devices: []ChipName{"S25FL164K"}, id: 0x4017}, 591 /* Spansion 29GL families got a suffix indicating the process technology but share the same 3-Byte IDs. They can 592 * however be differentiated by CFI byte 45h. Some versions exist which have special top or bottom boot sectors 593 * and various WP configurations (not heeded in the table below). 594 * 595 * Suf. Process Sector Sz Rd Page Wr Page Data Width OTP Sz Min Size Max Size 596 * A 200 nm 64 kB 8 B 32 B x8/x16 256 B 16Mb/ 2MB 64Mb/ 8MB 597 * M 230 nm 64 kB 8 B 32 B x8/x16 256 B 32Mb/ 4MB 256Mb/ 32MB 598 * N* 110 nm 64 kB 16 B 32 B x8/x16 256 B 32Mb/ 4MB 64Mb/ 8MB 599 * N* 110 nm 128 kB 16 B 32 B x8/x16 256 B 128Mb/16MB 256Mb/ 64MB 600 * P 90 nm 128 kB 16 B 64 B x8/x16 256 B 128Mb/16MB 2Gb/256MB 601 * S 65 nm 128 kB 32 B 512 B x8 only 512 B 128Mb/16MB 2Gb/256MB 602 * 603 * For the N series there are two subgroupsName: the 4 and 8MB devices (S29GL032N, S29GL064N) have 64 kB erase 604 * sectors while the bigger chips got 128 kB sectors. 605 * Each series includes multiple models varying in speedgrade, boot block configurations etc. 606 */ 607 {vendor: "SPANSION_S29GL016", devices: []ChipName{"1"}, id: 0xC4, remarks: " /* Top Boot Sector, WP protects Top 2 sectors */"}, 608 {vendor: "SPANSION_S29GL016", devices: []ChipName{"2"}, id: 0x49, remarks: " /* Bottom Boot Sector, WP protects Bottom 2 sectors */"}, 609 /* Same IDs for S29GL032A, S29GL032M, S29GL032N (variations) */ 610 {vendor: "SPANSION_S29GL032", devices: []ChipName{"1289"}, id: 0x7E1D00, remarks: " /* Uniform Sectors, WP protects Top OR Bottom sector */"}, 611 {vendor: "SPANSION_S29GL032", devices: []ChipName{"3"}, id: 0x7E1A01, remarks: " /* Top Boot Sector, WP protects Top 2 sectors */"}, 612 {vendor: "SPANSION_S29GL032", devices: []ChipName{"4"}, id: 0x7E1A00, remarks: " /* Bottom Boot Sector, WP protects Bottom 2 sectors */"}, 613 /* Same IDs for S29GL064A, S29GL064M, S29GL064N, S29GL064S (variations) */ 614 {vendor: "SPANSION_S29GL064", devices: []ChipName{"1289"}, id: 0x7E0C01, remarks: " /* Uniform Sectors, WP protects Top OR Bottom sector */"}, 615 {vendor: "SPANSION_S29GL064", devices: []ChipName{"3"}, id: 0x7E1001, remarks: " /* Top Boot Sector, WP protects Top 2 sectors */"}, 616 {vendor: "SPANSION_S29GL064", devices: []ChipName{"4"}, id: 0x7E1000, remarks: " /* Bottom Boot Sector, WP protects Bottom 2 sectors */"}, 617 {vendor: "SPANSION_S29GL064", devices: []ChipName{"567"}, id: 0x7E1301, remarks: " /* x16 only, Uniform Sectors */"}, 618 {vendor: "SPANSION", devices: []ChipName{"S29GL128"}, id: 0x7E2101, remarks: " /* Same ID for S29GL128M, S29GL128N, S29GL128P, S29GL128S */"}, 619 {vendor: "SPANSION", devices: []ChipName{"S29GL256"}, id: 0x7E2201, remarks: " /* Same ID for S29GL256M, S29GL256N, S29GL256P, S29GL256S */"}, 620 {vendor: "SPANSION", devices: []ChipName{"S29GL512"}, id: 0x7E2301, remarks: " /* Same ID for S29GL512P, S29GL512S */"}, 621 {vendor: "SPANSION", devices: []ChipName{"S29GL01G"}, id: 0x7E2801, remarks: " /* Same ID for S29GL01GP, S29GL01GS */"}, 622 {vendor: "SPANSION", devices: []ChipName{"S70GL02G"}, id: 0x7E4801, remarks: " /* Same ID for S70GL02GP, S70GL02GS; based on two S29GL01G dies respectively */"}, 623 /* 624 * SST25 chips are SPI, first byte of device ID is memory type, second 625 * byte of device ID is related to log(bitsize) at least for some chips. 626 */ 627 {vendor: "SST_SST25LF020", devices: []ChipName{"REMS"}, id: 0x43, remarks: " /* REMS or RES opcode */"}, 628 {vendor: "SST", devices: []ChipName{"SST25WF512"}, id: 0x2501}, 629 {vendor: "SST", devices: []ChipName{"SST25WF010"}, id: 0x2502}, 630 {vendor: "SST", devices: []ChipName{"SST25WF020"}, id: 0x2503}, 631 {vendor: "SST", devices: []ChipName{"SST25WF040"}, id: 0x2504}, 632 {vendor: "SST", devices: []ChipName{"SST25WF080"}, id: 0x2505}, 633 /* There exist some successors to members of the SST25WF family with alphabetic suffixes. Their datasheets show 634 * a 4 byte long response w/o a vendor ID. The first byte is 0x62 that is actually Sanyo's and might be due to 635 * a collaboration in the mid 2000ies between Sanyo and SST. */ 636 {vendor: "SST", devices: []ChipName{"SST25WF020A"}, id: 0x1612}, 637 {vendor: "SST", devices: []ChipName{"SST25WF040B"}, id: 0x1613}, 638 {vendor: "SST", devices: []ChipName{"SST25WF080B"}, id: 0x1614}, 639 {vendor: "SST_SST25VF512", devices: []ChipName{"REMS"}, id: 0x48, remarks: " /* REMS or RES opcode, same as SST25VF512A */"}, 640 {vendor: "SST_SST25VF010", devices: []ChipName{"REMS"}, id: 0x49, remarks: " /* REMS or RES opcode, same as SST25VF010A */"}, 641 {vendor: "SST_SST25VF020", devices: []ChipName{"REMS"}, id: 0x43, remarks: " /* REMS or RES opcode, same as SST25LF020A */"}, 642 {vendor: "SST", devices: []ChipName{"SST25VF020B"}, id: 0x258C}, 643 {vendor: "SST_SST25VF040", devices: []ChipName{"REMS"}, id: 0x44, remarks: " /* REMS or RES opcode, same as SST25LF040A */"}, 644 {vendor: "SST", devices: []ChipName{"SST25VF040B"}, id: 0x258D}, 645 {vendor: "SST_SST25VF040B", devices: []ChipName{"REMS"}, id: 0x8D, remarks: " /* REMS or RES opcode */"}, 646 {vendor: "SST_SST25VF080", devices: []ChipName{"REMS"}, id: 0x80, remarks: " /* REMS or RES opcode, same as SST25LF080A */"}, 647 {vendor: "SST", devices: []ChipName{"SST25VF080B"}, id: 0x258E}, 648 {vendor: "SST_SST25VF080B", devices: []ChipName{"REMS"}, id: 0x8E, remarks: " /* REMS or RES opcode */"}, 649 {vendor: "SST", devices: []ChipName{"SST25VF016B"}, id: 0x2541}, 650 {vendor: "SST", devices: []ChipName{"SST25VF032B"}, id: 0x254A}, 651 {vendor: "SST_SST25VF032B", devices: []ChipName{"REMS"}, id: 0x4A, remarks: " /* REMS or RES opcode */"}, 652 {vendor: "SST", devices: []ChipName{"SST25VF064C"}, id: 0x254B}, 653 {vendor: "SST", devices: []ChipName{"SST26VF016"}, id: 0x2601}, 654 {vendor: "SST", devices: []ChipName{"SST26VF032"}, id: 0x2602}, 655 {vendor: "SST", devices: []ChipName{"SST26VF016B"}, id: 0x2641}, 656 {vendor: "SST", devices: []ChipName{"SST26VF032B"}, id: 0x2642}, 657 {vendor: "SST", devices: []ChipName{"SST26VF064B"}, id: 0x2643}, 658 {vendor: "SST", devices: []ChipName{"SST27SF512"}, id: 0xA4}, 659 {vendor: "SST", devices: []ChipName{"SST27SF010"}, id: 0xA5}, 660 {vendor: "SST", devices: []ChipName{"SST27SF020"}, id: 0xA6}, 661 {vendor: "SST", devices: []ChipName{"SST27VF010"}, id: 0xA9}, 662 {vendor: "SST", devices: []ChipName{"SST27VF020"}, id: 0xAA}, 663 {vendor: "SST", devices: []ChipName{"SST28SF040"}, id: 0x04}, 664 {vendor: "SST", devices: []ChipName{"SST29LE512"}, id: 0x3D, remarks: " /* Same as SST29VE512 */"}, 665 {vendor: "SST", devices: []ChipName{"SST29EE512"}, id: 0x5D}, 666 {vendor: "SST", devices: []ChipName{"SST29EE010"}, id: 0x07}, 667 {vendor: "SST", devices: []ChipName{"SST29LE010"}, id: 0x08, remarks: " /* Same as SST29VE010 */"}, 668 {vendor: "SST", devices: []ChipName{"SST29EE020A"}, id: 0x10, remarks: " /* Same as SST29EE020 */"}, 669 {vendor: "SST", devices: []ChipName{"SST29LE020"}, id: 0x12, remarks: " /* Same as SST29VE020 */"}, 670 {vendor: "SST", devices: []ChipName{"SST29SF020"}, id: 0x24}, 671 {vendor: "SST", devices: []ChipName{"SST29VF020"}, id: 0x25}, 672 {vendor: "SST", devices: []ChipName{"SST29SF040"}, id: 0x13}, 673 {vendor: "SST", devices: []ChipName{"SST29VF040"}, id: 0x14}, 674 {vendor: "SST", devices: []ChipName{"SST39SF512"}, id: 0xB4}, 675 {vendor: "SST", devices: []ChipName{"SST39SF010"}, id: 0xB5}, 676 {vendor: "SST", devices: []ChipName{"SST39SF020"}, id: 0xB6, remarks: " /* Same as 39SF020A */"}, 677 {vendor: "SST", devices: []ChipName{"SST39SF040"}, id: 0xB7}, 678 {vendor: "SST", devices: []ChipName{"SST39VF512"}, id: 0xD4}, 679 {vendor: "SST", devices: []ChipName{"SST39VF010"}, id: 0xD5}, 680 {vendor: "SST", devices: []ChipName{"SST39VF020"}, id: 0xD6, remarks: " /* Same as 39LF020 */"}, 681 {vendor: "SST", devices: []ChipName{"SST39VF040"}, id: 0xD7, remarks: " /* Same as 39LF040 */"}, 682 {vendor: "SST", devices: []ChipName{"SST39VF080"}, id: 0xD8, remarks: " /* Same as 39LF080/39VF080/39VF088 */"}, 683 {vendor: "SST", devices: []ChipName{"SST45VF512"}, id: 0x41, remarks: " /* REMS, read opcode 0xFF */"}, 684 {vendor: "SST", devices: []ChipName{"SST45LF010"}, id: 0x42, remarks: " /* REMS, read opcode 0xFF, 'funny' other opcodes */"}, 685 {vendor: "SST", devices: []ChipName{"SST45VF010"}, id: 0x45, remarks: " /* REMS, read opcode 0xFF */"}, 686 {vendor: "SST", devices: []ChipName{"SST45VF020"}, id: 0x43, remarks: " /* REMS, read opcode 0xFF */"}, 687 {vendor: "SST", devices: []ChipName{"SST49LF040B"}, id: 0x50}, 688 {vendor: "SST", devices: []ChipName{"SST49LF040"}, id: 0x51}, 689 {vendor: "SST", devices: []ChipName{"SST49LF020"}, id: 0x61}, 690 {vendor: "SST", devices: []ChipName{"SST49LF020A"}, id: 0x52}, 691 {vendor: "SST", devices: []ChipName{"SST49LF030A"}, id: 0x1C}, 692 {vendor: "SST", devices: []ChipName{"SST49LF080A"}, id: 0x5B}, 693 {vendor: "SST", devices: []ChipName{"SST49LF002A"}, id: 0x57}, 694 {vendor: "SST", devices: []ChipName{"SST49LF003A"}, id: 0x1B}, 695 {vendor: "SST", devices: []ChipName{"SST49LF004A"}, id: 0x60, remarks: " /* Same as 49LF004B */"}, 696 {vendor: "SST", devices: []ChipName{"SST49LF008A"}, id: 0x5A}, 697 {vendor: "SST", devices: []ChipName{"SST49LF004C"}, id: 0x54}, 698 {vendor: "SST", devices: []ChipName{"SST49LF008C"}, id: 0x59}, 699 {vendor: "SST", devices: []ChipName{"SST49LF016C"}, id: 0x5C}, 700 {vendor: "SST", devices: []ChipName{"SST49LF160C"}, id: 0x4C}, 701 /* 702 * ST25P chips are SPI, first byte of device ID is memory type, second 703 * byte of device ID is related to log(bitsize) at least for some chips. 704 */ 705 {vendor: "ST", devices: []ChipName{"M25P05A"}, id: 0x2010}, 706 {vendor: "ST_M25P05", devices: []ChipName{"RES"}, id: 0x05}, 707 {vendor: "ST", devices: []ChipName{"M25P10A"}, id: 0x2011}, 708 {vendor: "ST_M25P10", devices: []ChipName{"RES"}, id: 0x10}, 709 {vendor: "ST", devices: []ChipName{"M25P20"}, id: 0x2012}, 710 {vendor: "ST_M25P20", devices: []ChipName{"RES"}, id: 0x11}, 711 {vendor: "ST", devices: []ChipName{"M25P40"}, id: 0x2013}, 712 {vendor: "ST_M25P40", devices: []ChipName{"RES"}, id: 0x12}, 713 {vendor: "ST", devices: []ChipName{"M25P80"}, id: 0x2014}, 714 {vendor: "ST", devices: []ChipName{"M25P16"}, id: 0x2015}, 715 {vendor: "ST", devices: []ChipName{"M25P32"}, id: 0x2016}, 716 {vendor: "ST", devices: []ChipName{"M25P64"}, id: 0x2017}, 717 {vendor: "ST", devices: []ChipName{"M25P128"}, id: 0x2018}, 718 {vendor: "ST", devices: []ChipName{"M45PE10"}, id: 0x4011}, 719 {vendor: "ST", devices: []ChipName{"M45PE20"}, id: 0x4012}, 720 {vendor: "ST", devices: []ChipName{"M45PE40"}, id: 0x4013}, 721 {vendor: "ST", devices: []ChipName{"M45PE80"}, id: 0x4014}, 722 {vendor: "ST", devices: []ChipName{"M45PE16"}, id: 0x4015}, 723 {vendor: "ST", devices: []ChipName{"M25PX80"}, id: 0x7114}, 724 {vendor: "ST", devices: []ChipName{"M25PX16"}, id: 0x7115}, 725 {vendor: "ST", devices: []ChipName{"M25PX32"}, id: 0x7116}, 726 {vendor: "ST", devices: []ChipName{"M25PX64"}, id: 0x7117}, 727 {vendor: "ST", devices: []ChipName{"M25PE10"}, id: 0x8011}, 728 {vendor: "ST", devices: []ChipName{"M25PE20"}, id: 0x8012}, 729 {vendor: "ST", devices: []ChipName{"M25PE40"}, id: 0x8013}, 730 {vendor: "ST", devices: []ChipName{"M25PE80"}, id: 0x8014}, 731 {vendor: "ST", devices: []ChipName{"M25PE16"}, id: 0x8015}, 732 {vendor: "ST", devices: []ChipName{"M50FLW040A"}, id: 0x08}, 733 {vendor: "ST", devices: []ChipName{"M50FLW040B"}, id: 0x28}, 734 {vendor: "ST", devices: []ChipName{"M50FLW080A"}, id: 0x80}, 735 {vendor: "ST", devices: []ChipName{"M50FLW080B"}, id: 0x81}, 736 {vendor: "ST", devices: []ChipName{"M50FW002"}, id: 0x29}, 737 {vendor: "ST", devices: []ChipName{"M50FW040"}, id: 0x2C}, 738 {vendor: "ST", devices: []ChipName{"M50FW080"}, id: 0x2D}, 739 {vendor: "ST", devices: []ChipName{"M50FW016"}, id: 0x2E}, 740 {vendor: "ST", devices: []ChipName{"M50LPW080"}, id: 0x2F}, 741 {vendor: "ST", devices: []ChipName{"M50LPW116"}, id: 0x30}, 742 {vendor: "ST", devices: []ChipName{"M29F002B"}, id: 0x34, remarks: " /* Same as M29F002BB */"}, 743 {vendor: "ST", devices: []ChipName{"M29F002T"}, id: 0xB0, remarks: " /* Same as M29F002BT/M29F002NT/M29F002BNT */"}, 744 {vendor: "ST", devices: []ChipName{"M29F040B"}, id: 0xE2, remarks: " /* Same as M29F040 */"}, 745 {vendor: "ST", devices: []ChipName{"M29F080"}, id: 0xF1}, 746 {vendor: "ST", devices: []ChipName{"M29F200BT"}, id: 0xD3}, 747 {vendor: "ST", devices: []ChipName{"M29F200BB"}, id: 0xD4}, 748 {vendor: "ST", devices: []ChipName{"M29F400BT"}, id: 0xD5, remarks: " /* Same as M29F400T */"}, 749 {vendor: "ST", devices: []ChipName{"M29F400BB"}, id: 0xD6, remarks: " /* Same as M29F400B */"}, 750 {vendor: "ST", devices: []ChipName{"M29F800DB"}, id: 0x58}, 751 {vendor: "ST", devices: []ChipName{"M29F800DT"}, id: 0xEC}, 752 {vendor: "ST", devices: []ChipName{"M29W010B"}, id: 0x23}, 753 {vendor: "ST", devices: []ChipName{"M29W040B"}, id: 0xE3}, 754 {vendor: "ST", devices: []ChipName{"M29W512B"}, id: 0x27}, 755 {vendor: "ST", devices: []ChipName{"M28W160ECB"}, id: 0x88CF}, 756 {vendor: "ST", devices: []ChipName{"M28W160ECT"}, id: 0x88CE}, 757 {vendor: "ST", devices: []ChipName{"M28W320FCB"}, id: 0x88BB}, 758 {vendor: "ST", devices: []ChipName{"M28W320FCT"}, id: 0x88BA}, 759 {vendor: "ST", devices: []ChipName{"M28W640HCB"}, id: 0x8849}, 760 {vendor: "ST", devices: []ChipName{"M28W640HCT"}, id: 0x8848}, 761 {vendor: "ST", devices: []ChipName{"M29DW127G"}, id: 0x7E2004}, 762 {vendor: "ST", devices: []ChipName{"M29W128GH"}, id: 0x7E2101}, 763 {vendor: "ST", devices: []ChipName{"M29W128GL"}, id: 0x7E2100}, 764 {vendor: "ST", devices: []ChipName{"M29W160EB"}, id: 0x2249}, 765 {vendor: "ST", devices: []ChipName{"M29W160ET"}, id: 0x22C4}, 766 {vendor: "ST", devices: []ChipName{"M29W256GH"}, id: 0x7E21, remarks: "xx"}, 767 {vendor: "ST", devices: []ChipName{"M29W256GL"}, id: 0x7E21, remarks: "xx"}, 768 {vendor: "ST", devices: []ChipName{"M29W320DB"}, id: 0x88CB}, 769 {vendor: "ST", devices: []ChipName{"M29W320DT"}, id: 0x88CA}, 770 {vendor: "ST", devices: []ChipName{"M29W400FB"}, id: 0x00EF}, 771 {vendor: "ST", devices: []ChipName{"M29W400FT"}, id: 0x00EE}, 772 {vendor: "ST", devices: []ChipName{"M29W512GH"}, id: 0x7E2301}, 773 {vendor: "ST", devices: []ChipName{"M29W640FB"}, id: 0x22FD}, 774 {vendor: "ST", devices: []ChipName{"M29W640FT"}, id: 0x22ED}, 775 {vendor: "ST", devices: []ChipName{"M29W640GB"}, id: 0x7E1000}, 776 {vendor: "ST", devices: []ChipName{"M29W640GH"}, id: 0x7E0C01}, 777 {vendor: "ST", devices: []ChipName{"M29W640GL"}, id: 0x7E0C00}, 778 {vendor: "ST", devices: []ChipName{"M29W640GT"}, id: 0x7E1001}, 779 {vendor: "ST", devices: []ChipName{"M29W800FB"}, id: 0x225B}, 780 {vendor: "ST", devices: []ChipName{"M29W800FT"}, id: 0x22D7}, 781 {vendor: "ST", devices: []ChipName{"M58BW16FB"}, id: 0x8839}, 782 {vendor: "ST", devices: []ChipName{"M58BW16FT"}, id: 0x883A}, 783 {vendor: "ST", devices: []ChipName{"M58BW32FB"}, id: 0x8837}, 784 {vendor: "ST", devices: []ChipName{"M58BW32FT"}, id: 0x8838}, 785 {vendor: "ST", devices: []ChipName{"M58WR016KB"}, id: 0x8813}, 786 {vendor: "ST", devices: []ChipName{"M58WR016KT"}, id: 0x8812}, 787 {vendor: "ST", devices: []ChipName{"M58WR032KB"}, id: 0x8815}, 788 {vendor: "ST", devices: []ChipName{"M58WR032KT"}, id: 0x8814}, 789 {vendor: "ST", devices: []ChipName{"M58WR064KB"}, id: 0x8811}, 790 {vendor: "ST", devices: []ChipName{"M58WR064KT"}, id: 0x8810}, 791 {vendor: "ST_MT28GU01G__", devices: []ChipName{"1"}, id: 0x88B0}, 792 {vendor: "ST_MT28GU01G__", devices: []ChipName{"2"}, id: 0x88B1}, 793 {vendor: "ST_MT28GU256__", devices: []ChipName{"1"}, id: 0x8901}, 794 {vendor: "ST_MT28GU256__", devices: []ChipName{"2"}, id: 0x8904}, 795 {vendor: "ST_MT28GU512__", devices: []ChipName{"1"}, id: 0x887E}, 796 {vendor: "ST_MT28GU512__", devices: []ChipName{"2"}, id: 0x8881}, 797 {vendor: "ST_N25Q016_", devices: []ChipName{"1E"}, id: 0xBB15, remarks: " /* N25Q016, 1.8V, (uniform sectors expected) */"}, 798 {vendor: "ST_N25Q032_", devices: []ChipName{"3E"}, id: 0xBA16, remarks: " /* N25Q032, 3.0V, (uniform sectors expected) */"}, 799 {vendor: "ST_N25Q032_", devices: []ChipName{"1E"}, id: 0xBB16, remarks: " /* N25Q032, 1.8V, (uniform sectors expected) */"}, 800 {vendor: "ST_N25Q064_", devices: []ChipName{"3E"}, id: 0xBA17, remarks: " /* N25Q064, 3.0V, (uniform sectors expected) */"}, 801 {vendor: "ST_N25Q064_", devices: []ChipName{"1E"}, id: 0xBB17, remarks: " /* N25Q064, 1.8V, (uniform sectors expected) */"}, 802 {vendor: "ST_N25Q128_", devices: []ChipName{"3E"}, id: 0xBA18, remarks: " /* N25Q128, 3.0V, (uniform sectors expected) */"}, 803 {vendor: "ST_N25Q128_", devices: []ChipName{"1E"}, id: 0xBB18, remarks: " /* N25Q128, 1.8V, (uniform sectors expected) */"}, 804 {vendor: "ST_N25Q256_", devices: []ChipName{"3E"}, id: 0xBA19, remarks: " /* N25Q256, 3.0V, (uniform sectors expected) */"}, 805 {vendor: "ST_N25Q256_", devices: []ChipName{"1E"}, id: 0xBB19, remarks: " /* N25Q256, 1.8V, (uniform sectors expected) */"}, 806 {vendor: "ST_N25Q512_", devices: []ChipName{"3E"}, id: 0xBA20, remarks: " /* N25Q512, 3.0V, (uniform sectors expected) */"}, 807 {vendor: "ST_N25Q512_", devices: []ChipName{"1E"}, id: 0xBB20, remarks: " /* N25Q512, 1.8V, (uniform sectors expected) */"}, 808 {vendor: "ST_N25Q00A_", devices: []ChipName{"3E"}, id: 0xBA21, remarks: " /* N25Q00A, 3.0V, (uniform sectors expected) */"}, 809 {vendor: "ST", devices: []ChipName{"NP5Q032"}, id: 0xDA16, remarks: " /* Phase-change memory (PCM), 3V */"}, 810 {vendor: "ST", devices: []ChipName{"NP5Q064"}, id: 0xDA17, remarks: " /* Phase-change memory (PCM), 3V */"}, 811 {vendor: "ST", devices: []ChipName{"NP5Q128"}, id: 0xDA18, remarks: " /* Phase-change memory (PCM), 3V */"}, 812 {vendor: "MVC", devices: []ChipName{"V29C51000T"}, id: 0x00}, 813 {vendor: "MVC", devices: []ChipName{"V29C51400T"}, id: 0x13}, 814 {vendor: "MVC", devices: []ChipName{"V29LC51000"}, id: 0x20}, 815 {vendor: "MVC", devices: []ChipName{"V29LC51001"}, id: 0x60}, 816 {vendor: "MVC", devices: []ChipName{"V29LC51002"}, id: 0x82}, 817 {vendor: "MVC", devices: []ChipName{"V29C51000B"}, id: 0xA0}, 818 {vendor: "MVC", devices: []ChipName{"V29C51400B"}, id: 0xB3}, 819 {vendor: "SM_MVC", devices: []ChipName{"29C51001T"}, id: 0x01, remarks: " /* Identical chips: {F,S,V}29C51001T */"}, 820 {vendor: "SM_MVC", devices: []ChipName{"29C51002T"}, id: 0x02, remarks: " /* Identical chips: {F,S,V}29C51002T */"}, 821 {vendor: "SM_MVC", devices: []ChipName{"29C51004T"}, id: 0x03, remarks: " /* Identical chips: {F,S,V}29C51004T */"}, 822 {vendor: "SM_MVC", devices: []ChipName{"29C31004T"}, id: 0x63, remarks: " /* Identical chips: {S,V}29C31004T */"}, 823 {vendor: "SM_MVC", devices: []ChipName{"29C31004B"}, id: 0x73, remarks: " /* Identical chips: {S,V}29C31004B */"}, 824 {vendor: "SM_MVC", devices: []ChipName{"29C51001B"}, id: 0xA1, remarks: " /* Identical chips: {F,S,V}29C51001B */"}, 825 {vendor: "SM_MVC", devices: []ChipName{"29C51002B"}, id: 0xA2, remarks: " /* Identical chips: {F,S,V}29C51002B */"}, 826 {vendor: "SM_MVC", devices: []ChipName{"29C51004B"}, id: 0xA3, remarks: " /* Identical chips: {F,S,V}29C51004B */"}, 827 {vendor: "TENX", devices: []ChipName{"ICE25P05"}, id: 0x01, remarks: "/* Maybe? */"}, 828 {vendor: "TI", devices: []ChipName{"TMS29F002RT"}, id: 0xB0}, 829 {vendor: "TI", devices: []ChipName{"TMS29F002RB"}, id: 0x34}, 830 /* 831 * W25X chips are SPI, first byte of device ID is memory type, second 832 * byte of device ID is related to log(bitsize). 833 */ 834 {vendor: "WINBOND_NEX", devices: []ChipName{"W25P80"}, id: 0x2014}, 835 {vendor: "WINBOND_NEX", devices: []ChipName{"W25P16"}, id: 0x2015}, 836 {vendor: "WINBOND_NEX", devices: []ChipName{"W25P32"}, id: 0x2016}, 837 {vendor: "WINBOND_NEX", devices: []ChipName{"W25X10"}, id: 0x3011}, 838 {vendor: "WINBOND_NEX", devices: []ChipName{"W25X20"}, id: 0x3012}, 839 {vendor: "WINBOND_NEX", devices: []ChipName{"W25X40"}, id: 0x3013}, 840 {vendor: "WINBOND_NEX", devices: []ChipName{"W25X80"}, id: 0x3014}, 841 {vendor: "WINBOND_NEX", devices: []ChipName{"W25X16"}, id: 0x3015}, 842 {vendor: "WINBOND_NEX", devices: []ChipName{"W25X32"}, id: 0x3016}, 843 {vendor: "WINBOND_NEX", devices: []ChipName{"W25X64"}, id: 0x3017}, 844 {vendor: "WINBOND_NEX_W25Q40", devices: []ChipName{"V"}, id: 0x4013, remarks: " /* W25Q40BV; W25Q40BL (2.3-3.6V) */"}, 845 {vendor: "WINBOND_NEX_W25Q80", devices: []ChipName{"V"}, id: 0x4014, remarks: " /* W25Q80BV */"}, 846 {vendor: "WINBOND_NEX_W25Q16", devices: []ChipName{"V"}, id: 0x4015, remarks: " /* W25Q16CV; W25Q16DV */"}, 847 {vendor: "WINBOND_NEX_W25Q32", devices: []ChipName{"V"}, id: 0x4016, remarks: " /* W25Q32BV; W25Q32FV in SPI mode (default) */"}, 848 {vendor: "WINBOND_NEX_W25Q64", devices: []ChipName{"V"}, id: 0x4017, remarks: " /* W25Q64BV, W25Q64CV; W25Q64FV in SPI mode (default) */"}, 849 {vendor: "WINBOND_NEX_W25Q128", devices: []ChipName{"V"}, id: 0x4018, remarks: " /* W25Q128BV; W25Q128FV in SPI mode (default) */"}, 850 {vendor: "WINBOND_NEX_W25Q256", devices: []ChipName{"V"}, id: 0x4019, remarks: " /* W25Q256FV or W25Q256JV_Q (QE=1) */"}, 851 {vendor: "WINBOND_NEX_W25Q20", devices: []ChipName{"W"}, id: 0x5012, remarks: " /* W25Q20BW */"}, 852 {vendor: "WINBOND_NEX", devices: []ChipName{"W25Q40BW"}, id: 0x5013, remarks: " /* W25Q40BW */"}, 853 {vendor: "WINBOND_NEX", devices: []ChipName{"W25Q80BW"}, id: 0x5014, remarks: " /* W25Q80BW */"}, 854 {vendor: "WINBOND_NEX", devices: []ChipName{"W25Q40EW"}, id: 0x6013, remarks: " /* W25Q40EW */"}, 855 {vendor: "WINBOND_NEX", devices: []ChipName{"W25Q80EW"}, id: 0x6014, remarks: " /* W25Q80EW */"}, 856 {vendor: "WINBOND_NEX_W25Q16", devices: []ChipName{"W"}, id: 0x6015, remarks: " /* W25Q16DW */"}, 857 {vendor: "WINBOND_NEX_W25Q32", devices: []ChipName{"W"}, id: 0x6016, remarks: " /* W25Q32DW; W25Q32FV in QPI mode */"}, 858 {vendor: "WINBOND_NEX_W25Q64", devices: []ChipName{"W"}, id: 0x6017, remarks: " /* W25Q64DW; W25Q64FV in QPI mode */"}, 859 {vendor: "WINBOND_NEX_W25Q128", devices: []ChipName{"W"}, id: 0x6018, remarks: " /* W25Q128FW; W25Q128FV in QPI mode */"}, 860 {vendor: "WINBOND_NEX_W25Q128_V", devices: []ChipName{"M"}, id: 0x7018, remarks: " /* W25Q128JVSM */"}, 861 {vendor: "WINBOND_NEX_W25Q256JV", devices: []ChipName{"M"}, id: 0x7019, remarks: " /* W25Q256JV_M (QE=0) */"}, 862 {vendor: "WINBOND", devices: []ChipName{"W19B160BB"}, id: 0x49}, 863 {vendor: "WINBOND", devices: []ChipName{"W19B160BT"}, id: 0xC4}, 864 {vendor: "WINBOND", devices: []ChipName{"W19B320SB"}, id: 0x2A, remarks: " /* Same as W19L320SB */"}, 865 {vendor: "WINBOND", devices: []ChipName{"W19B320ST"}, id: 0xBA, remarks: " /* Same as W19L320ST */"}, 866 {vendor: "WINBOND", devices: []ChipName{"W19B322MB"}, id: 0x92}, 867 {vendor: "WINBOND", devices: []ChipName{"W19B322MT"}, id: 0x10}, 868 {vendor: "WINBOND", devices: []ChipName{"W19B323MB"}, id: 0x94}, 869 {vendor: "WINBOND", devices: []ChipName{"W19B323MT"}, id: 0x13}, 870 {vendor: "WINBOND", devices: []ChipName{"W19B324MB"}, id: 0x97}, 871 {vendor: "WINBOND", devices: []ChipName{"W19B324MT"}, id: 0x16}, 872 {vendor: "WINBOND", devices: []ChipName{"W29C010"}, id: 0xC1, remarks: " /* Same as W29C010M, W29C011A, W29EE011, W29EE012, and ASD AE29F1008 */"}, 873 {vendor: "WINBOND", devices: []ChipName{"W29C020"}, id: 0x45, remarks: " /* Same as W29C020C, W29C022 and ASD AE29F2008 */"}, 874 {vendor: "WINBOND", devices: []ChipName{"W29C040"}, id: 0x46, remarks: " /* Same as W29C040P */"}, 875 {vendor: "WINBOND", devices: []ChipName{"W29C512A"}, id: 0xC8, remarks: " /* Same as W29EE512 */"}, 876 {vendor: "WINBOND", devices: []ChipName{"W29GL032CHL"}, id: 0x7E1D01, remarks: " /* Uniform Sectors, WP protects Top OR Bottom sector */"}, 877 {vendor: "WINBOND", devices: []ChipName{"W29GL032CB"}, id: 0x7E1A00, remarks: " /* Top Boot Sector, WP protects Top 2 sectors */"}, 878 {vendor: "WINBOND", devices: []ChipName{"W29GL032CT"}, id: 0x7E1A01, remarks: " /* Bottom Boot Sector, WP protects Bottom 2 sectors */"}, 879 {vendor: "WINBOND", devices: []ChipName{"W29GL064CHL"}, id: 0x7E0C01, remarks: " /* Uniform Sectors, WP protects Top OR Bottom sector */"}, 880 {vendor: "WINBOND", devices: []ChipName{"W29GL064CB"}, id: 0x7E1000, remarks: " /* Top Boot Sector, WP protects Top 2 sectors */"}, 881 {vendor: "WINBOND", devices: []ChipName{"W29GL064CT"}, id: 0x7E1001, remarks: " /* Bottom Boot Sector, WP protects Bottom 2 sectors */"}, 882 {vendor: "WINBOND", devices: []ChipName{"W29GL128CHL"}, id: 0x7E2101, remarks: " /* Uniform Sectors, WP protects Top OR Bottom sector */"}, 883 {vendor: "WINBOND", devices: []ChipName{"W29GL256HL"}, id: 0x7E2201, remarks: " /* Same ID for W29GL0256P and W29GL0256S; uniform Sectors, WP protects Top OR Bottom sector */"}, 884 {vendor: "WINBOND", devices: []ChipName{"W39F010"}, id: 0xA1}, 885 {vendor: "WINBOND", devices: []ChipName{"W39L010"}, id: 0x31}, 886 {vendor: "WINBOND", devices: []ChipName{"W39L020"}, id: 0xB5}, 887 {vendor: "WINBOND", devices: []ChipName{"W39L040"}, id: 0xB6}, 888 {vendor: "WINBOND", devices: []ChipName{"W39L040A"}, id: 0xD6}, 889 {vendor: "WINBOND", devices: []ChipName{"W39L512"}, id: 0x38}, 890 {vendor: "WINBOND", devices: []ChipName{"W39V040A"}, id: 0x3D}, 891 {vendor: "WINBOND", devices: []ChipName{"W39V040FA"}, id: 0x34}, 892 {vendor: "WINBOND", devices: []ChipName{"W39V040B"}, id: 0x54, remarks: " /* Same as W39V040FB */"}, 893 {vendor: "WINBOND", devices: []ChipName{"W39V040C"}, id: 0x50, remarks: " /* Same as W39V040FC */"}, 894 {vendor: "WINBOND", devices: []ChipName{"W39V080A"}, id: 0xD0}, 895 {vendor: "WINBOND", devices: []ChipName{"W39V080FA"}, id: 0xD3}, 896 {vendor: "WINBOND_W39V080FA", devices: []ChipName{"DM"}, id: 0x93, remarks: " /* W39V080FA dual mode */"}, 897 {vendor: "WINBOND", devices: []ChipName{"W49F002"}, id: 0x25, remarks: " /* Same as W49F002B */"}, 898 {vendor: "WINBOND", devices: []ChipName{"W49F002U"}, id: 0x0B, remarks: " /* Same as W49F002N and ASD AE49F2008 */"}, 899 {vendor: "WINBOND", devices: []ChipName{"W49F020"}, id: 0x8C}, 900 {vendor: "WINBOND", devices: []ChipName{"W49V002A"}, id: 0xB0}, 901 {vendor: "WINBOND", devices: []ChipName{"W49V002FA"}, id: 0x32}, 902 {vendor: "ZETTADEVICE", devices: []ChipName{"ZD25D20"}, id: 0x2012}, 903 {vendor: "ZETTADEVICE", devices: []ChipName{"ZD25D40"}, id: 0x2013}, 904 } 905 )