a74de19e2b94d0244b2e3bc0961d1be3297ae3ed
[pub/USBasp.git] / bin / win-avrdude / avrdude.conf
1 # $Id: avrdude.conf.in,v 1.36 2004/12/22 01:30:30 bdean Exp $
2 #
3 # AVRDUDE Configuration File
4 #
5 # This file contains configuration data used by AVRDUDE which describes
6 # the programming hardware pinouts and also provides part definitions.
7 # AVRDUDE's "-C" command line option specifies the location of the
8 # configuration file. The "-c" option names the programmer configuration
9 # which must match one of the entry's "id" parameter. The "-p" option
10 # identifies which part AVRDUDE is going to be programming and must match
11 # one of the parts' "id" parameter.
12 #
13 # Possible entry formats are:
14 #
15 # programmer
16 # id = <id1> [, <id2> [, <id3>] ...] ; # <idN> are quoted strings
17 # desc = <description> ; # quoted string
18 # type = par | stk500 | avr910; # programmer type
19 # baudrate = <num> ; # baudrate for avr910-programmer
20 # vcc = <num1> [, <num2> ... ] ; # pin number(s)
21 # reset = <num> ; # pin number
22 # sck = <num> ; # pin number
23 # mosi = <num> ; # pin number
24 # miso = <num> ; # pin number
25 # errled = <num> ; # pin number
26 # rdyled = <num> ; # pin number
27 # pgmled = <num> ; # pin number
28 # vfyled = <num> ; # pin number
29 # ;
30 #
31 # part
32 # id = <id> ; # quoted string
33 # desc = <description> ; # quoted string
34 # devicecode = <num> ; # deprecated, use stk500_devcode
35 # stk500_devcode = <num> ; # numeric
36 # avr910_devcode = <num> ; # numeric
37 # chip_erase_delay = <num> ; # micro-seconds
38 # pagel = <num> ; # pin name in hex, i.e., 0xD7
39 # bs2 = <num> ; # pin name in hex, i.e., 0xA0
40 # reset = dedicated | io;
41 # retry_pulse = reset | sck;
42 # pgm_enable = <instruction format> ;
43 # chip_erase = <instruction format> ;
44 # memory <memtype>
45 # paged = <yes/no> ; # yes / no
46 # size = <num> ; # bytes
47 # page_size = <num> ; # bytes
48 # num_pages = <num> ; # numeric
49 # min_write_delay = <num> ; # micro-seconds
50 # max_write_delay = <num> ; # micro-seconds
51 # readback_p1 = <num> ; # byte value
52 # readback_p2 = <num> ; # byte value
53 # pwroff_after_write = <yes/no> ; # yes / no
54 # read = <instruction format> ;
55 # write = <instruction format> ;
56 # read_lo = <instruction format> ;
57 # read_hi = <instruction format> ;
58 # write_lo = <instruction format> ;
59 # write_hi = <instruction format> ;
60 # loadpage_lo = <instruction format> ;
61 # loadpage_hi = <instruction format> ;
62 # writepage = <instruction format> ;
63 # ;
64 # ;
65 #
66 # If any of the above parameters are not specified, the default value
67 # of 0 is used for numerics or the empty string ("") for string
68 # values. If a required parameter is left empty, AVRDUDE will
69 # complain.
70 #
71 # NOTES:
72 # * 'devicecode' is the device code used by the STK500 (see codes
73 # listed below)
74 # * Not all memory types will implement all instructions.
75 # * AVR Fuse bits and Lock bits are implemented as a type of memory.
76 # * Example memory types are:
77 # "flash", "eeprom", "fuse", "lfuse" (low fuse), "hfuse" (high
78 # fuse), "signature", "calibration", "lock"
79 # * The memory type specified on the avrdude command line must match
80 # one of the memory types defined for the specified chip.
81 # * The pwroff_after_write flag causes avrdude to attempt to
82 # power the device off and back on after an unsuccessful write to
83 # the affected memory area if VCC programmer pins are defined. If
84 # VCC pins are not defined for the programmer, a message
85 # indicating that the device needs a power-cycle is printed out.
86 # This flag was added to work around a problem with the
87 # at90s4433/2333's; see the at90s4433 errata at:
88 #
89 # http://www.atmel.com/atmel/acrobat/doc1280.pdf
90 #
91 # INSTRUCTION FORMATS
92 #
93 # Instruction formats are specified as a comma seperated list of
94 # string values containing information (bit specifiers) about each
95 # of the 32 bits of the instruction. Bit specifiers may be one of
96 # the following formats:
97 #
98 # '1' = the bit is always set on input as well as output
99 #
100 # '0' = the bit is always clear on input as well as output
101 #
102 # 'x' = the bit is ignored on input and output
103 #
104 # 'a' = the bit is an address bit, the bit-number matches this bit
105 # specifier's position within the current instruction byte
106 #
107 # 'aN' = the bit is the Nth address bit, bit-number = N, i.e., a12
108 # is address bit 12 on input, a0 is address bit 0.
109 #
110 # 'i' = the bit is an input data bit
111 #
112 # 'o' = the bit is an output data bit
113 #
114 # Each instruction must be composed of 32 bit specifiers. The
115 # instruction specification closely follows the instruction data
116 # provided in Atmel's data sheets for their parts.
117 #
118 # See below for some examples.
119 #
120 #
121 # The following are STK500 part device codes to use for the
122 # "devicecode" field of the part. These came from Atmel's software
123 # section avr061.zip which accompanies the application note
124 # AVR061 available from:
125 #
126 # http://www.atmel.com/atmel/acrobat/doc2525.pdf
127 #
128
129 #define ATTINY10 0x10
130 #define ATTINY11 0x11
131 #define ATTINY12 0x12
132 #define ATTINY15 0x13
133 #define ATTINY13 0x14
134
135 #define ATTINY22 0x20
136 #define ATTINY26 0x21
137 #define ATTINY28 0x22
138 #define ATTINY2313 0x23
139
140 #define AT90S1200 0x33
141
142 #define AT90S2313 0x40
143 #define AT90S2323 0x41
144 #define AT90S2333 0x42
145 #define AT90S2343 0x43
146
147 #define AT90S4414 0x50
148 #define AT90S4433 0x51
149 #define AT90S4434 0x52
150 #define ATMEGA48 0x59
151
152 #define AT90S8515 0x60
153 #define AT90S8535 0x61
154 #define AT90C8534 0x62
155 #define ATMEGA8515 0x63
156 #define ATMEGA8535 0x64
157
158 #define ATMEGA8 0x70
159 #define ATMEGA88 0x73
160
161 #define ATMEGA161 0x80
162 #define ATMEGA163 0x81
163 #define ATMEGA16 0x82
164 #define ATMEGA162 0x83
165 #define ATMEGA169 0x84
166
167 #define ATMEGA323 0x90
168 #define ATMEGA32 0x91
169
170 #define ATMEGA64 0xA0
171
172 #define ATMEGA103 0xB1
173 #define ATMEGA128 0xB2
174 #define AT90CAN128 0xB3
175
176 #define AT86RF401 0xD0
177
178 #define AT89START 0xE0
179 #define AT89S51 0xE0
180 #define AT89S52 0xE1
181
182
183 #
184 # Overall avrdude defaults
185 #
186 default_parallel = "/dev/parport0";
187 default_serial = "/dev/ttyS0";
188
189
190 #
191 # PROGRAMMER DEFINITIONS
192 #
193
194 programmer
195 id = "bsd";
196 desc = "Brian Dean's Programmer, http://www.bsdhome.com/avrdude/";
197 type = par;
198 vcc = 2, 3, 4, 5;
199 reset = 7;
200 sck = 8;
201 mosi = 9;
202 miso = 10;
203 ;
204
205 programmer
206 id = "avrisp";
207 desc = "Atmel AVR ISP";
208 type = stk500;
209 ;
210
211 programmer
212 id = "usbasp";
213 desc = "usbasp";
214 type = usbasp;
215 ;
216
217 programmer
218 id = "stk500";
219 desc = "Atmel STK500";
220 type = stk500;
221 ;
222
223 programmer
224 id = "avr910";
225 desc = "Atmel Low Cost Serial Programmer";
226 type = avr910;
227 ;
228
229 programmer
230 id = "butterfly";
231 desc = "Atmel Butterfly Development Board";
232 type = butterfly;
233 ;
234
235 programmer
236 id = "pavr";
237 desc = "Jason Kyle's pAVR Serial Programmer";
238 type = avr910;
239 ;
240
241 programmer
242 id = "stk200";
243 desc = "STK200";
244 type = par;
245 buff = 4, 5;
246 sck = 6;
247 mosi = 7;
248 reset = 9;
249 miso = 10;
250 ;
251
252 # The programming dongle used by the popular Ponyprog
253 # utility. It is almost similar to the STK200 one,
254 # except that there is a LED indicating that the
255 # programming is currently in progress.
256
257 programmer
258 id = "pony-stk200";
259 desc = "Pony Prog STK200";
260 type = par;
261 buff = 4, 5;
262 sck = 6;
263 mosi = 7;
264 reset = 9;
265 miso = 10;
266 pgmled = 8;
267 ;
268
269 programmer
270 id = "dt006";
271 desc = "Dontronics DT006";
272 type = par;
273 reset = 4;
274 sck = 5;
275 mosi = 2;
276 miso = 11;
277 ;
278
279 programmer
280 id = "bascom";
281 desc = "Bascom SAMPLE programming cable";
282 type = par;
283 reset = 4;
284 sck = 5;
285 mosi = 2;
286 miso = 11;
287 ;
288
289 programmer
290 id = "alf";
291 desc = "Nightshade ALF-PgmAVR, http://nightshade.homeip.net/";
292 type = par;
293 vcc = 2, 3, 4, 5;
294 buff = 6;
295 reset = 7;
296 sck = 8;
297 mosi = 9;
298 miso = 10;
299 errled = 1;
300 rdyled = 14;
301 pgmled = 16;
302 vfyled = 17;
303 ;
304
305 programmer
306 id = "sp12";
307 desc = "Steve Bolt's Programmer";
308 type = par;
309 vcc = 4,5,6,7,8;
310 reset = 3;
311 sck = 2;
312 mosi = 9;
313 miso = 11;
314 ;
315
316 programmer
317 id = "picoweb";
318 desc = "Picoweb Programming Cable, http://www.picoweb.net/";
319 type = par;
320 reset = 2;
321 sck = 3;
322 mosi = 4;
323 miso = 13;
324 ;
325
326 programmer
327 id = "abcmini";
328 desc = "ABCmini Board, aka Dick Smith HOTCHIP";
329 type = par;
330 reset = 4;
331 sck = 3;
332 mosi = 2;
333 miso = 10;
334 ;
335
336 programmer
337 id = "futurlec";
338 desc = "Futurlec.com programming cable.";
339 type = par;
340 reset = 3;
341 sck = 2;
342 mosi = 1;
343 miso = 10;
344 ;
345
346
347 # From the contributor of the "xil" jtag cable:
348 # The "vcc" definition isn't really vcc (the cable gets its power from
349 # the programming circuit) but is necessary to switch one of the
350 # buffer lines (trying to add it to the "buff" lines doesn't work).
351 # With this, TMS connects to RESET, TDI to MOSI, TDO to MISO and TCK
352 # to SCK (plus vcc/gnd of course)
353 programmer
354 id = "xil";
355 desc = "Xilinx JTAG cable";
356 type = par;
357 mosi = 2;
358 sck = 3;
359 reset = 4;
360 buff = 5;
361 miso = 13;
362 vcc = 6;
363 ;
364
365
366 #
367 # PART DEFINITIONS
368 #
369
370 #------------------------------------------------------------
371 # ATtiny12
372 #------------------------------------------------------------
373
374 part
375 id = "t12";
376 desc = "ATtiny12";
377 stk500_devcode = 0x12;
378 avr910_devcode = 0x55;
379 chip_erase_delay = 20000;
380 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
381 "x x x x x x x x x x x x x x x x";
382
383 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
384 "x x x x x x x x x x x x x x x x";
385
386 memory "eeprom"
387 size = 64;
388 min_write_delay = 9000;
389 max_write_delay = 20000;
390 readback_p1 = 0xff;
391 readback_p2 = 0xff;
392 read = "1 0 1 0 0 0 0 0 x x x x x x x x",
393 "x x a5 a4 a3 a2 a1 a0 o o o o o o o o";
394
395 write = "1 1 0 0 0 0 0 0 x x x x x x x x",
396 "x x a5 a4 a3 a2 a1 a0 i i i i i i i i";
397 ;
398
399 memory "flash"
400 size = 1024;
401 min_write_delay = 4500;
402 max_write_delay = 20000;
403 readback_p1 = 0xff;
404 readback_p2 = 0xff;
405 read_lo = " 0 0 1 0 0 0 0 0",
406 " x x x x x x x a8",
407 " a7 a6 a5 a4 a3 a2 a1 a0",
408 " o o o o o o o o";
409
410 read_hi = " 0 0 1 0 1 0 0 0",
411 " x x x x x x x a8",
412 " a7 a6 a5 a4 a3 a2 a1 a0",
413 " o o o o o o o o";
414
415 write_lo = " 0 1 0 0 0 0 0 0",
416 " x x x x x x x a8",
417 " a7 a6 a5 a4 a3 a2 a1 a0",
418 " i i i i i i i i";
419
420 write_hi = " 0 1 0 0 1 0 0 0",
421 " x x x x x x x a8",
422 " a7 a6 a5 a4 a3 a2 a1 a0",
423 " i i i i i i i i";
424 ;
425
426 memory "signature"
427 size = 3;
428 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
429 "0 0 0 0 0 0 a1 a0 o o o o o o o o";
430 ;
431
432 memory "lock"
433 size = 1;
434 read = "0 1 0 1 1 0 0 0 x x x x x x x x",
435 "x x x x x x x x x x x x x o o x";
436
437 write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1",
438 "x x x x x x x x x x x x x x x x";
439 ;
440
441 memory "calibration"
442 size = 1;
443 read = "0 0 1 1 1 0 0 0 x x x x x x x x",
444 "0 0 0 0 0 0 0 0 o o o o o o o o";
445 ;
446
447 memory "fuse"
448 size = 1;
449 read = "0 1 0 1 0 0 0 0 x x x x x x x x",
450 "x x x x x x x x o o o o o o o o";
451
452 write = "1 0 1 0 1 1 0 0 1 0 1 x x x x x",
453 "x x x x x x x x i i i i i i i i";
454 ;
455 ;
456
457 #------------------------------------------------------------
458 # ATtiny13
459 #------------------------------------------------------------
460
461 part
462 id = "t13";
463 desc = "ATtiny13";
464 stk500_devcode = 0x14;
465 chip_erase_delay = 4000;
466 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
467 "x x x x x x x x x x x x x x x x";
468
469 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
470 "x x x x x x x x x x x x x x x x";
471
472 memory "eeprom"
473 size = 64;
474 min_write_delay = 4000;
475 max_write_delay = 4000;
476 readback_p1 = 0xff;
477 readback_p2 = 0xff;
478 read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x",
479 "x x a5 a4 a3 a2 a1 a0 o o o o o o o o";
480
481 write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x",
482 "x x a5 a4 a3 a2 a1 a0 i i i i i i i i";
483 ;
484
485 memory "flash"
486 paged = yes;
487 size = 1024;
488 page_size = 32;
489 num_pages = 32;
490 min_write_delay = 4500;
491 max_write_delay = 4500;
492 readback_p1 = 0xff;
493 readback_p2 = 0xff;
494 read_lo = " 0 0 1 0 0 0 0 0",
495 " 0 0 0 0 0 0 0 a8",
496 " a7 a6 a5 a4 a3 a2 a1 a0",
497 " o o o o o o o o";
498
499 read_hi = " 0 0 1 0 1 0 0 0",
500 " 0 0 0 0 0 0 0 a8",
501 " a7 a6 a5 a4 a3 a2 a1 a0",
502 " o o o o o o o o";
503
504 loadpage_lo = " 0 1 0 0 0 0 0 0",
505 " 0 0 0 x x x x x",
506 " x x x x a3 a2 a1 a0",
507 " i i i i i i i i";
508
509 loadpage_hi = " 0 1 0 0 1 0 0 0",
510 " 0 0 0 x x x x x",
511 " x x x x a3 a2 a1 a0",
512 " i i i i i i i i";
513
514 writepage = " 0 1 0 0 1 1 0 0",
515 " 0 0 0 0 0 0 0 a8",
516 " a7 a6 a5 a4 x x x x",
517 " x x x x x x x x";
518 ;
519
520 memory "signature"
521 size = 3;
522 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
523 "x x x x x x a1 a0 o o o o o o o o";
524 ;
525
526 memory "lock"
527 size = 1;
528 min_write_delay = 4500;
529 max_write_delay = 4500;
530
531 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
532 "x x x x x x x x x x o o o o o o";
533
534 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
535 "x x x x x x x x 1 1 i i i i i i";
536 ;
537
538 memory "calibration"
539 size = 1;
540 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
541 "0 0 0 0 0 0 0 0 o o o o o o o o";
542 ;
543
544 memory "lfuse"
545 size = 1;
546 min_write_delay = 4500;
547 max_write_delay = 4500;
548
549 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
550 "x x x x x x x x i i i i i i i i";
551
552 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
553 "x x x x x x x x o o o o o o o o";
554 ;
555
556 memory "hfuse"
557 size = 1;
558 min_write_delay = 4500;
559 max_write_delay = 4500;
560
561 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
562 "x x x x x x x x i i i i i i i i";
563
564 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
565 "x x x x x x x x o o o o o o o o";
566 ;
567
568 ;
569
570
571 #------------------------------------------------------------
572 # ATtiny15
573 #------------------------------------------------------------
574
575 part
576 id = "t15";
577 desc = "ATtiny15";
578 stk500_devcode = 0x13;
579 avr910_devcode = 0x56;
580 chip_erase_delay = 8200;
581 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
582 "x x x x x x x x x x x x x x x x";
583
584 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
585 "x x x x x x x x x x x x x x x x";
586
587 memory "eeprom"
588 size = 64;
589 min_write_delay = 8200;
590 max_write_delay = 8200;
591 readback_p1 = 0xff;
592 readback_p2 = 0xff;
593 read = "1 0 1 0 0 0 0 0 x x x x x x x x",
594 "x x a5 a4 a3 a2 a1 a0 o o o o o o o o";
595
596 write = "1 1 0 0 0 0 0 0 x x x x x x x x",
597 "x x a5 a4 a3 a2 a1 a0 i i i i i i i i";
598 ;
599
600 memory "flash"
601 size = 1024;
602 min_write_delay = 4100;
603 max_write_delay = 4100;
604 readback_p1 = 0xff;
605 readback_p2 = 0xff;
606 read_lo = " 0 0 1 0 0 0 0 0",
607 " x x x x x x x a8",
608 " a7 a6 a5 a4 a3 a2 a1 a0",
609 " o o o o o o o o";
610
611 read_hi = " 0 0 1 0 1 0 0 0",
612 " x x x x x x x a8",
613 " a7 a6 a5 a4 a3 a2 a1 a0",
614 " o o o o o o o o";
615
616 write_lo = " 0 1 0 0 0 0 0 0",
617 " x x x x x x x a8",
618 " a7 a6 a5 a4 a3 a2 a1 a0",
619 " i i i i i i i i";
620
621 write_hi = " 0 1 0 0 1 0 0 0",
622 " x x x x x x x a8",
623 " a7 a6 a5 a4 a3 a2 a1 a0",
624 " i i i i i i i i";
625 ;
626
627 memory "signature"
628 size = 3;
629 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
630 "0 0 0 0 0 0 a1 a0 o o o o o o o o";
631 ;
632
633 memory "lock"
634 size = 1;
635 read = "0 1 0 1 1 0 0 0 x x x x x x x x",
636 "x x x x x x x x x x x x x o o x";
637
638 write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1",
639 "x x x x x x x x x x x x x x x x";
640 ;
641
642 memory "calibration"
643 size = 1;
644 read = "0 0 1 1 1 0 0 0 x x x x x x x x",
645 "0 0 0 0 0 0 0 0 o o o o o o o o";
646 ;
647
648 memory "fuse"
649 size = 1;
650 read = "0 1 0 1 0 0 0 0 x x x x x x x x",
651 "x x x x x x x x o o o o x x o o";
652
653 write = "1 0 1 0 1 1 0 0 1 0 1 x x x x x",
654 "x x x x x x x x i i i i 1 1 i i";
655 ;
656 ;
657
658
659 #------------------------------------------------------------
660 # AT90s1200
661 #------------------------------------------------------------
662
663 part
664 id = "1200";
665 desc = "AT90S1200";
666 stk500_devcode = 0x33;
667 avr910_devcode = 0x13;
668 pagel = 0xd7;
669 bs2 = 0xa0;
670 chip_erase_delay = 20000;
671 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
672 "x x x x x x x x x x x x x x x x";
673
674 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
675 "x x x x x x x x x x x x x x x x";
676
677 memory "eeprom"
678 size = 64;
679 min_write_delay = 4000;
680 max_write_delay = 9000;
681 readback_p1 = 0x00;
682 readback_p2 = 0xff;
683 read = "1 0 1 0 0 0 0 0 x x x x x x x x",
684 "x x a5 a4 a3 a2 a1 a0 o o o o o o o o";
685
686 write = "1 1 0 0 0 0 0 0 x x x x x x x x",
687 "x x a5 a4 a3 a2 a1 a0 i i i i i i i i";
688 ;
689 memory "flash"
690 size = 1024;
691 min_write_delay = 4000;
692 max_write_delay = 9000;
693 readback_p1 = 0xff;
694 readback_p2 = 0xff;
695 read_lo = " 0 0 1 0 0 0 0 0",
696 " x x x x x x x a8",
697 " a7 a6 a5 a4 a3 a2 a1 a0",
698 " o o o o o o o o";
699
700 read_hi = " 0 0 1 0 1 0 0 0",
701 " x x x x x x x a8",
702 " a7 a6 a5 a4 a3 a2 a1 a0",
703 " o o o o o o o o";
704
705 write_lo = " 0 1 0 0 0 0 0 0",
706 " x x x x x x x a8",
707 " a7 a6 a5 a4 a3 a2 a1 a0",
708 " i i i i i i i i";
709
710 write_hi = " 0 1 0 0 1 0 0 0",
711 " x x x x x x x a8",
712 " a7 a6 a5 a4 a3 a2 a1 a0",
713 " i i i i i i i i";
714 ;
715 memory "signature"
716 size = 3;
717 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
718 "x x x x x x a1 a0 o o o o o o o o";
719 ;
720 memory "fuse"
721 size = 1;
722 min_write_delay = 9000;
723 max_write_delay = 20000;
724 read = "0 1 0 1 0 0 0 0 x x x x x x x x",
725 "x x x x x x x x x x o o o o o o";
726
727 write = "1 0 1 0 1 1 0 0 1 0 1 i i i i i",
728 "x x x x x x x x x x x x x x x x";
729 ;
730 memory "lock"
731 size = 1;
732 min_write_delay = 9000;
733 max_write_delay = 20000;
734 read = "0 1 0 1 1 0 0 0 x x x x x x x x",
735 "x x x x x x x x x x x x x o o x";
736
737 write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1",
738 "x x x x x x x x x x x x x x x x";
739 ;
740 ;
741
742 #------------------------------------------------------------
743 # AT90s4414
744 #------------------------------------------------------------
745
746 part
747 id = "4414";
748 desc = "AT90S4414";
749 stk500_devcode = 0x50;
750 avr910_devcode = 0x28;
751 chip_erase_delay = 20000;
752 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
753 "x x x x x x x x x x x x x x x x";
754
755 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
756 "x x x x x x x x x x x x x x x x";
757
758 memory "eeprom"
759 size = 256;
760 min_write_delay = 9000;
761 max_write_delay = 20000;
762 readback_p1 = 0x80;
763 readback_p2 = 0x7f;
764 read = " 1 0 1 0 0 0 0 0 x x x x x x x a8",
765 "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
766
767 write = " 1 1 0 0 0 0 0 0 x x x x x x x a8",
768 "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
769 ;
770 memory "flash"
771 size = 4096;
772 min_write_delay = 9000;
773 max_write_delay = 20000;
774 readback_p1 = 0x7f;
775 readback_p2 = 0x7f;
776 read_lo = " 0 0 1 0 0 0 0 0",
777 " x x x x a11 a10 a9 a8",
778 " a7 a6 a5 a4 a3 a2 a1 a0",
779 " o o o o o o o o";
780
781 read_hi = " 0 0 1 0 1 0 0 0",
782 " x x x x a11 a10 a9 a8",
783 " a7 a6 a5 a4 a3 a2 a1 a0",
784 " o o o o o o o o";
785
786 write_lo = " 0 1 0 0 0 0 0 0",
787 " x x x x a11 a10 a9 a8",
788 " a7 a6 a5 a4 a3 a2 a1 a0",
789 " i i i i i i i i";
790
791 write_hi = " 0 1 0 0 1 0 0 0",
792 " x x x x a11 a10 a9 a8",
793 " a7 a6 a5 a4 a3 a2 a1 a0",
794 " i i i i i i i i";
795 ;
796 memory "signature"
797 size = 3;
798 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
799 "x x x x x x a1 a0 o o o o o o o o";
800 ;
801 ;
802
803 #------------------------------------------------------------
804 # AT90s2313
805 #------------------------------------------------------------
806
807 part
808 id = "2313";
809 desc = "AT90S2313";
810 stk500_devcode = 0x40;
811 avr910_devcode = 0x20;
812 chip_erase_delay = 20000;
813 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
814 "x x x x x x x x x x x x x x x x";
815
816 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
817 "x x x x x x x x x x x x x x x x";
818
819 memory "eeprom"
820 size = 128;
821 min_write_delay = 4000;
822 max_write_delay = 9000;
823 readback_p1 = 0x80;
824 readback_p2 = 0x7f;
825 read = "1 0 1 0 0 0 0 0 x x x x x x x x",
826 "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
827
828 write = "1 1 0 0 0 0 0 0 x x x x x x x x",
829 "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
830 ;
831 memory "flash"
832 size = 2048;
833 min_write_delay = 4000;
834 max_write_delay = 9000;
835 readback_p1 = 0x7f;
836 readback_p2 = 0x7f;
837 read_lo = " 0 0 1 0 0 0 0 0",
838 " x x x x x x a9 a8",
839 " a7 a6 a5 a4 a3 a2 a1 a0",
840 " o o o o o o o o";
841
842 read_hi = " 0 0 1 0 1 0 0 0",
843 " x x x x x x a9 a8",
844 " a7 a6 a5 a4 a3 a2 a1 a0",
845 " o o o o o o o o";
846
847 write_lo = " 0 1 0 0 0 0 0 0",
848 " x x x x x x a9 a8",
849 " a7 a6 a5 a4 a3 a2 a1 a0",
850 " i i i i i i i i";
851
852 write_hi = " 0 1 0 0 1 0 0 0",
853 " x x x x x x a9 a8",
854 " a7 a6 a5 a4 a3 a2 a1 a0",
855 " i i i i i i i i";
856 ;
857 memory "signature"
858 size = 3;
859 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
860 "x x x x x x a1 a0 o o o o o o o o";
861 ;
862 memory "lock"
863 size = 1;
864 write = "1 0 1 0 1 1 0 0 1 1 1 x x i i x",
865 "x x x x x x x x x x x x x x x x";
866 ;
867 ;
868
869 #------------------------------------------------------------
870 # AT90s2333
871 #------------------------------------------------------------
872
873 part
874 id = "2333";
875 desc = "AT90S2333";
876 stk500_devcode = 0x42;
877 avr910_devcode = 0x34;
878 chip_erase_delay = 20000;
879 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
880 "x x x x x x x x x x x x x x x x";
881
882 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
883 "x x x x x x x x x x x x x x x x";
884
885 memory "eeprom"
886 size = 128;
887 min_write_delay = 9000;
888 max_write_delay = 20000;
889 readback_p1 = 0x00;
890 readback_p2 = 0xff;
891 read = "1 0 1 0 0 0 0 0 x x x x x x x x",
892 "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
893
894 write = "1 1 0 0 0 0 0 0 x x x x x x x x",
895 "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
896 ;
897 memory "flash"
898 size = 2048;
899 min_write_delay = 9000;
900 max_write_delay = 20000;
901 readback_p1 = 0xff;
902 readback_p2 = 0xff;
903 read_lo = " 0 0 1 0 0 0 0 0",
904 " x x x x x x a9 a8",
905 " a7 a6 a5 a4 a3 a2 a1 a0",
906 " o o o o o o o o";
907
908 read_hi = " 0 0 1 0 1 0 0 0",
909 " x x x x x x a9 a8",
910 " a7 a6 a5 a4 a3 a2 a1 a0",
911 " o o o o o o o o";
912
913 write_lo = " 0 1 0 0 0 0 0 0",
914 " x x x x x x a9 a8",
915 " a7 a6 a5 a4 a3 a2 a1 a0",
916 " i i i i i i i i";
917
918 write_hi = " 0 1 0 0 1 0 0 0",
919 " x x x x x x a9 a8",
920 " a7 a6 a5 a4 a3 a2 a1 a0",
921 " i i i i i i i i";
922 ;
923 memory "signature"
924 size = 3;
925 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
926 "x x x x x x a1 a0 o o o o o o o o";
927 ;
928 memory "fuse"
929 size = 1;
930 min_write_delay = 9000;
931 max_write_delay = 20000;
932 pwroff_after_write = yes;
933 read = "0 1 0 1 0 0 0 0 x x x x x x x x",
934 "x x x x x x x x x x o o o o o o";
935
936 write = "1 0 1 0 1 1 0 0 1 0 1 i i i i i",
937 "x x x x x x x x x x x x x x x x";
938 ;
939 memory "lock"
940 size = 1;
941 min_write_delay = 9000;
942 max_write_delay = 20000;
943 read = "0 1 0 1 1 0 0 0 x x x x x x x x",
944 "x x x x x x x x x x x x x o o x";
945
946 write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1",
947 "x x x x x x x x x x x x x x x x";
948 ;
949 ;
950
951
952 #------------------------------------------------------------
953 # AT90s2343
954 #------------------------------------------------------------
955
956 part
957 id = "2343";
958 desc = "AT90S2343";
959 stk500_devcode = 0x43;
960 avr910_devcode = 0x4c;
961 chip_erase_delay = 18000;
962 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
963 "x x x x x x x x x x x x x x x x";
964
965 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
966 "x x x x x x x x x x x x x x x x";
967
968 memory "eeprom"
969 size = 128;
970 min_write_delay = 9000;
971 max_write_delay = 20000;
972 readback_p1 = 0x00;
973 readback_p2 = 0xff;
974 read = "1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0",
975 "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
976
977 write = "1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0",
978 "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
979 ;
980 memory "flash"
981 size = 2048;
982 min_write_delay = 9000;
983 max_write_delay = 20000;
984 readback_p1 = 0xff;
985 readback_p2 = 0xff;
986 read_lo = " 0 0 1 0 0 0 0 0",
987 " x x x x x x a9 a8",
988 " a7 a6 a5 a4 a3 a2 a1 a0",
989 " o o o o o o o o";
990
991 read_hi = " 0 0 1 0 1 0 0 0",
992 " x x x x x x a9 a8",
993 " a7 a6 a5 a4 a3 a2 a1 a0",
994 " o o o o o o o o";
995
996 write_lo = " 0 1 0 0 0 0 0 0",
997 " x x x x x x a9 a8",
998 " a7 a6 a5 a4 a3 a2 a1 a0",
999 " i i i i i i i i";
1000
1001 write_hi = " 0 1 0 0 1 0 0 0",
1002 " x x x x x x a9 a8",
1003 " a7 a6 a5 a4 a3 a2 a1 a0",
1004 " i i i i i i i i";
1005 ;
1006 memory "signature"
1007 size = 3;
1008 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
1009 "x x x x x x a1 a0 o o o o o o o o";
1010 ;
1011 memory "fuse"
1012 size = 1;
1013 min_write_delay = 9000;
1014 max_write_delay = 20000;
1015 read = "0 1 0 1 1 0 0 0 x x x x x x x x",
1016 "x x x x x x x x o o o x x x x o";
1017
1018 write = "1 0 1 0 1 1 0 0 1 0 1 1 1 1 1 i",
1019 "x x x x x x x x x x x x x x x x";
1020 ;
1021 memory "lock"
1022 size = 1;
1023 min_write_delay = 9000;
1024 max_write_delay = 20000;
1025 read = "0 1 0 1 1 0 0 0 x x x x x x x x",
1026 "x x x x x x x x o o o x x x x o";
1027
1028 write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1",
1029 "x x x x x x x x x x x x x x x x";
1030 ;
1031 ;
1032
1033
1034 #------------------------------------------------------------
1035 # AT90s4433
1036 #------------------------------------------------------------
1037
1038 part
1039 id = "4433";
1040 desc = "AT90S4433";
1041 stk500_devcode = 0x51;
1042 avr910_devcode = 0x30;
1043 chip_erase_delay = 20000;
1044 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
1045 "x x x x x x x x x x x x x x x x";
1046
1047 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
1048 "x x x x x x x x x x x x x x x x";
1049
1050 memory "eeprom"
1051 size = 256;
1052 min_write_delay = 9000;
1053 max_write_delay = 20000;
1054 readback_p1 = 0x00;
1055 readback_p2 = 0xff;
1056 read = " 1 0 1 0 0 0 0 0 x x x x x x x x",
1057 "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
1058
1059 write = " 1 1 0 0 0 0 0 0 x x x x x x x x",
1060 "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
1061 ;
1062 memory "flash"
1063 size = 4096;
1064 min_write_delay = 9000;
1065 max_write_delay = 20000;
1066 readback_p1 = 0xff;
1067 readback_p2 = 0xff;
1068 read_lo = " 0 0 1 0 0 0 0 0",
1069 " x x x x x a10 a9 a8",
1070 " a7 a6 a5 a4 a3 a2 a1 a0",
1071 " o o o o o o o o";
1072
1073 read_hi = " 0 0 1 0 1 0 0 0",
1074 " x x x x x a10 a9 a8",
1075 " a7 a6 a5 a4 a3 a2 a1 a0",
1076 " o o o o o o o o";
1077
1078 write_lo = " 0 1 0 0 0 0 0 0",
1079 " x x x x x a10 a9 a8",
1080 " a7 a6 a5 a4 a3 a2 a1 a0",
1081 " i i i i i i i i";
1082
1083 write_hi = " 0 1 0 0 1 0 0 0",
1084 " x x x x x a10 a9 a8",
1085 " a7 a6 a5 a4 a3 a2 a1 a0",
1086 " i i i i i i i i";
1087 ;
1088 memory "signature"
1089 size = 3;
1090 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
1091 "x x x x x x a1 a0 o o o o o o o o";
1092 ;
1093 memory "fuse"
1094 size = 1;
1095 min_write_delay = 9000;
1096 max_write_delay = 20000;
1097 pwroff_after_write = yes;
1098 read = "0 1 0 1 0 0 0 0 x x x x x x x x",
1099 "x x x x x x x x x x o o o o o o";
1100
1101 write = "1 0 1 0 1 1 0 0 1 0 1 i i i i i",
1102 "x x x x x x x x x x x x x x x x";
1103 ;
1104 memory "lock"
1105 size = 1;
1106 min_write_delay = 9000;
1107 max_write_delay = 20000;
1108 read = "0 1 0 1 1 0 0 0 x x x x x x x x",
1109 "x x x x x x x x x x x x x o o x";
1110
1111 write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1",
1112 "x x x x x x x x x x x x x x x x";
1113 ;
1114 ;
1115
1116 #------------------------------------------------------------
1117 # AT90s4434
1118 #------------------------------------------------------------
1119
1120 part
1121 id = "4434";
1122 desc = "AT90S4434";
1123 stk500_devcode = 0x52;
1124 avr910_devcode = 0x6c;
1125 chip_erase_delay = 20000;
1126 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
1127 "x x x x x x x x x x x x x x x x";
1128
1129 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
1130 "x x x x x x x x x x x x x x x x";
1131
1132 memory "eeprom"
1133 size = 256;
1134 min_write_delay = 9000;
1135 max_write_delay = 20000;
1136 readback_p1 = 0x00;
1137 readback_p2 = 0xff;
1138 read = " 1 0 1 0 0 0 0 0 x x x x x x x x",
1139 "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
1140
1141 write = " 1 1 0 0 0 0 0 0 x x x x x x x x",
1142 "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
1143 ;
1144 memory "flash"
1145 size = 4096;
1146 min_write_delay = 9000;
1147 max_write_delay = 20000;
1148 readback_p1 = 0xff;
1149 readback_p2 = 0xff;
1150 read_lo = " 0 0 1 0 0 0 0 0",
1151 " x x x x x a10 a9 a8",
1152 " a7 a6 a5 a4 a3 a2 a1 a0",
1153 " o o o o o o o o";
1154
1155 read_hi = " 0 0 1 0 1 0 0 0",
1156 " x x x x x a10 a9 a8",
1157 " a7 a6 a5 a4 a3 a2 a1 a0",
1158 " o o o o o o o o";
1159
1160 write_lo = " 0 1 0 0 0 0 0 0",
1161 " x x x x x a10 a9 a8",
1162 " a7 a6 a5 a4 a3 a2 a1 a0",
1163 " i i i i i i i i";
1164
1165 write_hi = " 0 1 0 0 1 0 0 0",
1166 " x x x x x a10 a9 a8",
1167 " a7 a6 a5 a4 a3 a2 a1 a0",
1168 " i i i i i i i i";
1169 ;
1170 memory "signature"
1171 size = 3;
1172 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
1173 "x x x x x x a1 a0 o o o o o o o o";
1174 ;
1175 memory "fuse"
1176 size = 1;
1177 min_write_delay = 9000;
1178 max_write_delay = 20000;
1179 read = "0 1 0 1 0 0 0 0 x x x x x x x x",
1180 "x x x x x x x x x x o o o o o o";
1181
1182 write = "1 0 1 0 1 1 0 0 1 0 1 i i i i i",
1183 "x x x x x x x x x x x x x x x x";
1184 ;
1185 memory "lock"
1186 size = 1;
1187 min_write_delay = 9000;
1188 max_write_delay = 20000;
1189 read = "0 1 0 1 1 0 0 0 x x x x x x x x",
1190 "x x x x x x x x x x x x x o o x";
1191
1192 write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1",
1193 "x x x x x x x x x x x x x x x x";
1194 ;
1195 ;
1196
1197 #------------------------------------------------------------
1198 # AT90s8515
1199 #------------------------------------------------------------
1200
1201 part
1202 id = "8515";
1203 desc = "AT90S8515";
1204 stk500_devcode = 0x60;
1205 avr910_devcode = 0x38;
1206 chip_erase_delay = 20000;
1207 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
1208 "x x x x x x x x x x x x x x x x";
1209
1210 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
1211 "x x x x x x x x x x x x x x x x";
1212
1213 memory "eeprom"
1214 size = 512;
1215 min_write_delay = 4000;
1216 max_write_delay = 9000;
1217 readback_p1 = 0x80;
1218 readback_p2 = 0x7f;
1219 read = " 1 0 1 0 0 0 0 0 x x x x x x x a8",
1220 "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
1221
1222 write = " 1 1 0 0 0 0 0 0 x x x x x x x a8",
1223 "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
1224 ;
1225 memory "flash"
1226 size = 8192;
1227 min_write_delay = 4000;
1228 max_write_delay = 9000;
1229 readback_p1 = 0x7f;
1230 readback_p2 = 0x7f;
1231 read_lo = " 0 0 1 0 0 0 0 0",
1232 " x x x x a11 a10 a9 a8",
1233 " a7 a6 a5 a4 a3 a2 a1 a0",
1234 " o o o o o o o o";
1235
1236 read_hi = " 0 0 1 0 1 0 0 0",
1237 " x x x x a11 a10 a9 a8",
1238 " a7 a6 a5 a4 a3 a2 a1 a0",
1239 " o o o o o o o o";
1240
1241 write_lo = " 0 1 0 0 0 0 0 0",
1242 " x x x x a11 a10 a9 a8",
1243 " a7 a6 a5 a4 a3 a2 a1 a0",
1244 " i i i i i i i i";
1245
1246 write_hi = " 0 1 0 0 1 0 0 0",
1247 " x x x x a11 a10 a9 a8",
1248 " a7 a6 a5 a4 a3 a2 a1 a0",
1249 " i i i i i i i i";
1250 ;
1251 memory "signature"
1252 size = 3;
1253 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
1254 "x x x x x x a1 a0 o o o o o o o o";
1255 ;
1256 memory "fuse"
1257 size = 1;
1258 read = "0 1 0 1 1 0 0 0 x x x x x x x x",
1259 "x x x x x x x x x x x x x x x o";
1260 write = "1 0 1 0 1 1 0 0 1 0 1 1 1 1 1 i",
1261 "x x x x x x x x x x x x x x x x";
1262 ;
1263 memory "lock"
1264 size = 1;
1265 read = "0 1 0 1 1 0 0 0 x x x x x x x x",
1266 "x x x x x x x x o o x x x x x x";
1267 write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1",
1268 "x x x x x x x x x x x x x x x x";
1269 ;
1270 ;
1271
1272 #------------------------------------------------------------
1273 # AT90s8535
1274 #------------------------------------------------------------
1275
1276 part
1277 id = "8535";
1278 desc = "AT90S8535";
1279 stk500_devcode = 0x61;
1280 avr910_devcode = 0x68;
1281 chip_erase_delay = 20000;
1282 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
1283 "x x x x x x x x x x x x x x x x";
1284
1285 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
1286 "x x x x x x x x x x x x x x x x";
1287
1288 memory "eeprom"
1289 size = 512;
1290 min_write_delay = 9000;
1291 max_write_delay = 20000;
1292 readback_p1 = 0x00;
1293 readback_p2 = 0xff;
1294 read = " 1 0 1 0 0 0 0 0 x x x x x x x a8",
1295 "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
1296
1297 write = " 1 1 0 0 0 0 0 0 x x x x x x x a8",
1298 "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
1299 ;
1300 memory "flash"
1301 size = 8192;
1302 min_write_delay = 9000;
1303 max_write_delay = 20000;
1304 readback_p1 = 0xff;
1305 readback_p2 = 0xff;
1306 read_lo = " 0 0 1 0 0 0 0 0",
1307 " x x x x a11 a10 a9 a8",
1308 " a7 a6 a5 a4 a3 a2 a1 a0",
1309 " o o o o o o o o";
1310
1311 read_hi = " 0 0 1 0 1 0 0 0",
1312 " x x x x a11 a10 a9 a8",
1313 " a7 a6 a5 a4 a3 a2 a1 a0",
1314 " o o o o o o o o";
1315
1316 write_lo = " 0 1 0 0 0 0 0 0",
1317 " x x x x a11 a10 a9 a8",
1318 " a7 a6 a5 a4 a3 a2 a1 a0",
1319 " i i i i i i i i";
1320
1321 write_hi = " 0 1 0 0 1 0 0 0",
1322 " x x x x a11 a10 a9 a8",
1323 " a7 a6 a5 a4 a3 a2 a1 a0",
1324 " i i i i i i i i";
1325 ;
1326 memory "signature"
1327 size = 3;
1328 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
1329 "x x x x x x a1 a0 o o o o o o o o";
1330 ;
1331 memory "fuse"
1332 size = 1;
1333 read = "0 1 0 1 1 0 0 0 x x x x x x x x",
1334 "x x x x x x x x x x x x x x x o";
1335 write = "1 0 1 0 1 1 0 0 1 0 1 1 1 1 1 i",
1336 "x x x x x x x x x x x x x x x x";
1337 ;
1338 memory "lock"
1339 size = 1;
1340 read = "0 1 0 1 1 0 0 0 x x x x x x x x",
1341 "x x x x x x x x o o x x x x x x";
1342 write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1",
1343 "x x x x x x x x x x x x x x x x";
1344 ;
1345 ;
1346
1347 #------------------------------------------------------------
1348 # ATmega103
1349 #------------------------------------------------------------
1350
1351 part
1352 id = "m103";
1353 desc = "ATMEGA103";
1354 stk500_devcode = 0xB1;
1355 avr910_devcode = 0x41;
1356 chip_erase_delay = 112000;
1357 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
1358 "x x x x x x x x x x x x x x x x";
1359
1360 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
1361 "x x x x x x x x x x x x x x x x";
1362
1363 memory "eeprom"
1364 size = 4096;
1365 min_write_delay = 4000;
1366 max_write_delay = 9000;
1367 readback_p1 = 0x00;
1368 readback_p2 = 0xff;
1369 read = " 1 0 1 0 0 0 0 0",
1370 " x x x x a11 a10 a9 a8",
1371 " a7 a6 a5 a4 a3 a2 a1 a0",
1372 " o o o o o o o o";
1373
1374 write = " 1 1 0 0 0 0 0 0",
1375 " x x x x a11 a10 a9 a8",
1376 " a7 a6 a5 a4 a3 a2 a1 a0",
1377 " i i i i i i i i";
1378 ;
1379
1380 memory "flash"
1381 paged = yes;
1382 size = 131072;
1383 page_size = 256;
1384 num_pages = 512;
1385 min_write_delay = 22000;
1386 max_write_delay = 56000;
1387 readback_p1 = 0xff;
1388 readback_p2 = 0xff;
1389 read_lo = " 0 0 1 0 0 0 0 0",
1390 "a15 a14 a13 a12 a11 a10 a9 a8",
1391 " a7 a6 a5 a4 a3 a2 a1 a0",
1392 " o o o o o o o o";
1393
1394 read_hi = " 0 0 1 0 1 0 0 0",
1395 "a15 a14 a13 a12 a11 a10 a9 a8",
1396 " a7 a6 a5 a4 a3 a2 a1 a0",
1397 " o o o o o o o o";
1398
1399 loadpage_lo = " 0 1 0 0 0 0 0 0",
1400 " x x x x x x x x",
1401 " x a6 a5 a4 a3 a2 a1 a0",
1402 " i i i i i i i i";
1403
1404 loadpage_hi = " 0 1 0 0 1 0 0 0",
1405 " x x x x x x x x",
1406 " x a6 a5 a4 a3 a2 a1 a0",
1407 " i i i i i i i i";
1408
1409 writepage = " 0 1 0 0 1 1 0 0",
1410 "a15 a14 a13 a12 a11 a10 a9 a8",
1411 " a7 x x x x x x x",
1412 " x x x x x x x x";
1413 ;
1414
1415 memory "fuse"
1416 size = 1;
1417 read = "0 1 0 1 0 0 0 0 x x x x x x x x",
1418 "x x x x x x x x x x o x o 1 o o";
1419
1420 write = "1 0 1 0 1 1 0 0 1 0 1 1 i 1 i i",
1421 "x x x x x x x x x x x x x x x x";
1422 ;
1423
1424 memory "lock"
1425 size = 1;
1426 read = "0 1 0 1 1 0 0 0 x x x x x x x x",
1427 "x x x x x x x x x x x x x o o x";
1428
1429 write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1",
1430 "x x x x x x x x x x x x x x x x";
1431 ;
1432
1433 memory "signature"
1434 size = 3;
1435 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
1436 "x x x x x x a1 a0 o o o o o o o o";
1437 ;
1438 ;
1439
1440
1441 #------------------------------------------------------------
1442 # ATmega64
1443 #------------------------------------------------------------
1444
1445 part
1446 id = "m64";
1447 desc = "ATMEGA64";
1448 stk500_devcode = 0xA0;
1449 chip_erase_delay = 9000;
1450 pagel = 0xD7;
1451 bs2 = 0xA0;
1452 reset = dedicated;
1453 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
1454 "x x x x x x x x x x x x x x x x";
1455
1456 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
1457 "x x x x x x x x x x x x x x x x";
1458
1459 memory "eeprom"
1460 paged = no; /* leave this "no" */
1461 page_size = 8; /* for parallel programming */
1462 size = 2048;
1463 min_write_delay = 9000;
1464 max_write_delay = 9000;
1465 readback_p1 = 0xff;
1466 readback_p2 = 0xff;
1467 read = " 1 0 1 0 0 0 0 0",
1468 " x x x x a11 a10 a9 a8",
1469 " a7 a6 a5 a4 a3 a2 a1 a0",
1470 " o o o o o o o o";
1471
1472 write = " 1 1 0 0 0 0 0 0",
1473 " x x x x a11 a10 a9 a8",
1474 " a7 a6 a5 a4 a3 a2 a1 a0",
1475 " i i i i i i i i";
1476 ;
1477
1478 memory "flash"
1479 paged = yes;
1480 size = 65536;
1481 page_size = 256;
1482 num_pages = 256;
1483 min_write_delay = 4500;
1484 max_write_delay = 4500;
1485 readback_p1 = 0xff;
1486 readback_p2 = 0xff;
1487 read_lo = " 0 0 1 0 0 0 0 0",
1488 " x a14 a13 a12 a11 a10 a9 a8",
1489 " a7 a6 a5 a4 a3 a2 a1 a0",
1490 " o o o o o o o o";
1491
1492 read_hi = " 0 0 1 0 1 0 0 0",
1493 " x a14 a13 a12 a11 a10 a9 a8",
1494 " a7 a6 a5 a4 a3 a2 a1 a0",
1495 " o o o o o o o o";
1496
1497 loadpage_lo = " 0 1 0 0 0 0 0 0",
1498 " x x x x x x x x",
1499 " x a6 a5 a4 a3 a2 a1 a0",
1500 " i i i i i i i i";
1501
1502 loadpage_hi = " 0 1 0 0 1 0 0 0",
1503 " x x x x x x x x",
1504 " x a6 a5 a4 a3 a2 a1 a0",
1505 " i i i i i i i i";
1506
1507 writepage = " 0 1 0 0 1 1 0 0",
1508 " x a14 a13 a12 a11 a10 a9 a8",
1509 " a7 x x x x x x x",
1510 " x x x x x x x x";
1511 ;
1512
1513 memory "lfuse"
1514 size = 1;
1515 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
1516 "x x x x x x x x i i i i i i i i";
1517
1518 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
1519 "x x x x x x x x o o o o o o o o";
1520 ;
1521
1522 memory "hfuse"
1523 size = 1;
1524 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
1525 "x x x x x x x x i i i i i i i i";
1526
1527 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
1528 "x x x x x x x x o o o o o o o o";
1529 ;
1530
1531 memory "efuse"
1532 size = 1;
1533 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
1534 "x x x x x x x x x x x x x x i i";
1535
1536 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
1537 "x x x x x x x x o o o o o o o o";
1538 ;
1539
1540 memory "lock"
1541 size = 1;
1542 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
1543 "x x x x x x x x x x o o o o o o";
1544
1545 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
1546 "x x x x x x x x 1 1 i i i i i i";
1547 ;
1548
1549 memory "calibration"
1550 size = 1;
1551 read = "0 0 1 1 1 0 0 0 x x x x x x x x",
1552 "0 0 0 0 0 0 0 0 o o o o o o o o";
1553 ;
1554
1555 memory "signature"
1556 size = 3;
1557 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
1558 "x x x x x x a1 a0 o o o o o o o o";
1559 ;
1560 ;
1561
1562
1563
1564
1565 #------------------------------------------------------------
1566 # ATmega128
1567 #------------------------------------------------------------
1568
1569 part
1570 id = "m128";
1571 desc = "ATMEGA128";
1572 stk500_devcode = 0xB2;
1573 avr910_devcode = 0x43;
1574 chip_erase_delay = 9000;
1575 pagel = 0xD7;
1576 bs2 = 0xA0;
1577 reset = dedicated;
1578 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
1579 "x x x x x x x x x x x x x x x x";
1580
1581 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
1582 "x x x x x x x x x x x x x x x x";
1583
1584 memory "eeprom"
1585 paged = no; /* leave this "no" */
1586 page_size = 8; /* for parallel programming */
1587 size = 4096;
1588 min_write_delay = 9000;
1589 max_write_delay = 9000;
1590 readback_p1 = 0xff;
1591 readback_p2 = 0xff;
1592 read = " 1 0 1 0 0 0 0 0",
1593 " x x x x a11 a10 a9 a8",
1594 " a7 a6 a5 a4 a3 a2 a1 a0",
1595 " o o o o o o o o";
1596
1597 write = " 1 1 0 0 0 0 0 0",
1598 " x x x x a11 a10 a9 a8",
1599 " a7 a6 a5 a4 a3 a2 a1 a0",
1600 " i i i i i i i i";
1601 ;
1602
1603 memory "flash"
1604 paged = yes;
1605 size = 131072;
1606 page_size = 256;
1607 num_pages = 512;
1608 min_write_delay = 4500;
1609 max_write_delay = 4500;
1610 readback_p1 = 0xff;
1611 readback_p2 = 0xff;
1612 read_lo = " 0 0 1 0 0 0 0 0",
1613 "a15 a14 a13 a12 a11 a10 a9 a8",
1614 " a7 a6 a5 a4 a3 a2 a1 a0",
1615 " o o o o o o o o";
1616
1617 read_hi = " 0 0 1 0 1 0 0 0",
1618 "a15 a14 a13 a12 a11 a10 a9 a8",
1619 " a7 a6 a5 a4 a3 a2 a1 a0",
1620 " o o o o o o o o";
1621
1622 loadpage_lo = " 0 1 0 0 0 0 0 0",
1623 " x x x x x x x x",
1624 " x a6 a5 a4 a3 a2 a1 a0",
1625 " i i i i i i i i";
1626
1627 loadpage_hi = " 0 1 0 0 1 0 0 0",
1628 " x x x x x x x x",
1629 " x a6 a5 a4 a3 a2 a1 a0",
1630 " i i i i i i i i";
1631
1632 writepage = " 0 1 0 0 1 1 0 0",
1633 "a15 a14 a13 a12 a11 a10 a9 a8",
1634 " a7 x x x x x x x",
1635 " x x x x x x x x";
1636 ;
1637
1638 memory "lfuse"
1639 size = 1;
1640 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
1641 "x x x x x x x x i i i i i i i i";
1642
1643 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
1644 "x x x x x x x x o o o o o o o o";
1645 ;
1646
1647 memory "hfuse"
1648 size = 1;
1649 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
1650 "x x x x x x x x i i i i i i i i";
1651
1652 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
1653 "x x x x x x x x o o o o o o o o";
1654 ;
1655
1656 memory "efuse"
1657 size = 1;
1658 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
1659 "x x x x x x x x x x x x x x i i";
1660
1661 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
1662 "x x x x x x x x o o o o o o o o";
1663 ;
1664
1665 memory "lock"
1666 size = 1;
1667 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
1668 "x x x x x x x x x x o o o o o o";
1669
1670 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
1671 "x x x x x x x x 1 1 i i i i i i";
1672 ;
1673
1674 memory "calibration"
1675 size = 1;
1676 read = "0 0 1 1 1 0 0 0 x x x x x x x x",
1677 "0 0 0 0 0 0 0 0 o o o o o o o o";
1678 ;
1679
1680 memory "signature"
1681 size = 3;
1682 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
1683 "x x x x x x a1 a0 o o o o o o o o";
1684 ;
1685 ;
1686
1687 #------------------------------------------------------------
1688 # AT90CAN128
1689 #------------------------------------------------------------
1690
1691 part
1692 id = "c128";
1693 desc = "AT90CAN128";
1694 stk500_devcode = 0xB3;
1695 # avr910_devcode = 0x43;
1696 chip_erase_delay = 9000;
1697 pagel = 0xD7;
1698 bs2 = 0xA0;
1699 reset = dedicated;
1700 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
1701 "x x x x x x x x x x x x x x x x";
1702
1703 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
1704 "x x x x x x x x x x x x x x x x";
1705
1706 memory "eeprom"
1707 paged = no; /* leave this "no" */
1708 page_size = 8; /* for parallel programming */
1709 size = 4096;
1710 min_write_delay = 9000;
1711 max_write_delay = 9000;
1712 readback_p1 = 0xff;
1713 readback_p2 = 0xff;
1714 read = " 1 0 1 0 0 0 0 0",
1715 " 0 0 0 x a11 a10 a9 a8",
1716 " a7 a6 a5 a4 a3 a2 a1 a0",
1717 " o o o o o o o o";
1718
1719 write = " 1 1 0 0 0 0 0 0",
1720 " 0 0 0 x a11 a10 a9 a8",
1721 " a7 a6 a5 a4 a3 a2 a1 a0",
1722 " i i i i i i i i";
1723 ;
1724
1725 memory "flash"
1726 paged = yes;
1727 size = 131072;
1728 page_size = 256;
1729 num_pages = 512;
1730 min_write_delay = 4500;
1731 max_write_delay = 4500;
1732 readback_p1 = 0xff;
1733 readback_p2 = 0xff;
1734 read_lo = " 0 0 1 0 0 0 0 0",
1735 "a15 a14 a13 a12 a11 a10 a9 a8",
1736 " a7 a6 a5 a4 a3 a2 a1 a0",
1737 " o o o o o o o o";
1738
1739 read_hi = " 0 0 1 0 1 0 0 0",
1740 "a15 a14 a13 a12 a11 a10 a9 a8",
1741 " a7 a6 a5 a4 a3 a2 a1 a0",
1742 " o o o o o o o o";
1743
1744 loadpage_lo = " 0 1 0 0 0 0 0 0",
1745 " 0 0 0 x x x x x",
1746 " x a6 a5 a4 a3 a2 a1 a0",
1747 " i i i i i i i i";
1748
1749 loadpage_hi = " 0 1 0 0 1 0 0 0",
1750 " 0 0 0 x x x x x",
1751 " x a6 a5 a4 a3 a2 a1 a0",
1752 " i i i i i i i i";
1753
1754 writepage = " 0 1 0 0 1 1 0 0",
1755 "a15 a14 a13 a12 a11 a10 a9 a8",
1756 " a7 x x x x x x x",
1757 " x x x x x x x x";
1758 ;
1759
1760 memory "lfuse"
1761 size = 1;
1762 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
1763 "x x x x x x x x i i i i i i i i";
1764
1765 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
1766 "x x x x x x x x o o o o o o o o";
1767 ;
1768
1769 memory "hfuse"
1770 size = 1;
1771 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
1772 "x x x x x x x x i i i i i i i i";
1773
1774 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
1775 "x x x x x x x x o o o o o o o o";
1776 ;
1777
1778 memory "efuse"
1779 size = 1;
1780 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
1781 "x x x x x x x x x x x x i i i i";
1782
1783 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
1784 "x x x x x x x x o o o o o o o o";
1785 ;
1786
1787 memory "lock"
1788 size = 1;
1789 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
1790 "x x x x x x x x x x o o o o o o";
1791
1792 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
1793 "x x x x x x x x 1 1 i i i i i i";
1794 ;
1795
1796 memory "calibration"
1797 size = 1;
1798 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
1799 "0 0 0 0 0 0 0 0 o o o o o o o o";
1800 ;
1801
1802 memory "signature"
1803 size = 3;
1804 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
1805 "x x x x x x a1 a0 o o o o o o o o";
1806 ;
1807 ;
1808
1809
1810 #------------------------------------------------------------
1811 # ATmega16
1812 #------------------------------------------------------------
1813
1814 part
1815 id = "m16";
1816 desc = "ATMEGA16";
1817 stk500_devcode = 0x82;
1818 avr910_devcode = 0x74;
1819 pagel = 0xd7;
1820 bs2 = 0xa0;
1821 chip_erase_delay = 9000;
1822 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
1823 "x x x x x x x x x x x x x x x x";
1824
1825 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
1826 "x x x x x x x x x x x x x x x x";
1827
1828 memory "eeprom"
1829 size = 512;
1830 min_write_delay = 9000;
1831 max_write_delay = 9000;
1832 readback_p1 = 0xff;
1833 readback_p2 = 0xff;
1834 read = " 1 0 1 0 0 0 0 0",
1835 " 0 0 x x x x a9 a8",
1836 " a7 a6 a5 a4 a3 a2 a1 a0",
1837 " o o o o o o o o";
1838
1839 write = " 1 1 0 0 0 0 0 0",
1840 " 0 0 x x x x a9 a8",
1841 " a7 a6 a5 a4 a3 a2 a1 a0",
1842 " i i i i i i i i";
1843 ;
1844
1845 memory "flash"
1846 paged = yes;
1847 size = 16384;
1848 page_size = 128;
1849 num_pages = 128;
1850 min_write_delay = 4500;
1851 max_write_delay = 4500;
1852 readback_p1 = 0xff;
1853 readback_p2 = 0xff;
1854 read_lo = " 0 0 1 0 0 0 0 0",
1855 " 0 0 a13 a12 a11 a10 a9 a8",
1856 " a7 a6 a5 a4 a3 a2 a1 a0",
1857 " o o o o o o o o";
1858
1859 read_hi = " 0 0 1 0 1 0 0 0",
1860 " 0 0 a13 a12 a11 a10 a9 a8",
1861 " a7 a6 a5 a4 a3 a2 a1 a0",
1862 " o o o o o o o o";
1863
1864 loadpage_lo = " 0 1 0 0 0 0 0 0",
1865 " 0 0 x x x x x x",
1866 " x x a5 a4 a3 a2 a1 a0",
1867 " i i i i i i i i";
1868
1869 loadpage_hi = " 0 1 0 0 1 0 0 0",
1870 " 0 0 x x x x x x",
1871 " x x a5 a4 a3 a2 a1 a0",
1872 " i i i i i i i i";
1873
1874 writepage = " 0 1 0 0 1 1 0 0",
1875 " 0 0 a13 a12 a11 a10 a9 a8",
1876 " a7 a6 x x x x x x",
1877 " x x x x x x x x";
1878 ;
1879
1880 memory "lock"
1881 size = 1;
1882 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
1883 "x x x x x x x x x x o o o o o o";
1884
1885 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
1886 "x x x x x x x x 1 1 i i i i i i";
1887 ;
1888
1889 memory "lfuse"
1890 size = 1;
1891 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
1892 "x x x x x x x x o o o o o o o o";
1893
1894 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
1895 "x x x x x x x x i i i i i i i i";
1896 ;
1897
1898 memory "hfuse"
1899 size = 1;
1900 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
1901 "x x x x x x x x o o o o o o o o";
1902
1903 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
1904 "x x x x x x x x i i i i i i i i";
1905 ;
1906 memory "signature"
1907 size = 3;
1908 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
1909 "x x x x x x a1 a0 o o o o o o o o";
1910 ;
1911 ;
1912
1913
1914 #------------------------------------------------------------
1915 # ATmega162
1916 #------------------------------------------------------------
1917
1918 part
1919 id = "m162";
1920 desc = "ATMEGA162";
1921 stk500_devcode = 0x83;
1922 chip_erase_delay = 9000;
1923
1924 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
1925 "x x x x x x x x x x x x x x x x";
1926
1927 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
1928 "x x x x x x x x x x x x x x x x";
1929
1930 memory "flash"
1931 paged = yes;
1932 size = 16384;
1933 page_size = 128;
1934 num_pages = 128;
1935 min_write_delay = 4500;
1936 max_write_delay = 4500;
1937 readback_p1 = 0xff;
1938 readback_p2 = 0xff;
1939
1940 read_lo = " 0 0 1 0 0 0 0 0",
1941 " 0 0 a13 a12 a11 a10 a9 a8",
1942 " a7 a6 a5 a4 a3 a2 a1 a0",
1943 " o o o o o o o o";
1944
1945 read_hi = " 0 0 1 0 1 0 0 0",
1946 " 0 0 a13 a12 a11 a10 a9 a8",
1947 " a7 a6 a5 a4 a3 a2 a1 a0",
1948 " o o o o o o o o";
1949
1950 loadpage_lo = " 0 1 0 0 0 0 0 0",
1951 " 0 0 x x x x x x",
1952 " x x a5 a4 a3 a2 a1 a0",
1953 " i i i i i i i i";
1954
1955 loadpage_hi = " 0 1 0 0 1 0 0 0",
1956 " 0 0 x x x x x x",
1957 " x x a5 a4 a3 a2 a1 a0",
1958 " i i i i i i i i";
1959
1960 writepage = " 0 1 0 0 1 1 0 0",
1961 " 0 0 a13 a12 a11 a10 a9 a8",
1962 " a7 a6 x x x x x x",
1963 " x x x x x x x x";
1964 ;
1965
1966 memory "eeprom"
1967 size = 512;
1968 min_write_delay = 9000;
1969 max_write_delay = 9000;
1970 readback_p1 = 0xff;
1971 readback_p2 = 0xff;
1972
1973 read = " 1 0 1 0 0 0 0 0",
1974 " 0 0 x x x x a9 a8",
1975 " a7 a6 a5 a4 a3 a2 a1 a0",
1976 " o o o o o o o o";
1977
1978 write = " 1 1 0 0 0 0 0 0",
1979 " 0 0 x x x x a9 a8",
1980 " a7 a6 a5 a4 a3 a2 a1 a0",
1981 " i i i i i i i i";
1982 ;
1983
1984 memory "lfuse"
1985 size = 1;
1986 min_write_delay = 16000;
1987 max_write_delay = 16000;
1988 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
1989 "x x x x x x x x o o o o o o o o";
1990
1991 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
1992 "x x x x x x x x i i i i i i i i";
1993 ;
1994
1995 memory "hfuse"
1996 size = 1;
1997 min_write_delay = 16000;
1998 max_write_delay = 16000;
1999
2000 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
2001 "x x x x x x x x o o o o o o o o";
2002
2003 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
2004 "x x x x x x x x i i i i i i i i";
2005 ;
2006
2007 memory "efuse"
2008 size = 1;
2009 min_write_delay = 16000;
2010 max_write_delay = 16000;
2011
2012 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
2013 "x x x x x x x x o o o o o o o o";
2014
2015 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
2016 "x x x x x x x x 1 1 1 i i i i 1";
2017 ;
2018
2019 memory "lock"
2020 size = 1;
2021 min_write_delay = 16000;
2022 max_write_delay = 16000;
2023
2024 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
2025 "x x x x x x x x x x o o o o o o";
2026
2027 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
2028 "x x x x x x x x 1 1 i i i i i i";
2029 ;
2030
2031 memory "signature"
2032 size = 3;
2033
2034 read = "0 0 1 1 0 0 0 0 0 0 x x x x x x",
2035 "x x x x x x a1 a0 o o o o o o o o";
2036 ;
2037
2038 memory "calibration"
2039 size = 1;
2040
2041 read = "0 0 1 1 1 0 0 0 0 0 x x x x x x",
2042 "0 0 0 0 0 0 0 0 o o o o o o o o";
2043 ;
2044 ;
2045
2046
2047
2048 #------------------------------------------------------------
2049 # ATmega163
2050 #------------------------------------------------------------
2051
2052 part
2053 id = "m163";
2054 desc = "ATMEGA163";
2055 stk500_devcode = 0x81;
2056 avr910_devcode = 0x64;
2057 chip_erase_delay = 32000;
2058 pagel = 0xd7;
2059 bs2 = 0xa0;
2060 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
2061 "x x x x x x x x x x x x x x x x";
2062
2063 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
2064 "x x x x x x x x x x x x x x x x";
2065 memory "eeprom"
2066 size = 512;
2067 min_write_delay = 4000;
2068 max_write_delay = 4000;
2069 readback_p1 = 0xff;
2070 readback_p2 = 0xff;
2071 read = " 1 0 1 0 0 0 0 0",
2072 " x x x x x x x a8",
2073 " a7 a6 a5 a4 a3 a2 a1 a0",
2074 " o o o o o o o o";
2075
2076 write = " 1 1 0 0 0 0 0 0",
2077 " x x x x x x x a8",
2078 " a7 a6 a5 a4 a3 a2 a1 a0",
2079 " i i i i i i i i";
2080 ;
2081
2082 memory "flash"
2083 paged = yes;
2084 size = 16384;
2085 page_size = 128;
2086 num_pages = 128;
2087 min_write_delay = 16000;
2088 max_write_delay = 16000;
2089 readback_p1 = 0xff;
2090 readback_p2 = 0xff;
2091 read_lo = " 0 0 1 0 0 0 0 0",
2092 " x x x a12 a11 a10 a9 a8",
2093 " a7 a6 a5 a4 a3 a2 a1 a0",
2094 " o o o o o o o o";
2095
2096 read_hi = " 0 0 1 0 1 0 0 0",
2097 " x x x a12 a11 a10 a9 a8",
2098 " a7 a6 a5 a4 a3 a2 a1 a0",
2099 " o o o o o o o o";
2100
2101 loadpage_lo = " 0 1 0 0 0 0 0 0",
2102 " x x x x x x x x",
2103 " x x a5 a4 a3 a2 a1 a0",
2104 " i i i i i i i i";
2105
2106 loadpage_hi = " 0 1 0 0 1 0 0 0",
2107 " x x x x x x x x",
2108 " x x a5 a4 a3 a2 a1 a0",
2109 " i i i i i i i i";
2110
2111 writepage = " 0 1 0 0 1 1 0 0",
2112 " x x x a12 a11 a10 a9 a8",
2113 " a7 a6 x x x x x x",
2114 " x x x x x x x x";
2115 ;
2116
2117 memory "lfuse"
2118 size = 1;
2119 min_write_delay = 2000;
2120 max_write_delay = 2000;
2121 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
2122 "x x x x x x x x o o x x o o o o";
2123
2124 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
2125 "x x x x x x x x i i 1 1 i i i i";
2126 ;
2127
2128 memory "hfuse"
2129 size = 1;
2130 min_write_delay = 2000;
2131 max_write_delay = 2000;
2132 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
2133 "x x x x x x x x x x x x 1 o o o";
2134
2135 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
2136 "x x x x x x x x 1 1 1 1 1 i i i";
2137 ;
2138
2139 memory "lock"
2140 size = 1;
2141 min_write_delay = 2000;
2142 max_write_delay = 2000;
2143 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
2144 "x x x x 0 x x x x x o o o o o o";
2145
2146 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
2147 "x x x x x x x x 1 1 i i i i i i";
2148 ;
2149
2150 memory "signature"
2151 size = 3;
2152 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
2153 "x x x x x x a1 a0 o o o o o o o o";
2154 ;
2155
2156 memory "calibration"
2157 size = 1;
2158 read = "0 0 1 1 1 0 0 0 x x x x x x x x",
2159 "0 0 0 0 0 0 0 0 o o o o o o o o";
2160 ;
2161 ;
2162
2163 #------------------------------------------------------------
2164 # ATmega169
2165 #------------------------------------------------------------
2166
2167 part
2168 id = "m169";
2169 desc = "ATMEGA169";
2170 stk500_devcode = 0x85;
2171 avr910_devcode = 0x75;
2172 chip_erase_delay = 9000;
2173 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
2174 "x x x x x x x x x x x x x x x x";
2175
2176 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
2177 "x x x x x x x x x x x x x x x x";
2178 memory "eeprom"
2179 size = 512;
2180 min_write_delay = 9000;
2181 max_write_delay = 9000;
2182 readback_p1 = 0xff;
2183 readback_p2 = 0xff;
2184 read = " 1 0 1 0 0 0 0 0",
2185 " x x x x x x x a8",
2186 " a7 a6 a5 a4 a3 a2 a1 a0",
2187 " o o o o o o o o";
2188
2189 write = " 1 1 0 0 0 0 0 0",
2190 " x x x x x x x a8",
2191 " a7 a6 a5 a4 a3 a2 a1 a0",
2192 " i i i i i i i i";
2193 ;
2194
2195 memory "flash"
2196 paged = yes;
2197 size = 16384;
2198 page_size = 128;
2199 num_pages = 128;
2200 min_write_delay = 4500;
2201 max_write_delay = 4500;
2202 readback_p1 = 0xff;
2203 readback_p2 = 0xff;
2204 read_lo = " 0 0 1 0 0 0 0 0",
2205 " x x x a12 a11 a10 a9 a8",
2206 " a7 a6 a5 a4 a3 a2 a1 a0",
2207 " o o o o o o o o";
2208
2209 read_hi = " 0 0 1 0 1 0 0 0",
2210 " x x x a12 a11 a10 a9 a8",
2211 " a7 a6 a5 a4 a3 a2 a1 a0",
2212 " o o o o o o o o";
2213
2214 loadpage_lo = " 0 1 0 0 0 0 0 0",
2215 " x x x x x x x x",
2216 " x x a5 a4 a3 a2 a1 a0",
2217 " i i i i i i i i";
2218
2219 loadpage_hi = " 0 1 0 0 1 0 0 0",
2220 " x x x x x x x x",
2221 " x x a5 a4 a3 a2 a1 a0",
2222 " i i i i i i i i";
2223
2224 writepage = " 0 1 0 0 1 1 0 0",
2225 " x x x a12 a11 a10 a9 a8",
2226 " a7 a6 x x x x x x",
2227 " x x x x x x x x";
2228 ;
2229
2230 memory "lfuse"
2231 size = 1;
2232 min_write_delay = 2000;
2233 max_write_delay = 2000;
2234 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
2235 "x x x x x x x x o o o o o o o o";
2236
2237 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
2238 "x x x x x x x x i i i i i i i i";
2239 ;
2240
2241 memory "hfuse"
2242 size = 1;
2243 min_write_delay = 2000;
2244 max_write_delay = 2000;
2245 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
2246 "x x x x x x x x o o o o o o o o";
2247
2248 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
2249 "x x x x x x x x i i i i i i i i";
2250 ;
2251
2252 memory "efuse"
2253 size = 1;
2254 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
2255 "x x x x x x x x x x x x i i i x";
2256
2257 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
2258 "x x x x x x x x o o o o o o o o";
2259 ;
2260
2261 memory "lock"
2262 size = 1;
2263 min_write_delay = 2000;
2264 max_write_delay = 2000;
2265 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
2266 "x x x x x x x x x x o o o o o o";
2267
2268 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
2269 "x x x x x x x x 1 1 i i i i i i";
2270 ;
2271
2272 memory "signature"
2273 size = 3;
2274 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
2275 "x x x x x x a1 a0 o o o o o o o o";
2276 ;
2277
2278 memory "calibration"
2279 size = 1;
2280 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
2281 "0 0 0 0 0 0 0 0 o o o o o o o o";
2282 ;
2283 ;
2284
2285 #------------------------------------------------------------
2286 # ATmega32
2287 #------------------------------------------------------------
2288
2289 part
2290 id = "m32";
2291 desc = "ATMEGA32";
2292 stk500_devcode = 0x91;
2293 avr910_devcode = 0x72;
2294 chip_erase_delay = 9000;
2295 pagel = 0xd7;
2296 bs2 = 0xa0;
2297 reset = dedicated;
2298 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
2299 "x x x x x x x x x x x x x x x x";
2300
2301 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
2302 "x x x x x x x x x x x x x x x x";
2303 memory "eeprom"
2304 paged = no; /* leave this "no" */
2305 page_size = 4; /* for parallel programming */
2306 size = 1024;
2307 min_write_delay = 9000;
2308 max_write_delay = 9000;
2309 readback_p1 = 0xff;
2310 readback_p2 = 0xff;
2311 read = " 1 0 1 0 0 0 0 0",
2312 " 0 0 x x x x a9 a8",
2313 " a7 a6 a5 a4 a3 a2 a1 a0",
2314 " o o o o o o o o";
2315
2316 write = " 1 1 0 0 0 0 0 0",
2317 " 0 0 x x x x a9 a8",
2318 " a7 a6 a5 a4 a3 a2 a1 a0",
2319 " i i i i i i i i";
2320 ;
2321
2322 memory "flash"
2323 paged = yes;
2324 size = 32768;
2325 page_size = 128;
2326 num_pages = 256;
2327 min_write_delay = 4500;
2328 max_write_delay = 4500;
2329 readback_p1 = 0xff;
2330 readback_p2 = 0xff;
2331 read_lo = " 0 0 1 0 0 0 0 0",
2332 " 0 0 a13 a12 a11 a10 a9 a8",
2333 " a7 a6 a5 a4 a3 a2 a1 a0",
2334 " o o o o o o o o";
2335
2336 read_hi = " 0 0 1 0 1 0 0 0",
2337 " 0 0 a13 a12 a11 a10 a9 a8",
2338 " a7 a6 a5 a4 a3 a2 a1 a0",
2339 " o o o o o o o o";
2340
2341 loadpage_lo = " 0 1 0 0 0 0 0 0",
2342 " 0 0 x x x x x x",
2343 " x x a5 a4 a3 a2 a1 a0",
2344 " i i i i i i i i";
2345
2346 loadpage_hi = " 0 1 0 0 1 0 0 0",
2347 " 0 0 x x x x x x",
2348 " x x a5 a4 a3 a2 a1 a0",
2349 " i i i i i i i i";
2350
2351 writepage = " 0 1 0 0 1 1 0 0",
2352 " 0 0 a13 a12 a11 a10 a9 a8",
2353 " a7 a6 x x x x x x",
2354 " x x x x x x x x";
2355 ;
2356
2357 memory "lfuse"
2358 size = 1;
2359 min_write_delay = 2000;
2360 max_write_delay = 2000;
2361 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
2362 "x x x x x x x x o o o o o o o o";
2363
2364 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
2365 "x x x x x x x x i i i i i i i i";
2366 ;
2367
2368 memory "hfuse"
2369 size = 1;
2370 min_write_delay = 2000;
2371 max_write_delay = 2000;
2372 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
2373 "x x x x x x x x o o o o o o o o";
2374
2375 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
2376 "x x x x x x x x i i i i i i i i";
2377 ;
2378
2379 memory "lock"
2380 size = 1;
2381 min_write_delay = 2000;
2382 max_write_delay = 2000;
2383 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
2384 "x x x x x x x x x x o o o o o o";
2385
2386 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
2387 "x x x x x x x x 1 1 i i i i i i";
2388 ;
2389
2390 memory "signature"
2391 size = 3;
2392 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
2393 "x x x x x x a1 a0 o o o o o o o o";
2394 ;
2395
2396 memory "calibration"
2397 size = 1;
2398 read = "0 0 1 1 1 0 0 0 0 0 x x x x x x",
2399 "0 0 0 0 0 0 0 0 o o o o o o o o";
2400 ;
2401 ;
2402
2403 #------------------------------------------------------------
2404 # ATmega161
2405 #------------------------------------------------------------
2406
2407 part
2408 id = "m161";
2409 desc = "ATMEGA161";
2410 stk500_devcode = 0x80;
2411 avr910_devcode = 0x60;
2412 chip_erase_delay = 28000;
2413 pagel = 0xd7;
2414 bs2 = 0xa0;
2415 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
2416 "x x x x x x x x x x x x x x x x";
2417
2418 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
2419 "x x x x x x x x x x x x x x x x";
2420 memory "eeprom"
2421 size = 512;
2422 min_write_delay = 3400;
2423 max_write_delay = 3400;
2424 readback_p1 = 0xff;
2425 readback_p2 = 0xff;
2426 read = " 1 0 1 0 0 0 0 0",
2427 " x x x x x x x a8",
2428 " a7 a6 a5 a4 a3 a2 a1 a0",
2429 " o o o o o o o o";
2430
2431 write = " 1 1 0 0 0 0 0 0",
2432 " x x x x x x x a8",
2433 " a7 a6 a5 a4 a3 a2 a1 a0",
2434 " i i i i i i i i";
2435 ;
2436
2437 memory "flash"
2438 paged = yes;
2439 size = 16384;
2440 page_size = 128;
2441 num_pages = 128;
2442 min_write_delay = 14000;
2443 max_write_delay = 14000;
2444 readback_p1 = 0xff;
2445 readback_p2 = 0xff;
2446 read_lo = " 0 0 1 0 0 0 0 0",
2447 " x x x a12 a11 a10 a9 a8",
2448 " a7 a6 a5 a4 a3 a2 a1 a0",
2449 " o o o o o o o o";
2450
2451 read_hi = " 0 0 1 0 1 0 0 0",
2452 " x x x a12 a11 a10 a9 a8",
2453 " a7 a6 a5 a4 a3 a2 a1 a0",
2454 " o o o o o o o o";
2455
2456 loadpage_lo = " 0 1 0 0 0 0 0 0",
2457 " x x x x x x x x",
2458 " x x a5 a4 a3 a2 a1 a0",
2459 " i i i i i i i i";
2460
2461 loadpage_hi = " 0 1 0 0 1 0 0 0",
2462 " x x x x x x x x",
2463 " x x a5 a4 a3 a2 a1 a0",
2464 " i i i i i i i i";
2465
2466 writepage = " 0 1 0 0 1 1 0 0",
2467 " x x x a12 a11 a10 a9 a8",
2468 " a7 a6 x x x x x x",
2469 " x x x x x x x x";
2470 ;
2471
2472 memory "fuse"
2473 size = 1;
2474 min_write_delay = 2000;
2475 max_write_delay = 2000;
2476 read = "0 1 0 1 0 0 0 0 x x x x x x x x",
2477 "x x x x x x x x x o x o o o o o";
2478
2479 write = "1 0 1 0 1 1 0 0 1 0 1 x x x x x",
2480 "x x x x x x x x 1 i 1 i i i i i";
2481 ;
2482
2483 memory "lock"
2484 size = 1;
2485 min_write_delay = 2000;
2486 max_write_delay = 2000;
2487 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
2488 "x x x x x x x x x x o o o o o o";
2489
2490 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
2491 "x x x x x x x x 1 1 i i i i i i";
2492 ;
2493 memory "signature"
2494 size = 3;
2495 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
2496 "x x x x x x a1 a0 o o o o o o o o";
2497 ;
2498 ;
2499
2500
2501 #------------------------------------------------------------
2502 # ATmega8
2503 #------------------------------------------------------------
2504
2505 part
2506 id = "m8";
2507 desc = "ATMEGA8";
2508 stk500_devcode = 0x70;
2509 avr910_devcode = 0x76;
2510 pagel = 0xd7;
2511 bs2 = 0xc2;
2512 chip_erase_delay = 9000;
2513 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
2514 "x x x x x x x x x x x x x x x x";
2515
2516 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
2517 "x x x x x x x x x x x x x x x x";
2518
2519 memory "eeprom"
2520 size = 512;
2521 min_write_delay = 9000;
2522 max_write_delay = 9000;
2523 readback_p1 = 0xff;
2524 readback_p2 = 0xff;
2525 read = " 1 0 1 0 0 0 0 0",
2526 " 0 0 x x x x x a8",
2527 " a7 a6 a5 a4 a3 a2 a1 a0",
2528 " o o o o o o o o";
2529
2530 write = " 1 1 0 0 0 0 0 0",
2531 " 0 0 x x x x x a8",
2532 " a7 a6 a5 a4 a3 a2 a1 a0",
2533 " i i i i i i i i";
2534 ;
2535 memory "flash"
2536 paged = yes;
2537 size = 8192;
2538 page_size = 64;
2539 num_pages = 128;
2540 min_write_delay = 4500;
2541 max_write_delay = 4500;
2542 readback_p1 = 0xff;
2543 readback_p2 = 0xff;
2544 read_lo = " 0 0 1 0 0 0 0 0",
2545 " 0 0 0 0 a11 a10 a9 a8",
2546 " a7 a6 a5 a4 a3 a2 a1 a0",
2547 " o o o o o o o o";
2548
2549 read_hi = " 0 0 1 0 1 0 0 0",
2550 " 0 0 0 0 a11 a10 a9 a8",
2551 " a7 a6 a5 a4 a3 a2 a1 a0",
2552 " o o o o o o o o";
2553
2554 loadpage_lo = " 0 1 0 0 0 0 0 0",
2555 " 0 0 0 0 x x x x",
2556 " x x x a4 a3 a2 a1 a0",
2557 " i i i i i i i i";
2558
2559 loadpage_hi = " 0 1 0 0 1 0 0 0",
2560 " 0 0 0 0 x x x x",
2561 " x x x a4 a3 a2 a1 a0",
2562 " i i i i i i i i";
2563
2564 writepage = " 0 1 0 0 1 1 0 0",
2565 " 0 0 0 0 a11 a10 a9 a8",
2566 " a7 a6 a5 x x x x x",
2567 " x x x x x x x x";
2568 ;
2569
2570 memory "lfuse"
2571 size = 1;
2572 min_write_delay = 2000;
2573 max_write_delay = 2000;
2574 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
2575 "x x x x x x x x o o o o o o o o";
2576
2577 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
2578 "x x x x x x x x i i i i i i i i";
2579 ;
2580
2581 memory "hfuse"
2582 size = 1;
2583 min_write_delay = 2000;
2584 max_write_delay = 2000;
2585 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
2586 "x x x x x x x x o o o o o o o o";
2587
2588 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
2589 "x x x x x x x x i i i i i i i i";
2590 ;
2591
2592 memory "lock"
2593 size = 1;
2594 min_write_delay = 2000;
2595 max_write_delay = 2000;
2596 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
2597 "x x x x x x x x x x o o o o o o";
2598
2599 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
2600 "x x x x x x x x 1 1 i i i i i i";
2601 ;
2602
2603 memory "calibration"
2604 size = 4;
2605 read = "0 0 1 1 1 0 0 0 0 0 x x x x x x",
2606 "0 0 0 0 0 0 a1 a0 o o o o o o o o";
2607 ;
2608
2609 memory "signature"
2610 size = 3;
2611 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
2612 "x x x x x x a1 a0 o o o o o o o o";
2613 ;
2614 ;
2615
2616
2617
2618 #------------------------------------------------------------
2619 # ATmega8515
2620 #------------------------------------------------------------
2621
2622 part
2623 id = "m8515";
2624 desc = "ATMEGA8515";
2625 stk500_devcode = 0x63;
2626 avr910_devcode = 0x3A;
2627 chip_erase_delay = 9000;
2628 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
2629 "x x x x x x x x x x x x x x x x";
2630
2631 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
2632 "x x x x x x x x x x x x x x x x";
2633
2634 memory "eeprom"
2635 size = 512;
2636 min_write_delay = 9000;
2637 max_write_delay = 9000;
2638 readback_p1 = 0xff;
2639 readback_p2 = 0xff;
2640 read = " 1 0 1 0 0 0 0 0",
2641 " 0 0 x x x x x a8",
2642 " a7 a6 a5 a4 a3 a2 a1 a0",
2643 " o o o o o o o o";
2644
2645 write = " 1 1 0 0 0 0 0 0",
2646 " 0 0 x x x x x a8",
2647 " a7 a6 a5 a4 a3 a2 a1 a0",
2648 " i i i i i i i i";
2649 ;
2650 memory "flash"
2651 paged = yes;
2652 size = 8192;
2653 page_size = 64;
2654 num_pages = 128;
2655 min_write_delay = 4500;
2656 max_write_delay = 4500;
2657 readback_p1 = 0xff;
2658 readback_p2 = 0xff;
2659 read_lo = " 0 0 1 0 0 0 0 0",
2660 " 0 0 0 0 a11 a10 a9 a8",
2661 " a7 a6 a5 a4 a3 a2 a1 a0",
2662 " o o o o o o o o";
2663
2664 read_hi = " 0 0 1 0 1 0 0 0",
2665 " 0 0 0 0 a11 a10 a9 a8",
2666 " a7 a6 a5 a4 a3 a2 a1 a0",
2667 " o o o o o o o o";
2668
2669 loadpage_lo = " 0 1 0 0 0 0 0 0",
2670 " 0 0 0 0 x x x x",
2671 " x x x a4 a3 a2 a1 a0",
2672 " i i i i i i i i";
2673
2674 loadpage_hi = " 0 1 0 0 1 0 0 0",
2675 " 0 0 0 0 x x x x",
2676 " x x x a4 a3 a2 a1 a0",
2677 " i i i i i i i i";
2678
2679 writepage = " 0 1 0 0 1 1 0 0",
2680 " 0 0 0 0 a11 a10 a9 a8",
2681 " a7 a6 a5 x x x x x",
2682 " x x x x x x x x";
2683 ;
2684
2685 memory "lfuse"
2686 size = 1;
2687 min_write_delay = 4500;
2688 max_write_delay = 4500;
2689 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
2690 "x x x x x x x x o o o o o o o o";
2691
2692 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
2693 "x x x x x x x x i i i i i i i i";
2694 ;
2695
2696 memory "hfuse"
2697 size = 1;
2698 min_write_delay = 4500;
2699 max_write_delay = 4500;
2700 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
2701 "x x x x x x x x o o o o o o o o";
2702
2703 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
2704 "x x x x x x x x i i i i i i i i";
2705 ;
2706
2707 memory "lock"
2708 size = 1;
2709 min_write_delay = 4500;
2710 max_write_delay = 4500;
2711 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
2712 "x x x x x x x x x x o o o o o o";
2713
2714 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
2715 "x x x x x x x x 1 1 i i i i i i";
2716 ;
2717
2718 memory "calibration"
2719 size = 1;
2720 read = "0 0 1 1 1 0 0 0 0 0 x x x x x x",
2721 "0 0 0 0 0 0 0 0 o o o o o o o o";
2722 ;
2723
2724 memory "signature"
2725 size = 3;
2726 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
2727 "x x x x x x a1 a0 o o o o o o o o";
2728 ;
2729 ;
2730
2731
2732
2733
2734 #------------------------------------------------------------
2735 # ATmega8535
2736 #------------------------------------------------------------
2737
2738 part
2739 id = "m8535";
2740 desc = "ATMEGA8535";
2741 stk500_devcode = 0x64;
2742 pagel = 0xd7;
2743 bs2 = 0xa0;
2744 chip_erase_delay = 9000;
2745 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
2746 "x x x x x x x x x x x x x x x x";
2747
2748 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
2749 "x x x x x x x x x x x x x x x x";
2750
2751 memory "eeprom"
2752 size = 512;
2753 min_write_delay = 9000;
2754 max_write_delay = 9000;
2755 readback_p1 = 0xff;
2756 readback_p2 = 0xff;
2757 read = " 1 0 1 0 0 0 0 0",
2758 " 0 0 x x x x x a8",
2759 " a7 a6 a5 a4 a3 a2 a1 a0",
2760 " o o o o o o o o";
2761
2762 write = " 1 1 0 0 0 0 0 0",
2763 " 0 0 x x x x x a8",
2764 " a7 a6 a5 a4 a3 a2 a1 a0",
2765 " i i i i i i i i";
2766 ;
2767 memory "flash"
2768 paged = yes;
2769 size = 8192;
2770 page_size = 64;
2771 num_pages = 128;
2772 min_write_delay = 4500;
2773 max_write_delay = 4500;
2774 readback_p1 = 0xff;
2775 readback_p2 = 0xff;
2776 read_lo = " 0 0 1 0 0 0 0 0",
2777 " 0 0 0 0 a11 a10 a9 a8",
2778 " a7 a6 a5 a4 a3 a2 a1 a0",
2779 " o o o o o o o o";
2780
2781 read_hi = " 0 0 1 0 1 0 0 0",
2782 " 0 0 0 0 a11 a10 a9 a8",
2783 " a7 a6 a5 a4 a3 a2 a1 a0",
2784 " o o o o o o o o";
2785
2786 loadpage_lo = " 0 1 0 0 0 0 0 0",
2787 " 0 0 0 0 x x x x",
2788 " x x x a4 a3 a2 a1 a0",
2789 " i i i i i i i i";
2790
2791 loadpage_hi = " 0 1 0 0 1 0 0 0",
2792 " 0 0 0 0 x x x x",
2793 " x x x a4 a3 a2 a1 a0",
2794 " i i i i i i i i";
2795
2796 writepage = " 0 1 0 0 1 1 0 0",
2797 " 0 0 0 0 a11 a10 a9 a8",
2798 " a7 a6 a5 x x x x x",
2799 " x x x x x x x x";
2800 ;
2801
2802 memory "lfuse"
2803 size = 1;
2804 min_write_delay = 2000;
2805 max_write_delay = 2000;
2806 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
2807 "x x x x x x x x o o o o o o o o";
2808
2809 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
2810 "x x x x x x x x i i i i i i i i";
2811 ;
2812
2813 memory "hfuse"
2814 size = 1;
2815 min_write_delay = 2000;
2816 max_write_delay = 2000;
2817 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
2818 "x x x x x x x x o o o o o o o o";
2819
2820 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
2821 "x x x x x x x x i i i i i i i i";
2822 ;
2823
2824 memory "lock"
2825 size = 1;
2826 min_write_delay = 2000;
2827 max_write_delay = 2000;
2828 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
2829 "x x x x x x x x x x o o o o o o";
2830
2831 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
2832 "x x x x x x x x 1 1 i i i i i i";
2833 ;
2834
2835 memory "calibration"
2836 size = 1;
2837 read = "0 0 1 1 1 0 0 0 0 0 x x x x x x",
2838 "0 0 0 0 0 0 0 0 o o o o o o o o";
2839 ;
2840
2841 memory "signature"
2842 size = 3;
2843 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
2844 "x x x x x x a1 a0 o o o o o o o o";
2845 ;
2846 ;
2847
2848
2849 #------------------------------------------------------------
2850 # ATtiny26
2851 #------------------------------------------------------------
2852
2853 part
2854 id = "t26";
2855 desc = "ATTINY26";
2856 stk500_devcode = 0x21;
2857 avr910_devcode = 0x5e;
2858 pagel = 0xb3;
2859 bs2 = 0xb2;
2860 chip_erase_delay = 9000;
2861 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
2862 "x x x x x x x x x x x x x x x x";
2863
2864 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
2865 "x x x x x x x x x x x x x x x x";
2866
2867 memory "eeprom"
2868 size = 128;
2869 min_write_delay = 9000;
2870 max_write_delay = 9000;
2871 readback_p1 = 0xff;
2872 readback_p2 = 0xff;
2873 read = "1 0 1 0 0 0 0 0 x x x x x x x x",
2874 "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
2875
2876 write = "1 1 0 0 0 0 0 0 x x x x x x x x",
2877 "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
2878 ;
2879
2880 memory "flash"
2881 paged = yes;
2882 size = 2048;
2883 page_size = 32;
2884 num_pages = 64;
2885 min_write_delay = 4500;
2886 max_write_delay = 4500;
2887 readback_p1 = 0xff;
2888 readback_p2 = 0xff;
2889 read_lo = " 0 0 1 0 0 0 0 0",
2890 " x x x x x x a9 a8",
2891 " a7 a6 a5 a4 a3 a2 a1 a0",
2892 " o o o o o o o o";
2893
2894 read_hi = " 0 0 1 0 1 0 0 0",
2895 " x x x x x x a9 a8",
2896 " a7 a6 a5 a4 a3 a2 a1 a0",
2897 " o o o o o o o o";
2898
2899 loadpage_lo = " 0 1 0 0 0 0 0 0",
2900 " x x x x x x x x",
2901 " x x x x a3 a2 a1 a0",
2902 " i i i i i i i i";
2903
2904 loadpage_hi = " 0 1 0 0 1 0 0 0",
2905 " x x x x x x x x",
2906 " x x x x a3 a2 a1 a0",
2907 " i i i i i i i i";
2908
2909 writepage = " 0 1 0 0 1 1 0 0",
2910 " x x x x x x a9 a8",
2911 " a7 a6 a5 a4 x x x x",
2912 " x x x x x x x x";
2913 ;
2914
2915 memory "signature"
2916 size = 3;
2917 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
2918 "0 0 0 0 0 0 a1 a0 o o o o o o o o";
2919 ;
2920
2921 memory "lock"
2922 size = 1;
2923 read = "0 1 0 1 1 0 0 0 x x x x x x x x",
2924 "x x x x x x x x x x x x x x o o";
2925
2926 write = "1 0 1 0 1 1 0 0 1 1 1 1 1 1 i i",
2927 "x x x x x x x x x x x x x x x x";
2928 ;
2929
2930 memory "lfuse"
2931 size = 1;
2932 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
2933 "x x x x x x x x i i i i i i i i";
2934
2935 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
2936 "x x x x x x x x o o o o o o o o";
2937 ;
2938
2939 memory "hfuse"
2940 size = 1;
2941 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
2942 "x x x x x x x x x x x i i i i i";
2943
2944 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
2945 "x x x x x x x x x x x o o o o o";
2946 ;
2947
2948 memory "calibration"
2949 size = 4;
2950 read = "0 0 1 1 1 0 0 0 x x x x x x x x",
2951 "0 0 0 0 0 0 a1 a0 o o o o o o o o";
2952 ;
2953
2954 ;
2955
2956
2957 #------------------------------------------------------------
2958 # ATmega48
2959 #------------------------------------------------------------
2960
2961 part
2962 id = "m48";
2963 desc = "ATMEGA48";
2964 stk500_devcode = 0x59;
2965 # avr910_devcode = 0x;
2966 pagel = 0xd7;
2967 bs2 = 0xc2;
2968 chip_erase_delay = 9000;
2969 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
2970 "x x x x x x x x x x x x x x x x";
2971
2972 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
2973 "x x x x x x x x x x x x x x x x";
2974
2975 memory "eeprom"
2976 size = 256;
2977 min_write_delay = 3600;
2978 max_write_delay = 3600;
2979 readback_p1 = 0xff;
2980 readback_p2 = 0xff;
2981 read = " 1 0 1 0 0 0 0 0",
2982 " 0 0 0 x x x x x",
2983 " a7 a6 a5 a4 a3 a2 a1 a0",
2984 " o o o o o o o o";
2985
2986 write = " 1 1 0 0 0 0 0 0",
2987 " 0 0 0 x x x x x",
2988 " a7 a6 a5 a4 a3 a2 a1 a0",
2989 " i i i i i i i i";
2990 ;
2991 memory "flash"
2992 paged = yes;
2993 size = 4096;
2994 page_size = 64;
2995 num_pages = 64;
2996 min_write_delay = 4500;
2997 max_write_delay = 4500;
2998 readback_p1 = 0xff;
2999 readback_p2 = 0xff;
3000 read_lo = " 0 0 1 0 0 0 0 0",
3001 " 0 0 0 0 0 a10 a9 a8",
3002 " a7 a6 a5 a4 a3 a2 a1 a0",
3003 " o o o o o o o o";
3004
3005 read_hi = " 0 0 1 0 1 0 0 0",
3006 " 0 0 0 0 0 a10 a9 a8",
3007 " a7 a6 a5 a4 a3 a2 a1 a0",
3008 " o o o o o o o o";
3009
3010 loadpage_lo = " 0 1 0 0 0 0 0 0",
3011 " 0 0 0 x x x x x",
3012 " x x x a4 a3 a2 a1 a0",
3013 " i i i i i i i i";
3014
3015 loadpage_hi = " 0 1 0 0 1 0 0 0",
3016 " 0 0 0 x x x x x",
3017 " x x x a4 a3 a2 a1 a0",
3018 " i i i i i i i i";
3019
3020 writepage = " 0 1 0 0 1 1 0 0",
3021 " 0 0 0 0 0 a10 a9 a8",
3022 " a7 a6 a5 x x x x x",
3023 " x x x x x x x x";
3024 ;
3025
3026 memory "lfuse"
3027 size = 1;
3028 min_write_delay = 4500;
3029 max_write_delay = 4500;
3030 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
3031 "x x x x x x x x o o o o o o o o";
3032
3033 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
3034 "x x x x x x x x i i i i i i i i";
3035 ;
3036
3037 memory "hfuse"
3038 size = 1;
3039 min_write_delay = 4500;
3040 max_write_delay = 4500;
3041 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
3042 "x x x x x x x x o o o o o o o o";
3043
3044 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
3045 "x x x x x x x x i i i i i i i i";
3046 ;
3047
3048 memory "efuse"
3049 size = 1;
3050 min_write_delay = 4500;
3051 max_write_delay = 4500;
3052 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
3053 "x x x x x x x x o o o o o o o o";
3054
3055 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
3056 "x x x x x x x x i i i i i i i i";
3057 ;
3058
3059 memory "calibration"
3060 size = 1;
3061 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
3062 "0 0 0 0 0 0 0 0 o o o o o o o o";
3063 ;
3064
3065 memory "signature"
3066 size = 3;
3067 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
3068 "x x x x x x a1 a0 o o o o o o o o";
3069 ;
3070 ;
3071
3072
3073 #------------------------------------------------------------
3074 # ATmega88
3075 #------------------------------------------------------------
3076
3077 part
3078 id = "m88";
3079 desc = "ATMEGA88";
3080 stk500_devcode = 0x73;
3081 # avr910_devcode = 0x;
3082 pagel = 0xd7;
3083 bs2 = 0xc2;
3084 chip_erase_delay = 9000;
3085 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
3086 "x x x x x x x x x x x x x x x x";
3087
3088 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
3089 "x x x x x x x x x x x x x x x x";
3090
3091 memory "eeprom"
3092 size = 512;
3093 min_write_delay = 3600;
3094 max_write_delay = 3600;
3095 readback_p1 = 0xff;
3096 readback_p2 = 0xff;
3097 read = " 1 0 1 0 0 0 0 0",
3098 " 0 0 0 x x x x a8",
3099 " a7 a6 a5 a4 a3 a2 a1 a0",
3100 " o o o o o o o o";
3101
3102 write = " 1 1 0 0 0 0 0 0",
3103 " 0 0 0 x x x x a8",
3104 " a7 a6 a5 a4 a3 a2 a1 a0",
3105 " i i i i i i i i";
3106 ;
3107 memory "flash"
3108 paged = yes;
3109 size = 8192;
3110 page_size = 64;
3111 num_pages = 128;
3112 min_write_delay = 4500;
3113 max_write_delay = 4500;
3114 readback_p1 = 0xff;
3115 readback_p2 = 0xff;
3116 read_lo = " 0 0 1 0 0 0 0 0",
3117 " 0 0 0 0 a11 a10 a9 a8",
3118 " a7 a6 a5 a4 a3 a2 a1 a0",
3119 " o o o o o o o o";
3120
3121 read_hi = " 0 0 1 0 1 0 0 0",
3122 " 0 0 0 0 a11 a10 a9 a8",
3123 " a7 a6 a5 a4 a3 a2 a1 a0",
3124 " o o o o o o o o";
3125
3126 loadpage_lo = " 0 1 0 0 0 0 0 0",
3127 " 0 0 0 x x x x x",
3128 " x x x a4 a3 a2 a1 a0",
3129 " i i i i i i i i";
3130
3131 loadpage_hi = " 0 1 0 0 1 0 0 0",
3132 " 0 0 0 x x x x x",
3133 " x x x a4 a3 a2 a1 a0",
3134 " i i i i i i i i";
3135
3136 writepage = " 0 1 0 0 1 1 0 0",
3137 " 0 0 0 0 a11 a10 a9 a8",
3138 " a7 a6 a5 x x x x x",
3139 " x x x x x x x x";
3140 ;
3141
3142 memory "lfuse"
3143 size = 1;
3144 min_write_delay = 4500;
3145 max_write_delay = 4500;
3146 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
3147 "x x x x x x x x o o o o o o o o";
3148
3149 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
3150 "x x x x x x x x i i i i i i i i";
3151 ;
3152
3153 memory "hfuse"
3154 size = 1;
3155 min_write_delay = 4500;
3156 max_write_delay = 4500;
3157 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
3158 "x x x x x x x x o o o o o o o o";
3159
3160 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
3161 "x x x x x x x x i i i i i i i i";
3162 ;
3163
3164 memory "efuse"
3165 size = 1;
3166 min_write_delay = 4500;
3167 max_write_delay = 4500;
3168 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
3169 "x x x x x x x x o o o o o o o o";
3170
3171 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
3172 "x x x x x x x x i i i i i i i i";
3173 ;
3174
3175 memory "lock"
3176 size = 1;
3177 min_write_delay = 4500;
3178 max_write_delay = 4500;
3179 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
3180 "x x x x x x x x x x o o o o o o";
3181
3182 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
3183 "x x x x x x x x 1 1 i i i i i i";
3184 ;
3185
3186 memory "calibration"
3187 size = 1;
3188 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
3189 "0 0 0 0 0 0 0 0 o o o o o o o o";
3190 ;
3191
3192 memory "signature"
3193 size = 3;
3194 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
3195 "x x x x x x a1 a0 o o o o o o o o";
3196 ;
3197 ;
3198
3199
3200 #------------------------------------------------------------
3201 # ATtiny2313
3202 #------------------------------------------------------------
3203
3204 part
3205 id = "t2313";
3206 desc = "ATtiny2313";
3207 stk500_devcode = 0x23;
3208 ## avr910_devcode = ?;
3209 ## Try the AT90S2313 devcode:
3210 avr910_devcode = 0x20;
3211 pagel = 0xD4;
3212 bs2 = 0xD6;
3213 reset = io;
3214 chip_erase_delay = 9000;
3215
3216 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
3217 "x x x x x x x x x x x x x x x x";
3218
3219 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
3220 "x x x x x x x x x x x x x x x x";
3221
3222 memory "eeprom"
3223 size = 128;
3224 min_write_delay = 4000;
3225 max_write_delay = 4500;
3226 readback_p1 = 0xff;
3227 readback_p2 = 0xff;
3228 read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x",
3229 "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
3230
3231 write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x",
3232 "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
3233 ;
3234 memory "flash"
3235 paged = yes;
3236 size = 2048;
3237 page_size = 32;
3238 num_pages = 64;
3239 min_write_delay = 4500;
3240 max_write_delay = 4500;
3241 readback_p1 = 0xff;
3242 readback_p2 = 0xff;
3243 read_lo = " 0 0 1 0 0 0 0 0",
3244 " 0 0 0 0 0 0 a9 a8",
3245 " a7 a6 a5 a4 a3 a2 a1 a0",
3246 " o o o o o o o o";
3247
3248 read_hi = " 0 0 1 0 1 0 0 0",
3249 " 0 0 0 0 0 0 a9 a8",
3250 " a7 a6 a5 a4 a3 a2 a1 a0",
3251 " o o o o o o o o";
3252
3253 # The information in the data sheet of April/2004 is wrong, this works:
3254 loadpage_lo = " 0 1 0 0 0 0 0 0",
3255 " 0 0 0 x x x x x",
3256 " x x x x a3 a2 a1 a0",
3257 " i i i i i i i i";
3258
3259 # The information in the data sheet of April/2004 is wrong, this works:
3260 loadpage_hi = " 0 1 0 0 1 0 0 0",
3261 " 0 0 0 x x x x x",
3262 " x x x x a3 a2 a1 a0",
3263 " i i i i i i i i";
3264
3265 # The information in the data sheet of April/2004 is wrong, this works:
3266 writepage = " 0 1 0 0 1 1 0 0",
3267 " 0 0 0 0 0 0 a9 a8",
3268 " a7 a6 a5 a4 x x x x",
3269 " x x x x x x x x";
3270 ;
3271 # ATtiny2313 has Signature Bytes: 0x1E 0x91 0x0A.
3272 memory "signature"
3273 size = 3;
3274 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
3275 "x x x x x x a1 a0 o o o o o o o o";
3276 ;
3277 memory "lock"
3278 size = 1;
3279 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
3280 "x x x x x x x x 1 1 i i i i i i";
3281 ;
3282
3283 memory "lfuse"
3284 size = 1;
3285 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
3286 "x x x x x x x x i i i i i i i i";
3287
3288 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
3289 "x x x x x x x x o o o o o o o o";
3290 ;
3291
3292 memory "hfuse"
3293 size = 1;
3294 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
3295 "x x x x x x x x i i i i i i i i";
3296
3297 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
3298 "x x x x x x x x o o o o o o o o";
3299 ;
3300
3301 memory "efuse"
3302 size = 1;
3303 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
3304 "x x x x x x x x x x x x x x x i";
3305
3306 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
3307 "x x x x x x x x o o o o o o o o";
3308 ;
3309 # The Tiny2313 has calibration data for both 4 MHz and 8 MHz.
3310 # The information in the data sheet of April/2004 is wrong, this works:
3311
3312 memory "calibration"
3313 size = 2;
3314 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
3315 "0 0 0 0 0 0 0 a0 o o o o o o o o";
3316 ;
3317 ;