xref: /aosp_15_r20/external/flashrom/include/flashchips.h (revision 0d6140be3aa665ecc836e8907834fcd3e3b018fc)
1*0d6140beSAndroid Build Coastguard Worker /*
2*0d6140beSAndroid Build Coastguard Worker  * This file is part of the flashrom project.
3*0d6140beSAndroid Build Coastguard Worker  *
4*0d6140beSAndroid Build Coastguard Worker  * Copyright (C) 2000 Silicon Integrated System Corporation
5*0d6140beSAndroid Build Coastguard Worker  * Copyright (C) 2000 Ronald G. Minnich <[email protected]>
6*0d6140beSAndroid Build Coastguard Worker  * Copyright (C) 2005-2007 coresystems GmbH <[email protected]>
7*0d6140beSAndroid Build Coastguard Worker  * Copyright (C) 2006-2009 Carl-Daniel Hailfinger
8*0d6140beSAndroid Build Coastguard Worker  *
9*0d6140beSAndroid Build Coastguard Worker  * This program is free software; you can redistribute it and/or modify
10*0d6140beSAndroid Build Coastguard Worker  * it under the terms of the GNU General Public License as published by
11*0d6140beSAndroid Build Coastguard Worker  * the Free Software Foundation; either version 2 of the License, or
12*0d6140beSAndroid Build Coastguard Worker  * (at your option) any later version.
13*0d6140beSAndroid Build Coastguard Worker  *
14*0d6140beSAndroid Build Coastguard Worker  * This program is distributed in the hope that it will be useful,
15*0d6140beSAndroid Build Coastguard Worker  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16*0d6140beSAndroid Build Coastguard Worker  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17*0d6140beSAndroid Build Coastguard Worker  * GNU General Public License for more details.
18*0d6140beSAndroid Build Coastguard Worker  */
19*0d6140beSAndroid Build Coastguard Worker 
20*0d6140beSAndroid Build Coastguard Worker #ifndef __FLASHCHIPS_H__
21*0d6140beSAndroid Build Coastguard Worker #define __FLASHCHIPS_H__ 1
22*0d6140beSAndroid Build Coastguard Worker 
23*0d6140beSAndroid Build Coastguard Worker /*
24*0d6140beSAndroid Build Coastguard Worker  * Please keep this list sorted alphabetically by manufacturer. The first
25*0d6140beSAndroid Build Coastguard Worker  * entry of each section should be the manufacturer ID, followed by the
26*0d6140beSAndroid Build Coastguard Worker  * list of devices from that manufacturer (sorted by device ID).
27*0d6140beSAndroid Build Coastguard Worker  *
28*0d6140beSAndroid Build Coastguard Worker  * Most LPC/FWH parts (parallel flash) have 8-bit device IDs if there is no
29*0d6140beSAndroid Build Coastguard Worker  * continuation code.
30*0d6140beSAndroid Build Coastguard Worker  * SPI parts have at least 16-bit device IDs if they support RDID.
31*0d6140beSAndroid Build Coastguard Worker  */
32*0d6140beSAndroid Build Coastguard Worker 
33*0d6140beSAndroid Build Coastguard Worker #define GENERIC_MANUF_ID	0xFFFF	/* Check if there is a vendor ID */
34*0d6140beSAndroid Build Coastguard Worker #define GENERIC_DEVICE_ID	0xFFFF	/* Only match the vendor ID */
35*0d6140beSAndroid Build Coastguard Worker #define SFDP_DEVICE_ID		0xFFFE
36*0d6140beSAndroid Build Coastguard Worker #define PROGMANUF_ID		0xFFFE	/* dummy ID for opaque chips behind a programmer */
37*0d6140beSAndroid Build Coastguard Worker #define PROGDEV_ID		0x01	/* dummy ID for opaque chips behind a programmer */
38*0d6140beSAndroid Build Coastguard Worker 
39*0d6140beSAndroid Build Coastguard Worker #define ALLIANCE_ID		0x52	/* Alliance Semiconductor */
40*0d6140beSAndroid Build Coastguard Worker #define ALLIANCE_AS29F002B	0x34
41*0d6140beSAndroid Build Coastguard Worker #define ALLIANCE_AS29F002T	0xB0
42*0d6140beSAndroid Build Coastguard Worker #define ALLIANCE_AS29F010	0x04
43*0d6140beSAndroid Build Coastguard Worker #define ALLIANCE_AS29F040	0xA4
44*0d6140beSAndroid Build Coastguard Worker #define ALLIANCE_AS29F200B	0x57
45*0d6140beSAndroid Build Coastguard Worker #define ALLIANCE_AS29F200T	0x51
46*0d6140beSAndroid Build Coastguard Worker #define ALLIANCE_AS29LV160B	0x49
47*0d6140beSAndroid Build Coastguard Worker #define ALLIANCE_AS29LV160T	0xCA
48*0d6140beSAndroid Build Coastguard Worker #define ALLIANCE_AS29LV400B	0xBA
49*0d6140beSAndroid Build Coastguard Worker #define ALLIANCE_AS29LV400T	0xB9
50*0d6140beSAndroid Build Coastguard Worker #define ALLIANCE_AS29LV800B	0x5B
51*0d6140beSAndroid Build Coastguard Worker #define ALLIANCE_AS29LV800T	0xDA
52*0d6140beSAndroid Build Coastguard Worker 
53*0d6140beSAndroid Build Coastguard Worker #define AMD_ID			0x01	/* AMD */
54*0d6140beSAndroid Build Coastguard Worker #define AMD_AM29DL400BT		0x0C
55*0d6140beSAndroid Build Coastguard Worker #define AMD_AM29DL400BB		0x0F
56*0d6140beSAndroid Build Coastguard Worker #define AMD_AM29DL800BT		0x4A
57*0d6140beSAndroid Build Coastguard Worker #define AMD_AM29DL800BB		0xCB
58*0d6140beSAndroid Build Coastguard Worker #define AMD_AM29F002BB		0x34	/* Same as Am29F002NBB */
59*0d6140beSAndroid Build Coastguard Worker #define AMD_AM29F002BT		0xB0	/* Same as Am29F002NBT */
60*0d6140beSAndroid Build Coastguard Worker #define AMD_AM29F004BB		0x7B
61*0d6140beSAndroid Build Coastguard Worker #define AMD_AM29F004BT		0x77
62*0d6140beSAndroid Build Coastguard Worker #define AMD_AM29F016D		0xAD
63*0d6140beSAndroid Build Coastguard Worker #define AMD_AM29F010		0x20	/* Same as Am29F010A and Am29F010B */
64*0d6140beSAndroid Build Coastguard Worker #define AMD_AM29F040		0xA4	/* Same as AM29F040B */
65*0d6140beSAndroid Build Coastguard Worker #define AMD_AM29F080		0xD5	/* Same as Am29F080B */
66*0d6140beSAndroid Build Coastguard Worker #define AMD_AM29F200BB		0x57
67*0d6140beSAndroid Build Coastguard Worker #define AMD_AM29F200BT		0x51
68*0d6140beSAndroid Build Coastguard Worker #define AMD_AM29F400BB		0xAB
69*0d6140beSAndroid Build Coastguard Worker #define AMD_AM29F400BT		0x23
70*0d6140beSAndroid Build Coastguard Worker #define AMD_AM29F800BB		0x58
71*0d6140beSAndroid Build Coastguard Worker #define AMD_AM29F800BT		0xD6
72*0d6140beSAndroid Build Coastguard Worker #define AMD_AM29LV001BB		0x6D
73*0d6140beSAndroid Build Coastguard Worker #define AMD_AM29LV001BT		0xED
74*0d6140beSAndroid Build Coastguard Worker #define AMD_AM29LV010B		0x6E	/* 1Mb, uniform */
75*0d6140beSAndroid Build Coastguard Worker #define AMD_AM29LV002BB		0xC2
76*0d6140beSAndroid Build Coastguard Worker #define AMD_AM29LV002BT		0x40
77*0d6140beSAndroid Build Coastguard Worker #define AMD_AM29LV004BB		0xB6
78*0d6140beSAndroid Build Coastguard Worker #define AMD_AM29LV004BT		0xB5
79*0d6140beSAndroid Build Coastguard Worker #define AMD_AM29LV008BB		0x37
80*0d6140beSAndroid Build Coastguard Worker #define AMD_AM29LV008BT		0x3E
81*0d6140beSAndroid Build Coastguard Worker #define AMD_AM29LV040B		0x4F
82*0d6140beSAndroid Build Coastguard Worker #define AMD_AM29LV080B		0x38	/* Same as Am29LV081B */
83*0d6140beSAndroid Build Coastguard Worker #define AMD_AM29LV200BB		0xBF
84*0d6140beSAndroid Build Coastguard Worker #define AMD_AM29LV200BT		0x3B
85*0d6140beSAndroid Build Coastguard Worker #define AMD_AM29LV800BB		0x5B	/* Same as Am29LV800DB */
86*0d6140beSAndroid Build Coastguard Worker #define AMD_AM29LV400BT		0xB9
87*0d6140beSAndroid Build Coastguard Worker #define AMD_AM29LV400BB		0xBA
88*0d6140beSAndroid Build Coastguard Worker #define AMD_AM29LV800BT		0xDA	/* Same as Am29LV800DT */
89*0d6140beSAndroid Build Coastguard Worker 
90*0d6140beSAndroid Build Coastguard Worker #define AMIC_ID			0x7F37	/* AMIC */
91*0d6140beSAndroid Build Coastguard Worker #define AMIC_ID_NOPREFIX	0x37	/* AMIC */
92*0d6140beSAndroid Build Coastguard Worker #define AMIC_A25L05PT		0x2020
93*0d6140beSAndroid Build Coastguard Worker #define AMIC_A25L05PU		0x2010
94*0d6140beSAndroid Build Coastguard Worker #define AMIC_A25L10PT		0x2021
95*0d6140beSAndroid Build Coastguard Worker #define AMIC_A25L10PU		0x2011
96*0d6140beSAndroid Build Coastguard Worker #define AMIC_A25L20PT		0x2022
97*0d6140beSAndroid Build Coastguard Worker #define AMIC_A25L20PU		0x2012
98*0d6140beSAndroid Build Coastguard Worker #define AMIC_A25L40PT		0x2013	/* Datasheet says T and U have
99*0d6140beSAndroid Build Coastguard Worker 					   same device ID. Confirmed by
100*0d6140beSAndroid Build Coastguard Worker 					   hardware testing. */
101*0d6140beSAndroid Build Coastguard Worker #define AMIC_A25L40PU		0x2013
102*0d6140beSAndroid Build Coastguard Worker #define AMIC_A25L80P		0x2014	/* Seems that no A25L80PT exists */
103*0d6140beSAndroid Build Coastguard Worker #define AMIC_A25L16PT		0x2025
104*0d6140beSAndroid Build Coastguard Worker #define AMIC_A25L16PU		0x2015
105*0d6140beSAndroid Build Coastguard Worker #define AMIC_A25L512		0x3010
106*0d6140beSAndroid Build Coastguard Worker #define AMIC_A25L010		0x3011
107*0d6140beSAndroid Build Coastguard Worker #define AMIC_A25L020		0x3012
108*0d6140beSAndroid Build Coastguard Worker #define AMIC_A25L040		0x3013
109*0d6140beSAndroid Build Coastguard Worker #define AMIC_A25L080		0x3014
110*0d6140beSAndroid Build Coastguard Worker #define AMIC_A25L016		0x3015
111*0d6140beSAndroid Build Coastguard Worker #define AMIC_A25L032		0x3016
112*0d6140beSAndroid Build Coastguard Worker #define AMIC_A25LQ16		0x4015
113*0d6140beSAndroid Build Coastguard Worker #define AMIC_A25LQ032		0x4016	/* Same as A25LQ32A, but the latter supports SFDP */
114*0d6140beSAndroid Build Coastguard Worker #define AMIC_A25LQ64		0x4017
115*0d6140beSAndroid Build Coastguard Worker #define AMIC_A29002B		0x0d
116*0d6140beSAndroid Build Coastguard Worker #define AMIC_A29002T		0x8C	/* Same as A290021T */
117*0d6140beSAndroid Build Coastguard Worker #define AMIC_A29040B		0x86
118*0d6140beSAndroid Build Coastguard Worker #define AMIC_A29400T		0xB0	/* Same as 294001T */
119*0d6140beSAndroid Build Coastguard Worker #define AMIC_A29400U		0x31	/* Same as A294001U */
120*0d6140beSAndroid Build Coastguard Worker #define AMIC_A29800T		0x0E
121*0d6140beSAndroid Build Coastguard Worker #define AMIC_A29800U		0x8F
122*0d6140beSAndroid Build Coastguard Worker #define AMIC_A29L004T		0x34	/* Same as A29L400T */
123*0d6140beSAndroid Build Coastguard Worker #define AMIC_A29L004U		0xB5	/* Same as A29L400U */
124*0d6140beSAndroid Build Coastguard Worker #define AMIC_A29L008T		0x1A	/* Same as A29L800T */
125*0d6140beSAndroid Build Coastguard Worker #define AMIC_A29L008U		0x9B	/* Same as A29L800U */
126*0d6140beSAndroid Build Coastguard Worker #define AMIC_A29L040		0x92
127*0d6140beSAndroid Build Coastguard Worker #define AMIC_A49LF040A		0x9d
128*0d6140beSAndroid Build Coastguard Worker 
129*0d6140beSAndroid Build Coastguard Worker #define ATMEL_ID		0x1F	/* Atmel (now used by Adesto) */
130*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT25DF011		0x4200
131*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT25DF021		0x4300
132*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT25DF021A	0x4301
133*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT25DF041A	0x4401
134*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT25DF081		0x4502	/* EDI 0x00. AT25DL081 has same ID + EDI 0x0100 */
135*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT25DF081A	0x4501	/* Yes, 81A has a lower number than 81 */
136*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT25DF161		0x4602
137*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT25DF321		0x4700	/* Same as 26DF321 */
138*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT25DF321A	0x4701
139*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT25DF641		0x4800
140*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT25DL161		0x4603	/* EDI 0x0100 */
141*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT25DQ161		0x8600	/* EDI 0x0100 */
142*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT25DQ321		0x8700	/* EDI 0x0100 */
143*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT25F512		0x60	/* Needs AT25F_RDID. ID from PCN and actual HW. Seems to be a relabeled AT25F1024. */
144*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT25F512A		0x65	/* Needs AT25F_RDID */
145*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT25F512B		0x6500
146*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT25F1024		0x60	/* Needs AT25F_RDID */
147*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT25F2048		0x63	/* Needs AT25F_RDID */
148*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT25F4096		0x64	/* Needs AT25F_RDID */
149*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT25FS010		0x6601
150*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT25FS040		0x6604
151*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT25SF041		0x8401
152*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT25SF081		0x8501
153*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT25SF161		0x8601
154*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT25SF321		0x8701
155*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT25SL128A	0x4218
156*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT25SF128A	0x8901 /* Adesto AT25SF128A */
157*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT26DF041		0x4400
158*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT26DF081		0x4500	/* guessed, no datasheet available */
159*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT26DF081A	0x4501
160*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT26DF161		0x4600
161*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT26DF161A	0x4601
162*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT26F004		0x0400
163*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT29LV512		0x3D
164*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT29LV010A	0x35	/* Same as AT29BV010A, the latter works down to 2.7V */
165*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT29LV020		0xBA
166*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT29BV040A	0xC4
167*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT29C040A		0xA4
168*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT29C010A		0xD5
169*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT29C020		0xDA
170*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT29C512		0x5D
171*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT45BR3214B	/* No ID available */
172*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT45CS1282	0x2920
173*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT45D011		/* No ID available */
174*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT45D021A		/* No ID available */
175*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT45D041A		/* No ID available */
176*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT45D081A		/* No ID available */
177*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT45D161		/* No ID available */
178*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT45DB011		/* No ID (opcode) available for AT45DB011, AT45DB011B */
179*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT45DB011D	0x2200
180*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT45DB021		/* No ID (opcode) available for AT45DB021, AT45DB021A, AT45DB021B */
181*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT45DB021D	0x2300
182*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT45DB021E	/* same as above but with EDI 0x0100 */
183*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT45DB041		/* No ID (opcode) available for AT45DB041, AT45DB041A, AT45DB041B */
184*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT45DB041D	0x2400
185*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT45DB041E	/* same as above but with EDI 0x0100 */
186*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT45DB081		/* No ID (opcode) available for AT45DB081, AT45DB081A, AT45DB081B */
187*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT45DB081D	0x2500
188*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT45DB081E	/* same as above but with EDI 0x0100 */
189*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT45DB161		/* No ID (opcode) available for AT45DB161, AT45DB161B */
190*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT45DB161D	0x2600
191*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT45DB161E	/* same as above but with EDI 0x0100 */
192*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT45DB321		/* No ID (opcode) available for AT45DB321, AT45DB321B */
193*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT45DB321C	0x2700
194*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT45DB321E	/* same as above but with EDI 0x0100 */
195*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT45DB321D	0x2701 /* Buggy data sheet */
196*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT45DB642		/* No ID (opcode) available for AT45DB642 */
197*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT45DB642D	0x2800
198*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT49BV512		0x03	/* Same as AT49F512 */
199*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT49F001N		0x05	/* Same as AT49F001 */
200*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT49F001NT	0x04	/* Same as AT49F001T */
201*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT49F002N		0x07	/* for AT49F002(N)  */
202*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT49LH002		0xE9
203*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT49LH00B4	0xED
204*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT49LH004		0xEE
205*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT49F002NT	0x08	/* for AT49F002(N)T */
206*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT49F010		0x17	/* Same as AT49HF010 (some erroneous datasheets say 0x87), AT49BV010, AT49HBV010, AT49HLV010 */
207*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT49F020		0x0B
208*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT49F040		0x13
209*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT49F080		0x23
210*0d6140beSAndroid Build Coastguard Worker #define ATMEL_AT49F080T		0x27
211*0d6140beSAndroid Build Coastguard Worker 
212*0d6140beSAndroid Build Coastguard Worker /* Boya/BoHong Microelectronics Inc. */
213*0d6140beSAndroid Build Coastguard Worker #define BOYA_BOHONG_ID		0x68
214*0d6140beSAndroid Build Coastguard Worker #define BOYA_BOHONG_B__25D80A	0x4014
215*0d6140beSAndroid Build Coastguard Worker #define BOYA_BOHONG_B_25D16A	0x4015
216*0d6140beSAndroid Build Coastguard Worker #define BOYA_BOHONG_B_25Q64AS	0x4017
217*0d6140beSAndroid Build Coastguard Worker #define BOYA_BOHONG_B_25Q128AS	0x4018
218*0d6140beSAndroid Build Coastguard Worker 
219*0d6140beSAndroid Build Coastguard Worker /* Bright Microelectronics has the same manufacturer ID as Hyundai... */
220*0d6140beSAndroid Build Coastguard Worker #define BRIGHT_ID		0xAD	/* Bright Microelectronics */
221*0d6140beSAndroid Build Coastguard Worker #define BRIGHT_BM29F040		0x40
222*0d6140beSAndroid Build Coastguard Worker #define BRIGHT_BM29F400B	0xAB
223*0d6140beSAndroid Build Coastguard Worker #define BRIGHT_BM29F400T	0xAD
224*0d6140beSAndroid Build Coastguard Worker 
225*0d6140beSAndroid Build Coastguard Worker #define CATALYST_ID		0x31	/* Catalyst */
226*0d6140beSAndroid Build Coastguard Worker #define CATALYST_CAT28F512	0xB8
227*0d6140beSAndroid Build Coastguard Worker 
228*0d6140beSAndroid Build Coastguard Worker #define ESMT_ID			0x8C	/* Elite Semiconductor Memory Technology (ESMT) / EFST Elite Flash Storage */
229*0d6140beSAndroid Build Coastguard Worker #define ESMT_F25L008A		0x2014
230*0d6140beSAndroid Build Coastguard Worker #define ESMT_F25L32PA		0x2016
231*0d6140beSAndroid Build Coastguard Worker #define ESMT_F25D08QA		0x2534
232*0d6140beSAndroid Build Coastguard Worker #define ESMT_F25L16QA2S		0x4015
233*0d6140beSAndroid Build Coastguard Worker #define ESMT_F25L32QA		0x4016
234*0d6140beSAndroid Build Coastguard Worker #define ESMT_F25L32QA2S		0x4116
235*0d6140beSAndroid Build Coastguard Worker #define ESMT_F25L64QA		0x4117
236*0d6140beSAndroid Build Coastguard Worker #define ESMT_F25L128QA		0x4118
237*0d6140beSAndroid Build Coastguard Worker #define ESMT_F49B002UA		0x00
238*0d6140beSAndroid Build Coastguard Worker 
239*0d6140beSAndroid Build Coastguard Worker /*
240*0d6140beSAndroid Build Coastguard Worker  * EN25 chips are SPI, first byte of device ID is memory type,
241*0d6140beSAndroid Build Coastguard Worker  * second byte of device ID is log(bitsize)-9.
242*0d6140beSAndroid Build Coastguard Worker  * Vendor and device ID of EN29 series are both prefixed with 0x7F, which
243*0d6140beSAndroid Build Coastguard Worker  * is the continuation code for IDs in bank 2.
244*0d6140beSAndroid Build Coastguard Worker  * Vendor ID of EN25 series is NOT prefixed with 0x7F, this results in
245*0d6140beSAndroid Build Coastguard Worker  * a collision with Mitsubishi. Mitsubishi once manufactured flash chips.
246*0d6140beSAndroid Build Coastguard Worker  * Let's hope they are not manufacturing SPI flash chips as well.
247*0d6140beSAndroid Build Coastguard Worker  */
248*0d6140beSAndroid Build Coastguard Worker #define EON_ID			0x7F1C	/* EON Silicon Devices */
249*0d6140beSAndroid Build Coastguard Worker #define EON_ID_NOPREFIX		0x1C	/* EON, missing 0x7F prefix */
250*0d6140beSAndroid Build Coastguard Worker #define EON_EN25B05		0x2010	/* Same as EN25P05, can be distinguished by RES/REMS: */
251*0d6140beSAndroid Build Coastguard Worker #define EON_EN25P05		0x05
252*0d6140beSAndroid Build Coastguard Worker #define EON_EN25B05T		0x25
253*0d6140beSAndroid Build Coastguard Worker #define EON_EN25B05B		0x95
254*0d6140beSAndroid Build Coastguard Worker #define EON_EN25B10		0x2011	/* Same as EN25P10, can be distinguished by RES/REMS: */
255*0d6140beSAndroid Build Coastguard Worker #define EON_EN25P10		0x10
256*0d6140beSAndroid Build Coastguard Worker #define EON_EN25B10T		0x40
257*0d6140beSAndroid Build Coastguard Worker #define EON_EN25B10B		0x30
258*0d6140beSAndroid Build Coastguard Worker #define EON_EN25B20		0x2012	/* Same as EN25P20, can be distinguished by RES/REMS: */
259*0d6140beSAndroid Build Coastguard Worker #define EON_EN25P20		0x11
260*0d6140beSAndroid Build Coastguard Worker #define EON_EN25B20T		0x41
261*0d6140beSAndroid Build Coastguard Worker #define EON_EN25B20B		0x31
262*0d6140beSAndroid Build Coastguard Worker #define EON_EN25B40		0x2013	/* Same as EN25P40, can be distinguished by RES/REMS: */
263*0d6140beSAndroid Build Coastguard Worker #define EON_EN25P40		0x12
264*0d6140beSAndroid Build Coastguard Worker #define EON_EN25B40T		0x42
265*0d6140beSAndroid Build Coastguard Worker #define EON_EN25B40B		0x32
266*0d6140beSAndroid Build Coastguard Worker #define EON_EN25B80		0x2014	/* Same as EN25P80, can be distinguished by RES/REMS: */
267*0d6140beSAndroid Build Coastguard Worker #define EON_EN25P80		0x13
268*0d6140beSAndroid Build Coastguard Worker #define EON_EN25B80T		0x43
269*0d6140beSAndroid Build Coastguard Worker #define EON_EN25B80B		0x33
270*0d6140beSAndroid Build Coastguard Worker #define EON_EN25B16		0x2015	/* Same as EN25P16, can be distinguished by RES/REMS: */
271*0d6140beSAndroid Build Coastguard Worker #define EON_EN25P16		0x14
272*0d6140beSAndroid Build Coastguard Worker #define EON_EN25B16T		0x44
273*0d6140beSAndroid Build Coastguard Worker #define EON_EN25B16B		0x34
274*0d6140beSAndroid Build Coastguard Worker #define EON_EN25B32		0x2016	/* Same as EN25P32, can be distinguished by RES/REMS: */
275*0d6140beSAndroid Build Coastguard Worker #define EON_EN25P32		0x15
276*0d6140beSAndroid Build Coastguard Worker #define EON_EN25B32T		0x45
277*0d6140beSAndroid Build Coastguard Worker #define EON_EN25B32B		0x35
278*0d6140beSAndroid Build Coastguard Worker #define EON_EN25B64		0x2017	/* Same as EN25P64, can be distinguished by RES/REMS: */
279*0d6140beSAndroid Build Coastguard Worker #define EON_EN25P64		0x16
280*0d6140beSAndroid Build Coastguard Worker #define EON_EN25B64T		0x46
281*0d6140beSAndroid Build Coastguard Worker #define EON_EN25B64B		0x36
282*0d6140beSAndroid Build Coastguard Worker #define EON_EN25F05		0x3110
283*0d6140beSAndroid Build Coastguard Worker #define EON_EN25F10		0x3111
284*0d6140beSAndroid Build Coastguard Worker #define EON_EN25F20		0x3112
285*0d6140beSAndroid Build Coastguard Worker #define EON_EN25F40		0x3113
286*0d6140beSAndroid Build Coastguard Worker #define EON_EN25F80		0x3114
287*0d6140beSAndroid Build Coastguard Worker #define EON_EN25F16		0x3115
288*0d6140beSAndroid Build Coastguard Worker #define EON_EN25F32		0x3116
289*0d6140beSAndroid Build Coastguard Worker #define EON_EN25F64		0x3117
290*0d6140beSAndroid Build Coastguard Worker #define EON_EN25Q40		0x3013
291*0d6140beSAndroid Build Coastguard Worker #define EON_EN25Q80		0x3014
292*0d6140beSAndroid Build Coastguard Worker #define EON_EN25Q16		0x3015	/* Same as EN25D16 */
293*0d6140beSAndroid Build Coastguard Worker #define EON_EN25Q32		0x3016	/* Same as EN25Q32A and EN25Q32B */
294*0d6140beSAndroid Build Coastguard Worker #define EON_EN25Q64		0x3017
295*0d6140beSAndroid Build Coastguard Worker #define EON_EN25Q128		0x3018
296*0d6140beSAndroid Build Coastguard Worker #define EON_EN25QH16		0x7015
297*0d6140beSAndroid Build Coastguard Worker #define EON_EN25QH32		0x7016
298*0d6140beSAndroid Build Coastguard Worker #define EON_EN25QH64		0x7017
299*0d6140beSAndroid Build Coastguard Worker #define EON_EN25QH128		0x7018
300*0d6140beSAndroid Build Coastguard Worker #define EON_EN25QH256		0x7019
301*0d6140beSAndroid Build Coastguard Worker #define EON_EN25S10		0x3811
302*0d6140beSAndroid Build Coastguard Worker #define EON_EN25S20		0x3812
303*0d6140beSAndroid Build Coastguard Worker #define EON_EN25S40		0x3813
304*0d6140beSAndroid Build Coastguard Worker #define EON_EN25S80		0x3814
305*0d6140beSAndroid Build Coastguard Worker #define EON_EN25S16		0x3815
306*0d6140beSAndroid Build Coastguard Worker #define EON_EN25S32		0x3816
307*0d6140beSAndroid Build Coastguard Worker #define EON_EN25S64		0x3817
308*0d6140beSAndroid Build Coastguard Worker #define EON_EN25T80		0x5114
309*0d6140beSAndroid Build Coastguard Worker #define EON_EN25T16		0x5115
310*0d6140beSAndroid Build Coastguard Worker #define EON_EN29F512		0x7F21
311*0d6140beSAndroid Build Coastguard Worker #define EON_EN29F010		0x20
312*0d6140beSAndroid Build Coastguard Worker #define EON_EN29F040A		0x7F04
313*0d6140beSAndroid Build Coastguard Worker #define EON_EN29LV010		0x7F6E
314*0d6140beSAndroid Build Coastguard Worker #define EON_EN29LV040		0x4F	/* Same as EN29LV040A */
315*0d6140beSAndroid Build Coastguard Worker #define EON_EN29LV640B		0xCB
316*0d6140beSAndroid Build Coastguard Worker #define EON_EN29LV640T		0xC9
317*0d6140beSAndroid Build Coastguard Worker #define EON_EN29LV640U		0x7E
318*0d6140beSAndroid Build Coastguard Worker #define EON_EN29F002T		0x7F92	/* Same as EN29F002A */
319*0d6140beSAndroid Build Coastguard Worker #define EON_EN29F002B		0x7F97	/* Same as EN29F002AN */
320*0d6140beSAndroid Build Coastguard Worker #define EON_EN29GL064HL		0x7E0C01	/* Uniform Sectors, WP protects Top OR Bottom sector */
321*0d6140beSAndroid Build Coastguard Worker #define EON_EN29GL064T		0x7E1001	/* Same ID as EN29GL064AT */
322*0d6140beSAndroid Build Coastguard Worker #define EON_EN29GL064B		0x7E1000	/* Same ID as EN29GL064AB */
323*0d6140beSAndroid Build Coastguard Worker #define EON_EN29GL128HL		0x7F2101	/* Uniform Sectors, WP protects Top OR Bottom sector */
324*0d6140beSAndroid Build Coastguard Worker #define EON_EN29GL256HL		0x7F2201	/* Uniform Sectors, WP protects Top OR Bottom sector */
325*0d6140beSAndroid Build Coastguard Worker 
326*0d6140beSAndroid Build Coastguard Worker #define EXCEL_ID		0x7F7F7F7F4A	/* Excel Semiconductor Inc. (ESI) resides in bank 5 */
327*0d6140beSAndroid Build Coastguard Worker #define EXCEL_ID_NOPREFIX	0x4A	/* ESI, missing 0x7F prefix */
328*0d6140beSAndroid Build Coastguard Worker #define EXCEL_ES25P40		0x2013
329*0d6140beSAndroid Build Coastguard Worker #define EXCEL_ES25P80		0x2014
330*0d6140beSAndroid Build Coastguard Worker #define EXCEL_ES25P16		0x2015
331*0d6140beSAndroid Build Coastguard Worker 
332*0d6140beSAndroid Build Coastguard Worker #define FIDELIX_ID		0xF8	/* Fidelix */
333*0d6140beSAndroid Build Coastguard Worker #define FIDELIX_FM25M16		0x4215
334*0d6140beSAndroid Build Coastguard Worker #define FIDELIX_FM25M32		0x4216
335*0d6140beSAndroid Build Coastguard Worker #define FIDELIX_FM25M64		0x4217
336*0d6140beSAndroid Build Coastguard Worker #define FIDELIX_FM25Q08		0x3214
337*0d6140beSAndroid Build Coastguard Worker #define FIDELIX_FM25Q16		0x3215	/* Same as FM25S16 (which is apparently single I/O only) */
338*0d6140beSAndroid Build Coastguard Worker #define FIDELIX_FM25Q32		0x3216
339*0d6140beSAndroid Build Coastguard Worker #define FIDELIX_FM25Q64		0x3217
340*0d6140beSAndroid Build Coastguard Worker 
341*0d6140beSAndroid Build Coastguard Worker #define FUDAN_ID		0x7F7F7F7F7F7F7FA1	/* Shanghai Fudan Microelectronics resides in bank 8 */
342*0d6140beSAndroid Build Coastguard Worker #define FUDAN_ID_NOPREFIX	0xA1	/* Fudan, missing 0x7F prefix */
343*0d6140beSAndroid Build Coastguard Worker #define FUDAN_FM25F005		0x3110
344*0d6140beSAndroid Build Coastguard Worker #define FUDAN_FM25F01		0x3111
345*0d6140beSAndroid Build Coastguard Worker #define FUDAN_FM25F02		0x3112	/* Same as FM25F02A */
346*0d6140beSAndroid Build Coastguard Worker #define FUDAN_FM25F04		0x3113	/* Same as FM25F04A */
347*0d6140beSAndroid Build Coastguard Worker #define FUDAN_FM25Q04		0x4013
348*0d6140beSAndroid Build Coastguard Worker #define FUDAN_FM25Q08		0x4014
349*0d6140beSAndroid Build Coastguard Worker #define FUDAN_FM25Q16		0x4015
350*0d6140beSAndroid Build Coastguard Worker #define FUDAN_FM25Q32		0x4016
351*0d6140beSAndroid Build Coastguard Worker #define FUDAN_FM25Q64		0x4017
352*0d6140beSAndroid Build Coastguard Worker #define FUDAN_FM25Q128		0x4018
353*0d6140beSAndroid Build Coastguard Worker 
354*0d6140beSAndroid Build Coastguard Worker #define FUJITSU_ID		0x04	/* Fujitsu */
355*0d6140beSAndroid Build Coastguard Worker #define FUJITSU_MBM29DL400BC	0x0F
356*0d6140beSAndroid Build Coastguard Worker #define FUJITSU_MBM29DL400TC	0x0C
357*0d6140beSAndroid Build Coastguard Worker #define FUJITSU_MBM29DL800BA	0xCB
358*0d6140beSAndroid Build Coastguard Worker #define FUJITSU_MBM29DL800TA	0x4A
359*0d6140beSAndroid Build Coastguard Worker #define FUJITSU_MBM29F002BC	0x34
360*0d6140beSAndroid Build Coastguard Worker #define FUJITSU_MBM29F002TC	0xB0
361*0d6140beSAndroid Build Coastguard Worker #define FUJITSU_MBM29F004BC	0x7B
362*0d6140beSAndroid Build Coastguard Worker #define FUJITSU_MBM29F004TC	0x77
363*0d6140beSAndroid Build Coastguard Worker #define FUJITSU_MBM29F040C	0xA4
364*0d6140beSAndroid Build Coastguard Worker #define FUJITSU_MBM29F080A	0xD5
365*0d6140beSAndroid Build Coastguard Worker #define FUJITSU_MBM29F200BC	0x57
366*0d6140beSAndroid Build Coastguard Worker #define FUJITSU_MBM29F200TC	0x51
367*0d6140beSAndroid Build Coastguard Worker #define FUJITSU_MBM29F400BC	0xAB
368*0d6140beSAndroid Build Coastguard Worker #define FUJITSU_MBM29F400TC	0x23
369*0d6140beSAndroid Build Coastguard Worker #define FUJITSU_MBM29F800BA	0x58
370*0d6140beSAndroid Build Coastguard Worker #define FUJITSU_MBM29F800TA	0xD6
371*0d6140beSAndroid Build Coastguard Worker #define FUJITSU_MBM29LV002BC	0xC2
372*0d6140beSAndroid Build Coastguard Worker #define FUJITSU_MBM29LV002TC	0x40
373*0d6140beSAndroid Build Coastguard Worker #define FUJITSU_MBM29LV004BC	0xB6
374*0d6140beSAndroid Build Coastguard Worker #define FUJITSU_MBM29LV004TC	0xB5
375*0d6140beSAndroid Build Coastguard Worker #define FUJITSU_MBM29LV008BA	0x37
376*0d6140beSAndroid Build Coastguard Worker #define FUJITSU_MBM29LV008TA	0x3E
377*0d6140beSAndroid Build Coastguard Worker #define FUJITSU_MBM29LV080A	0x38
378*0d6140beSAndroid Build Coastguard Worker #define FUJITSU_MBM29LV200BC	0xBF
379*0d6140beSAndroid Build Coastguard Worker #define FUJITSU_MBM29LV200TC	0x3B
380*0d6140beSAndroid Build Coastguard Worker #define FUJITSU_MBM29LV400BC	0xBA
381*0d6140beSAndroid Build Coastguard Worker #define FUJITSU_MBM29LV400TC	0xB9
382*0d6140beSAndroid Build Coastguard Worker #define FUJITSU_MBM29LV800BA	0x5B	/* Same as MBM29LV800BE */
383*0d6140beSAndroid Build Coastguard Worker #define FUJITSU_MBM29LV800TA	0xDA	/* Same as MBM29LV800TE */
384*0d6140beSAndroid Build Coastguard Worker #define FUJITSU_MBM29LV160BE	0x49	/* 16 b mode 0x2249 */
385*0d6140beSAndroid Build Coastguard Worker #define FUJITSU_MBM29LV160TE	0xC4	/* 16 b mode 0x22C4 */
386*0d6140beSAndroid Build Coastguard Worker 
387*0d6140beSAndroid Build Coastguard Worker #define GIGADEVICE_ID		0xC8	/* GigaDevice */
388*0d6140beSAndroid Build Coastguard Worker #define GIGADEVICE_GD25T80	0x3114
389*0d6140beSAndroid Build Coastguard Worker #define GIGADEVICE_GD25Q512	0x4010
390*0d6140beSAndroid Build Coastguard Worker #define GIGADEVICE_GD25Q10	0x4011
391*0d6140beSAndroid Build Coastguard Worker #define GIGADEVICE_GD25Q20	0x4012	/* Same as GD25QB */
392*0d6140beSAndroid Build Coastguard Worker #define GIGADEVICE_GD25Q40	0x4013	/* Same as GD25QB */
393*0d6140beSAndroid Build Coastguard Worker #define GIGADEVICE_GD25Q80	0x4014	/* Same as GD25Q80B (which has OTP) */
394*0d6140beSAndroid Build Coastguard Worker #define GIGADEVICE_GD25Q16	0x4015	/* Same as GD25Q16B (which has OTP) */
395*0d6140beSAndroid Build Coastguard Worker #define GIGADEVICE_GD25Q32	0x4016	/* Same as GD25Q32B */
396*0d6140beSAndroid Build Coastguard Worker #define GIGADEVICE_GD25Q64	0x4017	/* Same as GD25Q64B */
397*0d6140beSAndroid Build Coastguard Worker #define GIGADEVICE_GD25Q128	0x4018	/* Same as GD25Q128B, GD25Q127C, GD25Q128C, and GD25Q128E, can be distinguished by SFDP */
398*0d6140beSAndroid Build Coastguard Worker #define GIGADEVICE_GD25Q256D	0x4019
399*0d6140beSAndroid Build Coastguard Worker #define GIGADEVICE_GD25VQ21B	0x4212
400*0d6140beSAndroid Build Coastguard Worker #define GIGADEVICE_GD25VQ41B	0x4213  /* Same as GD25VQ40C, can be distinguished by SFDP */
401*0d6140beSAndroid Build Coastguard Worker #define GIGADEVICE_GD25VQ80C	0x4214
402*0d6140beSAndroid Build Coastguard Worker #define GIGADEVICE_GD25VQ16C	0x4215
403*0d6140beSAndroid Build Coastguard Worker #define GIGADEVICE_GD25F64F	0x4317
404*0d6140beSAndroid Build Coastguard Worker #define GIGADEVICE_GD25F128F	0x4318
405*0d6140beSAndroid Build Coastguard Worker #define GIGADEVICE_GD25F256F	0x4319
406*0d6140beSAndroid Build Coastguard Worker #define GIGADEVICE_GD25LQ40	0x6013
407*0d6140beSAndroid Build Coastguard Worker #define GIGADEVICE_GD25LQ80	0x6014
408*0d6140beSAndroid Build Coastguard Worker #define GIGADEVICE_GD25LQ16	0x6015
409*0d6140beSAndroid Build Coastguard Worker #define GIGADEVICE_GD25LQ32	0x6016
410*0d6140beSAndroid Build Coastguard Worker #define GIGADEVICE_GD25LQ64	0x6017	/* Same as GD25LQ64B (which is faster) */
411*0d6140beSAndroid Build Coastguard Worker #define GIGADEVICE_GD25LQ128CD	0x6018
412*0d6140beSAndroid Build Coastguard Worker #define GIGADEVICE_GD25LQ255E	0x6019
413*0d6140beSAndroid Build Coastguard Worker #define GIGADEVICE_GD25LB512MF	0x601A  /* Same as GD25LR512MF */
414*0d6140beSAndroid Build Coastguard Worker #define GIGADEVICE_GD25LF128E	0x6318
415*0d6140beSAndroid Build Coastguard Worker #define GIGADEVICE_GD25LF256F	0x6319
416*0d6140beSAndroid Build Coastguard Worker #define GIGADEVICE_GD25LF512MF	0x631A
417*0d6140beSAndroid Build Coastguard Worker #define GIGADEVICE_GD25LR256E	0x6719
418*0d6140beSAndroid Build Coastguard Worker #define GIGADEVICE_GD25LR512ME	0x671A	/*	Same as GD25LB512ME */
419*0d6140beSAndroid Build Coastguard Worker #define GIGADEVICE_GD25WQ80E	0x6514
420*0d6140beSAndroid Build Coastguard Worker #define GIGADEVICE_GD29GL064CAB	0x7E0601
421*0d6140beSAndroid Build Coastguard Worker 
422*0d6140beSAndroid Build Coastguard Worker #define HYUNDAI_ID		0xAD	/* Hyundai */
423*0d6140beSAndroid Build Coastguard Worker #define HYUNDAI_HY29F400T	0x23	/* Same as HY29F400AT */
424*0d6140beSAndroid Build Coastguard Worker #define HYUNDAI_HY29F800B	0x58	/* Same as HY29F800AB */
425*0d6140beSAndroid Build Coastguard Worker #define HYUNDAI_HY29LV800B	0x5B
426*0d6140beSAndroid Build Coastguard Worker #define HYUNDAI_HY29F040A	0xA4
427*0d6140beSAndroid Build Coastguard Worker #define HYUNDAI_HY29F400B	0xAB	/* Same as HY29F400AB */
428*0d6140beSAndroid Build Coastguard Worker #define HYUNDAI_HY29F002B	0x34
429*0d6140beSAndroid Build Coastguard Worker #define HYUNDAI_HY29F002T	0xB0
430*0d6140beSAndroid Build Coastguard Worker #define HYUNDAI_HY29LV400T	0xB9
431*0d6140beSAndroid Build Coastguard Worker #define HYUNDAI_HY29LV400B	0xBA
432*0d6140beSAndroid Build Coastguard Worker #define HYUNDAI_HY29F080	0xD5
433*0d6140beSAndroid Build Coastguard Worker #define HYUNDAI_HY29F800T	0xD6	/* Same as HY29F800AT */
434*0d6140beSAndroid Build Coastguard Worker #define HYUNDAI_HY29LV800T	0xDA
435*0d6140beSAndroid Build Coastguard Worker 
436*0d6140beSAndroid Build Coastguard Worker #define IMT_ID			0x7F1F	/* Integrated Memory Technologies */
437*0d6140beSAndroid Build Coastguard Worker #define IMT_IM29F004B		0xAE
438*0d6140beSAndroid Build Coastguard Worker #define IMT_IM29F004T		0xAF
439*0d6140beSAndroid Build Coastguard Worker 
440*0d6140beSAndroid Build Coastguard Worker #define INTEL_ID		0x89	/* Intel */
441*0d6140beSAndroid Build Coastguard Worker #define INTEL_28F320J5		0x14
442*0d6140beSAndroid Build Coastguard Worker #define INTEL_28F640J5		0x15
443*0d6140beSAndroid Build Coastguard Worker #define INTEL_28F320J3		0x16
444*0d6140beSAndroid Build Coastguard Worker #define INTEL_28F640J3		0x17
445*0d6140beSAndroid Build Coastguard Worker #define INTEL_28F128J3		0x18
446*0d6140beSAndroid Build Coastguard Worker #define INTEL_28F256J3		0x1D
447*0d6140beSAndroid Build Coastguard Worker #define INTEL_28F400T		0x70	/* 28F400BV/BX/CE/CV-T */
448*0d6140beSAndroid Build Coastguard Worker #define INTEL_28F400B		0x71	/* 28F400BV/BX/CE/CV-B */
449*0d6140beSAndroid Build Coastguard Worker #define INTEL_28F200T		0x74	/* 28F200BL/BV/BX/CV-T */
450*0d6140beSAndroid Build Coastguard Worker #define INTEL_28F200B		0x75	/* 28F200BL/BV/BX/CV-B */
451*0d6140beSAndroid Build Coastguard Worker #define INTEL_28F004T		0x78	/* 28F004B5/BE/BV/BX-T */
452*0d6140beSAndroid Build Coastguard Worker #define INTEL_28F004B		0x79	/* 28F004B5/BE/BV/BX-B */
453*0d6140beSAndroid Build Coastguard Worker #define INTEL_28F002T		0x7C	/* 28F002BC/BL/BV/BX-T */
454*0d6140beSAndroid Build Coastguard Worker #define INTEL_28F002B		0x7D	/* 28F002BL/BV/BX-B */
455*0d6140beSAndroid Build Coastguard Worker #define INTEL_28F001T		0x94	/* 28F001BN/BX-T */
456*0d6140beSAndroid Build Coastguard Worker #define INTEL_28F001B		0x95	/* 28F001BN/BX-B */
457*0d6140beSAndroid Build Coastguard Worker #define INTEL_28F008T		0x98	/* 28F008BE/BV-T */
458*0d6140beSAndroid Build Coastguard Worker #define INTEL_28F008B		0x99	/* 28F008BE/BV-B */
459*0d6140beSAndroid Build Coastguard Worker #define INTEL_28F800T		0x9C	/* 28F800B5/BV/CE/CV-T */
460*0d6140beSAndroid Build Coastguard Worker #define INTEL_28F800B		0x9D	/* 28F800B5/BV/CE/CV-B */
461*0d6140beSAndroid Build Coastguard Worker #define INTEL_28F016SV		0xA0	/* 28F016SA/SV */
462*0d6140beSAndroid Build Coastguard Worker #define INTEL_28F008SA		0xA2
463*0d6140beSAndroid Build Coastguard Worker #define INTEL_28F008S3		0xA6	/* 28F008S3/S5/SC */
464*0d6140beSAndroid Build Coastguard Worker #define INTEL_28F004S3		0xA7	/* 28F008S3/S5/SC */
465*0d6140beSAndroid Build Coastguard Worker #define INTEL_28F016XS		0xA8
466*0d6140beSAndroid Build Coastguard Worker #define INTEL_28F016S3		0xAA	/* 28F016S3/S5/SC */
467*0d6140beSAndroid Build Coastguard Worker #define INTEL_82802AC		0xAC
468*0d6140beSAndroid Build Coastguard Worker #define INTEL_82802AB		0xAD
469*0d6140beSAndroid Build Coastguard Worker #define INTEL_28F010		0xB4
470*0d6140beSAndroid Build Coastguard Worker #define INTEL_28F512		0xB8
471*0d6140beSAndroid Build Coastguard Worker #define INTEL_28F256A		0xB9
472*0d6140beSAndroid Build Coastguard Worker #define INTEL_28F020		0xBD
473*0d6140beSAndroid Build Coastguard Worker #define INTEL_28F016B3T		0xD0	/* 28F016B3-T */
474*0d6140beSAndroid Build Coastguard Worker #define INTEL_28F016B3B		0xD1	/* 28F016B3-B */
475*0d6140beSAndroid Build Coastguard Worker #define INTEL_28F008B3T		0xD2	/* 28F008B3-T */
476*0d6140beSAndroid Build Coastguard Worker #define INTEL_28F008B3B		0xD3	/* 28F008B3-B */
477*0d6140beSAndroid Build Coastguard Worker #define INTEL_28F004B3T		0xD4	/* 28F004B3-T */
478*0d6140beSAndroid Build Coastguard Worker #define INTEL_28F004B3B		0xD5	/* 28F004B3-B */
479*0d6140beSAndroid Build Coastguard Worker #define INTEL_25F160S33B8	0x8911	/* Same as 25F016S33B8 */
480*0d6140beSAndroid Build Coastguard Worker #define INTEL_25F320S33B8	0x8912
481*0d6140beSAndroid Build Coastguard Worker #define INTEL_25F640S33B8	0x8913
482*0d6140beSAndroid Build Coastguard Worker #define INTEL_25F160S33T8	0x8915	/* Same as 25F016S33T8 */
483*0d6140beSAndroid Build Coastguard Worker #define INTEL_25F320S33T8	0x8916
484*0d6140beSAndroid Build Coastguard Worker #define INTEL_25F640S33T8	0x8917
485*0d6140beSAndroid Build Coastguard Worker 
486*0d6140beSAndroid Build Coastguard Worker #define SHARP_LH28F008SA	0xA2	/* Sharp chip, Intel Vendor ID */
487*0d6140beSAndroid Build Coastguard Worker #define SHARP_LH28F008SC	0xA6	/* Sharp chip, Intel Vendor ID */
488*0d6140beSAndroid Build Coastguard Worker 
489*0d6140beSAndroid Build Coastguard Worker #define ISSI_ID			0xD5	/* ISSI Integrated Silicon Solutions, see also PMC. */
490*0d6140beSAndroid Build Coastguard Worker #define ISSI_ID_SPI		0x9D	/* ISSI ID used for SPI flash, see also PMC_ID_NOPREFIX */
491*0d6140beSAndroid Build Coastguard Worker #define ISSI_IS25LP016		0x6015
492*0d6140beSAndroid Build Coastguard Worker #define ISSI_IS25LP064		0x6017
493*0d6140beSAndroid Build Coastguard Worker #define ISSI_IS25LP128		0x6018
494*0d6140beSAndroid Build Coastguard Worker #define ISSI_IS25LP256		0x6019
495*0d6140beSAndroid Build Coastguard Worker #define ISSI_IS25LQ016		0x1445
496*0d6140beSAndroid Build Coastguard Worker #define ISSI_IS25WP016		0x7015
497*0d6140beSAndroid Build Coastguard Worker #define ISSI_IS25WP020		0x7012
498*0d6140beSAndroid Build Coastguard Worker #define ISSI_IS25WP032		0x7016
499*0d6140beSAndroid Build Coastguard Worker #define ISSI_IS25WP040		0x7013
500*0d6140beSAndroid Build Coastguard Worker #define ISSI_IS25WP064		0x7017
501*0d6140beSAndroid Build Coastguard Worker #define ISSI_IS25WP080		0x7014
502*0d6140beSAndroid Build Coastguard Worker #define ISSI_IS25WP128		0x7018
503*0d6140beSAndroid Build Coastguard Worker #define ISSI_IS25WP256		0x7019
504*0d6140beSAndroid Build Coastguard Worker #define ISSI_IS25WQ040		0x1253
505*0d6140beSAndroid Build Coastguard Worker #define ISSI_PMC_IS29GL032B	0xF9
506*0d6140beSAndroid Build Coastguard Worker #define ISSI_PMC_IS29GL032T	0xF6
507*0d6140beSAndroid Build Coastguard Worker #define ISSI_PMC_IS29GL064B	0x7E1000
508*0d6140beSAndroid Build Coastguard Worker #define ISSI_PMC_IS29GL064T	0x7E1001
509*0d6140beSAndroid Build Coastguard Worker #define ISSI_PMC_IS29GL064HL	0x7E0C01
510*0d6140beSAndroid Build Coastguard Worker #define ISSI_PMC_IS29GL128HL	0x7E2101
511*0d6140beSAndroid Build Coastguard Worker #define ISSI_PMC_IS29GL256HL	0x7E2201
512*0d6140beSAndroid Build Coastguard Worker 
513*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_ID		0xC2	/* Macronix (MX) */
514*0d6140beSAndroid Build Coastguard Worker /* Mask ROMs */
515*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX23L1654	0x0515
516*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX23L3254	0x0516
517*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX23L6454	0x0517
518*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX23L12854	0x0518
519*0d6140beSAndroid Build Coastguard Worker /* MX25 chips are SPI, first byte of device ID is memory type,
520*0d6140beSAndroid Build Coastguard Worker  * second byte of device ID is log(bitsize)-9.
521*0d6140beSAndroid Build Coastguard Worker  * Generalplus SPI chips seem to be compatible with Macronix
522*0d6140beSAndroid Build Coastguard Worker  * and use the same set of IDs. */
523*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX25L512	0x2010	/* Same as MX25L512E, MX25V512, MX25V512C */
524*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX25L5121E	0x2210
525*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX25L1005	0x2011	/* Same as MX25L1005C, MX25L1006E */
526*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX25L2005	0x2012	/* Same as MX25L2005C, MX25L2006E */
527*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX25L4005	0x2013	/* Same as MX25L4005A, MX25L4005C, MX25L4006E */
528*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX25L8005	0x2014	/* Same as MX25V8005, MX25L8006E, MX25L8008E, FIXME: MX25L8073E (4k 0x20) */
529*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX25L1605	0x2015	/* MX25L1605 (64k 0x20); MX25V16066 (4k 0x20, 32k 0x52, 64k 0xD8); MX25L1605A/MX25L1606E/MX25L1608E (4k 0x20, 64k 0x52); MX25L1605D/MX25L1608D/MX25L1673E (4k 0x20) */
530*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX25L3205	0x2016	/* MX25L3205, MX25L3205A (64k 0x20); MX25L3205D/MX25L3208D (4k 0x20); MX25L3206E/MX25L3208E (4k 0x20, 64k 0x52); MX25L3233F/MX25L3273E (4k 0x20, 32k 0x52) */
531*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX25L6405	0x2017	/* MX25L6405, MX25L6405D (64k 0x20); MX25L6406E/MX25L6408E (4k 0x20); MX25L6436E/MX25L6445E/MX25L6465E/MX25L6473E (4k 0x20, 32k 0x52) */
532*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX25L12805D	0x2018	/* MX25L12805D (no 32k); MX25L12865E, MX25L12835F, MX25L12845E, MX25L12873F, MX25L12833F, MX25L12850F (32k 0x52) */
533*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX25L25635F	0x2019	/* Same as MX25L25639F, but the latter seems to not support REMS */
534*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX25L1635D	0x2415        /* MX25L1633E */
535*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX25L1635E	0x2515	/* MX25L1635{E} */
536*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX66L51235F	0x201a	/* MX66L51235F, MX25L51245G */
537*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX66L1G45G	0x201b	/* MX66L1G45G */
538*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX25V4035F	0x2313
539*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX25V8035F	0x2314
540*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX25V1635F	0x2315	/* MX25V1636E */
541*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX25U8032E	0x2534
542*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX25U1635E	0x2535
543*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX25U3235E	0x2536	/* Same as MX25U6435F */
544*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX25U6435E	0x2537	/* Same as MX25U6435F */
545*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX25U12835E	0x2538	/* Same as MX25U12835F */
546*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX25U25635F	0x2539     /* Same as MX25U25643G, MX25U25645G */
547*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX25U51245G	0x253a
548*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX25L3235D	0x5E16	/* MX25L3225D/MX25L3235D/MX25L3237D */
549*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX25L6495F	0x9517
550*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX25L3255E	0x9e16
551*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX77L25650F	0x7519
552*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX77U51250F	0x753A
553*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX25L3239E     0x2536
554*0d6140beSAndroid Build Coastguard Worker 
555*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX25R1635F	0x2815
556*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX25R3235F	0x2816
557*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX25R6435F	0x2817
558*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX25R2035F	0x2812
559*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX25R4035F	0x2813
560*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX25R8035F	0x2814
561*0d6140beSAndroid Build Coastguard Worker 
562*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX29F001B	0x19
563*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX29F001T	0x18
564*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX29F002B	0x34	/* Same as MX29F002NB; N has reset pin n/c. */
565*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX29F002T	0xB0	/* Same as MX29F002NT; N has reset pin n/c. */
566*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX29F004B	0x46
567*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX29F004T	0x45
568*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX29F022B	0x37	/* Same as MX29F022NB */
569*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX29F022T	0x36	/* Same as MX29F022NT */
570*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX29F040	0xA4	/* Same as MX29F040C */
571*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX29F080	0xD5
572*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX29F200B	0x57	/* Same as MX29F200CB */
573*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX29F200T	0x51	/* Same as MX29F200CT */
574*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX29F400B	0xAB	/* Same as MX29F400CB */
575*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX29F400T	0x23	/* Same as MX29F400CT */
576*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX29F800B	0x58
577*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX29F800T	0xD6
578*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX29GL320EB	0x7E1A00
579*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX29GL320ET	0x7E1A01
580*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX29GL320EHL	0x7E1D00
581*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX29GL640EB	0x7E1000
582*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX29GL640ET	0x7E1001
583*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX29GL640EHL	0x7E0C01
584*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX29GL128F	0x7E2101 /* Same as MX29GL128E */
585*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX29GL256F	0x7E2201 /* Same as MX29GL256E */
586*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX29GL512F	0x7E2301
587*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX68GL1G0F	0x7E2801
588*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX29LV002CB	0x5A
589*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX29LV002CT	0x59
590*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX29LV004B	0xB6	/* Same as MX29LV004CB */
591*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX29LV004T	0xB5	/* Same as MX29LV004CT */
592*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX29LV008B	0x37	/* Same as MX29LV008CB */
593*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX29LV008T	0x3E	/* Same as MX29LV008CT */
594*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX29LV040	0x4F	/* Same as MX29LV040C */
595*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX29LV081	0x38
596*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX29LV128DB	0x7A
597*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX29LV128DT	0x7E
598*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX29LV160DB	0x49	/* Same as MX29LV161DB/MX29LV160CB */
599*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX29LV160DT	0xC4	/* Same as MX29LV161DT/MX29LV160CT */
600*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX29LV320DB	0xA8	/* Same as MX29LV321DB */
601*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX29LV320DT	0xA7	/* Same as MX29LV321DT */
602*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX29LV400B	0xBA	/* Same as MX29LV400CB */
603*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX29LV400T	0xB9	/* Same as MX29LV400CT */
604*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX29LV640DB	0xCB	/* Same as MX29LV640EB */
605*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX29LV640DT	0xC9	/* Same as MX29LV640ET */
606*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX29LV800B	0x5B	/* Same as MX29LV800CB */
607*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX29LV800T	0xDA	/* Same as MX29LV800CT */
608*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX29SL402CB	0xF1
609*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX29SL402CT	0x70
610*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX29SL800CB	0x6B	/* Same as MX29SL802CB */
611*0d6140beSAndroid Build Coastguard Worker #define MACRONIX_MX29SL800CT	0xEA	/* Same as MX29SL802CT */
612*0d6140beSAndroid Build Coastguard Worker 
613*0d6140beSAndroid Build Coastguard Worker /* Nantronics Semiconductors is listed in JEP106AJ in bank 7, so it should have 6 continuation codes in front
614*0d6140beSAndroid Build Coastguard Worker  * of the manufacturer ID of 0xD5. http://www.nantronicssemi.com */
615*0d6140beSAndroid Build Coastguard Worker #define NANTRONICS_ID			0x7F7F7F7F7F7FD5	/* Nantronics */
616*0d6140beSAndroid Build Coastguard Worker #define NANTRONICS_ID_NOPREFIX		0xD5	/* Nantronics, missing prefix */
617*0d6140beSAndroid Build Coastguard Worker #define NANTRONICS_N25S10		0x3011
618*0d6140beSAndroid Build Coastguard Worker #define NANTRONICS_N25S20		0x3012
619*0d6140beSAndroid Build Coastguard Worker #define NANTRONICS_N25S40		0x3013
620*0d6140beSAndroid Build Coastguard Worker #define NANTRONICS_N25S80		0x3014
621*0d6140beSAndroid Build Coastguard Worker #define NANTRONICS_N25S16		0x3015
622*0d6140beSAndroid Build Coastguard Worker 
623*0d6140beSAndroid Build Coastguard Worker /*
624*0d6140beSAndroid Build Coastguard Worker  * Programmable Micro Corp is listed in JEP106W in bank 2, so it should
625*0d6140beSAndroid Build Coastguard Worker  * have a 0x7F continuation code prefix.
626*0d6140beSAndroid Build Coastguard Worker  * Apparently PMC was renamed to "Chingis Technology Corporation" http://www.chingistek.com which is now a
627*0d6140beSAndroid Build Coastguard Worker  * subsidiary of ISSI. They continue to use the PMC manufacturer ID (instead of ISSI's) nevertheless, even for
628*0d6140beSAndroid Build Coastguard Worker  * new chips with IS* model numbers.
629*0d6140beSAndroid Build Coastguard Worker  */
630*0d6140beSAndroid Build Coastguard Worker #define PMC_ID			0x7F9D	/* PMC */
631*0d6140beSAndroid Build Coastguard Worker #define PMC_ID_NOPREFIX		0x9D	/* PMC, missing 0x7F prefix */
632*0d6140beSAndroid Build Coastguard Worker #define PMC_PM25LD256C		0x2F
633*0d6140beSAndroid Build Coastguard Worker #define PMC_PM25LD512		0x20	/* Same as Pm25LD512C, but the latter has more locking options. */
634*0d6140beSAndroid Build Coastguard Worker #define PMC_PM25LD010		0x21	/* Same as Pm25LD010C, but the latter has more locking options. */
635*0d6140beSAndroid Build Coastguard Worker #define PMC_PM25LD020		0x22	/* Same as Pm25LD020C, but the latter has more locking options. */
636*0d6140beSAndroid Build Coastguard Worker #define PMC_PM25LQ020		0x42
637*0d6140beSAndroid Build Coastguard Worker #define PMC_PM25LQ040		0x43
638*0d6140beSAndroid Build Coastguard Worker #define PMC_PM25LQ080		0x44
639*0d6140beSAndroid Build Coastguard Worker #define PMC_PM25LQ016		0x45
640*0d6140beSAndroid Build Coastguard Worker #define PMC_PM25LQ032C		0x46
641*0d6140beSAndroid Build Coastguard Worker #define PMC_PM25LV512		0x7B	/* Same as Pm25LV512A */
642*0d6140beSAndroid Build Coastguard Worker #define PMC_PM25LV010		0x7C	/* Same as Pm25LV010A, but the former does not support RDID but RES3 only. */
643*0d6140beSAndroid Build Coastguard Worker #define PMC_PM25LV020		0x7D
644*0d6140beSAndroid Build Coastguard Worker #define PMC_PM25LV040		0x7E	/* Same as PM25LD040(C), but the latter supports more features. */
645*0d6140beSAndroid Build Coastguard Worker #define PMC_PM25LV080B		0x13
646*0d6140beSAndroid Build Coastguard Worker #define PMC_PM25LV016B		0x14
647*0d6140beSAndroid Build Coastguard Worker #define PMC_PM29F002T		0x1D
648*0d6140beSAndroid Build Coastguard Worker #define PMC_PM29F002B		0x2D
649*0d6140beSAndroid Build Coastguard Worker #define PMC_PM39LV512		0x1B	/* Same as IS39LV512 */
650*0d6140beSAndroid Build Coastguard Worker #define PMC_PM39F010		0x1C	/* Same as Pm39LV010, IS39LV010 */
651*0d6140beSAndroid Build Coastguard Worker #define PMC_PM39LV020		0x3D
652*0d6140beSAndroid Build Coastguard Worker #define PMC_PM39LV040		0x3E	/* Same as IS39LV040 */
653*0d6140beSAndroid Build Coastguard Worker #define PMC_PM39F020		0x4D
654*0d6140beSAndroid Build Coastguard Worker #define PMC_PM39F040		0x4E
655*0d6140beSAndroid Build Coastguard Worker #define PMC_PM49FL002		0x6D
656*0d6140beSAndroid Build Coastguard Worker #define PMC_PM49FL004		0x6E
657*0d6140beSAndroid Build Coastguard Worker 
658*0d6140beSAndroid Build Coastguard Worker #define PUYA_ID			0x85
659*0d6140beSAndroid Build Coastguard Worker #define PUYA_P25Q06H		0x4010
660*0d6140beSAndroid Build Coastguard Worker #define PUYA_P25Q11H		0x4011
661*0d6140beSAndroid Build Coastguard Worker #define PUYA_P25Q21H		0x4012
662*0d6140beSAndroid Build Coastguard Worker 
663*0d6140beSAndroid Build Coastguard Worker /*
664*0d6140beSAndroid Build Coastguard Worker  * The Sanyo chip found so far uses SPI, first byte is manufacturer code,
665*0d6140beSAndroid Build Coastguard Worker  * second byte is the device code,
666*0d6140beSAndroid Build Coastguard Worker  * third byte is a dummy byte.
667*0d6140beSAndroid Build Coastguard Worker  */
668*0d6140beSAndroid Build Coastguard Worker #define SANYO_ID		0x62	/* Sanyo */
669*0d6140beSAndroid Build Coastguard Worker #define SANYO_LE25FW203A	0x1600
670*0d6140beSAndroid Build Coastguard Worker #define SANYO_LE25FW403A	0x1100
671*0d6140beSAndroid Build Coastguard Worker #define SANYO_LE25FW106		0x15
672*0d6140beSAndroid Build Coastguard Worker #define SANYO_LE25FW406		0x07	/* RES2 */
673*0d6140beSAndroid Build Coastguard Worker #define SANYO_LE25FW418A	0x10	/* RES2 and some weird 1 byte RDID variant */
674*0d6140beSAndroid Build Coastguard Worker #define SANYO_LE25FW406A	0x1A	/* RES2, no datasheet */
675*0d6140beSAndroid Build Coastguard Worker #define SANYO_LE25FU106B	0x1D
676*0d6140beSAndroid Build Coastguard Worker #define SANYO_LE25FU206		0x44
677*0d6140beSAndroid Build Coastguard Worker #define SANYO_LE25FU206A	0x0612
678*0d6140beSAndroid Build Coastguard Worker #define SANYO_LE25FU406B	0x1E	/* LE25FW418A without HD_READ mode option variant */
679*0d6140beSAndroid Build Coastguard Worker #define SANYO_LE25FU406C	0x0613	/* Also known as LE25U40CMC apparently */
680*0d6140beSAndroid Build Coastguard Worker #define SANYO_LE25FW806		0x26	/* RES2 and some weird 1 byte RDID variant */
681*0d6140beSAndroid Build Coastguard Worker #define SANYO_LE25FW808		0x20	/* RES2 and some weird 1 byte RDID variant */
682*0d6140beSAndroid Build Coastguard Worker 
683*0d6140beSAndroid Build Coastguard Worker #define SHARP_ID		0xB0	/* Sharp */
684*0d6140beSAndroid Build Coastguard Worker #define SHARP_LH28F008BJ__PT	0xEC
685*0d6140beSAndroid Build Coastguard Worker #define SHARP_LH28F008BJ__PB	0xED
686*0d6140beSAndroid Build Coastguard Worker #define SHARP_LH28F800BV__BTL	0x4B
687*0d6140beSAndroid Build Coastguard Worker #define SHARP_LH28F800BV__BV	0x4D
688*0d6140beSAndroid Build Coastguard Worker #define SHARP_LH28F800BV__TV	0x4C
689*0d6140beSAndroid Build Coastguard Worker #define SHARP_LHF00L02		0xC9	/* Same as LHF00L06/LHF00L07 */
690*0d6140beSAndroid Build Coastguard Worker #define SHARP_LHF00L04		0xCF	/* Same as LHF00L03/LHF00L05 */
691*0d6140beSAndroid Build Coastguard Worker 
692*0d6140beSAndroid Build Coastguard Worker /* Spansion was previously a joint venture of AMD and Fujitsu. */
693*0d6140beSAndroid Build Coastguard Worker #define SPANSION_ID		0x01	/* Spansion, same ID as AMD */
694*0d6140beSAndroid Build Coastguard Worker /* S25 chips are SPI. The first device ID byte is memory type and
695*0d6140beSAndroid Build Coastguard Worker  * the second device ID byte is memory capacity. */
696*0d6140beSAndroid Build Coastguard Worker #define SPANSION_S25FL004A	0x0212
697*0d6140beSAndroid Build Coastguard Worker #define SPANSION_S25FL008A	0x0213
698*0d6140beSAndroid Build Coastguard Worker #define SPANSION_S25FL016A	0x0214
699*0d6140beSAndroid Build Coastguard Worker #define SPANSION_S25FL032A	0x0215	/* Same as S25FL032P, but the latter supports EDI and CFI */
700*0d6140beSAndroid Build Coastguard Worker #define SPANSION_S25FL064A	0x0216	/* Same as S25FL064P, but the latter supports EDI and CFI */
701*0d6140beSAndroid Build Coastguard Worker #define SPANSION_S25FL128	0x2018	/* Same ID for various S25FL127S, S25FL128P, S25FL128S and S25FL129P (including dual-die S70FL256P) variants (EDI supported) */
702*0d6140beSAndroid Build Coastguard Worker #define SPANSION_S25FL256	0x0219
703*0d6140beSAndroid Build Coastguard Worker #define SPANSION_S25FL512	0x0220
704*0d6140beSAndroid Build Coastguard Worker #define SPANSION_S25FL204	0x4013
705*0d6140beSAndroid Build Coastguard Worker #define SPANSION_S25FL208	0x4014
706*0d6140beSAndroid Build Coastguard Worker #define SPANSION_S25FL216	0x4015	/* Same as S25FL216K, but the latter supports OTP, 3 status regs, quad I/O, SFDP etc. */
707*0d6140beSAndroid Build Coastguard Worker #define SPANSION_S25FL116K	0x4015
708*0d6140beSAndroid Build Coastguard Worker #define SPANSION_S25FL132K	0x4016
709*0d6140beSAndroid Build Coastguard Worker #define SPANSION_S25FL164K	0x4017
710*0d6140beSAndroid Build Coastguard Worker #define SPANSION_S25FL128L	0x6018
711*0d6140beSAndroid Build Coastguard Worker #define SPANSION_S25FL256L	0x6019
712*0d6140beSAndroid Build Coastguard Worker #define SPANSION_S25FS128S_L	0x20180081  /* Large sectors. */
713*0d6140beSAndroid Build Coastguard Worker #define SPANSION_S25FS128S_S	0x20180181  /* Small sectors. */
714*0d6140beSAndroid Build Coastguard Worker #define SPANSION_S25FS256S_L	0x02190081  /* Large sectors. */
715*0d6140beSAndroid Build Coastguard Worker #define SPANSION_S25FS256S_S	0x02190181  /* Small sectors. */
716*0d6140beSAndroid Build Coastguard Worker #define SPANSION_S25FL128S_UL	0x20180080  /* Uniform Large (128kB) sectors */
717*0d6140beSAndroid Build Coastguard Worker #define SPANSION_S25FL128S_US	0x20180180  /* Uniform Small (64kB) sectors */
718*0d6140beSAndroid Build Coastguard Worker #define SPANSION_S25FL256S_UL	0x02190080  /* Uniform Large (128kB) sectors */
719*0d6140beSAndroid Build Coastguard Worker #define SPANSION_S25FL256S_US	0x02190180  /* Uniform Small (64kB) sectors */
720*0d6140beSAndroid Build Coastguard Worker 
721*0d6140beSAndroid Build Coastguard Worker /* Spansion 29GL families got a suffix indicating the process technology but share the same 3-Byte IDs. They can
722*0d6140beSAndroid Build Coastguard Worker  * however be differentiated by CFI byte 45h. Some versions exist which have special top or bottom boot sectors
723*0d6140beSAndroid Build Coastguard Worker  * and various WP configurations (not heeded in the table below).
724*0d6140beSAndroid Build Coastguard Worker  *
725*0d6140beSAndroid Build Coastguard Worker  * Suf.  Process Sector Sz  Rd Page  Wr Page  Data Width  OTP Sz   Min Size     Max Size
726*0d6140beSAndroid Build Coastguard Worker  *  A     200 nm    64 kB      8 B     32 B     x8/x16     256 B   16Mb/ 2MB   64Mb/  8MB
727*0d6140beSAndroid Build Coastguard Worker  *  M     230 nm    64 kB      8 B     32 B     x8/x16     256 B   32Mb/ 4MB  256Mb/ 32MB
728*0d6140beSAndroid Build Coastguard Worker  *  N*    110 nm    64 kB     16 B     32 B     x8/x16     256 B   32Mb/ 4MB   64Mb/  8MB
729*0d6140beSAndroid Build Coastguard Worker  *  N*    110 nm   128 kB     16 B     32 B     x8/x16     256 B  128Mb/16MB  256Mb/ 64MB
730*0d6140beSAndroid Build Coastguard Worker  *  P      90 nm   128 kB     16 B     64 B     x8/x16     256 B  128Mb/16MB    2Gb/256MB
731*0d6140beSAndroid Build Coastguard Worker  *  S      65 nm   128 kB     32 B    512 B     x8 only    512 B  128Mb/16MB    2Gb/256MB
732*0d6140beSAndroid Build Coastguard Worker  *
733*0d6140beSAndroid Build Coastguard Worker  * For the N series there are two subgroups: the 4 and 8MB devices (S29GL032N, S29GL064N) have 64 kB erase
734*0d6140beSAndroid Build Coastguard Worker  * sectors while the bigger chips got 128 kB sectors.
735*0d6140beSAndroid Build Coastguard Worker  * Each series includes multiple models varying in speedgrade, boot block configurations etc.
736*0d6140beSAndroid Build Coastguard Worker  */
737*0d6140beSAndroid Build Coastguard Worker #define SPANSION_S29GL016_1	0xC4	/* Top Boot Sector, WP protects Top 2 sectors */
738*0d6140beSAndroid Build Coastguard Worker #define SPANSION_S29GL016_2	0x49	/* Bottom Boot Sector, WP protects Bottom 2 sectors */
739*0d6140beSAndroid Build Coastguard Worker /* Same IDs for S29GL032A, S29GL032M, S29GL032N (variations) */
740*0d6140beSAndroid Build Coastguard Worker #define SPANSION_S29GL032_1289	0x7E1D00	/* Uniform Sectors, WP protects Top OR Bottom sector */
741*0d6140beSAndroid Build Coastguard Worker #define SPANSION_S29GL032_3	0x7E1A01	/* Top Boot Sector, WP protects Top 2 sectors */
742*0d6140beSAndroid Build Coastguard Worker #define SPANSION_S29GL032_4	0x7E1A00	/* Bottom Boot Sector, WP protects Bottom 2 sectors */
743*0d6140beSAndroid Build Coastguard Worker /* Same IDs for S29GL064A, S29GL064M, S29GL064N, S29GL064S (variations) */
744*0d6140beSAndroid Build Coastguard Worker #define SPANSION_S29GL064_1289	0x7E0C01	/* Uniform Sectors, WP protects Top OR Bottom sector */
745*0d6140beSAndroid Build Coastguard Worker #define SPANSION_S29GL064_3	0x7E1001	/* Top Boot Sector, WP protects Top 2 sectors */
746*0d6140beSAndroid Build Coastguard Worker #define SPANSION_S29GL064_4	0x7E1000	/* Bottom Boot Sector, WP protects Bottom 2 sectors */
747*0d6140beSAndroid Build Coastguard Worker #define SPANSION_S29GL064_567	0x7E1301	/* x16 only, Uniform Sectors */
748*0d6140beSAndroid Build Coastguard Worker 
749*0d6140beSAndroid Build Coastguard Worker #define SPANSION_S29GL128	0x7E2101	/* Same ID for S29GL128M, S29GL128N, S29GL128P, S29GL128S */
750*0d6140beSAndroid Build Coastguard Worker #define SPANSION_S29GL256	0x7E2201	/* Same ID for S29GL256M, S29GL256N, S29GL256P, S29GL256S */
751*0d6140beSAndroid Build Coastguard Worker #define SPANSION_S29GL512	0x7E2301	/* Same ID for S29GL512P, S29GL512S */
752*0d6140beSAndroid Build Coastguard Worker #define SPANSION_S29GL01G	0x7E2801	/* Same ID for S29GL01GP, S29GL01GS */
753*0d6140beSAndroid Build Coastguard Worker #define SPANSION_S70GL02G	0x7E4801	/* Same ID for S70GL02GP, S70GL02GS; based on two S29GL01G dies respectively */
754*0d6140beSAndroid Build Coastguard Worker 
755*0d6140beSAndroid Build Coastguard Worker /*
756*0d6140beSAndroid Build Coastguard Worker  * SST25 chips are SPI, first byte of device ID is memory type, second
757*0d6140beSAndroid Build Coastguard Worker  * byte of device ID is related to log(bitsize) at least for some chips.
758*0d6140beSAndroid Build Coastguard Worker  */
759*0d6140beSAndroid Build Coastguard Worker #define SST_ID			0xBF	/* SST */
760*0d6140beSAndroid Build Coastguard Worker #define SST_SST25LF020_REMS	0x43	/* REMS or RES opcode */
761*0d6140beSAndroid Build Coastguard Worker #define SST_SST25WF512		0x2501
762*0d6140beSAndroid Build Coastguard Worker #define SST_SST25WF010		0x2502
763*0d6140beSAndroid Build Coastguard Worker #define SST_SST25WF020		0x2503
764*0d6140beSAndroid Build Coastguard Worker #define SST_SST25WF040		0x2504
765*0d6140beSAndroid Build Coastguard Worker #define SST_SST25WF080		0x2505
766*0d6140beSAndroid Build Coastguard Worker /* There exist some successors to members of the SST25WF family with alphabetic suffixes. Their datasheets show
767*0d6140beSAndroid Build Coastguard Worker  * 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
768*0d6140beSAndroid Build Coastguard Worker  * a collaboration in the mid 2000ies between Sanyo and SST. */
769*0d6140beSAndroid Build Coastguard Worker #define SST_SST25WF020A		0x1612
770*0d6140beSAndroid Build Coastguard Worker #define SST_SST25WF040B		0x1613
771*0d6140beSAndroid Build Coastguard Worker #define SST_SST25WF080B		0x1614
772*0d6140beSAndroid Build Coastguard Worker #define SST_SST25VF512_REMS	0x48	/* REMS or RES opcode, same as SST25VF512A */
773*0d6140beSAndroid Build Coastguard Worker #define SST_SST25VF010_REMS	0x49	/* REMS or RES opcode, same as SST25VF010A */
774*0d6140beSAndroid Build Coastguard Worker #define SST_SST25VF020_REMS	0x43	/* REMS or RES opcode, same as SST25LF020A */
775*0d6140beSAndroid Build Coastguard Worker #define SST_SST25VF020B		0x258C
776*0d6140beSAndroid Build Coastguard Worker #define SST_SST25VF040_REMS	0x44	/* REMS or RES opcode, same as SST25LF040A */
777*0d6140beSAndroid Build Coastguard Worker #define SST_SST25VF040B		0x258D
778*0d6140beSAndroid Build Coastguard Worker #define SST_SST25VF040B_REMS	0x8D	/* REMS or RES opcode */
779*0d6140beSAndroid Build Coastguard Worker #define SST_SST25VF080_REMS	0x80	/* REMS or RES opcode, same as SST25LF080A */
780*0d6140beSAndroid Build Coastguard Worker #define SST_SST25VF080B		0x258E
781*0d6140beSAndroid Build Coastguard Worker #define SST_SST25VF080B_REMS	0x8E	/* REMS or RES opcode */
782*0d6140beSAndroid Build Coastguard Worker #define SST_SST25VF016B		0x2541
783*0d6140beSAndroid Build Coastguard Worker #define SST_SST25VF032B		0x254A
784*0d6140beSAndroid Build Coastguard Worker #define SST_SST25VF032B_REMS	0x4A	/* REMS or RES opcode */
785*0d6140beSAndroid Build Coastguard Worker #define SST_SST25VF064C		0x254B
786*0d6140beSAndroid Build Coastguard Worker #define SST_SST26VF016		0x2601
787*0d6140beSAndroid Build Coastguard Worker #define SST_SST26VF032		0x2602
788*0d6140beSAndroid Build Coastguard Worker #define SST_SST26VF016B		0x2641
789*0d6140beSAndroid Build Coastguard Worker #define SST_SST26VF032B		0x2642
790*0d6140beSAndroid Build Coastguard Worker #define SST_SST26VF064B		0x2643
791*0d6140beSAndroid Build Coastguard Worker #define SST_SST27SF512		0xA4
792*0d6140beSAndroid Build Coastguard Worker #define SST_SST27SF010		0xA5
793*0d6140beSAndroid Build Coastguard Worker #define SST_SST27SF020		0xA6
794*0d6140beSAndroid Build Coastguard Worker #define SST_SST27VF010		0xA9
795*0d6140beSAndroid Build Coastguard Worker #define SST_SST27VF020		0xAA
796*0d6140beSAndroid Build Coastguard Worker #define SST_SST28SF040		0x04
797*0d6140beSAndroid Build Coastguard Worker #define SST_SST29LE512		0x3D	/* Same as SST29VE512 */
798*0d6140beSAndroid Build Coastguard Worker #define SST_SST29EE512		0x5D
799*0d6140beSAndroid Build Coastguard Worker #define SST_SST29EE010		0x07
800*0d6140beSAndroid Build Coastguard Worker #define SST_SST29LE010		0x08	/* Same as SST29VE010 */
801*0d6140beSAndroid Build Coastguard Worker #define SST_SST29EE020A		0x10	/* Same as SST29EE020 */
802*0d6140beSAndroid Build Coastguard Worker #define SST_SST29LE020		0x12	/* Same as SST29VE020 */
803*0d6140beSAndroid Build Coastguard Worker #define SST_SST29SF020		0x24
804*0d6140beSAndroid Build Coastguard Worker #define SST_SST29VF020		0x25
805*0d6140beSAndroid Build Coastguard Worker #define SST_SST29SF040		0x13
806*0d6140beSAndroid Build Coastguard Worker #define SST_SST29VF040		0x14
807*0d6140beSAndroid Build Coastguard Worker #define SST_SST39SF512		0xB4
808*0d6140beSAndroid Build Coastguard Worker #define SST_SST39SF010		0xB5
809*0d6140beSAndroid Build Coastguard Worker #define SST_SST39SF020		0xB6	/* Same as 39SF020A */
810*0d6140beSAndroid Build Coastguard Worker #define SST_SST39SF040		0xB7
811*0d6140beSAndroid Build Coastguard Worker #define SST_SST39VF512		0xD4
812*0d6140beSAndroid Build Coastguard Worker #define SST_SST39VF010		0xD5
813*0d6140beSAndroid Build Coastguard Worker #define SST_SST39VF020		0xD6	/* Same as 39LF020 */
814*0d6140beSAndroid Build Coastguard Worker #define SST_SST39VF040		0xD7	/* Same as 39LF040 */
815*0d6140beSAndroid Build Coastguard Worker #define SST_SST39VF080		0xD8	/* Same as 39LF080/39VF080/39VF088 */
816*0d6140beSAndroid Build Coastguard Worker #define SST_SST45VF512		0x41	/* REMS, read opcode 0xFF */
817*0d6140beSAndroid Build Coastguard Worker #define SST_SST45LF010		0x42	/* REMS, read opcode 0xFF, 'funny' other opcodes */
818*0d6140beSAndroid Build Coastguard Worker #define SST_SST45VF010		0x45	/* REMS, read opcode 0xFF */
819*0d6140beSAndroid Build Coastguard Worker #define SST_SST45VF020		0x43	/* REMS, read opcode 0xFF */
820*0d6140beSAndroid Build Coastguard Worker #define SST_SST49LF040B		0x50
821*0d6140beSAndroid Build Coastguard Worker #define SST_SST49LF040		0x51
822*0d6140beSAndroid Build Coastguard Worker #define SST_SST49LF020		0x61
823*0d6140beSAndroid Build Coastguard Worker #define SST_SST49LF020A		0x52
824*0d6140beSAndroid Build Coastguard Worker #define SST_SST49LF030A		0x1C
825*0d6140beSAndroid Build Coastguard Worker #define SST_SST49LF080A		0x5B
826*0d6140beSAndroid Build Coastguard Worker #define SST_SST49LF002A		0x57
827*0d6140beSAndroid Build Coastguard Worker #define SST_SST49LF003A		0x1B
828*0d6140beSAndroid Build Coastguard Worker #define SST_SST49LF004A		0x60	/* Same as 49LF004B */
829*0d6140beSAndroid Build Coastguard Worker #define SST_SST49LF008A		0x5A
830*0d6140beSAndroid Build Coastguard Worker #define SST_SST49LF004C		0x54
831*0d6140beSAndroid Build Coastguard Worker #define SST_SST49LF008C		0x59
832*0d6140beSAndroid Build Coastguard Worker #define SST_SST49LF016C		0x5C
833*0d6140beSAndroid Build Coastguard Worker #define SST_SST49LF160C		0x4C
834*0d6140beSAndroid Build Coastguard Worker 
835*0d6140beSAndroid Build Coastguard Worker /*
836*0d6140beSAndroid Build Coastguard Worker  * ST25P chips are SPI, first byte of device ID is memory type, second
837*0d6140beSAndroid Build Coastguard Worker  * byte of device ID is related to log(bitsize) at least for some chips.
838*0d6140beSAndroid Build Coastguard Worker  */
839*0d6140beSAndroid Build Coastguard Worker #define ST_ID			0x20	/* ST / SGS/Thomson / Numonyx / XMC(later acquired by Micron) */
840*0d6140beSAndroid Build Coastguard Worker #define ST_M25P05A		0x2010
841*0d6140beSAndroid Build Coastguard Worker #define ST_M25P05_RES		0x05
842*0d6140beSAndroid Build Coastguard Worker #define ST_M25P10A		0x2011
843*0d6140beSAndroid Build Coastguard Worker #define ST_M25P10_RES		0x10
844*0d6140beSAndroid Build Coastguard Worker #define ST_M25P20		0x2012
845*0d6140beSAndroid Build Coastguard Worker #define ST_M25P20_RES		0x11
846*0d6140beSAndroid Build Coastguard Worker #define ST_M25P40		0x2013
847*0d6140beSAndroid Build Coastguard Worker #define ST_M25P40_RES		0x12
848*0d6140beSAndroid Build Coastguard Worker #define ST_M25P80		0x2014
849*0d6140beSAndroid Build Coastguard Worker #define ST_M25P16		0x2015
850*0d6140beSAndroid Build Coastguard Worker #define ST_M25P32		0x2016
851*0d6140beSAndroid Build Coastguard Worker #define ST_M25P64		0x2017
852*0d6140beSAndroid Build Coastguard Worker #define ST_M25P128		0x2018
853*0d6140beSAndroid Build Coastguard Worker #define ST_M45PE10		0x4011
854*0d6140beSAndroid Build Coastguard Worker #define ST_M45PE20		0x4012
855*0d6140beSAndroid Build Coastguard Worker #define ST_M45PE40		0x4013
856*0d6140beSAndroid Build Coastguard Worker #define ST_M45PE80		0x4014	/* Same as XM25QH80B */
857*0d6140beSAndroid Build Coastguard Worker #define ST_M45PE16		0x4015
858*0d6140beSAndroid Build Coastguard Worker #define XMC_XM25QH64C		0x4017	/* Same as XM25QH64D */
859*0d6140beSAndroid Build Coastguard Worker #define XMC_XM25QU64C		0x4117	/* Same as XM25LU64C */
860*0d6140beSAndroid Build Coastguard Worker #define XMC_XM25QU80B		0x5014
861*0d6140beSAndroid Build Coastguard Worker #define XMC_XM25QH16C		0x4015	/* Same as XM25QH16D */
862*0d6140beSAndroid Build Coastguard Worker #define XMC_XM25QU16C		0x5015
863*0d6140beSAndroid Build Coastguard Worker #define XMC_XM25QH32C		0x4016	/* Same as XM25QH32D */
864*0d6140beSAndroid Build Coastguard Worker #define XMC_XM25QU32C		0x5016
865*0d6140beSAndroid Build Coastguard Worker #define XMC_XM25QH128A		0x7018
866*0d6140beSAndroid Build Coastguard Worker #define XMC_XM25QH128C		0x4018	/* Same as XM25QH128D */
867*0d6140beSAndroid Build Coastguard Worker #define XMC_XM25QU128C		0x4118	/* Same as XM25QU128D */
868*0d6140beSAndroid Build Coastguard Worker #define XMC_XM25QH256C		0x4019	/* Same as XM25QH256D */
869*0d6140beSAndroid Build Coastguard Worker #define XMC_XM25QU256C		0x4119	/* Same as XM25QU256D */
870*0d6140beSAndroid Build Coastguard Worker #define XMC_XM25RU256C		0x4419
871*0d6140beSAndroid Build Coastguard Worker #define XMC_XM25QH512C		0x4020	/* Same as XM25QH512D */
872*0d6140beSAndroid Build Coastguard Worker #define XMC_XM25QU512C		0x4120	/* Same as XM25QU512D */
873*0d6140beSAndroid Build Coastguard Worker #define ST_M25PX80		0x7114
874*0d6140beSAndroid Build Coastguard Worker #define ST_M25PX16		0x7115
875*0d6140beSAndroid Build Coastguard Worker #define ST_M25PX32		0x7116
876*0d6140beSAndroid Build Coastguard Worker #define ST_M25PX64		0x7117
877*0d6140beSAndroid Build Coastguard Worker #define ST_M25PE10		0x8011
878*0d6140beSAndroid Build Coastguard Worker #define ST_M25PE20		0x8012
879*0d6140beSAndroid Build Coastguard Worker #define ST_M25PE40		0x8013
880*0d6140beSAndroid Build Coastguard Worker #define ST_M25PE80		0x8014
881*0d6140beSAndroid Build Coastguard Worker #define ST_M25PE16		0x8015
882*0d6140beSAndroid Build Coastguard Worker #define ST_M50FLW040A		0x08
883*0d6140beSAndroid Build Coastguard Worker #define ST_M50FLW040B		0x28
884*0d6140beSAndroid Build Coastguard Worker #define ST_M50FLW080A		0x80
885*0d6140beSAndroid Build Coastguard Worker #define ST_M50FLW080B		0x81
886*0d6140beSAndroid Build Coastguard Worker #define ST_M50FW002		0x29
887*0d6140beSAndroid Build Coastguard Worker #define ST_M50FW040		0x2C
888*0d6140beSAndroid Build Coastguard Worker #define ST_M50FW080		0x2D
889*0d6140beSAndroid Build Coastguard Worker #define ST_M50FW016		0x2E
890*0d6140beSAndroid Build Coastguard Worker #define ST_M50LPW080		0x2F
891*0d6140beSAndroid Build Coastguard Worker #define ST_M50LPW116		0x30
892*0d6140beSAndroid Build Coastguard Worker #define ST_M29F002B		0x34	/* Same as M29F002BB */
893*0d6140beSAndroid Build Coastguard Worker #define ST_M29F002T		0xB0	/* Same as M29F002BT/M29F002NT/M29F002BNT */
894*0d6140beSAndroid Build Coastguard Worker #define ST_M29F040B		0xE2	/* Same as M29F040 */
895*0d6140beSAndroid Build Coastguard Worker #define ST_M29F080		0xF1
896*0d6140beSAndroid Build Coastguard Worker #define ST_M29F200BT		0xD3
897*0d6140beSAndroid Build Coastguard Worker #define ST_M29F200BB		0xD4
898*0d6140beSAndroid Build Coastguard Worker #define ST_M29F400BT		0xD5	/* Same as M29F400T */
899*0d6140beSAndroid Build Coastguard Worker #define ST_M29F400BB		0xD6	/* Same as M29F400B */
900*0d6140beSAndroid Build Coastguard Worker #define ST_M29F800DB		0x58
901*0d6140beSAndroid Build Coastguard Worker #define ST_M29F800DT		0xEC
902*0d6140beSAndroid Build Coastguard Worker #define ST_M29W010B		0x23
903*0d6140beSAndroid Build Coastguard Worker #define ST_M29W040B		0xE3
904*0d6140beSAndroid Build Coastguard Worker #define ST_M29W512B		0x27
905*0d6140beSAndroid Build Coastguard Worker #define ST_M28W160ECB		0x88CF
906*0d6140beSAndroid Build Coastguard Worker #define ST_M28W160ECT		0x88CE
907*0d6140beSAndroid Build Coastguard Worker #define ST_M28W320FCB		0x88BB
908*0d6140beSAndroid Build Coastguard Worker #define ST_M28W320FCT		0x88BA
909*0d6140beSAndroid Build Coastguard Worker #define ST_M28W640HCB		0x8849
910*0d6140beSAndroid Build Coastguard Worker #define ST_M28W640HCT		0x8848
911*0d6140beSAndroid Build Coastguard Worker #define ST_M29DW127G		0x7E2004
912*0d6140beSAndroid Build Coastguard Worker #define ST_M29W128GH		0x7E2101
913*0d6140beSAndroid Build Coastguard Worker #define ST_M29W128GL		0x7E2100
914*0d6140beSAndroid Build Coastguard Worker #define ST_M29W160EB		0x2249
915*0d6140beSAndroid Build Coastguard Worker #define ST_M29W160ET		0x22C4
916*0d6140beSAndroid Build Coastguard Worker #define ST_M29W256GH		0x7E21xx
917*0d6140beSAndroid Build Coastguard Worker #define ST_M29W256GL		0x7E21xx
918*0d6140beSAndroid Build Coastguard Worker #define ST_M29W320DB		0x88CB
919*0d6140beSAndroid Build Coastguard Worker #define ST_M29W320DT		0x88CA
920*0d6140beSAndroid Build Coastguard Worker #define ST_M29W400FB		0x00EF
921*0d6140beSAndroid Build Coastguard Worker #define ST_M29W400FT		0x00EE
922*0d6140beSAndroid Build Coastguard Worker #define ST_M29W512GH		0x7E2301
923*0d6140beSAndroid Build Coastguard Worker #define ST_M29W640FB		0x22FD
924*0d6140beSAndroid Build Coastguard Worker #define ST_M29W640FT		0x22ED
925*0d6140beSAndroid Build Coastguard Worker #define ST_M29W640GB		0x7E1000
926*0d6140beSAndroid Build Coastguard Worker #define ST_M29W640GH		0x7E0C01
927*0d6140beSAndroid Build Coastguard Worker #define ST_M29W640GL		0x7E0C00
928*0d6140beSAndroid Build Coastguard Worker #define ST_M29W640GT		0x7E1001
929*0d6140beSAndroid Build Coastguard Worker #define ST_M29W800FB		0x225B
930*0d6140beSAndroid Build Coastguard Worker #define ST_M29W800FT		0x22D7
931*0d6140beSAndroid Build Coastguard Worker #define ST_M58BW16FB		0x8839
932*0d6140beSAndroid Build Coastguard Worker #define ST_M58BW16FT		0x883A
933*0d6140beSAndroid Build Coastguard Worker #define ST_M58BW32FB		0x8837
934*0d6140beSAndroid Build Coastguard Worker #define ST_M58BW32FT		0x8838
935*0d6140beSAndroid Build Coastguard Worker #define ST_M58WR016KB		0x8813
936*0d6140beSAndroid Build Coastguard Worker #define ST_M58WR016KT		0x8812
937*0d6140beSAndroid Build Coastguard Worker #define ST_M58WR032KB		0x8815
938*0d6140beSAndroid Build Coastguard Worker #define ST_M58WR032KT		0x8814
939*0d6140beSAndroid Build Coastguard Worker #define ST_M58WR064KB		0x8811
940*0d6140beSAndroid Build Coastguard Worker #define ST_M58WR064KT		0x8810
941*0d6140beSAndroid Build Coastguard Worker 
942*0d6140beSAndroid Build Coastguard Worker #define ST_M95M02		0x0012	/* ST M95XXX 2Mbit (256KiB) */
943*0d6140beSAndroid Build Coastguard Worker 
944*0d6140beSAndroid Build Coastguard Worker #define ST_MT28GU01G___1	0x88B0
945*0d6140beSAndroid Build Coastguard Worker #define ST_MT28GU01G___2	0x88B1
946*0d6140beSAndroid Build Coastguard Worker #define ST_MT28GU256___1	0x8901
947*0d6140beSAndroid Build Coastguard Worker #define ST_MT28GU256___2	0x8904
948*0d6140beSAndroid Build Coastguard Worker #define ST_MT28GU512___1	0x887E
949*0d6140beSAndroid Build Coastguard Worker #define ST_MT28GU512___2	0x8881
950*0d6140beSAndroid Build Coastguard Worker #define ST_N25Q016__1E		0xBB15	/* N25Q016, 1.8V, (uniform sectors expected) */
951*0d6140beSAndroid Build Coastguard Worker #define ST_N25Q032__3E		0xBA16	/* N25Q032, 3.0V, (uniform sectors expected) */
952*0d6140beSAndroid Build Coastguard Worker #define ST_N25Q032__1E		0xBB16	/* N25Q032, 1.8V, (uniform sectors expected) */
953*0d6140beSAndroid Build Coastguard Worker #define ST_N25Q064__3E		0xBA17	/* N25Q064, 3.0V, (uniform sectors expected) */
954*0d6140beSAndroid Build Coastguard Worker #define ST_N25Q064__1E		0xBB17	/* N25Q064, 1.8V, (uniform sectors expected) */
955*0d6140beSAndroid Build Coastguard Worker #define ST_N25Q128__3E		0xBA18	/* N25Q128/MT25QL128, 3.0V, (uniform sectors expected) */
956*0d6140beSAndroid Build Coastguard Worker #define ST_N25Q128__1E		0xBB18	/* N25Q128/MT25QU128, 1.8V, (uniform sectors expected) */
957*0d6140beSAndroid Build Coastguard Worker #define ST_N25Q256__3E		0xBA19	/* N25Q256/MT25QL256, 3.0V, (uniform sectors expected) */
958*0d6140beSAndroid Build Coastguard Worker #define ST_N25Q256__1E		0xBB19	/* N25Q256/MT25QU256, 1.8V, (uniform sectors expected) */
959*0d6140beSAndroid Build Coastguard Worker #define ST_N25Q512__3G		0xBA20	/* N25Q512/MT25QL512, 3.0V, (uniform sectors expected) */
960*0d6140beSAndroid Build Coastguard Worker #define ST_N25Q512__1G		0xBB20	/* N25Q512/MT25QU512, 1.8V, (uniform sectors expected) */
961*0d6140beSAndroid Build Coastguard Worker #define ST_N25Q00A__3G		0xBA21	/* N25Q00A/MT25QL01G, 3.0V, (uniform sectors expected) */
962*0d6140beSAndroid Build Coastguard Worker #define ST_N25Q00A__1G		0xBB21	/* N25Q00A/MT25QU01G, 1.8V, (uniform sectors expected) */
963*0d6140beSAndroid Build Coastguard Worker #define ST_MT25QL02G		0xBA22	/* MT25QL02G, 3.0V, (uniform sectors expected) */
964*0d6140beSAndroid Build Coastguard Worker #define ST_MT25QU02G		0xBB22	/* MT25QU02G, 1.8V, (uniform sectors expected) */
965*0d6140beSAndroid Build Coastguard Worker #define ST_NP5Q032		0xDA16	/* Phase-change memory (PCM), 3V */
966*0d6140beSAndroid Build Coastguard Worker #define ST_NP5Q064		0xDA17	/* Phase-change memory (PCM), 3V */
967*0d6140beSAndroid Build Coastguard Worker #define ST_NP5Q128		0xDA18	/* Phase-change memory (PCM), 3V */
968*0d6140beSAndroid Build Coastguard Worker 
969*0d6140beSAndroid Build Coastguard Worker #define SYNCMOS_MVC_ID		0x40	/* SyncMOS (SM) and Mosel Vitelic Corporation (MVC) */
970*0d6140beSAndroid Build Coastguard Worker #define MVC_V29C51000T		0x00
971*0d6140beSAndroid Build Coastguard Worker #define MVC_V29C51400T		0x13
972*0d6140beSAndroid Build Coastguard Worker #define MVC_V29LC51000		0x20
973*0d6140beSAndroid Build Coastguard Worker #define MVC_V29LC51001		0x60
974*0d6140beSAndroid Build Coastguard Worker #define MVC_V29LC51002		0x82
975*0d6140beSAndroid Build Coastguard Worker #define MVC_V29C51000B		0xA0
976*0d6140beSAndroid Build Coastguard Worker #define MVC_V29C51400B		0xB3
977*0d6140beSAndroid Build Coastguard Worker #define SM_MVC_29C51001T	0x01	/* Identical chips: {F,S,V}29C51001T */
978*0d6140beSAndroid Build Coastguard Worker #define SM_MVC_29C51002T	0x02	/* Identical chips: {F,S,V}29C51002T */
979*0d6140beSAndroid Build Coastguard Worker #define SM_MVC_29C51004T	0x03	/* Identical chips: {F,S,V}29C51004T */
980*0d6140beSAndroid Build Coastguard Worker #define SM_MVC_29C31004T	0x63	/* Identical chips: {S,V}29C31004T */
981*0d6140beSAndroid Build Coastguard Worker #define SM_MVC_29C31004B	0x73	/* Identical chips: {S,V}29C31004B */
982*0d6140beSAndroid Build Coastguard Worker #define SM_MVC_29C51001B	0xA1	/* Identical chips: {F,S,V}29C51001B */
983*0d6140beSAndroid Build Coastguard Worker #define SM_MVC_29C51002B	0xA2	/* Identical chips: {F,S,V}29C51002B */
984*0d6140beSAndroid Build Coastguard Worker #define SM_MVC_29C51004B	0xA3	/* Identical chips: {F,S,V}29C51004B */
985*0d6140beSAndroid Build Coastguard Worker 
986*0d6140beSAndroid Build Coastguard Worker #define TENX_ID			0x7F7F5E /* Tenx Technologies */
987*0d6140beSAndroid Build Coastguard Worker #define TENX_ID_NOPREFIX	0x5E
988*0d6140beSAndroid Build Coastguard Worker #define TENX_ICE25P05		0x01	/* Maybe? */
989*0d6140beSAndroid Build Coastguard Worker 
990*0d6140beSAndroid Build Coastguard Worker #define TI_ID			0x97	/* Texas Instruments */
991*0d6140beSAndroid Build Coastguard Worker #define TI_OLD_ID		0x01	/* TI chips from last century */
992*0d6140beSAndroid Build Coastguard Worker #define TI_TMS29F002RT		0xB0
993*0d6140beSAndroid Build Coastguard Worker #define TI_TMS29F002RB		0x34
994*0d6140beSAndroid Build Coastguard Worker 
995*0d6140beSAndroid Build Coastguard Worker /*
996*0d6140beSAndroid Build Coastguard Worker  * W25X chips are SPI, first byte of device ID is memory type, second
997*0d6140beSAndroid Build Coastguard Worker  * byte of device ID is related to log(bitsize).
998*0d6140beSAndroid Build Coastguard Worker  */
999*0d6140beSAndroid Build Coastguard Worker #define WINBOND_NEX_ID		0xEF	/* Winbond (ex Nexcom) serial flashes */
1000*0d6140beSAndroid Build Coastguard Worker #define WINBOND_NEX_W25P80	0x2014
1001*0d6140beSAndroid Build Coastguard Worker #define WINBOND_NEX_W25P16	0x2015
1002*0d6140beSAndroid Build Coastguard Worker #define WINBOND_NEX_W25P32	0x2016
1003*0d6140beSAndroid Build Coastguard Worker #define WINBOND_NEX_W25X05	0x3010 /* W25X05CL */
1004*0d6140beSAndroid Build Coastguard Worker #define WINBOND_NEX_W25X10	0x3011
1005*0d6140beSAndroid Build Coastguard Worker #define WINBOND_NEX_W25X20	0x3012
1006*0d6140beSAndroid Build Coastguard Worker #define WINBOND_NEX_W25X40	0x3013
1007*0d6140beSAndroid Build Coastguard Worker #define WINBOND_NEX_W25X80	0x3014
1008*0d6140beSAndroid Build Coastguard Worker #define WINBOND_NEX_W25X16	0x3015
1009*0d6140beSAndroid Build Coastguard Worker #define WINBOND_NEX_W25X32	0x3016
1010*0d6140beSAndroid Build Coastguard Worker #define WINBOND_NEX_W25X64	0x3017
1011*0d6140beSAndroid Build Coastguard Worker #define WINBOND_NEX_W25Q40_V	0x4013	/* W25Q40BV; W25Q40BL (2.3-3.6V) */
1012*0d6140beSAndroid Build Coastguard Worker #define WINBOND_NEX_W25Q80_V	0x4014	/* W25Q80BV */
1013*0d6140beSAndroid Build Coastguard Worker #define WINBOND_NEX_W25Q16_V	0x4015	/* W25Q16CV; W25Q16DV */
1014*0d6140beSAndroid Build Coastguard Worker #define WINBOND_NEX_W25Q32_V	0x4016	/* W25Q32BV; W25Q32FV in SPI mode (default) */
1015*0d6140beSAndroid Build Coastguard Worker #define WINBOND_NEX_W25Q64_V	0x4017	/* W25Q64BV, W25Q64CV; W25Q64FV in SPI mode (default) */
1016*0d6140beSAndroid Build Coastguard Worker #define WINBOND_NEX_W25Q128_V	0x4018	/* W25Q128BV; W25Q128FV in SPI mode (default) */
1017*0d6140beSAndroid Build Coastguard Worker #define WINBOND_NEX_W25Q256_V	0x4019	/* W25Q256FV or W25Q256JV_Q (QE=1) */
1018*0d6140beSAndroid Build Coastguard Worker #define WINBOND_NEX_W25Q512JV	0x4020	/* W25Q512JV */
1019*0d6140beSAndroid Build Coastguard Worker #define WINBOND_NEX_W25Q20_W	0x5012	/* W25Q20BW */
1020*0d6140beSAndroid Build Coastguard Worker #define WINBOND_NEX_W25Q40BW	0x5013	/* W25Q40BW */
1021*0d6140beSAndroid Build Coastguard Worker #define WINBOND_NEX_W25Q80BW	0x5014	/* W25Q80BW */
1022*0d6140beSAndroid Build Coastguard Worker #define WINBOND_NEX_W25Q40EW	0x6013	/* W25Q40EW */
1023*0d6140beSAndroid Build Coastguard Worker #define WINBOND_NEX_W25Q80EW	0x6014	/* W25Q80EW */
1024*0d6140beSAndroid Build Coastguard Worker #define WINBOND_NEX_W25Q16_W	0x6015	/* W25Q16DW */
1025*0d6140beSAndroid Build Coastguard Worker #define WINBOND_NEX_W25Q32_W	0x6016	/* W25Q32DW; W25Q32FV in QPI mode */
1026*0d6140beSAndroid Build Coastguard Worker #define WINBOND_NEX_W25Q64_W	0x6017	/* W25Q64DW; W25Q64FV in QPI mode */
1027*0d6140beSAndroid Build Coastguard Worker #define WINBOND_NEX_W25Q128_W	0x6018	/* W25Q128FW; W25Q128FV in QPI mode */
1028*0d6140beSAndroid Build Coastguard Worker #define WINBOND_NEX_W25Q256_W	0x6019	/* W25Q256JW */
1029*0d6140beSAndroid Build Coastguard Worker #define WINBOND_NEX_W25Q16JV_M	0x7015	/* W25Q16JV_M (QE=0) */
1030*0d6140beSAndroid Build Coastguard Worker #define WINBOND_NEX_W25Q32JV_M	0x7016	/* W25Q32JV_M (QE=0) */
1031*0d6140beSAndroid Build Coastguard Worker #define WINBOND_NEX_W25Q64JV	0x7017	/* W25Q64JV */
1032*0d6140beSAndroid Build Coastguard Worker #define WINBOND_NEX_W25Q128_V_M	0x7018	/* W25Q128JVSM */
1033*0d6140beSAndroid Build Coastguard Worker #define WINBOND_NEX_W25Q256JV_M	0x7019	/* W25Q256JV_M (QE=0) */
1034*0d6140beSAndroid Build Coastguard Worker #define WINBOND_NEX_W25Q32JW_M	0x8016  /* W25Q32JW...M */
1035*0d6140beSAndroid Build Coastguard Worker #define WINBOND_NEX_W25Q64JW_M	0x8017  /* W25Q64JW...M */
1036*0d6140beSAndroid Build Coastguard Worker #define WINBOND_NEX_W25Q128_DTR	0x8018	/* W25Q128JW_DTR */
1037*0d6140beSAndroid Build Coastguard Worker #define WINBOND_NEX_W25Q256_DTR	0x8019	/* W25Q256JW_DTR aka W25Q256256JW-IM */
1038*0d6140beSAndroid Build Coastguard Worker #define WINBOND_NEX_W25Q512NW_IM	0x8020 /* W25Q512NW-IM */
1039*0d6140beSAndroid Build Coastguard Worker 
1040*0d6140beSAndroid Build Coastguard Worker #define WINBOND_ID		0xDA	/* Winbond */
1041*0d6140beSAndroid Build Coastguard Worker #define WINBOND_W19B160BB	0x49
1042*0d6140beSAndroid Build Coastguard Worker #define WINBOND_W19B160BT	0xC4
1043*0d6140beSAndroid Build Coastguard Worker #define WINBOND_W19B320SB	0x2A	/* Same as W19L320SB */
1044*0d6140beSAndroid Build Coastguard Worker #define WINBOND_W19B320ST	0xBA	/* Same as W19L320ST */
1045*0d6140beSAndroid Build Coastguard Worker #define WINBOND_W19B322MB	0x92
1046*0d6140beSAndroid Build Coastguard Worker #define WINBOND_W19B322MT	0x10
1047*0d6140beSAndroid Build Coastguard Worker #define WINBOND_W19B323MB	0x94
1048*0d6140beSAndroid Build Coastguard Worker #define WINBOND_W19B323MT	0x13
1049*0d6140beSAndroid Build Coastguard Worker #define WINBOND_W19B324MB	0x97
1050*0d6140beSAndroid Build Coastguard Worker #define WINBOND_W19B324MT	0x16
1051*0d6140beSAndroid Build Coastguard Worker #define WINBOND_W29C010		0xC1	/* Same as W29C010M, W29C011A, W29EE011, W29EE012, and ASD AE29F1008 */
1052*0d6140beSAndroid Build Coastguard Worker #define WINBOND_W29C020		0x45	/* Same as W29C020C, W29C022 and ASD AE29F2008 */
1053*0d6140beSAndroid Build Coastguard Worker #define WINBOND_W29C040		0x46	/* Same as W29C040P */
1054*0d6140beSAndroid Build Coastguard Worker #define WINBOND_W29C512A	0xC8	/* Same as W29EE512 */
1055*0d6140beSAndroid Build Coastguard Worker #define WINBOND_W29GL032CHL	0x7E1D01	/* Uniform Sectors, WP protects Top OR Bottom sector */
1056*0d6140beSAndroid Build Coastguard Worker #define WINBOND_W29GL032CB	0x7E1A00	/* Top Boot Sector, WP protects Top 2 sectors */
1057*0d6140beSAndroid Build Coastguard Worker #define WINBOND_W29GL032CT	0x7E1A01	/* Bottom Boot Sector, WP protects Bottom 2 sectors */
1058*0d6140beSAndroid Build Coastguard Worker #define WINBOND_W29GL064CHL	0x7E0C01	/* Uniform Sectors, WP protects Top OR Bottom sector */
1059*0d6140beSAndroid Build Coastguard Worker #define WINBOND_W29GL064CB	0x7E1000	/* Top Boot Sector, WP protects Top 2 sectors */
1060*0d6140beSAndroid Build Coastguard Worker #define WINBOND_W29GL064CT	0x7E1001	/* Bottom Boot Sector, WP protects Bottom 2 sectors */
1061*0d6140beSAndroid Build Coastguard Worker #define WINBOND_W29GL128CHL	0x7E2101	/* Uniform Sectors, WP protects Top OR Bottom sector */
1062*0d6140beSAndroid Build Coastguard Worker #define WINBOND_W29GL256HL	0x7E2201	/* Same ID for W29GL0256P and W29GL0256S; uniform Sectors, WP protects Top OR Bottom sector */
1063*0d6140beSAndroid Build Coastguard Worker #define WINBOND_W39F010		0xA1
1064*0d6140beSAndroid Build Coastguard Worker #define WINBOND_W39L010		0x31
1065*0d6140beSAndroid Build Coastguard Worker #define WINBOND_W39L020		0xB5
1066*0d6140beSAndroid Build Coastguard Worker #define WINBOND_W39L040		0xB6
1067*0d6140beSAndroid Build Coastguard Worker #define WINBOND_W39L040A	0xD6
1068*0d6140beSAndroid Build Coastguard Worker #define WINBOND_W39L512		0x38
1069*0d6140beSAndroid Build Coastguard Worker #define WINBOND_W39V040A	0x3D
1070*0d6140beSAndroid Build Coastguard Worker #define WINBOND_W39V040FA	0x34
1071*0d6140beSAndroid Build Coastguard Worker #define WINBOND_W39V040B	0x54	/* Same as W39V040FB */
1072*0d6140beSAndroid Build Coastguard Worker #define WINBOND_W39V040C	0x50	/* Same as W39V040FC */
1073*0d6140beSAndroid Build Coastguard Worker #define WINBOND_W39V080A	0xD0
1074*0d6140beSAndroid Build Coastguard Worker #define WINBOND_W39V080FA	0xD3
1075*0d6140beSAndroid Build Coastguard Worker #define WINBOND_W39V080FA_DM	0x93	/* W39V080FA dual mode */
1076*0d6140beSAndroid Build Coastguard Worker #define WINBOND_W49F002		0x25	/* Same as W49F002B */
1077*0d6140beSAndroid Build Coastguard Worker #define WINBOND_W49F002U	0x0B	/* Same as W49F002N and ASD AE49F2008 */
1078*0d6140beSAndroid Build Coastguard Worker #define WINBOND_W49F020		0x8C
1079*0d6140beSAndroid Build Coastguard Worker #define WINBOND_W49V002A	0xB0
1080*0d6140beSAndroid Build Coastguard Worker #define WINBOND_W49V002FA	0x32
1081*0d6140beSAndroid Build Coastguard Worker 
1082*0d6140beSAndroid Build Coastguard Worker #define XTX_ID			0x0B	/* XTX Technology Limited */
1083*0d6140beSAndroid Build Coastguard Worker #define XTX_XT25F02E		0x4012
1084*0d6140beSAndroid Build Coastguard Worker #define XTX_XT25F64B		0x4017
1085*0d6140beSAndroid Build Coastguard Worker #define XTX_XT25F128B		0x4018
1086*0d6140beSAndroid Build Coastguard Worker 
1087*0d6140beSAndroid Build Coastguard Worker #define ZETTA_ID		0xBA	/* Zetta Device */
1088*0d6140beSAndroid Build Coastguard Worker #define ZETTA_ZD25D20		0x2012
1089*0d6140beSAndroid Build Coastguard Worker #define ZETTA_ZD25D40		0x2013
1090*0d6140beSAndroid Build Coastguard Worker #define ZETTA_ZD25LQ128_REMS	0x17	/* RDID = 0x4218 */
1091*0d6140beSAndroid Build Coastguard Worker 
1092*0d6140beSAndroid Build Coastguard Worker #endif /* !FLASHCHIPS_H */
1093