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_AM29LV160
601 { // MBM29LV160-T | AM29LV160-T
602 device_id : FLASHWORD(0x22c4),
603 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
605 device_size: 0x200000 * CYGNUM_FLASH_INTERLEAVE,
606 base_mask : ~(0x200000 * CYGNUM_FLASH_INTERLEAVE - 1),
608 bootblocks : { 0x1f0000 * CYGNUM_FLASH_INTERLEAVE,
609 0x008000 * CYGNUM_FLASH_INTERLEAVE,
610 0x002000 * CYGNUM_FLASH_INTERLEAVE,
611 0x002000 * CYGNUM_FLASH_INTERLEAVE,
612 0x004000 * CYGNUM_FLASH_INTERLEAVE,
618 { // MBM29LV160-B | AM29LV160-B
619 device_id : FLASHWORD(0x2249),
620 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
622 device_size: 0x200000 * CYGNUM_FLASH_INTERLEAVE,
623 base_mask : ~(0x200000 * CYGNUM_FLASH_INTERLEAVE - 1),
625 bootblocks : { 0x000000 * CYGNUM_FLASH_INTERLEAVE,
626 0x004000 * CYGNUM_FLASH_INTERLEAVE,
627 0x002000 * CYGNUM_FLASH_INTERLEAVE,
628 0x002000 * CYGNUM_FLASH_INTERLEAVE,
629 0x008000 * CYGNUM_FLASH_INTERLEAVE,
636 #ifdef CYGHWR_DEVS_FLASH_AMD_AM29PL160
638 device_id : FLASHWORD(0x2227),
639 block_size : 0x00040000 * CYGNUM_FLASH_INTERLEAVE,
641 device_size: 0x00200000 * CYGNUM_FLASH_INTERLEAVE,
642 base_mask : ~(0x00200000 * CYGNUM_FLASH_INTERLEAVE - 1),
644 bootblocks : { 0x1c0000 * CYGNUM_FLASH_INTERLEAVE,
645 0x038000 * CYGNUM_FLASH_INTERLEAVE,
646 0x002000 * CYGNUM_FLASH_INTERLEAVE,
647 0x002000 * CYGNUM_FLASH_INTERLEAVE,
648 0x004000 * CYGNUM_FLASH_INTERLEAVE,
655 device_id : FLASHWORD(0x2245),
656 block_size : 0x00040000 * CYGNUM_FLASH_INTERLEAVE,
658 device_size: 0x00200000 * CYGNUM_FLASH_INTERLEAVE,
659 base_mask : ~(0x00200000 * CYGNUM_FLASH_INTERLEAVE - 1),
661 bootblocks : { 0x000000 * CYGNUM_FLASH_INTERLEAVE,
662 0x004000 * CYGNUM_FLASH_INTERLEAVE,
663 0x002000 * CYGNUM_FLASH_INTERLEAVE,
664 0x002000 * CYGNUM_FLASH_INTERLEAVE,
665 0x038000 * CYGNUM_FLASH_INTERLEAVE,
672 #ifdef CYGHWR_DEVS_FLASH_AMD_AM29LV200
674 device_id : FLASHWORD(0x223b),
675 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
677 device_size: 0x40000 * CYGNUM_FLASH_INTERLEAVE,
678 base_mask : ~(0x40000 * CYGNUM_FLASH_INTERLEAVE - 1),
680 bootblocks : { 0x030000 * CYGNUM_FLASH_INTERLEAVE,
681 0x008000 * CYGNUM_FLASH_INTERLEAVE,
682 0x002000 * CYGNUM_FLASH_INTERLEAVE,
683 0x002000 * CYGNUM_FLASH_INTERLEAVE,
684 0x004000 * CYGNUM_FLASH_INTERLEAVE,
691 device_id : FLASHWORD(0x22bf),
692 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
694 device_size: 0x40000 * CYGNUM_FLASH_INTERLEAVE,
695 base_mask : ~(0x40000 * CYGNUM_FLASH_INTERLEAVE - 1),
697 bootblocks : { 0x000000 * CYGNUM_FLASH_INTERLEAVE,
698 0x004000 * CYGNUM_FLASH_INTERLEAVE,
699 0x002000 * CYGNUM_FLASH_INTERLEAVE,
700 0x002000 * CYGNUM_FLASH_INTERLEAVE,
701 0x008000 * CYGNUM_FLASH_INTERLEAVE,
708 #ifdef CYGHWR_DEVS_FLASH_ST_M29W200B
710 device_id : FLASHWORD(0x0051),
711 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
713 device_size: 0x40000 * CYGNUM_FLASH_INTERLEAVE,
714 base_mask : ~(0x40000 * CYGNUM_FLASH_INTERLEAVE - 1),
716 bootblocks : { 0x030000 * CYGNUM_FLASH_INTERLEAVE,
717 0x008000 * CYGNUM_FLASH_INTERLEAVE,
718 0x002000 * CYGNUM_FLASH_INTERLEAVE,
719 0x002000 * CYGNUM_FLASH_INTERLEAVE,
720 0x004000 * CYGNUM_FLASH_INTERLEAVE,
727 device_id : FLASHWORD(0x0057),
728 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
730 device_size: 0x40000 * CYGNUM_FLASH_INTERLEAVE,
731 base_mask : ~(0x40000 * CYGNUM_FLASH_INTERLEAVE - 1),
733 bootblocks : { 0x000000 * CYGNUM_FLASH_INTERLEAVE,
734 0x004000 * CYGNUM_FLASH_INTERLEAVE,
735 0x002000 * CYGNUM_FLASH_INTERLEAVE,
736 0x002000 * CYGNUM_FLASH_INTERLEAVE,
737 0x008000 * CYGNUM_FLASH_INTERLEAVE,
744 #ifdef CYGHWR_DEVS_FLASH_AMD_AM29LV320D
746 device_id : FLASHWORD(0x22F6),
747 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
749 device_size: 0x400000 * CYGNUM_FLASH_INTERLEAVE,
750 base_mask : ~(0x400000 * CYGNUM_FLASH_INTERLEAVE - 1),
752 bootblocks : { 0x3f0000 * CYGNUM_FLASH_INTERLEAVE,
753 0x002000 * CYGNUM_FLASH_INTERLEAVE,
754 0x002000 * CYGNUM_FLASH_INTERLEAVE,
755 0x002000 * CYGNUM_FLASH_INTERLEAVE,
756 0x002000 * CYGNUM_FLASH_INTERLEAVE,
757 0x002000 * CYGNUM_FLASH_INTERLEAVE,
758 0x002000 * CYGNUM_FLASH_INTERLEAVE,
759 0x002000 * CYGNUM_FLASH_INTERLEAVE,
760 0x002000 * CYGNUM_FLASH_INTERLEAVE,
767 device_id : FLASHWORD(0x22F9),
768 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
770 device_size: 0x400000 * CYGNUM_FLASH_INTERLEAVE,
771 base_mask : ~(0x400000 * CYGNUM_FLASH_INTERLEAVE - 1),
773 bootblocks : { 0x000000 * CYGNUM_FLASH_INTERLEAVE,
774 0x002000 * CYGNUM_FLASH_INTERLEAVE,
775 0x002000 * CYGNUM_FLASH_INTERLEAVE,
776 0x002000 * CYGNUM_FLASH_INTERLEAVE,
777 0x002000 * CYGNUM_FLASH_INTERLEAVE,
778 0x002000 * CYGNUM_FLASH_INTERLEAVE,
779 0x002000 * CYGNUM_FLASH_INTERLEAVE,
780 0x002000 * CYGNUM_FLASH_INTERLEAVE,
781 0x002000 * CYGNUM_FLASH_INTERLEAVE,
788 #ifdef CYGHWR_DEVS_FLASH_AMD_AM29DL322D
790 device_id : FLASHWORD(0x2255),
791 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
793 device_size: 0x400000 * CYGNUM_FLASH_INTERLEAVE,
794 base_mask : ~(0x400000 * CYGNUM_FLASH_INTERLEAVE - 1),
796 bootblocks : { 0x3f0000 * CYGNUM_FLASH_INTERLEAVE,
797 0x002000 * CYGNUM_FLASH_INTERLEAVE,
798 0x002000 * CYGNUM_FLASH_INTERLEAVE,
799 0x002000 * CYGNUM_FLASH_INTERLEAVE,
800 0x002000 * CYGNUM_FLASH_INTERLEAVE,
801 0x002000 * CYGNUM_FLASH_INTERLEAVE,
802 0x002000 * CYGNUM_FLASH_INTERLEAVE,
803 0x002000 * CYGNUM_FLASH_INTERLEAVE,
804 0x002000 * CYGNUM_FLASH_INTERLEAVE,
808 banks : { 0x380000 * CYGNUM_FLASH_INTERLEAVE,
814 device_id : FLASHWORD(0x2256),
815 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
817 device_size: 0x400000 * CYGNUM_FLASH_INTERLEAVE,
818 base_mask : ~(0x400000 * CYGNUM_FLASH_INTERLEAVE - 1),
820 bootblocks : { 0x000000 * CYGNUM_FLASH_INTERLEAVE,
821 0x002000 * CYGNUM_FLASH_INTERLEAVE,
822 0x002000 * CYGNUM_FLASH_INTERLEAVE,
823 0x002000 * CYGNUM_FLASH_INTERLEAVE,
824 0x002000 * CYGNUM_FLASH_INTERLEAVE,
825 0x002000 * CYGNUM_FLASH_INTERLEAVE,
826 0x002000 * CYGNUM_FLASH_INTERLEAVE,
827 0x002000 * CYGNUM_FLASH_INTERLEAVE,
828 0x002000 * CYGNUM_FLASH_INTERLEAVE,
832 banks : { 0x80000 * CYGNUM_FLASH_INTERLEAVE,
838 #ifdef CYGHWR_DEVS_FLASH_AMD_AM29DL323D
840 device_id : FLASHWORD(0x2250),
841 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
843 device_size: 0x400000 * CYGNUM_FLASH_INTERLEAVE,
844 base_mask : ~(0x400000 * CYGNUM_FLASH_INTERLEAVE - 1),
846 bootblocks : { 0x3f0000 * CYGNUM_FLASH_INTERLEAVE,
847 0x002000 * CYGNUM_FLASH_INTERLEAVE,
848 0x002000 * CYGNUM_FLASH_INTERLEAVE,
849 0x002000 * CYGNUM_FLASH_INTERLEAVE,
850 0x002000 * CYGNUM_FLASH_INTERLEAVE,
851 0x002000 * CYGNUM_FLASH_INTERLEAVE,
852 0x002000 * CYGNUM_FLASH_INTERLEAVE,
853 0x002000 * CYGNUM_FLASH_INTERLEAVE,
854 0x002000 * CYGNUM_FLASH_INTERLEAVE,
858 banks : { 0x300000 * CYGNUM_FLASH_INTERLEAVE,
864 device_id : FLASHWORD(0x2253),
865 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
867 device_size: 0x400000 * CYGNUM_FLASH_INTERLEAVE,
868 base_mask : ~(0x400000 * CYGNUM_FLASH_INTERLEAVE - 1),
870 bootblocks : { 0x000000 * CYGNUM_FLASH_INTERLEAVE,
871 0x002000 * CYGNUM_FLASH_INTERLEAVE,
872 0x002000 * CYGNUM_FLASH_INTERLEAVE,
873 0x002000 * CYGNUM_FLASH_INTERLEAVE,
874 0x002000 * CYGNUM_FLASH_INTERLEAVE,
875 0x002000 * CYGNUM_FLASH_INTERLEAVE,
876 0x002000 * CYGNUM_FLASH_INTERLEAVE,
877 0x002000 * CYGNUM_FLASH_INTERLEAVE,
878 0x002000 * CYGNUM_FLASH_INTERLEAVE,
882 banks : { 0x100000 * CYGNUM_FLASH_INTERLEAVE,
888 #ifdef CYGHWR_DEVS_FLASH_AMD_AM29DL324D
890 device_id : FLASHWORD(0x225c),
891 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
893 device_size: 0x400000 * CYGNUM_FLASH_INTERLEAVE,
894 base_mask : ~(0x400000 * CYGNUM_FLASH_INTERLEAVE - 1),
896 bootblocks : { 0x3f0000 * CYGNUM_FLASH_INTERLEAVE,
897 0x002000 * CYGNUM_FLASH_INTERLEAVE,
898 0x002000 * CYGNUM_FLASH_INTERLEAVE,
899 0x002000 * CYGNUM_FLASH_INTERLEAVE,
900 0x002000 * CYGNUM_FLASH_INTERLEAVE,
901 0x002000 * CYGNUM_FLASH_INTERLEAVE,
902 0x002000 * CYGNUM_FLASH_INTERLEAVE,
903 0x002000 * CYGNUM_FLASH_INTERLEAVE,
904 0x002000 * CYGNUM_FLASH_INTERLEAVE,
908 banks : { 0x200000 * CYGNUM_FLASH_INTERLEAVE,
914 device_id : FLASHWORD(0x225f),
915 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
917 device_size: 0x400000 * CYGNUM_FLASH_INTERLEAVE,
918 base_mask : ~(0x400000 * CYGNUM_FLASH_INTERLEAVE - 1),
920 bootblocks : { 0x000000 * CYGNUM_FLASH_INTERLEAVE,
921 0x002000 * CYGNUM_FLASH_INTERLEAVE,
922 0x002000 * CYGNUM_FLASH_INTERLEAVE,
923 0x002000 * CYGNUM_FLASH_INTERLEAVE,
924 0x002000 * CYGNUM_FLASH_INTERLEAVE,
925 0x002000 * CYGNUM_FLASH_INTERLEAVE,
926 0x002000 * CYGNUM_FLASH_INTERLEAVE,
927 0x002000 * CYGNUM_FLASH_INTERLEAVE,
928 0x002000 * CYGNUM_FLASH_INTERLEAVE,
932 banks : { 0x200000 * CYGNUM_FLASH_INTERLEAVE,
938 #ifdef CYGHWR_DEVS_FLASH_AMD_AM29DL640D
940 long_device_id: true,
941 device_id : FLASHWORD(0x227e),
942 device_id2 : FLASHWORD(0x2202),
943 device_id3 : FLASHWORD(0x2201),
944 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
946 device_size: 0x800000 * CYGNUM_FLASH_INTERLEAVE,
947 base_mask : ~(0x800000 * CYGNUM_FLASH_INTERLEAVE - 1),
949 bootblocks : { 0x000000 * CYGNUM_FLASH_INTERLEAVE,
950 0x2000 * CYGNUM_FLASH_INTERLEAVE,
951 0x2000 * CYGNUM_FLASH_INTERLEAVE,
952 0x2000 * CYGNUM_FLASH_INTERLEAVE,
953 0x2000 * CYGNUM_FLASH_INTERLEAVE,
954 0x2000 * CYGNUM_FLASH_INTERLEAVE,
955 0x2000 * CYGNUM_FLASH_INTERLEAVE,
956 0x2000 * CYGNUM_FLASH_INTERLEAVE,
957 0x2000 * CYGNUM_FLASH_INTERLEAVE,
958 0x7F0000 * CYGNUM_FLASH_INTERLEAVE,
959 0x2000 * CYGNUM_FLASH_INTERLEAVE,
960 0x2000 * CYGNUM_FLASH_INTERLEAVE,
961 0x2000 * CYGNUM_FLASH_INTERLEAVE,
962 0x2000 * CYGNUM_FLASH_INTERLEAVE,
963 0x2000 * CYGNUM_FLASH_INTERLEAVE,
964 0x2000 * CYGNUM_FLASH_INTERLEAVE,
965 0x2000 * CYGNUM_FLASH_INTERLEAVE,
966 0x2000 * CYGNUM_FLASH_INTERLEAVE,
970 banks : { 0x700000 * CYGNUM_FLASH_INTERLEAVE,
971 0x400000 * CYGNUM_FLASH_INTERLEAVE,
972 0x100000 * CYGNUM_FLASH_INTERLEAVE,
978 #ifdef CYGHWR_DEVS_FLASH_AMD_AM29LV400
980 device_id : FLASHWORD(0x22b9),
981 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
983 device_size: 0x80000 * CYGNUM_FLASH_INTERLEAVE,
984 base_mask : ~(0x80000 * CYGNUM_FLASH_INTERLEAVE - 1),
986 bootblocks : { 0xf0000 * CYGNUM_FLASH_INTERLEAVE,
987 0x08000 * CYGNUM_FLASH_INTERLEAVE,
988 0x02000 * CYGNUM_FLASH_INTERLEAVE,
989 0x02000 * CYGNUM_FLASH_INTERLEAVE,
990 0x04000 * CYGNUM_FLASH_INTERLEAVE,
997 device_id : FLASHWORD(0x22ba),
998 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
1000 device_size: 0x80000 * CYGNUM_FLASH_INTERLEAVE,
1001 base_mask : ~(0x80000 * CYGNUM_FLASH_INTERLEAVE - 1),
1003 bootblocks : { 0x000000 * CYGNUM_FLASH_INTERLEAVE,
1004 0x004000 * CYGNUM_FLASH_INTERLEAVE,
1005 0x002000 * CYGNUM_FLASH_INTERLEAVE,
1006 0x002000 * CYGNUM_FLASH_INTERLEAVE,
1007 0x008000 * CYGNUM_FLASH_INTERLEAVE,
1014 #ifdef CYGHWR_DEVS_FLASH_AMD_AM29F800
1016 device_id : FLASHWORD(0x22d6),
1017 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
1019 device_size: 0x100000 * CYGNUM_FLASH_INTERLEAVE,
1020 base_mask : ~(0x100000 * CYGNUM_FLASH_INTERLEAVE - 1),
1022 bootblocks : { 0xf0000 * CYGNUM_FLASH_INTERLEAVE,
1023 0x08000 * CYGNUM_FLASH_INTERLEAVE,
1024 0x02000 * CYGNUM_FLASH_INTERLEAVE,
1025 0x02000 * CYGNUM_FLASH_INTERLEAVE,
1026 0x04000 * CYGNUM_FLASH_INTERLEAVE,
1033 device_id : FLASHWORD(0x2258),
1034 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
1036 device_size: 0x100000 * CYGNUM_FLASH_INTERLEAVE,
1037 base_mask : ~(0x100000 * CYGNUM_FLASH_INTERLEAVE - 1),
1039 bootblocks : { 0x000000 * CYGNUM_FLASH_INTERLEAVE,
1040 0x004000 * CYGNUM_FLASH_INTERLEAVE,
1041 0x002000 * CYGNUM_FLASH_INTERLEAVE,
1042 0x002000 * CYGNUM_FLASH_INTERLEAVE,
1043 0x008000 * CYGNUM_FLASH_INTERLEAVE,
1050 #ifdef CYGHWR_DEVS_FLASH_AMD_AM29LV800
1052 device_id : FLASHWORD(0x22da),
1053 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
1055 device_size: 0x100000 * CYGNUM_FLASH_INTERLEAVE,
1056 base_mask : ~(0x100000 * CYGNUM_FLASH_INTERLEAVE - 1),
1058 bootblocks : { 0xf0000 * CYGNUM_FLASH_INTERLEAVE,
1059 0x08000 * CYGNUM_FLASH_INTERLEAVE,
1060 0x02000 * CYGNUM_FLASH_INTERLEAVE,
1061 0x02000 * CYGNUM_FLASH_INTERLEAVE,
1062 0x04000 * CYGNUM_FLASH_INTERLEAVE,
1069 device_id : FLASHWORD(0x225b),
1070 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
1072 device_size: 0x100000 * CYGNUM_FLASH_INTERLEAVE,
1073 base_mask : ~(0x100000 * CYGNUM_FLASH_INTERLEAVE - 1),
1075 bootblocks : { 0x000000 * CYGNUM_FLASH_INTERLEAVE,
1076 0x004000 * CYGNUM_FLASH_INTERLEAVE,
1077 0x002000 * CYGNUM_FLASH_INTERLEAVE,
1078 0x002000 * CYGNUM_FLASH_INTERLEAVE,
1079 0x008000 * CYGNUM_FLASH_INTERLEAVE,
1086 #ifdef CYGHWR_DEVS_FLASH_AMD_AM29LV640
1088 device_id : FLASHWORD(0x22d7),
1089 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
1091 device_size: 0x800000 * CYGNUM_FLASH_INTERLEAVE,
1092 base_mask : ~(0x800000 * CYGNUM_FLASH_INTERLEAVE - 1),
1098 #ifdef CYGHWR_DEVS_FLASH_AMD_TC58FVB800
1099 { // Toshiba TC58FVB800 (compatible with AM29LV800-B except for IDs.)
1100 device_id : FLASHWORD(0xCE),
1101 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
1103 device_size: 0x100000 * CYGNUM_FLASH_INTERLEAVE,
1104 base_mask : ~(0x100000 * CYGNUM_FLASH_INTERLEAVE - 1),
1106 bootblocks : { 0x000000 * CYGNUM_FLASH_INTERLEAVE,
1107 0x004000 * CYGNUM_FLASH_INTERLEAVE,
1108 0x002000 * CYGNUM_FLASH_INTERLEAVE,
1109 0x002000 * CYGNUM_FLASH_INTERLEAVE,
1110 0x008000 * CYGNUM_FLASH_INTERLEAVE,
1118 #ifdef CYGHWR_DEVS_FLASH_AMD_AM29LV256
1120 long_device_id: true,
1121 device_id : FLASHWORD(0x227e),
1122 device_id2 : FLASHWORD(0x2212),
1123 device_id3 : FLASHWORD(0x2201),
1124 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
1126 device_size: 0x2000000 * CYGNUM_FLASH_INTERLEAVE,
1127 base_mask : ~(0x2000000 * CYGNUM_FLASH_INTERLEAVE - 1),
1133 #ifdef CYGHWR_DEVS_FLASH_AMD_S29PL032J
1135 long_device_id: true,
1136 device_id : FLASHWORD(0x227e),
1137 device_id2 : FLASHWORD(0x220a),
1138 device_id3 : FLASHWORD(0x2201),
1139 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
1141 device_size: 0x0400000 * CYGNUM_FLASH_INTERLEAVE,
1142 base_mask : ~(0x4000000 * CYGNUM_FLASH_INTERLEAVE - 1),
1144 bootblocks : { 0x000000 * CYGNUM_FLASH_INTERLEAVE,
1145 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1146 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1147 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1148 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1149 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1150 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1151 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1152 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1153 0x3F0000 * CYGNUM_FLASH_INTERLEAVE,
1154 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1155 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1156 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1157 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1158 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1159 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1160 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1161 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1165 banks : { 0x0380000 * CYGNUM_FLASH_INTERLEAVE,
1166 0x0200000 * CYGNUM_FLASH_INTERLEAVE,
1167 0x0080000 * CYGNUM_FLASH_INTERLEAVE,
1173 #ifdef CYGHWR_DEVS_FLASH_AMD_S29PL064J
1175 long_device_id: true,
1176 device_id : FLASHWORD(0x227e),
1177 device_id2 : FLASHWORD(0x2202),
1178 device_id3 : FLASHWORD(0x2201),
1179 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
1181 device_size: 0x0800000 * CYGNUM_FLASH_INTERLEAVE,
1182 base_mask : ~(0x8000000 * CYGNUM_FLASH_INTERLEAVE - 1),
1184 bootblocks : { 0x000000 * CYGNUM_FLASH_INTERLEAVE,
1185 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1186 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1187 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1188 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1189 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1190 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1191 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1192 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1193 0x7F0000 * CYGNUM_FLASH_INTERLEAVE,
1194 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1195 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1196 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1197 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1198 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1199 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1200 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1201 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1205 banks : { 0x0700000 * CYGNUM_FLASH_INTERLEAVE,
1206 0x0400000 * CYGNUM_FLASH_INTERLEAVE,
1207 0x0100000 * CYGNUM_FLASH_INTERLEAVE,
1213 #ifdef CYGHWR_DEVS_FLASH_AMD_S29PL127J
1215 long_device_id: true,
1216 device_id : FLASHWORD(0x227e),
1217 device_id2 : FLASHWORD(0x2220),
1218 device_id3 : FLASHWORD(0x2200),
1219 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
1221 device_size: 0x1000000 * CYGNUM_FLASH_INTERLEAVE,
1222 base_mask : ~(0x1000000 * CYGNUM_FLASH_INTERLEAVE - 1),
1224 bootblocks : { 0x000000 * CYGNUM_FLASH_INTERLEAVE,
1225 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1226 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1227 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1228 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1229 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1230 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1231 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1232 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1233 0xFF0000 * CYGNUM_FLASH_INTERLEAVE,
1234 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1235 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1236 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1237 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1238 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1239 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1240 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1241 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1245 banks : { 0x0e00000 * CYGNUM_FLASH_INTERLEAVE,
1246 0x0800000 * CYGNUM_FLASH_INTERLEAVE,
1247 0x0200000 * CYGNUM_FLASH_INTERLEAVE,
1253 #ifdef CYGHWR_DEVS_FLASH_AMD_S29GL064M
1254 { // AMD/SPANSION S29GL064M
1255 long_device_id: true,
1256 device_id : FLASHWORD(0x227e),
1257 device_id2 : FLASHWORD(0x2210),
1258 device_id3 : FLASHWORD(0x2201),
1259 block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
1261 device_size: 0x0800000 * CYGNUM_FLASH_INTERLEAVE,
1262 base_mask : ~(0x8000000 * CYGNUM_FLASH_INTERLEAVE - 1),
1264 bootblocks : { 0x00000 * CYGNUM_FLASH_INTERLEAVE,
1265 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1266 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1267 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1268 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1269 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1270 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1271 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1272 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1273 0x7F0000 * CYGNUM_FLASH_INTERLEAVE,
1274 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1275 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1276 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1277 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1278 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1279 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1280 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1281 0x2000 * CYGNUM_FLASH_INTERLEAVE,
1285 banks : { 0x0700000 * CYGNUM_FLASH_INTERLEAVE,
1286 0x0400000 * CYGNUM_FLASH_INTERLEAVE,
1287 0x0100000 * CYGNUM_FLASH_INTERLEAVE,
1294 #ifdef CYGHWR_DEVS_FLASH_S29WS256N
1295 { // SPANSION S29WS256N (compatible with AM29DL640D except for IDs.)
1296 long_device_id: true,
1297 device_id : FLASHWORD(0x227e),
1298 device_id2 : FLASHWORD(0x2230),
1299 device_id3 : FLASHWORD(0x2200),
1300 block_size : 0x20000 * CYGNUM_FLASH_INTERLEAVE,
1302 device_size: 0x2000000 * CYGNUM_FLASH_INTERLEAVE,
1303 base_mask : ~(0x2000000 * CYGNUM_FLASH_INTERLEAVE - 1),
1305 bootblocks : { 0x00000000 * CYGNUM_FLASH_INTERLEAVE, /* offset not absolute */
1306 0x8000 * CYGNUM_FLASH_INTERLEAVE,
1307 0x8000 * CYGNUM_FLASH_INTERLEAVE,
1308 0x8000 * CYGNUM_FLASH_INTERLEAVE,
1309 0x8000 * CYGNUM_FLASH_INTERLEAVE,
1310 0x01FE0000 * CYGNUM_FLASH_INTERLEAVE, /* offset not absolute */
1311 0x8000 * CYGNUM_FLASH_INTERLEAVE,
1312 0x8000 * CYGNUM_FLASH_INTERLEAVE,
1313 0x8000 * CYGNUM_FLASH_INTERLEAVE,
1314 0x8000 * CYGNUM_FLASH_INTERLEAVE,
1319 0x1E00000 * CYGNUM_FLASH_INTERLEAVE,
1320 0x1C00000 * CYGNUM_FLASH_INTERLEAVE,
1321 0x1A00000 * CYGNUM_FLASH_INTERLEAVE,
1322 0x1800000 * CYGNUM_FLASH_INTERLEAVE,
1323 0x1600000 * CYGNUM_FLASH_INTERLEAVE,
1324 0x1400000 * CYGNUM_FLASH_INTERLEAVE,
1325 0x1200000 * CYGNUM_FLASH_INTERLEAVE,
1326 0x1000000 * CYGNUM_FLASH_INTERLEAVE,
1327 0xE00000 * CYGNUM_FLASH_INTERLEAVE,
1328 0xC00000 * CYGNUM_FLASH_INTERLEAVE,
1329 0xA00000 * CYGNUM_FLASH_INTERLEAVE,
1330 0x800000 * CYGNUM_FLASH_INTERLEAVE,
1331 0x600000 * CYGNUM_FLASH_INTERLEAVE,
1332 0x400000 * CYGNUM_FLASH_INTERLEAVE,
1333 0x200000 * CYGNUM_FLASH_INTERLEAVE, //starting of bank1
1334 0 //starting of bank0
1340 #endif // 16 bit devices
1342 #endif // CYGONCE_DEVS_FLASH_AMD_AM29XXXXX_PARTS_INL