1 #ifndef CYGONCE_DEVS_FLASH_AMD_AM29XXXXX_PARTS_INL
2 #define CYGONCE_DEVS_FLASH_AMD_AM29XXXXX_PARTS_INL
3 //==========================================================================
7 // AMD AM29xxxxx part descriptors
9 //==========================================================================
10 //####ECOSGPLCOPYRIGHTBEGIN####
11 // -------------------------------------------
12 // This file is part of eCos, the Embedded Configurable Operating System.
13 // Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
14 // Copyright (C) 2002 Gary Thomas
16 // eCos is free software; you can redistribute it and/or modify it under
17 // the terms of the GNU General Public License as published by the Free
18 // Software Foundation; either version 2 or (at your option) any later version.
20 // eCos is distributed in the hope that it will be useful, but WITHOUT ANY
21 // WARRANTY; without even the implied warranty of MERCHANTABILITY or
22 // FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
25 // You should have received a copy of the GNU General Public License along
26 // with eCos; if not, write to the Free Software Foundation, Inc.,
27 // 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
29 // As a special exception, if other files instantiate templates or use macros
30 // or inline functions from this file, or you compile this file and link it
31 // with other works to produce a work based on this file, this file does not
32 // by itself cause the resulting work to be covered by the GNU General Public
33 // License. However the source code for this file must still be made available
34 // in accordance with section (3) of the GNU General Public License.
36 // This exception does not invalidate any other reasons why a work based on
37 // this file might be covered by the GNU General Public License.
39 // Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
40 // at http://sources.redhat.com/ecos/ecos-license/
41 // -------------------------------------------
42 //####ECOSGPLCOPYRIGHTEND####
43 //==========================================================================
44 //#####DESCRIPTIONBEGIN####
47 // Contributors: jskov, Koichi Nagashima
50 // Description: AMD AM29xxxxx part descriptors
51 // Usage: Should be included from the flash_am29xxxxx.inl file only.
53 // FIXME: Add configury for selecting bottom/top bootblocks
54 //####DESCRIPTIONEND####
56 //==========================================================================
59 // Note: 'bootblocks' are a set of blocks which are treated by
60 // the driver as a single larger block. This simplifies the driver
61 // so as to only have to deal with single size blocks (even though
62 // the physical device may differ). The data structure is laid out as:
63 // <address of start of boot block area 1>
64 // <size of sub-block 1>
65 // <size of sub-block 2>
67 // <size of sub-block n>
68 // <address of start of boot block area 2>
69 // <size of sub-block 1>
70 // <size of sub-block 2>
72 // <size of sub-block n>
75 // Finally, when specifying a device with bootblocks, the total number
76 // of blocks should reflect this collapse, i.e. if the device has 15
77 // full size blocks and 8 blocks which are 1/8 each, then the total
78 // should be 16 blocks.
80 #define _LAST_BOOTBLOCK (-1)
82 #if CYGNUM_FLASH_WIDTH == 8
83 #ifdef CYGHWR_DEVS_FLASH_AMD_AM29F002T
85 device_id : FLASHWORD(0xb0),
86 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
88 device_size: 0x40000 * CYGNUM_FLASH_INTERLEAVE,
89 base_mask : ~(0x40000 * CYGNUM_FLASH_INTERLEAVE - 1),
91 bootblocks : { 0x030000 * CYGNUM_FLASH_INTERLEAVE,
92 0x008000 * CYGNUM_FLASH_INTERLEAVE,
93 0x002000 * CYGNUM_FLASH_INTERLEAVE,
94 0x002000 * CYGNUM_FLASH_INTERLEAVE,
95 0x004000 * CYGNUM_FLASH_INTERLEAVE,
102 #ifdef CYGHWR_DEVS_FLASH_AMD_AM29F010
104 device_id : FLASHWORD(0x20),
105 block_size : 0x4000 * CYGNUM_FLASH_INTERLEAVE,
107 device_size: 0x20000 * CYGNUM_FLASH_INTERLEAVE,
108 base_mask : ~(0x20000 * CYGNUM_FLASH_INTERLEAVE - 1),
113 #ifdef CYGHWR_DEVS_FLASH_AMD_AM29F040B
115 device_id : FLASHWORD(0xa4),
116 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
118 device_size: 0x80000 * CYGNUM_FLASH_INTERLEAVE,
119 base_mask : ~(0x80000 * CYGNUM_FLASH_INTERLEAVE - 1),
125 #ifdef CYGHWR_DEVS_FLASH_AMD_AM29LV160
126 { // MBM29LV160-T | AM29LV160-T
127 device_id : FLASHWORD(0xc4),
128 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
130 device_size: 0x200000 * CYGNUM_FLASH_INTERLEAVE,
131 base_mask : ~(0x200000 * CYGNUM_FLASH_INTERLEAVE - 1),
133 bootblocks : { 0x1f0000 * CYGNUM_FLASH_INTERLEAVE,
134 0x008000 * CYGNUM_FLASH_INTERLEAVE,
135 0x002000 * CYGNUM_FLASH_INTERLEAVE,
136 0x002000 * CYGNUM_FLASH_INTERLEAVE,
137 0x004000 * CYGNUM_FLASH_INTERLEAVE,
143 { // MBM29LV160-B | AM29LV160-B
144 device_id : FLASHWORD(0x49),
145 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
147 device_size: 0x200000 * CYGNUM_FLASH_INTERLEAVE,
148 base_mask : ~(0x200000 * CYGNUM_FLASH_INTERLEAVE - 1),
150 bootblocks : { 0x000000 * CYGNUM_FLASH_INTERLEAVE,
151 0x004000 * CYGNUM_FLASH_INTERLEAVE,
152 0x002000 * CYGNUM_FLASH_INTERLEAVE,
153 0x002000 * CYGNUM_FLASH_INTERLEAVE,
154 0x008000 * CYGNUM_FLASH_INTERLEAVE,
161 #ifdef CYGHWR_DEVS_FLASH_AMD_AM29LV200
163 device_id : FLASHWORD(0x3b),
164 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
166 device_size: 0x40000 * CYGNUM_FLASH_INTERLEAVE,
167 base_mask : ~(0x40000 * CYGNUM_FLASH_INTERLEAVE - 1),
169 bootblocks : { 0x030000 * CYGNUM_FLASH_INTERLEAVE,
170 0x008000 * CYGNUM_FLASH_INTERLEAVE,
171 0x002000 * CYGNUM_FLASH_INTERLEAVE,
172 0x002000 * CYGNUM_FLASH_INTERLEAVE,
173 0x004000 * CYGNUM_FLASH_INTERLEAVE,
180 device_id : FLASHWORD(0xbf),
181 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
183 device_size: 0x40000 * CYGNUM_FLASH_INTERLEAVE,
184 base_mask : ~(0x40000 * CYGNUM_FLASH_INTERLEAVE - 1),
186 bootblocks : { 0x000000 * CYGNUM_FLASH_INTERLEAVE,
187 0x004000 * CYGNUM_FLASH_INTERLEAVE,
188 0x002000 * CYGNUM_FLASH_INTERLEAVE,
189 0x002000 * CYGNUM_FLASH_INTERLEAVE,
190 0x008000 * CYGNUM_FLASH_INTERLEAVE,
197 #ifdef CYGHWR_DEVS_FLASH_AMD_AM29LV320D
199 device_id : FLASHWORD(0xF6),
200 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
202 device_size: 0x400000 * CYGNUM_FLASH_INTERLEAVE,
203 base_mask : ~(0x400000 * CYGNUM_FLASH_INTERLEAVE - 1),
205 bootblocks : { 0x3f0000 * CYGNUM_FLASH_INTERLEAVE,
206 0x002000 * CYGNUM_FLASH_INTERLEAVE,
207 0x002000 * CYGNUM_FLASH_INTERLEAVE,
208 0x002000 * CYGNUM_FLASH_INTERLEAVE,
209 0x002000 * CYGNUM_FLASH_INTERLEAVE,
210 0x002000 * CYGNUM_FLASH_INTERLEAVE,
211 0x002000 * CYGNUM_FLASH_INTERLEAVE,
212 0x002000 * CYGNUM_FLASH_INTERLEAVE,
213 0x002000 * CYGNUM_FLASH_INTERLEAVE,
220 device_id : FLASHWORD(0xF9),
221 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
223 device_size: 0x400000 * CYGNUM_FLASH_INTERLEAVE,
224 base_mask : ~(0x400000 * CYGNUM_FLASH_INTERLEAVE - 1),
226 bootblocks : { 0x000000 * CYGNUM_FLASH_INTERLEAVE,
227 0x002000 * CYGNUM_FLASH_INTERLEAVE,
228 0x002000 * CYGNUM_FLASH_INTERLEAVE,
229 0x002000 * CYGNUM_FLASH_INTERLEAVE,
230 0x002000 * CYGNUM_FLASH_INTERLEAVE,
231 0x002000 * CYGNUM_FLASH_INTERLEAVE,
232 0x002000 * CYGNUM_FLASH_INTERLEAVE,
233 0x002000 * CYGNUM_FLASH_INTERLEAVE,
234 0x002000 * CYGNUM_FLASH_INTERLEAVE,
241 #ifdef CYGHWR_DEVS_FLASH_AMD_AM29DL322D
243 device_id : FLASHWORD(0x55),
244 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
246 device_size: 0x400000 * CYGNUM_FLASH_INTERLEAVE,
247 base_mask : ~(0x400000 * CYGNUM_FLASH_INTERLEAVE - 1),
249 bootblocks : { 0x3f0000 * CYGNUM_FLASH_INTERLEAVE,
250 0x002000 * CYGNUM_FLASH_INTERLEAVE,
251 0x002000 * CYGNUM_FLASH_INTERLEAVE,
252 0x002000 * CYGNUM_FLASH_INTERLEAVE,
253 0x002000 * CYGNUM_FLASH_INTERLEAVE,
254 0x002000 * CYGNUM_FLASH_INTERLEAVE,
255 0x002000 * CYGNUM_FLASH_INTERLEAVE,
256 0x002000 * CYGNUM_FLASH_INTERLEAVE,
257 0x002000 * CYGNUM_FLASH_INTERLEAVE,
261 banks : { 0x380000 * CYGNUM_FLASH_INTERLEAVE,
267 device_id : FLASHWORD(0x56),
268 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
270 device_size: 0x400000 * CYGNUM_FLASH_INTERLEAVE,
271 base_mask : ~(0x400000 * CYGNUM_FLASH_INTERLEAVE - 1),
273 bootblocks : { 0x000000 * CYGNUM_FLASH_INTERLEAVE,
274 0x002000 * CYGNUM_FLASH_INTERLEAVE,
275 0x002000 * CYGNUM_FLASH_INTERLEAVE,
276 0x002000 * CYGNUM_FLASH_INTERLEAVE,
277 0x002000 * CYGNUM_FLASH_INTERLEAVE,
278 0x002000 * CYGNUM_FLASH_INTERLEAVE,
279 0x002000 * CYGNUM_FLASH_INTERLEAVE,
280 0x002000 * CYGNUM_FLASH_INTERLEAVE,
281 0x002000 * CYGNUM_FLASH_INTERLEAVE,
285 banks : { 0x80000 * CYGNUM_FLASH_INTERLEAVE,
291 #ifdef CYGHWR_DEVS_FLASH_AMD_AM29DL323D
293 device_id : FLASHWORD(0x50),
294 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
296 device_size: 0x400000 * CYGNUM_FLASH_INTERLEAVE,
297 base_mask : ~(0x400000 * CYGNUM_FLASH_INTERLEAVE - 1),
299 bootblocks : { 0x3f0000 * CYGNUM_FLASH_INTERLEAVE,
300 0x002000 * CYGNUM_FLASH_INTERLEAVE,
301 0x002000 * CYGNUM_FLASH_INTERLEAVE,
302 0x002000 * CYGNUM_FLASH_INTERLEAVE,
303 0x002000 * CYGNUM_FLASH_INTERLEAVE,
304 0x002000 * CYGNUM_FLASH_INTERLEAVE,
305 0x002000 * CYGNUM_FLASH_INTERLEAVE,
306 0x002000 * CYGNUM_FLASH_INTERLEAVE,
307 0x002000 * CYGNUM_FLASH_INTERLEAVE,
311 banks : { 0x300000 * CYGNUM_FLASH_INTERLEAVE,
317 device_id : FLASHWORD(0x53),
318 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
320 device_size: 0x400000 * CYGNUM_FLASH_INTERLEAVE,
321 base_mask : ~(0x400000 * CYGNUM_FLASH_INTERLEAVE - 1),
323 bootblocks : { 0x000000 * CYGNUM_FLASH_INTERLEAVE,
324 0x002000 * CYGNUM_FLASH_INTERLEAVE,
325 0x002000 * CYGNUM_FLASH_INTERLEAVE,
326 0x002000 * CYGNUM_FLASH_INTERLEAVE,
327 0x002000 * CYGNUM_FLASH_INTERLEAVE,
328 0x002000 * CYGNUM_FLASH_INTERLEAVE,
329 0x002000 * CYGNUM_FLASH_INTERLEAVE,
330 0x002000 * CYGNUM_FLASH_INTERLEAVE,
331 0x002000 * CYGNUM_FLASH_INTERLEAVE,
335 banks : { 0x100000 * CYGNUM_FLASH_INTERLEAVE,
341 #ifdef CYGHWR_DEVS_FLASH_AMD_AM29DL324D
343 device_id : FLASHWORD(0x5c),
344 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
346 device_size: 0x400000 * CYGNUM_FLASH_INTERLEAVE,
347 base_mask : ~(0x400000 * CYGNUM_FLASH_INTERLEAVE - 1),
349 bootblocks : { 0x3f0000 * CYGNUM_FLASH_INTERLEAVE,
350 0x002000 * CYGNUM_FLASH_INTERLEAVE,
351 0x002000 * CYGNUM_FLASH_INTERLEAVE,
352 0x002000 * CYGNUM_FLASH_INTERLEAVE,
353 0x002000 * CYGNUM_FLASH_INTERLEAVE,
354 0x002000 * CYGNUM_FLASH_INTERLEAVE,
355 0x002000 * CYGNUM_FLASH_INTERLEAVE,
356 0x002000 * CYGNUM_FLASH_INTERLEAVE,
357 0x002000 * CYGNUM_FLASH_INTERLEAVE,
361 banks : { 0x200000 * CYGNUM_FLASH_INTERLEAVE,
367 device_id : FLASHWORD(0x5f),
368 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
370 device_size: 0x400000 * CYGNUM_FLASH_INTERLEAVE,
371 base_mask : ~(0x400000 * CYGNUM_FLASH_INTERLEAVE - 1),
373 bootblocks : { 0x000000 * CYGNUM_FLASH_INTERLEAVE,
374 0x002000 * CYGNUM_FLASH_INTERLEAVE,
375 0x002000 * CYGNUM_FLASH_INTERLEAVE,
376 0x002000 * CYGNUM_FLASH_INTERLEAVE,
377 0x002000 * CYGNUM_FLASH_INTERLEAVE,
378 0x002000 * CYGNUM_FLASH_INTERLEAVE,
379 0x002000 * CYGNUM_FLASH_INTERLEAVE,
380 0x002000 * CYGNUM_FLASH_INTERLEAVE,
381 0x002000 * CYGNUM_FLASH_INTERLEAVE,
385 banks : { 0x200000 * CYGNUM_FLASH_INTERLEAVE,
391 #ifdef CYGHWR_DEVS_FLASH_AMD_AM29DL640D
393 long_device_id: true,
394 device_id : FLASHWORD(0x7e),
395 device_id2 : FLASHWORD(0x02),
396 device_id3 : FLASHWORD(0x01),
397 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
399 device_size: 0x0800000 * CYGNUM_FLASH_INTERLEAVE,
400 base_mask : ~(0x8000000 * CYGNUM_FLASH_INTERLEAVE - 1),
402 bootblocks : { 0x000000 * CYGNUM_FLASH_INTERLEAVE,
403 0x2000 * CYGNUM_FLASH_INTERLEAVE,
404 0x2000 * CYGNUM_FLASH_INTERLEAVE,
405 0x2000 * CYGNUM_FLASH_INTERLEAVE,
406 0x2000 * CYGNUM_FLASH_INTERLEAVE,
407 0x2000 * CYGNUM_FLASH_INTERLEAVE,
408 0x2000 * CYGNUM_FLASH_INTERLEAVE,
409 0x2000 * CYGNUM_FLASH_INTERLEAVE,
410 0x2000 * CYGNUM_FLASH_INTERLEAVE,
411 0x7F0000 * CYGNUM_FLASH_INTERLEAVE,
412 0x2000 * CYGNUM_FLASH_INTERLEAVE,
413 0x2000 * CYGNUM_FLASH_INTERLEAVE,
414 0x2000 * CYGNUM_FLASH_INTERLEAVE,
415 0x2000 * CYGNUM_FLASH_INTERLEAVE,
416 0x2000 * CYGNUM_FLASH_INTERLEAVE,
417 0x2000 * CYGNUM_FLASH_INTERLEAVE,
418 0x2000 * CYGNUM_FLASH_INTERLEAVE,
419 0x2000 * CYGNUM_FLASH_INTERLEAVE,
423 banks : { 0x0700000 * CYGNUM_FLASH_INTERLEAVE,
424 0x0400000 * CYGNUM_FLASH_INTERLEAVE,
425 0x0100000 * CYGNUM_FLASH_INTERLEAVE,
431 #ifdef CYGHWR_DEVS_FLASH_AMD_AM29F800
433 device_id : FLASHWORD(0xd6),
434 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
436 device_size: 0x100000 * CYGNUM_FLASH_INTERLEAVE,
437 base_mask : ~(0x100000 * CYGNUM_FLASH_INTERLEAVE - 1),
439 bootblocks : { 0xf0000 * CYGNUM_FLASH_INTERLEAVE,
440 0x08000 * CYGNUM_FLASH_INTERLEAVE,
441 0x02000 * CYGNUM_FLASH_INTERLEAVE,
442 0x02000 * CYGNUM_FLASH_INTERLEAVE,
443 0x04000 * CYGNUM_FLASH_INTERLEAVE,
450 device_id : FLASHWORD(0x58),
451 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
453 device_size: 0x100000 * CYGNUM_FLASH_INTERLEAVE,
454 base_mask : ~(0x100000 * CYGNUM_FLASH_INTERLEAVE - 1),
456 bootblocks : { 0x000000 * CYGNUM_FLASH_INTERLEAVE,
457 0x004000 * CYGNUM_FLASH_INTERLEAVE,
458 0x002000 * CYGNUM_FLASH_INTERLEAVE,
459 0x002000 * CYGNUM_FLASH_INTERLEAVE,
460 0x008000 * CYGNUM_FLASH_INTERLEAVE,
467 #ifdef CYGHWR_DEVS_FLASH_AMD_AM29LV800
469 device_id : FLASHWORD(0xda),
470 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
472 device_size: 0x100000 * CYGNUM_FLASH_INTERLEAVE,
473 base_mask : ~(0x100000 * CYGNUM_FLASH_INTERLEAVE - 1),
475 bootblocks : { 0xf0000 * CYGNUM_FLASH_INTERLEAVE,
476 0x08000 * CYGNUM_FLASH_INTERLEAVE,
477 0x02000 * CYGNUM_FLASH_INTERLEAVE,
478 0x02000 * CYGNUM_FLASH_INTERLEAVE,
479 0x04000 * CYGNUM_FLASH_INTERLEAVE,
486 device_id : FLASHWORD(0x5b),
487 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
489 device_size: 0x100000 * CYGNUM_FLASH_INTERLEAVE,
490 base_mask : ~(0x100000 * CYGNUM_FLASH_INTERLEAVE - 1),
492 bootblocks : { 0x000000 * CYGNUM_FLASH_INTERLEAVE,
493 0x004000 * CYGNUM_FLASH_INTERLEAVE,
494 0x002000 * CYGNUM_FLASH_INTERLEAVE,
495 0x002000 * CYGNUM_FLASH_INTERLEAVE,
496 0x008000 * CYGNUM_FLASH_INTERLEAVE,
503 #ifdef CYGHWR_DEVS_FLASH_AMD_TC58FVB800
504 { // Toshiba TC58FVB800 (compatible with AM29LV800-B except for IDs.)
505 device_id : FLASHWORD(0xCE),
506 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
508 device_size: 0x100000 * CYGNUM_FLASH_INTERLEAVE,
509 base_mask : ~(0x100000 * CYGNUM_FLASH_INTERLEAVE - 1),
511 bootblocks : { 0x000000 * CYGNUM_FLASH_INTERLEAVE,
512 0x004000 * CYGNUM_FLASH_INTERLEAVE,
513 0x002000 * CYGNUM_FLASH_INTERLEAVE,
514 0x002000 * CYGNUM_FLASH_INTERLEAVE,
515 0x008000 * CYGNUM_FLASH_INTERLEAVE,
523 #ifdef CYGHWR_DEVS_FLASH_AMD_AM29LV081B
525 device_id : FLASHWORD(0x38),
526 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
528 device_size: 0x100000 * CYGNUM_FLASH_INTERLEAVE,
529 base_mask : ~(0x100000 * CYGNUM_FLASH_INTERLEAVE - 1),
536 #ifdef CYGHWR_DEVS_FLASH_AMD_AM29LV017D
538 device_id : FLASHWORD(0xC8),
539 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
541 device_size: 0x200000 * CYGNUM_FLASH_INTERLEAVE,
542 base_mask : ~(0x200000 * CYGNUM_FLASH_INTERLEAVE - 1),
549 #ifdef CYGHWR_DEVS_FLASH_AMD_AM29LV033C
551 device_id : FLASHWORD(0xA3),
552 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
554 device_size: 0x400000 * CYGNUM_FLASH_INTERLEAVE,
555 base_mask : ~(0x400000 * CYGNUM_FLASH_INTERLEAVE - 1),
557 // Although this device is not a true banked device, we
558 // treat the device as having two banks to get the
559 // Sector Protect Verify to work for the upper half of
560 // the device. Reference Note 9 for Table 9 in the
563 banks : { 0x200000 * CYGNUM_FLASH_INTERLEAVE,
570 #ifdef CYGHWR_DEVS_FLASH_AMD_AM29LV065D
572 device_id : FLASHWORD(0x93),
573 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
575 device_size: 0x800000 * CYGNUM_FLASH_INTERLEAVE,
576 base_mask : ~(0x800000 * CYGNUM_FLASH_INTERLEAVE - 1),
583 #else // 16 bit devices
585 #ifdef CYGHWR_DEVS_FLASH_AMD_AM29LV128
587 long_device_id: true,
588 device_id : FLASHWORD(0x227e),
589 device_id2 : FLASHWORD(0x2212),
590 device_id3 : FLASHWORD(0x2200),
591 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
593 device_size: 0x1000000 * CYGNUM_FLASH_INTERLEAVE,
594 base_mask : ~(0x1000000 * CYGNUM_FLASH_INTERLEAVE - 1),
600 #ifdef CYGHWR_DEVS_FLASH_AMD_MX29LV128
602 long_device_id: true,
603 device_id : FLASHWORD(0x227e),
604 device_id2 : FLASHWORD(0x2211),
605 device_id3 : FLASHWORD(0x2201),
606 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
608 device_size: 0x1000000 * CYGNUM_FLASH_INTERLEAVE,
609 base_mask : ~(0x1000000 * CYGNUM_FLASH_INTERLEAVE - 1),
611 bootblocks : { 0xff0000 * CYGNUM_FLASH_INTERLEAVE,
612 0x002000 * CYGNUM_FLASH_INTERLEAVE,
613 0x002000 * CYGNUM_FLASH_INTERLEAVE,
614 0x002000 * CYGNUM_FLASH_INTERLEAVE,
615 0x002000 * CYGNUM_FLASH_INTERLEAVE,
616 0x002000 * CYGNUM_FLASH_INTERLEAVE,
617 0x002000 * CYGNUM_FLASH_INTERLEAVE,
618 0x002000 * CYGNUM_FLASH_INTERLEAVE,
619 0x002000 * CYGNUM_FLASH_INTERLEAVE,
626 #ifdef CYGHWR_DEVS_FLASH_AMD_AM29LV160
627 { // MBM29LV160-T | AM29LV160-T
628 device_id : FLASHWORD(0x22c4),
629 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
631 device_size: 0x200000 * CYGNUM_FLASH_INTERLEAVE,
632 base_mask : ~(0x200000 * CYGNUM_FLASH_INTERLEAVE - 1),
634 bootblocks : { 0x1f0000 * CYGNUM_FLASH_INTERLEAVE,
635 0x008000 * CYGNUM_FLASH_INTERLEAVE,
636 0x002000 * CYGNUM_FLASH_INTERLEAVE,
637 0x002000 * CYGNUM_FLASH_INTERLEAVE,
638 0x004000 * CYGNUM_FLASH_INTERLEAVE,
644 { // MBM29LV160-B | AM29LV160-B
645 device_id : FLASHWORD(0x2249),
646 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
648 device_size: 0x200000 * CYGNUM_FLASH_INTERLEAVE,
649 base_mask : ~(0x200000 * CYGNUM_FLASH_INTERLEAVE - 1),
651 bootblocks : { 0x000000 * CYGNUM_FLASH_INTERLEAVE,
652 0x004000 * CYGNUM_FLASH_INTERLEAVE,
653 0x002000 * CYGNUM_FLASH_INTERLEAVE,
654 0x002000 * CYGNUM_FLASH_INTERLEAVE,
655 0x008000 * CYGNUM_FLASH_INTERLEAVE,
662 #ifdef CYGHWR_DEVS_FLASH_AMD_AM29PL160
664 device_id : FLASHWORD(0x2227),
665 block_size : 0x00040000 * CYGNUM_FLASH_INTERLEAVE,
667 device_size: 0x00200000 * CYGNUM_FLASH_INTERLEAVE,
668 base_mask : ~(0x00200000 * CYGNUM_FLASH_INTERLEAVE - 1),
670 bootblocks : { 0x1c0000 * CYGNUM_FLASH_INTERLEAVE,
671 0x038000 * CYGNUM_FLASH_INTERLEAVE,
672 0x002000 * CYGNUM_FLASH_INTERLEAVE,
673 0x002000 * CYGNUM_FLASH_INTERLEAVE,
674 0x004000 * CYGNUM_FLASH_INTERLEAVE,
681 device_id : FLASHWORD(0x2245),
682 block_size : 0x00040000 * CYGNUM_FLASH_INTERLEAVE,
684 device_size: 0x00200000 * CYGNUM_FLASH_INTERLEAVE,
685 base_mask : ~(0x00200000 * CYGNUM_FLASH_INTERLEAVE - 1),
687 bootblocks : { 0x000000 * CYGNUM_FLASH_INTERLEAVE,
688 0x004000 * CYGNUM_FLASH_INTERLEAVE,
689 0x002000 * CYGNUM_FLASH_INTERLEAVE,
690 0x002000 * CYGNUM_FLASH_INTERLEAVE,
691 0x038000 * CYGNUM_FLASH_INTERLEAVE,
698 #ifdef CYGHWR_DEVS_FLASH_AMD_AM29LV200
700 device_id : FLASHWORD(0x223b),
701 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
703 device_size: 0x40000 * CYGNUM_FLASH_INTERLEAVE,
704 base_mask : ~(0x40000 * CYGNUM_FLASH_INTERLEAVE - 1),
706 bootblocks : { 0x030000 * CYGNUM_FLASH_INTERLEAVE,
707 0x008000 * CYGNUM_FLASH_INTERLEAVE,
708 0x002000 * CYGNUM_FLASH_INTERLEAVE,
709 0x002000 * CYGNUM_FLASH_INTERLEAVE,
710 0x004000 * CYGNUM_FLASH_INTERLEAVE,
717 device_id : FLASHWORD(0x22bf),
718 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
720 device_size: 0x40000 * CYGNUM_FLASH_INTERLEAVE,
721 base_mask : ~(0x40000 * CYGNUM_FLASH_INTERLEAVE - 1),
723 bootblocks : { 0x000000 * CYGNUM_FLASH_INTERLEAVE,
724 0x004000 * CYGNUM_FLASH_INTERLEAVE,
725 0x002000 * CYGNUM_FLASH_INTERLEAVE,
726 0x002000 * CYGNUM_FLASH_INTERLEAVE,
727 0x008000 * CYGNUM_FLASH_INTERLEAVE,
734 #ifdef CYGHWR_DEVS_FLASH_ST_M29W200B
736 device_id : FLASHWORD(0x0051),
737 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
739 device_size: 0x40000 * CYGNUM_FLASH_INTERLEAVE,
740 base_mask : ~(0x40000 * CYGNUM_FLASH_INTERLEAVE - 1),
742 bootblocks : { 0x030000 * CYGNUM_FLASH_INTERLEAVE,
743 0x008000 * CYGNUM_FLASH_INTERLEAVE,
744 0x002000 * CYGNUM_FLASH_INTERLEAVE,
745 0x002000 * CYGNUM_FLASH_INTERLEAVE,
746 0x004000 * CYGNUM_FLASH_INTERLEAVE,
753 device_id : FLASHWORD(0x0057),
754 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
756 device_size: 0x40000 * CYGNUM_FLASH_INTERLEAVE,
757 base_mask : ~(0x40000 * CYGNUM_FLASH_INTERLEAVE - 1),
759 bootblocks : { 0x000000 * CYGNUM_FLASH_INTERLEAVE,
760 0x004000 * CYGNUM_FLASH_INTERLEAVE,
761 0x002000 * CYGNUM_FLASH_INTERLEAVE,
762 0x002000 * CYGNUM_FLASH_INTERLEAVE,
763 0x008000 * CYGNUM_FLASH_INTERLEAVE,
770 #ifdef CYGHWR_DEVS_FLASH_ST_M29W320D
772 device_id : FLASHWORD(0x22ca),
773 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
775 device_size: 0x400000 * CYGNUM_FLASH_INTERLEAVE,
776 base_mask : ~(0x400000 * CYGNUM_FLASH_INTERLEAVE - 1),
778 bootblocks : { 0x3f0000 * CYGNUM_FLASH_INTERLEAVE, // offset
779 0x008000 * CYGNUM_FLASH_INTERLEAVE, // size 1
780 0x002000 * CYGNUM_FLASH_INTERLEAVE, // size 2
781 0x002000 * CYGNUM_FLASH_INTERLEAVE, // size 3
782 0x004000 * CYGNUM_FLASH_INTERLEAVE, // size 4
789 device_id : FLASHWORD(0x22cb),
790 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
792 device_size: 0x400000 * CYGNUM_FLASH_INTERLEAVE,
793 base_mask : ~(0x400000 * CYGNUM_FLASH_INTERLEAVE - 1),
795 bootblocks : { 0x000000 * CYGNUM_FLASH_INTERLEAVE, // offset
796 0x004000 * CYGNUM_FLASH_INTERLEAVE, // size 1
797 0x002000 * CYGNUM_FLASH_INTERLEAVE, // size 2
798 0x002000 * CYGNUM_FLASH_INTERLEAVE, // size 3
799 0x008000 * CYGNUM_FLASH_INTERLEAVE, // size 4
806 #ifdef CYGHWR_DEVS_FLASH_AMD_AM29LV320D
808 device_id : FLASHWORD(0x22F6),
809 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
811 device_size: 0x400000 * CYGNUM_FLASH_INTERLEAVE,
812 base_mask : ~(0x400000 * CYGNUM_FLASH_INTERLEAVE - 1),
814 bootblocks : { 0x3f0000 * CYGNUM_FLASH_INTERLEAVE,
815 0x002000 * CYGNUM_FLASH_INTERLEAVE,
816 0x002000 * CYGNUM_FLASH_INTERLEAVE,
817 0x002000 * CYGNUM_FLASH_INTERLEAVE,
818 0x002000 * CYGNUM_FLASH_INTERLEAVE,
819 0x002000 * CYGNUM_FLASH_INTERLEAVE,
820 0x002000 * CYGNUM_FLASH_INTERLEAVE,
821 0x002000 * CYGNUM_FLASH_INTERLEAVE,
822 0x002000 * CYGNUM_FLASH_INTERLEAVE,
829 device_id : FLASHWORD(0x22F9),
830 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
832 device_size: 0x400000 * CYGNUM_FLASH_INTERLEAVE,
833 base_mask : ~(0x400000 * CYGNUM_FLASH_INTERLEAVE - 1),
835 bootblocks : { 0x000000 * CYGNUM_FLASH_INTERLEAVE,
836 0x002000 * CYGNUM_FLASH_INTERLEAVE,
837 0x002000 * CYGNUM_FLASH_INTERLEAVE,
838 0x002000 * CYGNUM_FLASH_INTERLEAVE,
839 0x002000 * CYGNUM_FLASH_INTERLEAVE,
840 0x002000 * CYGNUM_FLASH_INTERLEAVE,
841 0x002000 * CYGNUM_FLASH_INTERLEAVE,
842 0x002000 * CYGNUM_FLASH_INTERLEAVE,
843 0x002000 * CYGNUM_FLASH_INTERLEAVE,
850 #ifdef CYGHWR_DEVS_FLASH_AMD_AM29DL322D
852 device_id : FLASHWORD(0x2255),
853 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
855 device_size: 0x400000 * CYGNUM_FLASH_INTERLEAVE,
856 base_mask : ~(0x400000 * CYGNUM_FLASH_INTERLEAVE - 1),
858 bootblocks : { 0x3f0000 * CYGNUM_FLASH_INTERLEAVE,
859 0x002000 * CYGNUM_FLASH_INTERLEAVE,
860 0x002000 * CYGNUM_FLASH_INTERLEAVE,
861 0x002000 * CYGNUM_FLASH_INTERLEAVE,
862 0x002000 * CYGNUM_FLASH_INTERLEAVE,
863 0x002000 * CYGNUM_FLASH_INTERLEAVE,
864 0x002000 * CYGNUM_FLASH_INTERLEAVE,
865 0x002000 * CYGNUM_FLASH_INTERLEAVE,
866 0x002000 * CYGNUM_FLASH_INTERLEAVE,
870 banks : { 0x380000 * CYGNUM_FLASH_INTERLEAVE,
876 device_id : FLASHWORD(0x2256),
877 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
879 device_size: 0x400000 * CYGNUM_FLASH_INTERLEAVE,
880 base_mask : ~(0x400000 * CYGNUM_FLASH_INTERLEAVE - 1),
882 bootblocks : { 0x000000 * CYGNUM_FLASH_INTERLEAVE,
883 0x002000 * CYGNUM_FLASH_INTERLEAVE,
884 0x002000 * CYGNUM_FLASH_INTERLEAVE,
885 0x002000 * CYGNUM_FLASH_INTERLEAVE,
886 0x002000 * CYGNUM_FLASH_INTERLEAVE,
887 0x002000 * CYGNUM_FLASH_INTERLEAVE,
888 0x002000 * CYGNUM_FLASH_INTERLEAVE,
889 0x002000 * CYGNUM_FLASH_INTERLEAVE,
890 0x002000 * CYGNUM_FLASH_INTERLEAVE,
894 banks : { 0x80000 * CYGNUM_FLASH_INTERLEAVE,
900 #ifdef CYGHWR_DEVS_FLASH_AMD_AM29DL323D
902 device_id : FLASHWORD(0x2250),
903 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
905 device_size: 0x400000 * CYGNUM_FLASH_INTERLEAVE,
906 base_mask : ~(0x400000 * CYGNUM_FLASH_INTERLEAVE - 1),
908 bootblocks : { 0x3f0000 * CYGNUM_FLASH_INTERLEAVE,
909 0x002000 * CYGNUM_FLASH_INTERLEAVE,
910 0x002000 * CYGNUM_FLASH_INTERLEAVE,
911 0x002000 * CYGNUM_FLASH_INTERLEAVE,
912 0x002000 * CYGNUM_FLASH_INTERLEAVE,
913 0x002000 * CYGNUM_FLASH_INTERLEAVE,
914 0x002000 * CYGNUM_FLASH_INTERLEAVE,
915 0x002000 * CYGNUM_FLASH_INTERLEAVE,
916 0x002000 * CYGNUM_FLASH_INTERLEAVE,
920 banks : { 0x300000 * CYGNUM_FLASH_INTERLEAVE,
926 device_id : FLASHWORD(0x2253),
927 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
929 device_size: 0x400000 * CYGNUM_FLASH_INTERLEAVE,
930 base_mask : ~(0x400000 * CYGNUM_FLASH_INTERLEAVE - 1),
932 bootblocks : { 0x000000 * CYGNUM_FLASH_INTERLEAVE,
933 0x002000 * CYGNUM_FLASH_INTERLEAVE,
934 0x002000 * CYGNUM_FLASH_INTERLEAVE,
935 0x002000 * CYGNUM_FLASH_INTERLEAVE,
936 0x002000 * CYGNUM_FLASH_INTERLEAVE,
937 0x002000 * CYGNUM_FLASH_INTERLEAVE,
938 0x002000 * CYGNUM_FLASH_INTERLEAVE,
939 0x002000 * CYGNUM_FLASH_INTERLEAVE,
940 0x002000 * CYGNUM_FLASH_INTERLEAVE,
944 banks : { 0x100000 * CYGNUM_FLASH_INTERLEAVE,
950 #ifdef CYGHWR_DEVS_FLASH_AMD_AM29DL324D
952 device_id : FLASHWORD(0x225c),
953 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
955 device_size: 0x400000 * CYGNUM_FLASH_INTERLEAVE,
956 base_mask : ~(0x400000 * CYGNUM_FLASH_INTERLEAVE - 1),
958 bootblocks : { 0x3f0000 * CYGNUM_FLASH_INTERLEAVE,
959 0x002000 * CYGNUM_FLASH_INTERLEAVE,
960 0x002000 * CYGNUM_FLASH_INTERLEAVE,
961 0x002000 * CYGNUM_FLASH_INTERLEAVE,
962 0x002000 * CYGNUM_FLASH_INTERLEAVE,
963 0x002000 * CYGNUM_FLASH_INTERLEAVE,
964 0x002000 * CYGNUM_FLASH_INTERLEAVE,
965 0x002000 * CYGNUM_FLASH_INTERLEAVE,
966 0x002000 * CYGNUM_FLASH_INTERLEAVE,
970 banks : { 0x200000 * CYGNUM_FLASH_INTERLEAVE,
976 device_id : FLASHWORD(0x225f),
977 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
979 device_size: 0x400000 * CYGNUM_FLASH_INTERLEAVE,
980 base_mask : ~(0x400000 * CYGNUM_FLASH_INTERLEAVE - 1),
982 bootblocks : { 0x000000 * CYGNUM_FLASH_INTERLEAVE,
983 0x002000 * CYGNUM_FLASH_INTERLEAVE,
984 0x002000 * CYGNUM_FLASH_INTERLEAVE,
985 0x002000 * CYGNUM_FLASH_INTERLEAVE,
986 0x002000 * CYGNUM_FLASH_INTERLEAVE,
987 0x002000 * CYGNUM_FLASH_INTERLEAVE,
988 0x002000 * CYGNUM_FLASH_INTERLEAVE,
989 0x002000 * CYGNUM_FLASH_INTERLEAVE,
990 0x002000 * CYGNUM_FLASH_INTERLEAVE,
994 banks : { 0x200000 * CYGNUM_FLASH_INTERLEAVE,
1000 #ifdef CYGHWR_DEVS_FLASH_AMD_AM29DL640D
1002 long_device_id: true,
1003 device_id : FLASHWORD(0x227e),
1004 device_id2 : FLASHWORD(0x2202),
1005 device_id3 : FLASHWORD(0x2201),
1006 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
1008 device_size: 0x800000 * CYGNUM_FLASH_INTERLEAVE,
1009 base_mask : ~(0x800000 * CYGNUM_FLASH_INTERLEAVE - 1),
1011 bootblocks : { 0x000000 * CYGNUM_FLASH_INTERLEAVE,
1012 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1013 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1014 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1015 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1016 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1017 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1018 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1019 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1020 0x7F0000 * CYGNUM_FLASH_INTERLEAVE,
1021 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1022 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1023 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1024 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1025 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1026 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1027 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1028 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1032 banks : { 0x700000 * CYGNUM_FLASH_INTERLEAVE,
1033 0x400000 * CYGNUM_FLASH_INTERLEAVE,
1034 0x100000 * CYGNUM_FLASH_INTERLEAVE,
1040 #ifdef CYGHWR_DEVS_FLASH_AMD_AM29LV400
1042 device_id : FLASHWORD(0x22b9),
1043 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
1045 device_size: 0x80000 * CYGNUM_FLASH_INTERLEAVE,
1046 base_mask : ~(0x80000 * CYGNUM_FLASH_INTERLEAVE - 1),
1048 bootblocks : { 0xf0000 * CYGNUM_FLASH_INTERLEAVE,
1049 0x08000 * CYGNUM_FLASH_INTERLEAVE,
1050 0x02000 * CYGNUM_FLASH_INTERLEAVE,
1051 0x02000 * CYGNUM_FLASH_INTERLEAVE,
1052 0x04000 * CYGNUM_FLASH_INTERLEAVE,
1059 device_id : FLASHWORD(0x22ba),
1060 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
1062 device_size: 0x80000 * CYGNUM_FLASH_INTERLEAVE,
1063 base_mask : ~(0x80000 * CYGNUM_FLASH_INTERLEAVE - 1),
1065 bootblocks : { 0x000000 * CYGNUM_FLASH_INTERLEAVE,
1066 0x004000 * CYGNUM_FLASH_INTERLEAVE,
1067 0x002000 * CYGNUM_FLASH_INTERLEAVE,
1068 0x002000 * CYGNUM_FLASH_INTERLEAVE,
1069 0x008000 * CYGNUM_FLASH_INTERLEAVE,
1076 #ifdef CYGHWR_DEVS_FLASH_AMD_AM29F800
1078 device_id : FLASHWORD(0x22d6),
1079 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
1081 device_size: 0x100000 * CYGNUM_FLASH_INTERLEAVE,
1082 base_mask : ~(0x100000 * CYGNUM_FLASH_INTERLEAVE - 1),
1084 bootblocks : { 0xf0000 * CYGNUM_FLASH_INTERLEAVE,
1085 0x08000 * CYGNUM_FLASH_INTERLEAVE,
1086 0x02000 * CYGNUM_FLASH_INTERLEAVE,
1087 0x02000 * CYGNUM_FLASH_INTERLEAVE,
1088 0x04000 * CYGNUM_FLASH_INTERLEAVE,
1095 device_id : FLASHWORD(0x2258),
1096 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
1098 device_size: 0x100000 * CYGNUM_FLASH_INTERLEAVE,
1099 base_mask : ~(0x100000 * CYGNUM_FLASH_INTERLEAVE - 1),
1101 bootblocks : { 0x000000 * CYGNUM_FLASH_INTERLEAVE,
1102 0x004000 * CYGNUM_FLASH_INTERLEAVE,
1103 0x002000 * CYGNUM_FLASH_INTERLEAVE,
1104 0x002000 * CYGNUM_FLASH_INTERLEAVE,
1105 0x008000 * CYGNUM_FLASH_INTERLEAVE,
1112 #ifdef CYGHWR_DEVS_FLASH_AMD_AM29LV800
1114 device_id : FLASHWORD(0x22da),
1115 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
1117 device_size: 0x100000 * CYGNUM_FLASH_INTERLEAVE,
1118 base_mask : ~(0x100000 * CYGNUM_FLASH_INTERLEAVE - 1),
1120 bootblocks : { 0xf0000 * CYGNUM_FLASH_INTERLEAVE,
1121 0x08000 * CYGNUM_FLASH_INTERLEAVE,
1122 0x02000 * CYGNUM_FLASH_INTERLEAVE,
1123 0x02000 * CYGNUM_FLASH_INTERLEAVE,
1124 0x04000 * CYGNUM_FLASH_INTERLEAVE,
1131 device_id : FLASHWORD(0x225b),
1132 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
1134 device_size: 0x100000 * CYGNUM_FLASH_INTERLEAVE,
1135 base_mask : ~(0x100000 * CYGNUM_FLASH_INTERLEAVE - 1),
1137 bootblocks : { 0x000000 * CYGNUM_FLASH_INTERLEAVE,
1138 0x004000 * CYGNUM_FLASH_INTERLEAVE,
1139 0x002000 * CYGNUM_FLASH_INTERLEAVE,
1140 0x002000 * CYGNUM_FLASH_INTERLEAVE,
1141 0x008000 * CYGNUM_FLASH_INTERLEAVE,
1148 #ifdef CYGHWR_DEVS_FLASH_AMD_AM29LV640
1150 device_id : FLASHWORD(0x22d7),
1151 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
1153 device_size: 0x800000 * CYGNUM_FLASH_INTERLEAVE,
1154 base_mask : ~(0x800000 * CYGNUM_FLASH_INTERLEAVE - 1),
1160 #ifdef CYGHWR_DEVS_FLASH_AMD_TC58FVB800
1161 { // Toshiba TC58FVB800 (compatible with AM29LV800-B except for IDs.)
1162 device_id : FLASHWORD(0xCE),
1163 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
1165 device_size: 0x100000 * CYGNUM_FLASH_INTERLEAVE,
1166 base_mask : ~(0x100000 * CYGNUM_FLASH_INTERLEAVE - 1),
1168 bootblocks : { 0x000000 * CYGNUM_FLASH_INTERLEAVE,
1169 0x004000 * CYGNUM_FLASH_INTERLEAVE,
1170 0x002000 * CYGNUM_FLASH_INTERLEAVE,
1171 0x002000 * CYGNUM_FLASH_INTERLEAVE,
1172 0x008000 * CYGNUM_FLASH_INTERLEAVE,
1180 #ifdef CYGHWR_DEVS_FLASH_AMD_AM29LV256
1182 long_device_id: true,
1183 device_id : FLASHWORD(0x227e),
1184 device_id2 : FLASHWORD(0x2212),
1185 device_id3 : FLASHWORD(0x2201),
1186 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
1188 device_size: 0x2000000 * CYGNUM_FLASH_INTERLEAVE,
1189 base_mask : ~(0x2000000 * CYGNUM_FLASH_INTERLEAVE - 1),
1195 #ifdef CYGHWR_DEVS_FLASH_AMD_S29PL032J
1197 long_device_id: true,
1198 device_id : FLASHWORD(0x227e),
1199 device_id2 : FLASHWORD(0x220a),
1200 device_id3 : FLASHWORD(0x2201),
1201 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
1203 device_size: 0x0400000 * CYGNUM_FLASH_INTERLEAVE,
1204 base_mask : ~(0x4000000 * CYGNUM_FLASH_INTERLEAVE - 1),
1206 bootblocks : { 0x000000 * CYGNUM_FLASH_INTERLEAVE,
1207 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1208 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1209 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1210 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1211 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1212 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1213 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1214 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1215 0x3F0000 * CYGNUM_FLASH_INTERLEAVE,
1216 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1217 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1218 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1219 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1220 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1221 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1222 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1223 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1227 banks : { 0x0380000 * CYGNUM_FLASH_INTERLEAVE,
1228 0x0200000 * CYGNUM_FLASH_INTERLEAVE,
1229 0x0080000 * CYGNUM_FLASH_INTERLEAVE,
1235 #ifdef CYGHWR_DEVS_FLASH_AMD_S29PL064J
1237 long_device_id: true,
1238 device_id : FLASHWORD(0x227e),
1239 device_id2 : FLASHWORD(0x2202),
1240 device_id3 : FLASHWORD(0x2201),
1241 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
1243 device_size: 0x0800000 * CYGNUM_FLASH_INTERLEAVE,
1244 base_mask : ~(0x8000000 * CYGNUM_FLASH_INTERLEAVE - 1),
1246 bootblocks : { 0x000000 * CYGNUM_FLASH_INTERLEAVE,
1247 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1248 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1249 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1250 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1251 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1252 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1253 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1254 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1255 0x7F0000 * CYGNUM_FLASH_INTERLEAVE,
1256 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1257 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1258 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1259 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1260 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1261 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1262 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1263 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1267 banks : { 0x0700000 * CYGNUM_FLASH_INTERLEAVE,
1268 0x0400000 * CYGNUM_FLASH_INTERLEAVE,
1269 0x0100000 * CYGNUM_FLASH_INTERLEAVE,
1275 #ifdef CYGHWR_DEVS_FLASH_AMD_S29PL127J
1277 long_device_id: true,
1278 device_id : FLASHWORD(0x227e),
1279 device_id2 : FLASHWORD(0x2220),
1280 device_id3 : FLASHWORD(0x2200),
1281 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
1283 device_size: 0x1000000 * CYGNUM_FLASH_INTERLEAVE,
1284 base_mask : ~(0x1000000 * CYGNUM_FLASH_INTERLEAVE - 1),
1286 bootblocks : { 0x000000 * CYGNUM_FLASH_INTERLEAVE,
1287 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1288 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1289 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1290 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1291 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1292 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1293 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1294 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1295 0xFF0000 * CYGNUM_FLASH_INTERLEAVE,
1296 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1297 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1298 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1299 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1300 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1301 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1302 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1303 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1307 banks : { 0x0e00000 * CYGNUM_FLASH_INTERLEAVE,
1308 0x0800000 * CYGNUM_FLASH_INTERLEAVE,
1309 0x0200000 * CYGNUM_FLASH_INTERLEAVE,
1316 #ifdef CYGHWR_DEVS_FLASH_AMD_S29GL512N
1317 { // AMD/SPANSION S29GL512N
1318 long_device_id: true,
1319 device_id : FLASHWORD(0x227e),
1320 device_id2 : FLASHWORD(0x2223),
1321 device_id3 : FLASHWORD(0x2201),
1322 block_size : 0x20000 * CYGNUM_FLASH_INTERLEAVE,
1324 device_size: 0x4000000 * CYGNUM_FLASH_INTERLEAVE,
1325 base_mask : ~(0x4000000 * CYGNUM_FLASH_INTERLEAVE - 1),
1332 #ifdef CYGHWR_DEVS_FLASH_AMD_S29GL256N
1333 { // AMD/SPANSION S29GL256N
1334 long_device_id: true,
1335 device_id : FLASHWORD(0x227e),
1336 device_id2 : FLASHWORD(0x2222),
1337 device_id3 : FLASHWORD(0x2201),
1338 block_size : 0x20000 * CYGNUM_FLASH_INTERLEAVE,
1340 device_size: 0x2000000 * CYGNUM_FLASH_INTERLEAVE,
1341 base_mask : ~(0x2000000 * CYGNUM_FLASH_INTERLEAVE - 1),
1348 #ifdef CYGHWR_DEVS_FLASH_AMD_S29GL128N
1349 { // AMD/SPANSION S29GL128N
1350 long_device_id: true,
1351 device_id : FLASHWORD(0x227e),
1352 device_id2 : FLASHWORD(0x2221),
1353 device_id3 : FLASHWORD(0x2201),
1354 block_size : 0x20000 * CYGNUM_FLASH_INTERLEAVE,
1356 device_size: 0x1000000 * CYGNUM_FLASH_INTERLEAVE,
1357 base_mask : ~(0x1000000 * CYGNUM_FLASH_INTERLEAVE - 1),
1364 #ifdef CYGHWR_DEVS_FLASH_AMD_S29GL064M
1365 { // AMD/SPANSION S29GL064M
1366 long_device_id: true,
1367 device_id : FLASHWORD(0x227e),
1368 device_id2 : FLASHWORD(0x2210),
1369 device_id3 : FLASHWORD(0x2201),
1370 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
1372 device_size: 0x0800000 * CYGNUM_FLASH_INTERLEAVE,
1373 base_mask : ~(0x8000000 * CYGNUM_FLASH_INTERLEAVE - 1),
1375 bootblocks : { 0x00000 * CYGNUM_FLASH_INTERLEAVE,
1376 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1377 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1378 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1379 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1380 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1381 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1382 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1383 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1384 0x7F0000 * CYGNUM_FLASH_INTERLEAVE,
1385 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1386 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1387 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1388 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1389 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1390 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1391 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1392 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1396 banks : { 0x0700000 * CYGNUM_FLASH_INTERLEAVE,
1397 0x0400000 * CYGNUM_FLASH_INTERLEAVE,
1398 0x0100000 * CYGNUM_FLASH_INTERLEAVE,
1405 #ifdef CYGHWR_DEVS_FLASH_S29WS256N
1406 { // SPANSION S29WS256N (compatible with AM29DL640D except for IDs.)
1407 long_device_id: true,
1408 device_id : FLASHWORD(0x227e),
1409 device_id2 : FLASHWORD(0x2230),
1410 device_id3 : FLASHWORD(0x2200),
1411 block_size : 0x20000 * CYGNUM_FLASH_INTERLEAVE,
1413 device_size: 0x2000000 * CYGNUM_FLASH_INTERLEAVE,
1414 base_mask : ~(0x2000000 * CYGNUM_FLASH_INTERLEAVE - 1),
1416 bootblocks : { 0x00000000 * CYGNUM_FLASH_INTERLEAVE, /* offset not absolute */
1417 0x8000 * CYGNUM_FLASH_INTERLEAVE,
1418 0x8000 * CYGNUM_FLASH_INTERLEAVE,
1419 0x8000 * CYGNUM_FLASH_INTERLEAVE,
1420 0x8000 * CYGNUM_FLASH_INTERLEAVE,
1421 0x01FE0000 * CYGNUM_FLASH_INTERLEAVE, /* offset not absolute */
1422 0x8000 * CYGNUM_FLASH_INTERLEAVE,
1423 0x8000 * CYGNUM_FLASH_INTERLEAVE,
1424 0x8000 * CYGNUM_FLASH_INTERLEAVE,
1425 0x8000 * CYGNUM_FLASH_INTERLEAVE,
1430 0x1E00000 * CYGNUM_FLASH_INTERLEAVE,
1431 0x1C00000 * CYGNUM_FLASH_INTERLEAVE,
1432 0x1A00000 * CYGNUM_FLASH_INTERLEAVE,
1433 0x1800000 * CYGNUM_FLASH_INTERLEAVE,
1434 0x1600000 * CYGNUM_FLASH_INTERLEAVE,
1435 0x1400000 * CYGNUM_FLASH_INTERLEAVE,
1436 0x1200000 * CYGNUM_FLASH_INTERLEAVE,
1437 0x1000000 * CYGNUM_FLASH_INTERLEAVE,
1438 0xE00000 * CYGNUM_FLASH_INTERLEAVE,
1439 0xC00000 * CYGNUM_FLASH_INTERLEAVE,
1440 0xA00000 * CYGNUM_FLASH_INTERLEAVE,
1441 0x800000 * CYGNUM_FLASH_INTERLEAVE,
1442 0x600000 * CYGNUM_FLASH_INTERLEAVE,
1443 0x400000 * CYGNUM_FLASH_INTERLEAVE,
1444 0x200000 * CYGNUM_FLASH_INTERLEAVE, //starting of bank1
1445 0 //starting of bank0
1451 #ifdef CYGHWR_DEVS_FLASH_AMD_S29GL128M
1452 { // AMD/SPANSION S29GL128M
1453 long_device_id: true,
1454 device_id : FLASHWORD(0x227e),
1455 device_id2 : FLASHWORD(0x2212),
1456 device_id3 : FLASHWORD(0x2200),
1457 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
1459 device_size: 0x1000000 * CYGNUM_FLASH_INTERLEAVE,
1460 base_mask : ~(0x1000000 * CYGNUM_FLASH_INTERLEAVE - 1),
1467 #endif // 16 bit devices
1469 #endif // CYGONCE_DEVS_FLASH_AMD_AM29XXXXX_PARTS_INL