1 # $Id: avrdude.conf.in,v 1.36 2004/12/22 01:30:30 bdean Exp $
3 # AVRDUDE Configuration File
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.
13 # Possible entry formats are:
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
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> ;
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> ;
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
72 # * 'devicecode' is the device code used by the STK500 (see codes
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:
89 # http://www.atmel.com/atmel/acrobat/doc1280.pdf
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:
98 # '1' = the bit is always set on input as well as output
100 # '0' = the bit is always clear on input as well as output
102 # 'x' = the bit is ignored on input and output
104 # 'a' = the bit is an address bit, the bit-number matches this bit
105 # specifier's position within the current instruction byte
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.
110 # 'i' = the bit is an input data bit
112 # 'o' = the bit is an output data bit
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.
118 # See below for some examples.
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:
126 # http://www.atmel.com/atmel/acrobat/doc2525.pdf
129 #define ATTINY10 0x10
130 #define ATTINY11 0x11
131 #define ATTINY12 0x12
132 #define ATTINY15 0x13
133 #define ATTINY13 0x14
135 #define ATTINY22 0x20
136 #define ATTINY26 0x21
137 #define ATTINY28 0x22
138 #define ATTINY2313 0x23
140 #define AT90S1200 0x33
142 #define AT90S2313 0x40
143 #define AT90S2323 0x41
144 #define AT90S2333 0x42
145 #define AT90S2343 0x43
147 #define AT90S4414 0x50
148 #define AT90S4433 0x51
149 #define AT90S4434 0x52
150 #define ATMEGA48 0x59
152 #define AT90S8515 0x60
153 #define AT90S8535 0x61
154 #define AT90C8534 0x62
155 #define ATMEGA8515 0x63
156 #define ATMEGA8535 0x64
159 #define ATMEGA88 0x73
161 #define ATMEGA161 0x80
162 #define ATMEGA163 0x81
163 #define ATMEGA16 0x82
164 #define ATMEGA162 0x83
165 #define ATMEGA169 0x84
167 #define ATMEGA323 0x90
168 #define ATMEGA32 0x91
170 #define ATMEGA64 0xA0
172 #define ATMEGA103 0xB1
173 #define ATMEGA128 0xB2
174 #define AT90CAN128 0xB3
176 #define AT86RF401 0xD0
178 #define AT89START 0xE0
184 # Overall avrdude defaults
186 default_parallel = "/dev/parport0";
187 default_serial = "/dev/ttyS0";
191 # PROGRAMMER DEFINITIONS
196 desc = "Brian Dean's Programmer, http://www.bsdhome.com/avrdude/";
207 desc = "Atmel AVR ISP";
219 desc = "Atmel STK500";
225 desc = "Atmel Low Cost Serial Programmer";
231 desc = "Atmel Butterfly Development Board";
237 desc = "Jason Kyle's pAVR Serial Programmer";
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.
259 desc = "Pony Prog STK200";
271 desc = "Dontronics DT006";
281 desc = "Bascom SAMPLE programming cable";
291 desc = "Nightshade ALF-PgmAVR, http://nightshade.homeip.net/";
307 desc = "Steve Bolt's Programmer";
318 desc = "Picoweb Programming Cable, http://www.picoweb.net/";
328 desc = "ABCmini Board, aka Dick Smith HOTCHIP";
338 desc = "Futurlec.com programming cable.";
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)
355 desc = "Xilinx JTAG cable";
370 #------------------------------------------------------------
372 #------------------------------------------------------------
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";
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";
388 min_write_delay = 9000;
389 max_write_delay = 20000;
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";
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";
401 min_write_delay = 4500;
402 max_write_delay = 20000;
405 read_lo = " 0 0 1 0 0 0 0 0",
407 " a7 a6 a5 a4 a3 a2 a1 a0",
410 read_hi = " 0 0 1 0 1 0 0 0",
412 " a7 a6 a5 a4 a3 a2 a1 a0",
415 write_lo = " 0 1 0 0 0 0 0 0",
417 " a7 a6 a5 a4 a3 a2 a1 a0",
420 write_hi = " 0 1 0 0 1 0 0 0",
422 " a7 a6 a5 a4 a3 a2 a1 a0",
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";
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";
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";
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";
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";
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";
457 #------------------------------------------------------------
459 #------------------------------------------------------------
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";
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";
474 min_write_delay = 4000;
475 max_write_delay = 4000;
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";
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";
490 min_write_delay = 4500;
491 max_write_delay = 4500;
494 read_lo = " 0 0 1 0 0 0 0 0",
496 " a7 a6 a5 a4 a3 a2 a1 a0",
499 read_hi = " 0 0 1 0 1 0 0 0",
501 " a7 a6 a5 a4 a3 a2 a1 a0",
504 loadpage_lo = " 0 1 0 0 0 0 0 0",
506 " x x x x a3 a2 a1 a0",
509 loadpage_hi = " 0 1 0 0 1 0 0 0",
511 " x x x x a3 a2 a1 a0",
514 writepage = " 0 1 0 0 1 1 0 0",
516 " a7 a6 a5 a4 x x x x",
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";
528 min_write_delay = 4500;
529 max_write_delay = 4500;
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";
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";
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";
546 min_write_delay = 4500;
547 max_write_delay = 4500;
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";
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";
558 min_write_delay = 4500;
559 max_write_delay = 4500;
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";
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";
571 #------------------------------------------------------------
573 #------------------------------------------------------------
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";
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";
589 min_write_delay = 8200;
590 max_write_delay = 8200;
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";
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";
602 min_write_delay = 4100;
603 max_write_delay = 4100;
606 read_lo = " 0 0 1 0 0 0 0 0",
608 " a7 a6 a5 a4 a3 a2 a1 a0",
611 read_hi = " 0 0 1 0 1 0 0 0",
613 " a7 a6 a5 a4 a3 a2 a1 a0",
616 write_lo = " 0 1 0 0 0 0 0 0",
618 " a7 a6 a5 a4 a3 a2 a1 a0",
621 write_hi = " 0 1 0 0 1 0 0 0",
623 " a7 a6 a5 a4 a3 a2 a1 a0",
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";
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";
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";
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";
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";
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";
659 #------------------------------------------------------------
661 #------------------------------------------------------------
666 stk500_devcode = 0x33;
667 avr910_devcode = 0x13;
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";
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";
679 min_write_delay = 4000;
680 max_write_delay = 9000;
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";
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";
691 min_write_delay = 4000;
692 max_write_delay = 9000;
695 read_lo = " 0 0 1 0 0 0 0 0",
697 " a7 a6 a5 a4 a3 a2 a1 a0",
700 read_hi = " 0 0 1 0 1 0 0 0",
702 " a7 a6 a5 a4 a3 a2 a1 a0",
705 write_lo = " 0 1 0 0 0 0 0 0",
707 " a7 a6 a5 a4 a3 a2 a1 a0",
710 write_hi = " 0 1 0 0 1 0 0 0",
712 " a7 a6 a5 a4 a3 a2 a1 a0",
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";
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";
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";
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";
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";
742 #------------------------------------------------------------
744 #------------------------------------------------------------
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";
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";
760 min_write_delay = 9000;
761 max_write_delay = 20000;
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";
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";
772 min_write_delay = 9000;
773 max_write_delay = 20000;
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",
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",
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",
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",
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";
803 #------------------------------------------------------------
805 #------------------------------------------------------------
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";
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";
821 min_write_delay = 4000;
822 max_write_delay = 9000;
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";
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";
833 min_write_delay = 4000;
834 max_write_delay = 9000;
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",
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",
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",
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",
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";
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";
869 #------------------------------------------------------------
871 #------------------------------------------------------------
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";
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";
887 min_write_delay = 9000;
888 max_write_delay = 20000;
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";
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";
899 min_write_delay = 9000;
900 max_write_delay = 20000;
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",
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",
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",
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",
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";
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";
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";
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";
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";
952 #------------------------------------------------------------
954 #------------------------------------------------------------
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";
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";
970 min_write_delay = 9000;
971 max_write_delay = 20000;
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";
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";
982 min_write_delay = 9000;
983 max_write_delay = 20000;
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",
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",
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",
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",
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";
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";
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";
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";
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";
1034 #------------------------------------------------------------
1036 #------------------------------------------------------------
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";
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";
1052 min_write_delay = 9000;
1053 max_write_delay = 20000;
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";
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";
1064 min_write_delay = 9000;
1065 max_write_delay = 20000;
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",
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",
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",
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",
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";
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";
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";
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";
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";
1116 #------------------------------------------------------------
1118 #------------------------------------------------------------
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";
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";
1134 min_write_delay = 9000;
1135 max_write_delay = 20000;
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";
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";
1146 min_write_delay = 9000;
1147 max_write_delay = 20000;
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",
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",
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",
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",
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";
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";
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";
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";
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";
1197 #------------------------------------------------------------
1199 #------------------------------------------------------------
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";
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";
1215 min_write_delay = 4000;
1216 max_write_delay = 9000;
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";
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";
1227 min_write_delay = 4000;
1228 max_write_delay = 9000;
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",
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",
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",
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",
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";
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";
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";
1272 #------------------------------------------------------------
1274 #------------------------------------------------------------
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";
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";
1290 min_write_delay = 9000;
1291 max_write_delay = 20000;
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";
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";
1302 min_write_delay = 9000;
1303 max_write_delay = 20000;
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",
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",
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",
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",
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";
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";
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";
1347 #------------------------------------------------------------
1349 #------------------------------------------------------------
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";
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";
1365 min_write_delay = 4000;
1366 max_write_delay = 9000;
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",
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",
1385 min_write_delay = 22000;
1386 max_write_delay = 56000;
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",
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",
1399 loadpage_lo = " 0 1 0 0 0 0 0 0",
1401 " x a6 a5 a4 a3 a2 a1 a0",
1404 loadpage_hi = " 0 1 0 0 1 0 0 0",
1406 " x a6 a5 a4 a3 a2 a1 a0",
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",
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";
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";
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";
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";
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";
1441 #------------------------------------------------------------
1443 #------------------------------------------------------------
1448 stk500_devcode = 0xA0;
1449 chip_erase_delay = 9000;
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";
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";
1460 paged = no; /* leave this "no" */
1461 page_size = 8; /* for parallel programming */
1463 min_write_delay = 9000;
1464 max_write_delay = 9000;
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",
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",
1483 min_write_delay = 4500;
1484 max_write_delay = 4500;
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",
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",
1497 loadpage_lo = " 0 1 0 0 0 0 0 0",
1499 " x a6 a5 a4 a3 a2 a1 a0",
1502 loadpage_hi = " 0 1 0 0 1 0 0 0",
1504 " x a6 a5 a4 a3 a2 a1 a0",
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",
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";
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";
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";
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";
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";
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";
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";
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";
1549 memory "calibration"
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";
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";
1565 #------------------------------------------------------------
1567 #------------------------------------------------------------
1572 stk500_devcode = 0xB2;
1573 avr910_devcode = 0x43;
1574 chip_erase_delay = 9000;
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";
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";
1585 paged = no; /* leave this "no" */
1586 page_size = 8; /* for parallel programming */
1588 min_write_delay = 9000;
1589 max_write_delay = 9000;
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",
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",
1608 min_write_delay = 4500;
1609 max_write_delay = 4500;
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",
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",
1622 loadpage_lo = " 0 1 0 0 0 0 0 0",
1624 " x a6 a5 a4 a3 a2 a1 a0",
1627 loadpage_hi = " 0 1 0 0 1 0 0 0",
1629 " x a6 a5 a4 a3 a2 a1 a0",
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",
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";
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";
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";
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";
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";
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";
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";
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";
1674 memory "calibration"
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";
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";
1687 #------------------------------------------------------------
1689 #------------------------------------------------------------
1693 desc = "AT90CAN128";
1694 stk500_devcode = 0xB3;
1695 # avr910_devcode = 0x43;
1696 chip_erase_delay = 9000;
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";
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";
1707 paged = no; /* leave this "no" */
1708 page_size = 8; /* for parallel programming */
1710 min_write_delay = 9000;
1711 max_write_delay = 9000;
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",
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",
1730 min_write_delay = 4500;
1731 max_write_delay = 4500;
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",
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",
1744 loadpage_lo = " 0 1 0 0 0 0 0 0",
1746 " x a6 a5 a4 a3 a2 a1 a0",
1749 loadpage_hi = " 0 1 0 0 1 0 0 0",
1751 " x a6 a5 a4 a3 a2 a1 a0",
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",
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";
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";
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";
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";
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";
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";
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";
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";
1796 memory "calibration"
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";
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";
1810 #------------------------------------------------------------
1812 #------------------------------------------------------------
1817 stk500_devcode = 0x82;
1818 avr910_devcode = 0x74;
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";
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";
1830 min_write_delay = 9000;
1831 max_write_delay = 9000;
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",
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",
1850 min_write_delay = 4500;
1851 max_write_delay = 4500;
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",
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",
1864 loadpage_lo = " 0 1 0 0 0 0 0 0",
1866 " x x a5 a4 a3 a2 a1 a0",
1869 loadpage_hi = " 0 1 0 0 1 0 0 0",
1871 " x x a5 a4 a3 a2 a1 a0",
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",
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";
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";
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";
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";
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";
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";
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";
1914 #------------------------------------------------------------
1916 #------------------------------------------------------------
1921 stk500_devcode = 0x83;
1922 chip_erase_delay = 9000;
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";
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";
1935 min_write_delay = 4500;
1936 max_write_delay = 4500;
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",
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",
1950 loadpage_lo = " 0 1 0 0 0 0 0 0",
1952 " x x a5 a4 a3 a2 a1 a0",
1955 loadpage_hi = " 0 1 0 0 1 0 0 0",
1957 " x x a5 a4 a3 a2 a1 a0",
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",
1968 min_write_delay = 9000;
1969 max_write_delay = 9000;
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",
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",
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";
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";
1997 min_write_delay = 16000;
1998 max_write_delay = 16000;
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";
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";
2009 min_write_delay = 16000;
2010 max_write_delay = 16000;
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";
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";
2021 min_write_delay = 16000;
2022 max_write_delay = 16000;
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";
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";
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";
2038 memory "calibration"
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";
2048 #------------------------------------------------------------
2050 #------------------------------------------------------------
2055 stk500_devcode = 0x81;
2056 avr910_devcode = 0x64;
2057 chip_erase_delay = 32000;
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";
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";
2067 min_write_delay = 4000;
2068 max_write_delay = 4000;
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",
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",
2087 min_write_delay = 16000;
2088 max_write_delay = 16000;
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",
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",
2101 loadpage_lo = " 0 1 0 0 0 0 0 0",
2103 " x x a5 a4 a3 a2 a1 a0",
2106 loadpage_hi = " 0 1 0 0 1 0 0 0",
2108 " x x a5 a4 a3 a2 a1 a0",
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",
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";
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";
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";
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";
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";
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";
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";
2156 memory "calibration"
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";
2163 #------------------------------------------------------------
2165 #------------------------------------------------------------
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";
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";
2180 min_write_delay = 9000;
2181 max_write_delay = 9000;
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",
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",
2200 min_write_delay = 4500;
2201 max_write_delay = 4500;
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",
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",
2214 loadpage_lo = " 0 1 0 0 0 0 0 0",
2216 " x x a5 a4 a3 a2 a1 a0",
2219 loadpage_hi = " 0 1 0 0 1 0 0 0",
2221 " x x a5 a4 a3 a2 a1 a0",
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",
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";
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";
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";
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";
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";
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";
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";
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";
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";
2278 memory "calibration"
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";
2285 #------------------------------------------------------------
2287 #------------------------------------------------------------
2292 stk500_devcode = 0x91;
2293 avr910_devcode = 0x72;
2294 chip_erase_delay = 9000;
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";
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";
2304 paged = no; /* leave this "no" */
2305 page_size = 4; /* for parallel programming */
2307 min_write_delay = 9000;
2308 max_write_delay = 9000;
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",
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",
2327 min_write_delay = 4500;
2328 max_write_delay = 4500;
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",
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",
2341 loadpage_lo = " 0 1 0 0 0 0 0 0",
2343 " x x a5 a4 a3 a2 a1 a0",
2346 loadpage_hi = " 0 1 0 0 1 0 0 0",
2348 " x x a5 a4 a3 a2 a1 a0",
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",
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";
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";
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";
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";
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";
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";
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";
2396 memory "calibration"
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";
2403 #------------------------------------------------------------
2405 #------------------------------------------------------------
2410 stk500_devcode = 0x80;
2411 avr910_devcode = 0x60;
2412 chip_erase_delay = 28000;
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";
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";
2422 min_write_delay = 3400;
2423 max_write_delay = 3400;
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",
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",
2442 min_write_delay = 14000;
2443 max_write_delay = 14000;
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",
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",
2456 loadpage_lo = " 0 1 0 0 0 0 0 0",
2458 " x x a5 a4 a3 a2 a1 a0",
2461 loadpage_hi = " 0 1 0 0 1 0 0 0",
2463 " x x a5 a4 a3 a2 a1 a0",
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",
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";
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";
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";
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";
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";
2501 #------------------------------------------------------------
2503 #------------------------------------------------------------
2508 stk500_devcode = 0x70;
2509 avr910_devcode = 0x76;
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";
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";
2521 min_write_delay = 9000;
2522 max_write_delay = 9000;
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",
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",
2540 min_write_delay = 4500;
2541 max_write_delay = 4500;
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",
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",
2554 loadpage_lo = " 0 1 0 0 0 0 0 0",
2556 " x x x a4 a3 a2 a1 a0",
2559 loadpage_hi = " 0 1 0 0 1 0 0 0",
2561 " x x x a4 a3 a2 a1 a0",
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",
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";
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";
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";
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";
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";
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";
2603 memory "calibration"
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";
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";
2618 #------------------------------------------------------------
2620 #------------------------------------------------------------
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";
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";
2636 min_write_delay = 9000;
2637 max_write_delay = 9000;
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",
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",
2655 min_write_delay = 4500;
2656 max_write_delay = 4500;
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",
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",
2669 loadpage_lo = " 0 1 0 0 0 0 0 0",
2671 " x x x a4 a3 a2 a1 a0",
2674 loadpage_hi = " 0 1 0 0 1 0 0 0",
2676 " x x x a4 a3 a2 a1 a0",
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",
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";
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";
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";
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";
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";
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";
2718 memory "calibration"
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";
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";
2734 #------------------------------------------------------------
2736 #------------------------------------------------------------
2740 desc = "ATMEGA8535";
2741 stk500_devcode = 0x64;
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";
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";
2753 min_write_delay = 9000;
2754 max_write_delay = 9000;
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",
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",
2772 min_write_delay = 4500;
2773 max_write_delay = 4500;
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",
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",
2786 loadpage_lo = " 0 1 0 0 0 0 0 0",
2788 " x x x a4 a3 a2 a1 a0",
2791 loadpage_hi = " 0 1 0 0 1 0 0 0",
2793 " x x x a4 a3 a2 a1 a0",
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",
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";
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";
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";
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";
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";
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";
2835 memory "calibration"
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";
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";
2849 #------------------------------------------------------------
2851 #------------------------------------------------------------
2856 stk500_devcode = 0x21;
2857 avr910_devcode = 0x5e;
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";
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";
2869 min_write_delay = 9000;
2870 max_write_delay = 9000;
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";
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";
2885 min_write_delay = 4500;
2886 max_write_delay = 4500;
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",
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",
2899 loadpage_lo = " 0 1 0 0 0 0 0 0",
2901 " x x x x a3 a2 a1 a0",
2904 loadpage_hi = " 0 1 0 0 1 0 0 0",
2906 " x x x x a3 a2 a1 a0",
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",
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";
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";
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";
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";
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";
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";
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";
2948 memory "calibration"
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";
2957 #------------------------------------------------------------
2959 #------------------------------------------------------------
2964 stk500_devcode = 0x59;
2965 # avr910_devcode = 0x;
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";
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";
2977 min_write_delay = 3600;
2978 max_write_delay = 3600;
2981 read = " 1 0 1 0 0 0 0 0",
2983 " a7 a6 a5 a4 a3 a2 a1 a0",
2986 write = " 1 1 0 0 0 0 0 0",
2988 " a7 a6 a5 a4 a3 a2 a1 a0",
2996 min_write_delay = 4500;
2997 max_write_delay = 4500;
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",
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",
3010 loadpage_lo = " 0 1 0 0 0 0 0 0",
3012 " x x x a4 a3 a2 a1 a0",
3015 loadpage_hi = " 0 1 0 0 1 0 0 0",
3017 " x x x a4 a3 a2 a1 a0",
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",
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";
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";
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";
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";
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";
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";
3059 memory "calibration"
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";
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";
3073 #------------------------------------------------------------
3075 #------------------------------------------------------------
3080 stk500_devcode = 0x73;
3081 # avr910_devcode = 0x;
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";
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";
3093 min_write_delay = 3600;
3094 max_write_delay = 3600;
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",
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",
3112 min_write_delay = 4500;
3113 max_write_delay = 4500;
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",
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",
3126 loadpage_lo = " 0 1 0 0 0 0 0 0",
3128 " x x x a4 a3 a2 a1 a0",
3131 loadpage_hi = " 0 1 0 0 1 0 0 0",
3133 " x x x a4 a3 a2 a1 a0",
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",
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";
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";
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";
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";
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";
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";
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";
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";
3186 memory "calibration"
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";
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";
3200 #------------------------------------------------------------
3202 #------------------------------------------------------------
3206 desc = "ATtiny2313";
3207 stk500_devcode = 0x23;
3208 ## avr910_devcode = ?;
3209 ## Try the AT90S2313 devcode:
3210 avr910_devcode = 0x20;
3214 chip_erase_delay = 9000;
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";
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";
3224 min_write_delay = 4000;
3225 max_write_delay = 4500;
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";
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";
3239 min_write_delay = 4500;
3240 max_write_delay = 4500;
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",
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",
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",
3256 " x x x x a3 a2 a1 a0",
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",
3262 " x x x x a3 a2 a1 a0",
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",
3271 # ATtiny2313 has Signature Bytes: 0x1E 0x91 0x0A.
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";
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";
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";
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";
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";
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";
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";
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";
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:
3312 memory "calibration"
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";