1 # $Id: avrdude.conf.in 1012 2011-09-15 14:57:51Z joerg_wunsch $ -*- text -*-
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 | stk500v2 | stk500pp | stk500hvsp | stk500generic |
19 # stk600 | stk600pp | stk600hvsp |
20 # avr910 | butterfly | usbasp |
21 # jtagmki | jtagmkii | jtagmkii_isp | jtagmkii_dw |
22 # jtagmkII_avr32 | jtagmkii_pdi |
23 # dragon_dw | dragon_jtag | dragon_isp | dragon_pp |
24 # dragon_hvsp | dragon_pdi | arduino | wiring; # programmer type
25 # baudrate = <num> ; # baudrate for avr910-programmer
26 # vcc = <num1> [, <num2> ... ] ; # pin number(s)
27 # reset = <num> ; # pin number
28 # sck = <num> ; # pin number
29 # mosi = <num> ; # pin number
30 # miso = <num> ; # pin number
31 # errled = <num> ; # pin number
32 # rdyled = <num> ; # pin number
33 # pgmled = <num> ; # pin number
34 # vfyled = <num> ; # pin number
35 # usbvid = <hexnum>; # USB VID (Vendor ID)
36 # usbpid = <hexnum>; # USB PID (Product ID)
37 # usbdev = <interface>; # USB interface or other device info
38 # usbvendor = <vendorname>; # USB Vendor Name
39 # usbproduct = <productname>; # USB Product Name
40 # usbsn = <serialno>; # USB Serial Number
42 # To invert a bit, use = ~ <num>, the spaces are important.
46 # id = <id> ; # quoted string
47 # desc = <description> ; # quoted string
48 # has_jtag = <yes/no> ; # part has JTAG i/f
49 # has_debugwire = <yes/no> ; # part has debugWire i/f
50 # has_pdi = <yes/no> ; # part has PDI i/f
51 # has_tpi = <yes/no> ; # part has TPI i/f
52 # devicecode = <num> ; # deprecated, use stk500_devcode
53 # stk500_devcode = <num> ; # numeric
54 # avr910_devcode = <num> ; # numeric
55 # signature = <num> <num> <num> ; # signature bytes
56 # chip_erase_delay = <num> ; # micro-seconds
57 # reset = dedicated | io;
58 # retry_pulse = reset | sck;
59 # pgm_enable = <instruction format> ;
60 # chip_erase = <instruction format> ;
61 # chip_erase_delay = <num> ; # chip erase delay (us)
62 # # STK500 parameters (parallel programming IO lines)
63 # pagel = <num> ; # pin name in hex, i.e., 0xD7
64 # bs2 = <num> ; # pin name in hex, i.e., 0xA0
65 # serial = <yes/no> ; # can use serial downloading
66 # parallel = <yes/no/pseudo>; # can use par. programming
67 # # STK500v2 parameters, to be taken from Atmel's XML files
70 # cmdexedelay = <num> ;
71 # synchloops = <num> ;
77 # pollmethod = <num> ;
82 # hvspcmdexedelay = <num> ;
83 # # STK500v2 HV programming parameters, from XML
84 # pp_controlstack = <num>, <num>, ...; # PP only
85 # hvsp_controlstack = <num>, <num>, ...; # HVSP only
86 # hventerstabdelay = <num>;
87 # progmodedelay = <num>; # PP only
88 # latchcycles = <num>;
90 # poweroffdelay = <num>;
91 # resetdelayms = <num>;
92 # resetdelayus = <num>;
93 # hvleavestabdelay = <num>;
95 # synchcycles = <num>; # HVSP only
96 # chiperasepulsewidth = <num>; # PP only
97 # chiperasepolltimeout = <num>;
98 # chiperasetime = <num>; # HVSP only
99 # programfusepulsewidth = <num>; # PP only
100 # programfusepolltimeout = <num>;
101 # programlockpulsewidth = <num>; # PP only
102 # programlockpolltimeout = <num>;
103 # # JTAG ICE mkII parameters, also from XML files
104 # allowfullpagebitstream = <yes/no> ;
105 # enablepageprogramming = <yes/no> ;
106 # idr = <num> ; # IO addr of IDR (OCD) reg.
107 # rampz = <num> ; # IO addr of RAMPZ reg.
108 # spmcr = <num> ; # mem addr of SPMC[S]R reg.
109 # eecr = <num> ; # mem addr of EECR reg.
110 # # (only when != 0x3c)
111 # is_avr32 = <yes/no> ; # AVR32 part
114 # paged = <yes/no> ; # yes / no
115 # size = <num> ; # bytes
116 # page_size = <num> ; # bytes
117 # num_pages = <num> ; # numeric
118 # min_write_delay = <num> ; # micro-seconds
119 # max_write_delay = <num> ; # micro-seconds
120 # readback_p1 = <num> ; # byte value
121 # readback_p2 = <num> ; # byte value
122 # pwroff_after_write = <yes/no> ; # yes / no
123 # read = <instruction format> ;
124 # write = <instruction format> ;
125 # read_lo = <instruction format> ;
126 # read_hi = <instruction format> ;
127 # write_lo = <instruction format> ;
128 # write_hi = <instruction format> ;
129 # loadpage_lo = <instruction format> ;
130 # loadpage_hi = <instruction format> ;
131 # writepage = <instruction format> ;
135 # If any of the above parameters are not specified, the default value
136 # of 0 is used for numerics or the empty string ("") for string
137 # values. If a required parameter is left empty, AVRDUDE will
141 # * 'devicecode' is the device code used by the STK500 (see codes
143 # * Not all memory types will implement all instructions.
144 # * AVR Fuse bits and Lock bits are implemented as a type of memory.
145 # * Example memory types are:
146 # "flash", "eeprom", "fuse", "lfuse" (low fuse), "hfuse" (high
147 # fuse), "signature", "calibration", "lock"
148 # * The memory type specified on the avrdude command line must match
149 # one of the memory types defined for the specified chip.
150 # * The pwroff_after_write flag causes avrdude to attempt to
151 # power the device off and back on after an unsuccessful write to
152 # the affected memory area if VCC programmer pins are defined. If
153 # VCC pins are not defined for the programmer, a message
154 # indicating that the device needs a power-cycle is printed out.
155 # This flag was added to work around a problem with the
156 # at90s4433/2333's; see the at90s4433 errata at:
158 # http://www.atmel.com/atmel/acrobat/doc1280.pdf
160 # INSTRUCTION FORMATS
162 # Instruction formats are specified as a comma seperated list of
163 # string values containing information (bit specifiers) about each
164 # of the 32 bits of the instruction. Bit specifiers may be one of
165 # the following formats:
167 # '1' = the bit is always set on input as well as output
169 # '0' = the bit is always clear on input as well as output
171 # 'x' = the bit is ignored on input and output
173 # 'a' = the bit is an address bit, the bit-number matches this bit
174 # specifier's position within the current instruction byte
176 # 'aN' = the bit is the Nth address bit, bit-number = N, i.e., a12
177 # is address bit 12 on input, a0 is address bit 0.
179 # 'i' = the bit is an input data bit
181 # 'o' = the bit is an output data bit
183 # Each instruction must be composed of 32 bit specifiers. The
184 # instruction specification closely follows the instruction data
185 # provided in Atmel's data sheets for their parts.
187 # See below for some examples.
190 # The following are STK500 part device codes to use for the
191 # "devicecode" field of the part. These came from Atmel's software
192 # section avr061.zip which accompanies the application note
193 # AVR061 available from:
195 # http://www.atmel.com/atmel/acrobat/doc2525.pdf
198 #define ATTINY10 0x10 /* the _old_ one that never existed! */
199 #define ATTINY11 0x11
200 #define ATTINY12 0x12
201 #define ATTINY15 0x13
202 #define ATTINY13 0x14
204 #define ATTINY22 0x20
205 #define ATTINY26 0x21
206 #define ATTINY28 0x22
207 #define ATTINY2313 0x23
209 #define AT90S1200 0x33
211 #define AT90S2313 0x40
212 #define AT90S2323 0x41
213 #define AT90S2333 0x42
214 #define AT90S2343 0x43
216 #define AT90S4414 0x50
217 #define AT90S4433 0x51
218 #define AT90S4434 0x52
219 #define ATMEGA48 0x59
221 #define AT90S8515 0x60
222 #define AT90S8535 0x61
223 #define AT90C8534 0x62
224 #define ATMEGA8515 0x63
225 #define ATMEGA8535 0x64
228 #define ATMEGA88 0x73
229 #define ATMEGA168 0x86
231 #define ATMEGA161 0x80
232 #define ATMEGA163 0x81
233 #define ATMEGA16 0x82
234 #define ATMEGA162 0x83
235 #define ATMEGA169 0x84
237 #define ATMEGA323 0x90
238 #define ATMEGA32 0x91
240 #define ATMEGA64 0xA0
242 #define ATMEGA103 0xB1
243 #define ATMEGA128 0xB2
244 #define AT90CAN128 0xB3
245 #define AT90CAN64 0xB3
246 #define AT90CAN32 0xB3
248 #define AT86RF401 0xD0
250 #define AT89START 0xE0
254 # The following table lists the devices in the original AVR910
256 # |Device |Signature | Code |
257 # +-------+----------+------+
258 # |tiny12 | 1E 90 05 | 0x55 |
259 # |tiny15 | 1E 90 06 | 0x56 |
261 # | S1200 | 1E 90 01 | 0x13 |
263 # | S2313 | 1E 91 01 | 0x20 |
264 # | S2323 | 1E 91 02 | 0x48 |
265 # | S2333 | 1E 91 05 | 0x34 |
266 # | S2343 | 1E 91 03 | 0x4C |
268 # | S4414 | 1E 92 01 | 0x28 |
269 # | S4433 | 1E 92 03 | 0x30 |
270 # | S4434 | 1E 92 02 | 0x6C |
272 # | S8515 | 1E 93 01 | 0x38 |
273 # | S8535 | 1E 93 03 | 0x68 |
275 # |mega32 | 1E 95 01 | 0x72 |
276 # |mega83 | 1E 93 05 | 0x65 |
277 # |mega103| 1E 97 01 | 0x41 |
278 # |mega161| 1E 94 01 | 0x60 |
279 # |mega163| 1E 94 02 | 0x64 |
281 # Appnote AVR109 also has a table of AVR910 device codes, which
283 # dev avr910 signature
284 # ATmega8 0x77 0x1E 0x93 0x07
285 # ATmega8515 0x3B 0x1E 0x93 0x06
286 # ATmega8535 0x6A 0x1E 0x93 0x08
287 # ATmega16 0x75 0x1E 0x94 0x03
288 # ATmega162 0x63 0x1E 0x94 0x04
289 # ATmega163 0x66 0x1E 0x94 0x02
290 # ATmega169 0x79 0x1E 0x94 0x05
291 # ATmega32 0x7F 0x1E 0x95 0x02
292 # ATmega323 0x73 0x1E 0x95 0x01
293 # ATmega64 0x46 0x1E 0x96 0x02
294 # ATmega128 0x44 0x1E 0x97 0x02
296 # These codes refer to "BOOT" device codes which are apparently
297 # different than standard device codes, for whatever reasons
298 # (often one above the standard code).
300 # There are several extended versions of AVR910 implementations around
301 # in the Internet. These add the following codes (only devices that
302 # actually exist are listed):
315 # Overall avrdude defaults
317 default_parallel = "lpt1";
318 default_serial = "com1";
319 # default_bitclock = 2.5
323 # PROGRAMMER DEFINITIONS
326 # http://wiring.org.co/
327 # Basically STK500v2 protocol, with some glue to trigger the
340 # this will interface with the chips on these programmers:
342 # http://real.kiev.ua/old/avreal/en/adapters
343 # http://www.amontec.com/jtagkey.shtml, jtagkey-tiny.shtml
344 # http://www.olimex.com/dev/arm-usb-ocd.html, arm-usb-tiny.html
345 # http://www.ethernut.de/en/hardware/turtelizer/index.html
346 # http://elk.informatik.fh-augsburg.de/hhweb/doc/openocd/usbjtag/usbjtag.html
347 # http://dangerousprototypes.com/docs/FT2232_breakout_board
348 # http://www.ftdichip.com/Products/Modules/DLPModules.htm,DLP-2232*,DLP-USB1232H
349 # http://flashrom.org/FT2232SPI_Programmer
351 # The drivers will look for a specific device and use the first one found.
352 # If you have mulitple devices, then look for unique information (like SN)
353 # And fill that in here.
357 desc = "FT2232D based generic programmer";
365 #ISP-signals - lower ACBUS-Nibble (default)
370 #LED SIGNALs - higher ACBUS-Nibble
375 #Buffer Signal - ADBUS - Nibble
378 # This is an implementation of the above with a buffer IC (74AC244) and
379 # 4 LEDs directly attached, active low. The buff and reset pins are
380 # understood (by avrdude) to be active low, so there's no
381 # need to invert the bits.
384 desc = "FT2232H based generic programmer";
387 # Note: This PID is reserved for generic H devices and
388 # should be programmed into the EEPROM
410 desc = "Amontec JTAGKey, JTAGKey-Tiny and JTAGKey2";
413 # Note: This PID is used in all JTAGKey variants
419 #ISP-signals => 20 - Pin connector on JTAGKey
420 reset = 4; # TMS 7 violet
421 sck = 1; # TCK 9 white
422 mosi = 2; # TDI 5 green
423 miso = 3; # TDO 13 orange
425 # VTG VREF 1 brown with red tip
427 # The colors are on the 20 pin breakout cable
433 desc = "Atmel AVR ISP";
439 desc = "Atmel AVR ISP V2";
445 desc = "Atmel AVR ISP mkII";
451 desc = "Atmel AVR ISP mkII";
457 desc = "The Bus Pirate";
461 # This is supposed to be the "default" STK500 entry.
462 # Attempts to select the correct firmware version
463 # by probing for it. Better use one of the entries
467 desc = "Atmel STK500";
468 type = stk500generic;
473 desc = "Atmel STK500 Version 1.x firmware";
479 desc = "Crossbow MIB510 programming board";
485 desc = "Atmel STK500 Version 2.x firmware";
491 desc = "Atmel STK500 V2 in parallel programming mode";
497 desc = "Atmel STK500 V2 in high-voltage serial programming mode";
503 desc = "Atmel STK600";
509 desc = "Atmel STK600 in parallel programming mode";
515 desc = "Atmel STK600 in high-voltage serial programming mode";
521 desc = "Atmel Low Cost Serial Programmer";
527 desc = "USBasp, http://www.fischl.de/usbasp/";
533 desc = "USBtiny simple USB programmer, http://www.ladyada.net/make/usbtinyisp/";
539 desc = "Atmel Butterfly Development Board";
545 desc = "Atmel AppNote AVR109 Boot Loader";
551 desc = "Atmel AppNote AVR911 AVROSP";
555 # suggested in http://forum.mikrokopter.de/topic-post48317.html
558 desc = "Mikrokopter.de Butterfly";
564 desc = "Mikrokopter.de Butterfly";
570 desc = "Atmel JTAG ICE (mkI)";
571 baudrate = 115200; # default is 115200
578 desc = "Atmel JTAG ICE (mkI)";
579 baudrate = 115200; # default is 115200
586 desc = "Atmel JTAG ICE (mkI)";
593 desc = "Atmel JTAG ICE mkII";
594 baudrate = 19200; # default is 19200
601 desc = "Atmel JTAG ICE mkII";
602 baudrate = 19200; # default is 19200
606 # JTAG ICE mkII @ 115200 Bd
609 desc = "Atmel JTAG ICE mkII";
614 # make the fast one the default, people will love that
617 desc = "Atmel JTAG ICE mkII";
622 # JTAG ICE mkII in ISP mode
625 desc = "Atmel JTAG ICE mkII in ISP mode";
630 # JTAG ICE mkII in debugWire mode
633 desc = "Atmel JTAG ICE mkII in debugWire mode";
638 # JTAG ICE mkII in AVR32 mode
640 id = "jtagmkII_avr32";
641 desc = "Atmel JTAG ICE mkII im AVR32 mode";
643 type = jtagmkii_avr32;
646 # JTAG ICE mkII in AVR32 mode
649 desc = "Atmel JTAG ICE mkII im AVR32 mode";
651 type = jtagmkii_avr32;
654 # JTAG ICE mkII in PDI mode
657 desc = "Atmel JTAG ICE mkII PDI mode";
662 # AVR Dragon in JTAG mode
665 desc = "Atmel AVR Dragon in JTAG mode";
670 # AVR Dragon in ISP mode
673 desc = "Atmel AVR Dragon in ISP mode";
678 # AVR Dragon in PP mode
681 desc = "Atmel AVR Dragon in PP mode";
686 # AVR Dragon in HVSP mode
689 desc = "Atmel AVR Dragon in HVSP mode";
694 # AVR Dragon in debugWire mode
697 desc = "Atmel AVR Dragon in debugWire mode";
702 # AVR Dragon in PDI mode
705 desc = "Atmel AVR Dragon in PDI mode";
712 desc = "Jason Kyle's pAVR Serial Programmer";
716 # Parallel port programmers.
720 desc = "Brian Dean's Programmer, http://www.bsdhome.com/avrdude/";
740 # The programming dongle used by the popular Ponyprog
741 # utility. It is almost similar to the STK200 one,
742 # except that there is a LED indicating that the
743 # programming is currently in progress.
747 desc = "Pony Prog STK200";
759 desc = "Dontronics DT006";
769 desc = "FTDI serial port banging, reset=rts sck=dtr mosi=txd miso=cts";
779 desc = "FTDI serial port banging, reset=rts sck=dtr mosi=txd miso=cts";
790 desc = "Bascom SAMPLE programming cable";
800 desc = "Nightshade ALF-PgmAVR, http://nightshade.homeip.net/";
816 desc = "Steve Bolt's Programmer";
827 desc = "Picoweb Programming Cable, http://www.picoweb.net/";
837 desc = "ABCmini Board, aka Dick Smith HOTCHIP";
847 desc = "Futurlec.com programming cable.";
856 # From the contributor of the "xil" jtag cable:
857 # The "vcc" definition isn't really vcc (the cable gets its power from
858 # the programming circuit) but is necessary to switch one of the
859 # buffer lines (trying to add it to the "buff" lines doesn't work in
860 # avrdude versions before 5.5j).
861 # With this, TMS connects to RESET, TDI to MOSI, TDO to MISO and TCK
862 # to SCK (plus vcc/gnd of course)
865 desc = "Xilinx JTAG cable";
878 desc = "Direct AVR Parallel Access cable";
889 desc = "AT-ISP V1.1 programming cable for AVR-SDK1 from <http://micro-research.co.th/> micro-research.co.th";
899 desc = "ERE ISP-AVR <http://www.ere.co.th/download/sch050713.pdf>";
909 desc = "Altera ByteBlaster";
918 # It is almost same as pony-stk200, except vcc on pin 5 to auto
919 # disconnect port (download on http://electropol.free.fr)
922 desc = "Frank STK200";
932 # The AT98ISP Cable is a simple parallel dongle for AT89 family.
933 # http://www.atmel.com/dyn/products/tools_card.asp?tool_id=2877
936 desc = "Atmel at89isp cable";
946 # some ultra cheap programmers use bitbanging on the
949 # PC - DB9 - Pins for RS232:
961 # Using RXD is currently not supported.
962 # Using RI is not supported under Win32 but is supported under Posix.
964 # serial ponyprog design (dasa2 in uisp)
965 # reset=!txd sck=rts mosi=dtr miso=cts
969 desc = "design ponyprog serial, reset=!txd sck=rts mosi=dtr miso=cts";
977 # Same as above, different name
978 # reset=!txd sck=rts mosi=dtr miso=cts
982 desc = "Lancos SI-Prog <http://www.lancos.com/siprogsch.html>";
990 # unknown (dasa in uisp)
991 # reset=rts sck=dtr mosi=txd miso=cts
995 desc = "serial port banging, reset=rts sck=dtr mosi=txd miso=cts";
1003 # unknown (dasa3 in uisp)
1004 # reset=!dtr sck=rts mosi=txd miso=cts
1008 desc = "serial port banging, reset=!dtr sck=rts mosi=txd miso=cts";
1016 # C2N232i (jumper configuration "auto")
1017 # reset=dtr sck=!rts mosi=!txd miso=!cts
1021 desc = "serial port banging, reset=dtr sck=!rts mosi=!txd miso=!cts";
1033 #------------------------------------------------------------
1035 #------------------------------------------------------------
1037 # This is an HVSP-only device.
1042 stk500_devcode = 0x11;
1043 signature = 0x1e 0x90 0x04;
1044 chip_erase_delay = 20000;
1048 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x00,
1049 0x68, 0x78, 0x68, 0x68, 0x00, 0x00, 0x68, 0x78,
1050 0x78, 0x00, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
1051 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00;
1052 hventerstabdelay = 100;
1054 hvspcmdexedelay = 0;
1061 hvleavestabdelay = 100;
1063 chiperasepolltimeout = 40;
1065 programfusepolltimeout = 25;
1066 programlockpolltimeout = 25;
1090 memory "calibration"
1099 #------------------------------------------------------------
1101 #------------------------------------------------------------
1106 stk500_devcode = 0x12;
1107 avr910_devcode = 0x55;
1108 signature = 0x1e 0x90 0x05;
1109 chip_erase_delay = 20000;
1110 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
1111 "x x x x x x x x x x x x x x x x";
1113 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
1114 "x x x x x x x x x x x x x x x x";
1128 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x00,
1129 0x68, 0x78, 0x68, 0x68, 0x00, 0x00, 0x68, 0x78,
1130 0x78, 0x00, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
1131 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00;
1132 hventerstabdelay = 100;
1133 hvspcmdexedelay = 0;
1140 hvleavestabdelay = 100;
1142 chiperasepolltimeout = 40;
1144 programfusepolltimeout = 25;
1145 programlockpolltimeout = 25;
1149 min_write_delay = 9000;
1150 max_write_delay = 20000;
1153 read = "1 0 1 0 0 0 0 0 x x x x x x x x",
1154 "x x a5 a4 a3 a2 a1 a0 o o o o o o o o";
1156 write = "1 1 0 0 0 0 0 0 x x x x x x x x",
1157 "x x a5 a4 a3 a2 a1 a0 i i i i i i i i";
1167 min_write_delay = 4500;
1168 max_write_delay = 20000;
1171 read_lo = " 0 0 1 0 0 0 0 0",
1172 " x x x x x x x a8",
1173 " a7 a6 a5 a4 a3 a2 a1 a0",
1176 read_hi = " 0 0 1 0 1 0 0 0",
1177 " x x x x x x x a8",
1178 " a7 a6 a5 a4 a3 a2 a1 a0",
1181 write_lo = " 0 1 0 0 0 0 0 0",
1182 " x x x x x x x a8",
1183 " a7 a6 a5 a4 a3 a2 a1 a0",
1186 write_hi = " 0 1 0 0 1 0 0 0",
1187 " x x x x x x x a8",
1188 " a7 a6 a5 a4 a3 a2 a1 a0",
1199 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
1200 "0 0 0 0 0 0 a1 a0 o o o o o o o o";
1205 read = "0 1 0 1 1 0 0 0 x x x x x x x x",
1206 "x x x x x x x x x x x x x o o x";
1208 write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1",
1209 "x x x x x x x x x x x x x x x x";
1210 min_write_delay = 9000;
1211 max_write_delay = 9000;
1214 memory "calibration"
1216 read = "0 0 1 1 1 0 0 0 x x x x x x x x",
1217 "0 0 0 0 0 0 0 0 o o o o o o o o";
1222 read = "0 1 0 1 0 0 0 0 x x x x x x x x",
1223 "x x x x x x x x o o o o o o o o";
1225 write = "1 0 1 0 1 1 0 0 1 0 1 x x x x x",
1226 "x x x x x x x x i i i i i i i i";
1227 min_write_delay = 9000;
1228 max_write_delay = 9000;
1232 #------------------------------------------------------------
1234 #------------------------------------------------------------
1239 has_debugwire = yes;
1240 flash_instr = 0xB4, 0x0E, 0x1E;
1241 eeprom_instr = 0xBB, 0xFE, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
1242 0xBC, 0x0E, 0xB4, 0x0E, 0xBA, 0x0D, 0xBB, 0xBC,
1243 0x99, 0xE1, 0xBB, 0xAC;
1244 stk500_devcode = 0x14;
1245 signature = 0x1e 0x90 0x07;
1246 chip_erase_delay = 4000;
1247 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
1248 "x x x x x x x x x x x x x x x x";
1250 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
1251 "x x x x x x x x x x x x x x x x";
1265 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66,
1266 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78,
1267 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
1268 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00;
1269 hventerstabdelay = 100;
1271 hvspcmdexedelay = 0;
1278 hvleavestabdelay = 100;
1280 chiperasepolltimeout = 40;
1282 programfusepolltimeout = 25;
1283 programlockpolltimeout = 25;
1288 min_write_delay = 4000;
1289 max_write_delay = 4000;
1292 read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x",
1293 "x x a5 a4 a3 a2 a1 a0 o o o o o o o o";
1295 write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x",
1296 "x x a5 a4 a3 a2 a1 a0 i i i i i i i i";
1298 loadpage_lo = " 1 1 0 0 0 0 0 1",
1300 " 0 0 0 0 0 0 a1 a0",
1303 writepage = " 1 1 0 0 0 0 1 0",
1305 " x x a5 a4 a3 a2 0 0",
1319 min_write_delay = 4500;
1320 max_write_delay = 4500;
1323 read_lo = " 0 0 1 0 0 0 0 0",
1324 " 0 0 0 0 0 0 0 a8",
1325 " a7 a6 a5 a4 a3 a2 a1 a0",
1328 read_hi = " 0 0 1 0 1 0 0 0",
1329 " 0 0 0 0 0 0 0 a8",
1330 " a7 a6 a5 a4 a3 a2 a1 a0",
1333 loadpage_lo = " 0 1 0 0 0 0 0 0",
1335 " x x x x a3 a2 a1 a0",
1338 loadpage_hi = " 0 1 0 0 1 0 0 0",
1340 " x x x x a3 a2 a1 a0",
1343 writepage = " 0 1 0 0 1 1 0 0",
1344 " 0 0 0 0 0 0 0 a8",
1345 " a7 a6 a5 a4 x x x x",
1356 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
1357 "x x x x x x a1 a0 o o o o o o o o";
1362 min_write_delay = 4500;
1363 max_write_delay = 4500;
1365 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
1366 "x x x x x x x x x x o o o o o o";
1368 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
1369 "x x x x x x x x 1 1 i i i i i i";
1372 memory "calibration"
1374 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
1375 "0 0 0 0 0 0 0 a0 o o o o o o o o";
1380 min_write_delay = 4500;
1381 max_write_delay = 4500;
1383 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
1384 "x x x x x x x x i i i i i i i i";
1386 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
1387 "x x x x x x x x o o o o o o o o";
1392 min_write_delay = 4500;
1393 max_write_delay = 4500;
1395 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
1396 "x x x x x x x x i i i i i i i i";
1398 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
1399 "x x x x x x x x o o o o o o o o";
1405 #------------------------------------------------------------
1407 #------------------------------------------------------------
1412 stk500_devcode = 0x13;
1413 avr910_devcode = 0x56;
1414 signature = 0x1e 0x90 0x06;
1415 chip_erase_delay = 8200;
1416 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
1417 "x x x x x x x x x x x x x x x x";
1419 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
1420 "x x x x x x x x x x x x x x x x";
1434 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x00,
1435 0x68, 0x78, 0x68, 0x68, 0x00, 0x00, 0x68, 0x78,
1436 0x78, 0x00, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
1437 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00;
1438 hventerstabdelay = 100;
1439 hvspcmdexedelay = 5;
1446 hvleavestabdelay = 100;
1448 chiperasepolltimeout = 40;
1450 programfusepolltimeout = 25;
1451 programlockpolltimeout = 25;
1455 min_write_delay = 8200;
1456 max_write_delay = 8200;
1459 read = "1 0 1 0 0 0 0 0 x x x x x x x x",
1460 "x x a5 a4 a3 a2 a1 a0 o o o o o o o o";
1462 write = "1 1 0 0 0 0 0 0 x x x x x x x x",
1463 "x x a5 a4 a3 a2 a1 a0 i i i i i i i i";
1473 min_write_delay = 4100;
1474 max_write_delay = 4100;
1477 read_lo = " 0 0 1 0 0 0 0 0",
1478 " x x x x x x x a8",
1479 " a7 a6 a5 a4 a3 a2 a1 a0",
1482 read_hi = " 0 0 1 0 1 0 0 0",
1483 " x x x x x x x a8",
1484 " a7 a6 a5 a4 a3 a2 a1 a0",
1487 write_lo = " 0 1 0 0 0 0 0 0",
1488 " x x x x x x x a8",
1489 " a7 a6 a5 a4 a3 a2 a1 a0",
1492 write_hi = " 0 1 0 0 1 0 0 0",
1493 " x x x x x x x a8",
1494 " a7 a6 a5 a4 a3 a2 a1 a0",
1505 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
1506 "0 0 0 0 0 0 a1 a0 o o o o o o o o";
1511 read = "0 1 0 1 1 0 0 0 x x x x x x x x",
1512 "x x x x x x x x x x x x x o o x";
1514 write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1",
1515 "x x x x x x x x x x x x x x x x";
1516 min_write_delay = 9000;
1517 max_write_delay = 9000;
1520 memory "calibration"
1522 read = "0 0 1 1 1 0 0 0 x x x x x x x x",
1523 "0 0 0 0 0 0 0 0 o o o o o o o o";
1528 read = "0 1 0 1 0 0 0 0 x x x x x x x x",
1529 "x x x x x x x x o o o o x x o o";
1531 write = "1 0 1 0 1 1 0 0 1 0 1 x x x x x",
1532 "x x x x x x x x i i i i 1 1 i i";
1533 min_write_delay = 9000;
1534 max_write_delay = 9000;
1538 #------------------------------------------------------------
1540 #------------------------------------------------------------
1546 stk500_devcode = 0x33;
1547 avr910_devcode = 0x13;
1548 signature = 0x1e 0x90 0x01;
1551 chip_erase_delay = 20000;
1552 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
1553 "x x x x x x x x x x x x x x x x";
1555 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
1556 "x x x x x x x x x x x x x x x x";
1570 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
1571 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
1572 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
1573 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
1574 hventerstabdelay = 100;
1581 hvleavestabdelay = 15;
1582 chiperasepulsewidth = 15;
1583 chiperasepolltimeout = 0;
1584 programfusepulsewidth = 2;
1585 programfusepolltimeout = 0;
1586 programlockpulsewidth = 0;
1587 programlockpolltimeout = 1;
1591 min_write_delay = 4000;
1592 max_write_delay = 9000;
1595 read = "1 0 1 0 0 0 0 0 x x x x x x x x",
1596 "x x a5 a4 a3 a2 a1 a0 o o o o o o o o";
1598 write = "1 1 0 0 0 0 0 0 x x x x x x x x",
1599 "x x a5 a4 a3 a2 a1 a0 i i i i i i i i";
1608 min_write_delay = 4000;
1609 max_write_delay = 9000;
1612 read_lo = " 0 0 1 0 0 0 0 0",
1613 " x x x x x x x a8",
1614 " a7 a6 a5 a4 a3 a2 a1 a0",
1617 read_hi = " 0 0 1 0 1 0 0 0",
1618 " x x x x x x x a8",
1619 " a7 a6 a5 a4 a3 a2 a1 a0",
1622 write_lo = " 0 1 0 0 0 0 0 0",
1623 " x x x x x x x a8",
1624 " a7 a6 a5 a4 a3 a2 a1 a0",
1627 write_hi = " 0 1 0 0 1 0 0 0",
1628 " x x x x x x x a8",
1629 " a7 a6 a5 a4 a3 a2 a1 a0",
1639 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
1640 "x x x x x x a1 a0 o o o o o o o o";
1647 min_write_delay = 9000;
1648 max_write_delay = 20000;
1649 write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1",
1650 "x x x x x x x x x x x x x x x x";
1654 #------------------------------------------------------------
1656 #------------------------------------------------------------
1661 stk500_devcode = 0x50;
1662 avr910_devcode = 0x28;
1663 signature = 0x1e 0x92 0x01;
1664 chip_erase_delay = 20000;
1665 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
1666 "x x x x x x x x x x x x x x x x";
1668 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
1669 "x x x x x x x x x x x x x x x x";
1683 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
1684 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
1685 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
1686 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01;
1687 hventerstabdelay = 100;
1694 hvleavestabdelay = 15;
1695 chiperasepulsewidth = 15;
1696 chiperasepolltimeout = 0;
1697 programfusepulsewidth = 2;
1698 programfusepolltimeout = 0;
1699 programlockpulsewidth = 0;
1700 programlockpolltimeout = 1;
1704 min_write_delay = 9000;
1705 max_write_delay = 20000;
1708 read = " 1 0 1 0 0 0 0 0 x x x x x x x a8",
1709 "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
1711 write = " 1 1 0 0 0 0 0 0 x x x x x x x a8",
1712 "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
1721 min_write_delay = 9000;
1722 max_write_delay = 20000;
1725 read_lo = " 0 0 1 0 0 0 0 0",
1726 " x x x x a11 a10 a9 a8",
1727 " a7 a6 a5 a4 a3 a2 a1 a0",
1730 read_hi = " 0 0 1 0 1 0 0 0",
1731 " x x x x a11 a10 a9 a8",
1732 " a7 a6 a5 a4 a3 a2 a1 a0",
1735 write_lo = " 0 1 0 0 0 0 0 0",
1736 " x x x x a11 a10 a9 a8",
1737 " a7 a6 a5 a4 a3 a2 a1 a0",
1740 write_hi = " 0 1 0 0 1 0 0 0",
1741 " x x x x a11 a10 a9 a8",
1742 " a7 a6 a5 a4 a3 a2 a1 a0",
1752 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
1753 "x x x x x x a1 a0 o o o o o o o o";
1760 write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1",
1761 "x x x x x x x x x x x x x x x x";
1762 min_write_delay = 9000;
1763 max_write_delay = 9000;
1767 #------------------------------------------------------------
1769 #------------------------------------------------------------
1774 stk500_devcode = 0x40;
1775 avr910_devcode = 0x20;
1776 signature = 0x1e 0x91 0x01;
1777 chip_erase_delay = 20000;
1778 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
1779 "x x x x x x x x x x x x x x x x";
1781 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
1782 "x x x x x x x x x x x x x x x x";
1796 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
1797 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
1798 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
1799 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
1800 hventerstabdelay = 100;
1807 hvleavestabdelay = 15;
1808 chiperasepulsewidth = 15;
1809 chiperasepolltimeout = 0;
1810 programfusepulsewidth = 2;
1811 programfusepolltimeout = 0;
1812 programlockpulsewidth = 0;
1813 programlockpolltimeout = 1;
1817 min_write_delay = 4000;
1818 max_write_delay = 9000;
1821 read = "1 0 1 0 0 0 0 0 x x x x x x x x",
1822 "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
1824 write = "1 1 0 0 0 0 0 0 x x x x x x x x",
1825 "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
1834 min_write_delay = 4000;
1835 max_write_delay = 9000;
1838 read_lo = " 0 0 1 0 0 0 0 0",
1839 " x x x x x x a9 a8",
1840 " a7 a6 a5 a4 a3 a2 a1 a0",
1843 read_hi = " 0 0 1 0 1 0 0 0",
1844 " x x x x x x a9 a8",
1845 " a7 a6 a5 a4 a3 a2 a1 a0",
1848 write_lo = " 0 1 0 0 0 0 0 0",
1849 " x x x x x x a9 a8",
1850 " a7 a6 a5 a4 a3 a2 a1 a0",
1853 write_hi = " 0 1 0 0 1 0 0 0",
1854 " x x x x x x a9 a8",
1855 " a7 a6 a5 a4 a3 a2 a1 a0",
1865 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
1866 "x x x x x x a1 a0 o o o o o o o o";
1873 write = "1 0 1 0 1 1 0 0 1 1 1 x x i i x",
1874 "x x x x x x x x x x x x x x x x";
1875 min_write_delay = 9000;
1876 max_write_delay = 9000;
1880 #------------------------------------------------------------
1882 #------------------------------------------------------------
1886 ##### WARNING: No XML file for device 'AT90S2333'! #####
1888 stk500_devcode = 0x42;
1889 avr910_devcode = 0x34;
1890 signature = 0x1e 0x91 0x05;
1891 chip_erase_delay = 20000;
1892 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
1893 "x x x x x x x x x x x x x x x x";
1895 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
1896 "x x x x x x x x x x x x x x x x";
1910 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
1911 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
1912 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
1913 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
1914 hventerstabdelay = 100;
1921 hvleavestabdelay = 15;
1922 chiperasepulsewidth = 15;
1923 chiperasepolltimeout = 0;
1924 programfusepulsewidth = 2;
1925 programfusepolltimeout = 0;
1926 programlockpulsewidth = 0;
1927 programlockpolltimeout = 1;
1931 min_write_delay = 9000;
1932 max_write_delay = 20000;
1935 read = "1 0 1 0 0 0 0 0 x x x x x x x x",
1936 "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
1938 write = "1 1 0 0 0 0 0 0 x x x x x x x x",
1939 "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
1949 min_write_delay = 9000;
1950 max_write_delay = 20000;
1953 read_lo = " 0 0 1 0 0 0 0 0",
1954 " x x x x x x a9 a8",
1955 " a7 a6 a5 a4 a3 a2 a1 a0",
1958 read_hi = " 0 0 1 0 1 0 0 0",
1959 " x x x x x x a9 a8",
1960 " a7 a6 a5 a4 a3 a2 a1 a0",
1963 write_lo = " 0 1 0 0 0 0 0 0",
1964 " x x x x x x a9 a8",
1965 " a7 a6 a5 a4 a3 a2 a1 a0",
1968 write_hi = " 0 1 0 0 1 0 0 0",
1969 " x x x x x x a9 a8",
1970 " a7 a6 a5 a4 a3 a2 a1 a0",
1981 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
1982 "x x x x x x a1 a0 o o o o o o o o";
1986 min_write_delay = 9000;
1987 max_write_delay = 20000;
1988 pwroff_after_write = yes;
1989 read = "0 1 0 1 0 0 0 0 x x x x x x x x",
1990 "x x x x x x x x x x o o o o o o";
1992 write = "1 0 1 0 1 1 0 0 1 0 1 i i i i i",
1993 "x x x x x x x x x x x x x x x x";
1997 min_write_delay = 9000;
1998 max_write_delay = 20000;
1999 read = "0 1 0 1 1 0 0 0 x x x x x x x x",
2000 "x x x x x x x x x x x x x o o x";
2002 write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1",
2003 "x x x x x x x x x x x x x x x x";
2008 #------------------------------------------------------------
2009 # AT90s2343 (also AT90s2323 and ATtiny22)
2010 #------------------------------------------------------------
2015 stk500_devcode = 0x43;
2016 avr910_devcode = 0x4c;
2017 signature = 0x1e 0x91 0x03;
2018 chip_erase_delay = 18000;
2019 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
2020 "x x x x x x x x x x x x x x x x";
2022 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
2023 "x x x x x x x x x x x x x x x x";
2037 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x00,
2038 0x68, 0x78, 0x68, 0x68, 0x00, 0x00, 0x68, 0x78,
2039 0x78, 0x00, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
2040 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00;
2041 hventerstabdelay = 100;
2042 hvspcmdexedelay = 0;
2049 hvleavestabdelay = 100;
2051 chiperasepolltimeout = 40;
2053 programfusepolltimeout = 25;
2054 programlockpolltimeout = 25;
2058 min_write_delay = 9000;
2059 max_write_delay = 20000;
2062 read = "1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0",
2063 "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
2065 write = "1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0",
2066 "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
2075 min_write_delay = 9000;
2076 max_write_delay = 20000;
2079 read_lo = " 0 0 1 0 0 0 0 0",
2080 " x x x x x x a9 a8",
2081 " a7 a6 a5 a4 a3 a2 a1 a0",
2084 read_hi = " 0 0 1 0 1 0 0 0",
2085 " x x x x x x a9 a8",
2086 " a7 a6 a5 a4 a3 a2 a1 a0",
2089 write_lo = " 0 1 0 0 0 0 0 0",
2090 " x x x x x x a9 a8",
2091 " a7 a6 a5 a4 a3 a2 a1 a0",
2094 write_hi = " 0 1 0 0 1 0 0 0",
2095 " x x x x x x a9 a8",
2096 " a7 a6 a5 a4 a3 a2 a1 a0",
2106 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
2107 "x x x x x x a1 a0 o o o o o o o o";
2111 min_write_delay = 9000;
2112 max_write_delay = 20000;
2113 read = "0 1 0 1 1 0 0 0 x x x x x x x x",
2114 "x x x x x x x x o o o x x x x o";
2116 write = "1 0 1 0 1 1 0 0 1 0 1 1 1 1 1 i",
2117 "x x x x x x x x x x x x x x x x";
2121 min_write_delay = 9000;
2122 max_write_delay = 20000;
2123 read = "0 1 0 1 1 0 0 0 x x x x x x x x",
2124 "x x x x x x x x o o o x x x x o";
2126 write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1",
2127 "x x x x x x x x x x x x x x x x";
2132 #------------------------------------------------------------
2134 #------------------------------------------------------------
2139 stk500_devcode = 0x51;
2140 avr910_devcode = 0x30;
2141 signature = 0x1e 0x92 0x03;
2142 chip_erase_delay = 20000;
2143 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
2144 "x x x x x x x x x x x x x x x x";
2146 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
2147 "x x x x x x x x x x x x x x x x";
2161 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
2162 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
2163 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
2164 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
2165 hventerstabdelay = 100;
2172 hvleavestabdelay = 15;
2173 chiperasepulsewidth = 15;
2174 chiperasepolltimeout = 0;
2175 programfusepulsewidth = 2;
2176 programfusepolltimeout = 0;
2177 programlockpulsewidth = 0;
2178 programlockpolltimeout = 1;
2182 min_write_delay = 9000;
2183 max_write_delay = 20000;
2186 read = " 1 0 1 0 0 0 0 0 x x x x x x x x",
2187 "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
2189 write = " 1 1 0 0 0 0 0 0 x x x x x x x x",
2190 "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
2199 min_write_delay = 9000;
2200 max_write_delay = 20000;
2203 read_lo = " 0 0 1 0 0 0 0 0",
2204 " x x x x x a10 a9 a8",
2205 " a7 a6 a5 a4 a3 a2 a1 a0",
2208 read_hi = " 0 0 1 0 1 0 0 0",
2209 " x x x x x a10 a9 a8",
2210 " a7 a6 a5 a4 a3 a2 a1 a0",
2213 write_lo = " 0 1 0 0 0 0 0 0",
2214 " x x x x x a10 a9 a8",
2215 " a7 a6 a5 a4 a3 a2 a1 a0",
2218 write_hi = " 0 1 0 0 1 0 0 0",
2219 " x x x x x a10 a9 a8",
2220 " a7 a6 a5 a4 a3 a2 a1 a0",
2230 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
2231 "x x x x x x a1 a0 o o o o o o o o";
2235 min_write_delay = 9000;
2236 max_write_delay = 20000;
2237 pwroff_after_write = yes;
2238 read = "0 1 0 1 0 0 0 0 x x x x x x x x",
2239 "x x x x x x x x x x o o o o o o";
2241 write = "1 0 1 0 1 1 0 0 1 0 1 i i i i i",
2242 "x x x x x x x x x x x x x x x x";
2246 min_write_delay = 9000;
2247 max_write_delay = 20000;
2248 read = "0 1 0 1 1 0 0 0 x x x x x x x x",
2249 "x x x x x x x x x x x x x o o x";
2251 write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1",
2252 "x x x x x x x x x x x x x x x x";
2256 #------------------------------------------------------------
2258 #------------------------------------------------------------
2262 ##### WARNING: No XML file for device 'AT90S4434'! #####
2264 stk500_devcode = 0x52;
2265 avr910_devcode = 0x6c;
2266 signature = 0x1e 0x92 0x02;
2267 chip_erase_delay = 20000;
2268 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
2269 "x x x x x x x x x x x x x x x x";
2271 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
2272 "x x x x x x x x x x x x x x x x";
2276 min_write_delay = 9000;
2277 max_write_delay = 20000;
2280 read = " 1 0 1 0 0 0 0 0 x x x x x x x x",
2281 "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
2283 write = " 1 1 0 0 0 0 0 0 x x x x x x x x",
2284 "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
2288 min_write_delay = 9000;
2289 max_write_delay = 20000;
2292 read_lo = " 0 0 1 0 0 0 0 0",
2293 " x x x x x a10 a9 a8",
2294 " a7 a6 a5 a4 a3 a2 a1 a0",
2297 read_hi = " 0 0 1 0 1 0 0 0",
2298 " x x x x x a10 a9 a8",
2299 " a7 a6 a5 a4 a3 a2 a1 a0",
2302 write_lo = " 0 1 0 0 0 0 0 0",
2303 " x x x x x a10 a9 a8",
2304 " a7 a6 a5 a4 a3 a2 a1 a0",
2307 write_hi = " 0 1 0 0 1 0 0 0",
2308 " x x x x x a10 a9 a8",
2309 " a7 a6 a5 a4 a3 a2 a1 a0",
2314 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
2315 "x x x x x x a1 a0 o o o o o o o o";
2319 min_write_delay = 9000;
2320 max_write_delay = 20000;
2321 read = "0 1 0 1 0 0 0 0 x x x x x x x x",
2322 "x x x x x x x x x x o o o o o o";
2324 write = "1 0 1 0 1 1 0 0 1 0 1 i i i i i",
2325 "x x x x x x x x x x x x x x x x";
2329 min_write_delay = 9000;
2330 max_write_delay = 20000;
2331 read = "0 1 0 1 1 0 0 0 x x x x x x x x",
2332 "x x x x x x x x x x x x x o o x";
2334 write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1",
2335 "x x x x x x x x x x x x x x x x";
2339 #------------------------------------------------------------
2341 #------------------------------------------------------------
2346 stk500_devcode = 0x60;
2347 avr910_devcode = 0x38;
2348 signature = 0x1e 0x93 0x01;
2349 chip_erase_delay = 20000;
2350 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
2351 "x x x x x x x x x x x x x x x x";
2353 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
2354 "x x x x x x x x x x x x x x x x";
2368 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
2369 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
2370 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
2371 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
2372 hventerstabdelay = 100;
2379 hvleavestabdelay = 15;
2381 chiperasepulsewidth = 15;
2382 chiperasepolltimeout = 0;
2383 programfusepulsewidth = 2;
2384 programfusepolltimeout = 0;
2385 programlockpulsewidth = 0;
2386 programlockpolltimeout = 1;
2390 min_write_delay = 4000;
2391 max_write_delay = 9000;
2394 read = " 1 0 1 0 0 0 0 0 x x x x x x x a8",
2395 "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
2397 write = " 1 1 0 0 0 0 0 0 x x x x x x x a8",
2398 "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
2407 min_write_delay = 4000;
2408 max_write_delay = 9000;
2411 read_lo = " 0 0 1 0 0 0 0 0",
2412 " x x x x a11 a10 a9 a8",
2413 " a7 a6 a5 a4 a3 a2 a1 a0",
2416 read_hi = " 0 0 1 0 1 0 0 0",
2417 " x x x x a11 a10 a9 a8",
2418 " a7 a6 a5 a4 a3 a2 a1 a0",
2421 write_lo = " 0 1 0 0 0 0 0 0",
2422 " x x x x a11 a10 a9 a8",
2423 " a7 a6 a5 a4 a3 a2 a1 a0",
2426 write_hi = " 0 1 0 0 1 0 0 0",
2427 " x x x x a11 a10 a9 a8",
2428 " a7 a6 a5 a4 a3 a2 a1 a0",
2438 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
2439 "x x x x x x a1 a0 o o o o o o o o";
2446 write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1",
2447 "x x x x x x x x x x x x x x x x";
2448 min_write_delay = 9000;
2449 max_write_delay = 9000;
2453 #------------------------------------------------------------
2455 #------------------------------------------------------------
2460 stk500_devcode = 0x61;
2461 avr910_devcode = 0x68;
2462 signature = 0x1e 0x93 0x03;
2463 chip_erase_delay = 20000;
2464 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
2465 "x x x x x x x x x x x x x x x x";
2467 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
2468 "x x x x x x x x x x x x x x x x";
2482 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
2483 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
2484 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
2485 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
2486 hventerstabdelay = 100;
2493 hvleavestabdelay = 15;
2494 chiperasepulsewidth = 15;
2495 chiperasepolltimeout = 0;
2496 programfusepulsewidth = 2;
2497 programfusepolltimeout = 0;
2498 programlockpulsewidth = 0;
2499 programlockpolltimeout = 1;
2503 min_write_delay = 9000;
2504 max_write_delay = 20000;
2507 read = " 1 0 1 0 0 0 0 0 x x x x x x x a8",
2508 "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
2510 write = " 1 1 0 0 0 0 0 0 x x x x x x x a8",
2511 "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
2520 min_write_delay = 9000;
2521 max_write_delay = 20000;
2524 read_lo = " 0 0 1 0 0 0 0 0",
2525 " x x x x a11 a10 a9 a8",
2526 " a7 a6 a5 a4 a3 a2 a1 a0",
2529 read_hi = " 0 0 1 0 1 0 0 0",
2530 " x x x x a11 a10 a9 a8",
2531 " a7 a6 a5 a4 a3 a2 a1 a0",
2534 write_lo = " 0 1 0 0 0 0 0 0",
2535 " x x x x a11 a10 a9 a8",
2536 " a7 a6 a5 a4 a3 a2 a1 a0",
2539 write_hi = " 0 1 0 0 1 0 0 0",
2540 " x x x x a11 a10 a9 a8",
2541 " a7 a6 a5 a4 a3 a2 a1 a0",
2551 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
2552 "x x x x x x a1 a0 o o o o o o o o";
2556 read = "0 1 0 1 1 0 0 0 x x x x x x x x",
2557 "x x x x x x x x x x x x x x x o";
2558 write = "1 0 1 0 1 1 0 0 1 0 1 1 1 1 1 i",
2559 "x x x x x x x x x x x x x x x x";
2560 min_write_delay = 9000;
2561 max_write_delay = 9000;
2565 read = "0 1 0 1 1 0 0 0 x x x x x x x x",
2566 "x x x x x x x x o o x x x x x x";
2567 write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1",
2568 "x x x x x x x x x x x x x x x x";
2569 min_write_delay = 9000;
2570 max_write_delay = 9000;
2574 #------------------------------------------------------------
2576 #------------------------------------------------------------
2581 stk500_devcode = 0xB1;
2582 avr910_devcode = 0x41;
2583 signature = 0x1e 0x97 0x01;
2584 chip_erase_delay = 112000;
2585 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
2586 "x x x x x x x x x x x x x x x x";
2588 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
2589 "x x x x x x x x x x x x x x x x";
2603 0x0E, 0x1E, 0x8E, 0x9E, 0x2E, 0x3E, 0xAE, 0xBE,
2604 0x4E, 0x5E, 0xCE, 0xDE, 0x6E, 0x7E, 0xEE, 0xDE,
2605 0x66, 0x76, 0xE6, 0xF6, 0x6A, 0x7A, 0xEA, 0x7A,
2606 0x7F, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
2607 hventerstabdelay = 100;
2614 hvleavestabdelay = 15;
2615 chiperasepulsewidth = 15;
2616 chiperasepolltimeout = 0;
2617 programfusepulsewidth = 2;
2618 programfusepolltimeout = 0;
2619 programlockpulsewidth = 0;
2620 programlockpolltimeout = 10;
2624 min_write_delay = 4000;
2625 max_write_delay = 9000;
2628 read = " 1 0 1 0 0 0 0 0",
2629 " x x x x a11 a10 a9 a8",
2630 " a7 a6 a5 a4 a3 a2 a1 a0",
2633 write = " 1 1 0 0 0 0 0 0",
2634 " x x x x a11 a10 a9 a8",
2635 " a7 a6 a5 a4 a3 a2 a1 a0",
2649 min_write_delay = 22000;
2650 max_write_delay = 56000;
2653 read_lo = " 0 0 1 0 0 0 0 0",
2654 "a15 a14 a13 a12 a11 a10 a9 a8",
2655 " a7 a6 a5 a4 a3 a2 a1 a0",
2658 read_hi = " 0 0 1 0 1 0 0 0",
2659 "a15 a14 a13 a12 a11 a10 a9 a8",
2660 " a7 a6 a5 a4 a3 a2 a1 a0",
2663 loadpage_lo = " 0 1 0 0 0 0 0 0",
2665 " x a6 a5 a4 a3 a2 a1 a0",
2668 loadpage_hi = " 0 1 0 0 1 0 0 0",
2670 " x a6 a5 a4 a3 a2 a1 a0",
2673 writepage = " 0 1 0 0 1 1 0 0",
2674 "a15 a14 a13 a12 a11 a10 a9 a8",
2675 " a7 x x x x x x x",
2686 read = "0 1 0 1 0 0 0 0 x x x x x x x x",
2687 "x x x x x x x x x x o x o 1 o o";
2689 write = "1 0 1 0 1 1 0 0 1 0 1 1 i 1 i i",
2690 "x x x x x x x x x x x x x x x x";
2691 min_write_delay = 9000;
2692 max_write_delay = 9000;
2697 read = "0 1 0 1 1 0 0 0 x x x x x x x x",
2698 "x x x x x x x x x x x x x o o x";
2700 write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1",
2701 "x x x x x x x x x x x x x x x x";
2702 min_write_delay = 9000;
2703 max_write_delay = 9000;
2708 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
2709 "x x x x x x a1 a0 o o o o o o o o";
2714 #------------------------------------------------------------
2716 #------------------------------------------------------------
2722 stk500_devcode = 0xA0;
2723 avr910_devcode = 0x45;
2724 signature = 0x1e 0x96 0x02;
2725 chip_erase_delay = 9000;
2729 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
2730 "x x x x x x x x x x x x x x x x";
2732 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
2733 "x x x x x x x x x x x x x x x x";
2747 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
2748 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
2749 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
2750 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
2751 hventerstabdelay = 100;
2758 hvleavestabdelay = 15;
2759 chiperasepulsewidth = 0;
2760 chiperasepolltimeout = 10;
2761 programfusepulsewidth = 0;
2762 programfusepolltimeout = 5;
2763 programlockpulsewidth = 0;
2764 programlockpolltimeout = 5;
2768 allowfullpagebitstream = yes;
2771 paged = no; /* leave this "no" */
2772 page_size = 8; /* for parallel programming */
2774 min_write_delay = 9000;
2775 max_write_delay = 9000;
2778 read = " 1 0 1 0 0 0 0 0",
2779 " x x x x a11 a10 a9 a8",
2780 " a7 a6 a5 a4 a3 a2 a1 a0",
2783 write = " 1 1 0 0 0 0 0 0",
2784 " x x x x a11 a10 a9 a8",
2785 " a7 a6 a5 a4 a3 a2 a1 a0",
2799 min_write_delay = 4500;
2800 max_write_delay = 4500;
2803 read_lo = " 0 0 1 0 0 0 0 0",
2804 " x a14 a13 a12 a11 a10 a9 a8",
2805 " a7 a6 a5 a4 a3 a2 a1 a0",
2808 read_hi = " 0 0 1 0 1 0 0 0",
2809 " x a14 a13 a12 a11 a10 a9 a8",
2810 " a7 a6 a5 a4 a3 a2 a1 a0",
2814 loadpage_lo = " 0 1 0 0 0 0 0 0",
2816 " x a6 a5 a4 a3 a2 a1 a0",
2819 loadpage_hi = " 0 1 0 0 1 0 0 0",
2821 " x a6 a5 a4 a3 a2 a1 a0",
2824 writepage = " 0 1 0 0 1 1 0 0",
2825 " x a14 a13 a12 a11 a10 a9 a8",
2826 " a7 x x x x x x x",
2837 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
2838 "x x x x x x x x i i i i i i i i";
2840 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
2841 "x x x x x x x x o o o o o o o o";
2842 min_write_delay = 9000;
2843 max_write_delay = 9000;
2848 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
2849 "x x x x x x x x i i i i i i i i";
2851 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
2852 "x x x x x x x x o o o o o o o o";
2853 min_write_delay = 9000;
2854 max_write_delay = 9000;
2859 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
2860 "x x x x x x x x x x x x x x i i";
2862 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
2863 "x x x x x x x x o o o o o o o o";
2864 min_write_delay = 9000;
2865 max_write_delay = 9000;
2870 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
2871 "x x x x x x x x x x o o o o o o";
2873 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
2874 "x x x x x x x x 1 1 i i i i i i";
2875 min_write_delay = 9000;
2876 max_write_delay = 9000;
2879 memory "calibration"
2881 read = "0 0 1 1 1 0 0 0 x x x x x x x x",
2882 "0 0 0 0 0 0 a1 a0 o o o o o o o o";
2887 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
2888 "x x x x x x a1 a0 o o o o o o o o";
2895 #------------------------------------------------------------
2897 #------------------------------------------------------------
2903 stk500_devcode = 0xB2;
2904 avr910_devcode = 0x43;
2905 signature = 0x1e 0x97 0x02;
2906 chip_erase_delay = 9000;
2910 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
2911 "x x x x x x x x x x x x x x x x";
2913 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
2914 "x x x x x x x x x x x x x x x x";
2928 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
2929 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
2930 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
2931 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
2932 hventerstabdelay = 100;
2939 hvleavestabdelay = 15;
2940 chiperasepulsewidth = 0;
2941 chiperasepolltimeout = 10;
2942 programfusepulsewidth = 0;
2943 programfusepolltimeout = 5;
2944 programlockpulsewidth = 0;
2945 programlockpolltimeout = 5;
2950 allowfullpagebitstream = yes;
2953 paged = no; /* leave this "no" */
2954 page_size = 8; /* for parallel programming */
2956 min_write_delay = 9000;
2957 max_write_delay = 9000;
2960 read = " 1 0 1 0 0 0 0 0",
2961 " x x x x a11 a10 a9 a8",
2962 " a7 a6 a5 a4 a3 a2 a1 a0",
2965 write = " 1 1 0 0 0 0 0 0",
2966 " x x x x a11 a10 a9 a8",
2967 " a7 a6 a5 a4 a3 a2 a1 a0",
2981 min_write_delay = 4500;
2982 max_write_delay = 4500;
2985 read_lo = " 0 0 1 0 0 0 0 0",
2986 "a15 a14 a13 a12 a11 a10 a9 a8",
2987 " a7 a6 a5 a4 a3 a2 a1 a0",
2990 read_hi = " 0 0 1 0 1 0 0 0",
2991 "a15 a14 a13 a12 a11 a10 a9 a8",
2992 " a7 a6 a5 a4 a3 a2 a1 a0",
2995 loadpage_lo = " 0 1 0 0 0 0 0 0",
2997 " x a6 a5 a4 a3 a2 a1 a0",
3000 loadpage_hi = " 0 1 0 0 1 0 0 0",
3002 " x a6 a5 a4 a3 a2 a1 a0",
3005 writepage = " 0 1 0 0 1 1 0 0",
3006 "a15 a14 a13 a12 a11 a10 a9 a8",
3007 " a7 x x x x x x x",
3018 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
3019 "x x x x x x x x i i i i i i i i";
3021 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
3022 "x x x x x x x x o o o o o o o o";
3023 min_write_delay = 9000;
3024 max_write_delay = 9000;
3029 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
3030 "x x x x x x x x i i i i i i i i";
3032 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
3033 "x x x x x x x x o o o o o o o o";
3034 min_write_delay = 9000;
3035 max_write_delay = 9000;
3040 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
3041 "x x x x x x x x x x x x x x i i";
3043 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
3044 "x x x x x x x x o o o o o o o o";
3045 min_write_delay = 9000;
3046 max_write_delay = 9000;
3051 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
3052 "x x x x x x x x x x o o o o o o";
3054 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
3055 "x x x x x x x x 1 1 i i i i i i";
3056 min_write_delay = 9000;
3057 max_write_delay = 9000;
3060 memory "calibration"
3062 read = "0 0 1 1 1 0 0 0 x x x x x x x x",
3063 "0 0 0 0 0 0 a1 a0 o o o o o o o o";
3068 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
3069 "x x x x x x a1 a0 o o o o o o o o";
3073 #------------------------------------------------------------
3075 #------------------------------------------------------------
3079 desc = "AT90CAN128";
3081 stk500_devcode = 0xB3;
3082 # avr910_devcode = 0x43;
3083 signature = 0x1e 0x97 0x81;
3084 chip_erase_delay = 9000;
3088 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
3089 "x x x x x x x x x x x x x x x x";
3091 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
3092 "x x x x x x x x x x x x x x x x";
3106 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
3107 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
3108 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
3109 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01;
3110 hventerstabdelay = 100;
3117 hvleavestabdelay = 15;
3118 chiperasepulsewidth = 0;
3119 chiperasepolltimeout = 10;
3120 programfusepulsewidth = 0;
3121 programfusepolltimeout = 5;
3122 programlockpulsewidth = 0;
3123 programlockpolltimeout = 5;
3129 allowfullpagebitstream = no;
3132 paged = no; /* leave this "no" */
3133 page_size = 8; /* for parallel programming */
3135 min_write_delay = 9000;
3136 max_write_delay = 9000;
3139 read = " 1 0 1 0 0 0 0 0",
3140 " 0 0 0 x a11 a10 a9 a8",
3141 " a7 a6 a5 a4 a3 a2 a1 a0",
3144 write = " 1 1 0 0 0 0 0 0",
3145 " 0 0 0 x a11 a10 a9 a8",
3146 " a7 a6 a5 a4 a3 a2 a1 a0",
3149 loadpage_lo = " 1 1 0 0 0 0 0 1",
3151 " 0 0 0 0 0 a2 a1 a0",
3154 writepage = " 1 1 0 0 0 0 1 0",
3155 " 0 0 x x a11 a10 a9 a8",
3156 " a7 a6 a5 a4 a3 0 0 0",
3171 min_write_delay = 4500;
3172 max_write_delay = 4500;
3175 read_lo = " 0 0 1 0 0 0 0 0",
3176 "a15 a14 a13 a12 a11 a10 a9 a8",
3177 " a7 a6 a5 a4 a3 a2 a1 a0",
3180 read_hi = " 0 0 1 0 1 0 0 0",
3181 "a15 a14 a13 a12 a11 a10 a9 a8",
3182 " a7 a6 a5 a4 a3 a2 a1 a0",
3185 loadpage_lo = " 0 1 0 0 0 0 0 0",
3187 " x a6 a5 a4 a3 a2 a1 a0",
3190 loadpage_hi = " 0 1 0 0 1 0 0 0",
3192 " x a6 a5 a4 a3 a2 a1 a0",
3195 writepage = " 0 1 0 0 1 1 0 0",
3196 "a15 a14 a13 a12 a11 a10 a9 a8",
3197 " a7 x x x x x x x",
3208 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
3209 "x x x x x x x x i i i i i i i i";
3211 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
3212 "x x x x x x x x o o o o o o o o";
3213 min_write_delay = 9000;
3214 max_write_delay = 9000;
3219 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
3220 "x x x x x x x x i i i i i i i i";
3222 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
3223 "x x x x x x x x o o o o o o o o";
3224 min_write_delay = 9000;
3225 max_write_delay = 9000;
3230 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
3231 "x x x x x x x x x x x x i i i i";
3233 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
3234 "x x x x x x x x o o o o o o o o";
3235 min_write_delay = 9000;
3236 max_write_delay = 9000;
3241 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
3242 "x x x x x x x x x x o o o o o o";
3244 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
3245 "x x x x x x x x 1 1 i i i i i i";
3246 min_write_delay = 9000;
3247 max_write_delay = 9000;
3250 memory "calibration"
3252 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
3253 "0 0 0 0 0 0 0 0 o o o o o o o o";
3258 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
3259 "x x x x x x a1 a0 o o o o o o o o";
3263 #------------------------------------------------------------
3265 #------------------------------------------------------------
3271 stk500_devcode = 0xB3;
3272 # avr910_devcode = 0x43;
3273 signature = 0x1e 0x96 0x81;
3274 chip_erase_delay = 9000;
3278 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
3279 "x x x x x x x x x x x x x x x x";
3281 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
3282 "x x x x x x x x x x x x x x x x";
3296 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
3297 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
3298 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
3299 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01;
3300 hventerstabdelay = 100;
3307 hvleavestabdelay = 15;
3308 chiperasepulsewidth = 0;
3309 chiperasepolltimeout = 10;
3310 programfusepulsewidth = 0;
3311 programfusepolltimeout = 5;
3312 programlockpulsewidth = 0;
3313 programlockpolltimeout = 5;
3319 allowfullpagebitstream = no;
3322 paged = no; /* leave this "no" */
3323 page_size = 8; /* for parallel programming */
3325 min_write_delay = 9000;
3326 max_write_delay = 9000;
3329 read = " 1 0 1 0 0 0 0 0",
3330 " 0 0 0 x x a10 a9 a8",
3331 " a7 a6 a5 a4 a3 a2 a1 a0",
3334 write = " 1 1 0 0 0 0 0 0",
3335 " 0 0 0 x x a10 a9 a8",
3336 " a7 a6 a5 a4 a3 a2 a1 a0",
3339 loadpage_lo = " 1 1 0 0 0 0 0 1",
3341 " 0 0 0 0 0 a2 a1 a0",
3344 writepage = " 1 1 0 0 0 0 1 0",
3345 " 0 0 x x x a10 a9 a8",
3346 " a7 a6 a5 a4 a3 0 0 0",
3361 min_write_delay = 4500;
3362 max_write_delay = 4500;
3365 read_lo = " 0 0 1 0 0 0 0 0",
3366 "a15 a14 a13 a12 a11 a10 a9 a8",
3367 " a7 a6 a5 a4 a3 a2 a1 a0",
3370 read_hi = " 0 0 1 0 1 0 0 0",
3371 "a15 a14 a13 a12 a11 a10 a9 a8",
3372 " a7 a6 a5 a4 a3 a2 a1 a0",
3375 loadpage_lo = " 0 1 0 0 0 0 0 0",
3377 " x a6 a5 a4 a3 a2 a1 a0",
3380 loadpage_hi = " 0 1 0 0 1 0 0 0",
3382 " x a6 a5 a4 a3 a2 a1 a0",
3385 writepage = " 0 1 0 0 1 1 0 0",
3386 "a15 a14 a13 a12 a11 a10 a9 a8",
3387 " a7 x x x x x x x",
3398 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
3399 "x x x x x x x x i i i i i i i i";
3401 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
3402 "x x x x x x x x o o o o o o o o";
3403 min_write_delay = 9000;
3404 max_write_delay = 9000;
3409 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
3410 "x x x x x x x x i i i i i i i i";
3412 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
3413 "x x x x x x x x o o o o o o o o";
3414 min_write_delay = 9000;
3415 max_write_delay = 9000;
3420 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
3421 "x x x x x x x x x x x x i i i i";
3423 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
3424 "x x x x x x x x o o o o o o o o";
3425 min_write_delay = 9000;
3426 max_write_delay = 9000;
3431 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
3432 "x x x x x x x x x x o o o o o o";
3434 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
3435 "x x x x x x x x 1 1 i i i i i i";
3436 min_write_delay = 9000;
3437 max_write_delay = 9000;
3440 memory "calibration"
3442 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
3443 "0 0 0 0 0 0 0 0 o o o o o o o o";
3448 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
3449 "x x x x x x a1 a0 o o o o o o o o";
3453 #------------------------------------------------------------
3455 #------------------------------------------------------------
3461 stk500_devcode = 0xB3;
3462 # avr910_devcode = 0x43;
3463 signature = 0x1e 0x95 0x81;
3464 chip_erase_delay = 9000;
3468 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
3469 "x x x x x x x x x x x x x x x x";
3471 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
3472 "x x x x x x x x x x x x x x x x";
3486 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
3487 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
3488 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
3489 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01;
3490 hventerstabdelay = 100;
3497 hvleavestabdelay = 15;
3498 chiperasepulsewidth = 0;
3499 chiperasepolltimeout = 10;
3500 programfusepulsewidth = 0;
3501 programfusepolltimeout = 5;
3502 programlockpulsewidth = 0;
3503 programlockpolltimeout = 5;
3509 allowfullpagebitstream = no;
3512 paged = no; /* leave this "no" */
3513 page_size = 8; /* for parallel programming */
3515 min_write_delay = 9000;
3516 max_write_delay = 9000;
3519 read = " 1 0 1 0 0 0 0 0",
3520 " 0 0 0 x x x a9 a8",
3521 " a7 a6 a5 a4 a3 a2 a1 a0",
3524 write = " 1 1 0 0 0 0 0 0",
3525 " 0 0 0 x x x a9 a8",
3526 " a7 a6 a5 a4 a3 a2 a1 a0",
3529 loadpage_lo = " 1 1 0 0 0 0 0 1",
3531 " 0 0 0 0 0 a2 a1 a0",
3534 writepage = " 1 1 0 0 0 0 1 0",
3535 " 0 0 x x x x a9 a8",
3536 " a7 a6 a5 a4 a3 0 0 0",
3551 min_write_delay = 4500;
3552 max_write_delay = 4500;
3555 read_lo = " 0 0 1 0 0 0 0 0",
3556 "a15 a14 a13 a12 a11 a10 a9 a8",
3557 " a7 a6 a5 a4 a3 a2 a1 a0",
3560 read_hi = " 0 0 1 0 1 0 0 0",
3561 "a15 a14 a13 a12 a11 a10 a9 a8",
3562 " a7 a6 a5 a4 a3 a2 a1 a0",
3565 loadpage_lo = " 0 1 0 0 0 0 0 0",
3567 " x a6 a5 a4 a3 a2 a1 a0",
3570 loadpage_hi = " 0 1 0 0 1 0 0 0",
3572 " x a6 a5 a4 a3 a2 a1 a0",
3575 writepage = " 0 1 0 0 1 1 0 0",
3576 "a15 a14 a13 a12 a11 a10 a9 a8",
3577 " a7 x x x x x x x",
3588 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
3589 "x x x x x x x x i i i i i i i i";
3591 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
3592 "x x x x x x x x o o o o o o o o";
3593 min_write_delay = 9000;
3594 max_write_delay = 9000;
3599 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
3600 "x x x x x x x x i i i i i i i i";
3602 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
3603 "x x x x x x x x o o o o o o o o";
3604 min_write_delay = 9000;
3605 max_write_delay = 9000;
3610 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
3611 "x x x x x x x x x x x x i i i i";
3613 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
3614 "x x x x x x x x o o o o o o o o";
3615 min_write_delay = 9000;
3616 max_write_delay = 9000;
3621 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
3622 "x x x x x x x x x x o o o o o o";
3624 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
3625 "x x x x x x x x 1 1 i i i i i i";
3626 min_write_delay = 9000;
3627 max_write_delay = 9000;
3630 memory "calibration"
3632 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
3633 "0 0 0 0 0 0 0 0 o o o o o o o o";
3638 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
3639 "x x x x x x a1 a0 o o o o o o o o";
3644 #------------------------------------------------------------
3646 #------------------------------------------------------------
3652 stk500_devcode = 0x82;
3653 avr910_devcode = 0x74;
3654 signature = 0x1e 0x94 0x03;
3657 chip_erase_delay = 9000;
3658 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
3659 "x x x x x x x x x x x x x x x x";
3661 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
3662 "x x x x x x x x x x x x x x x x";
3676 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
3677 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
3678 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
3679 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
3680 hventerstabdelay = 100;
3681 progmodedelay = 100;
3687 hvleavestabdelay = 15;
3689 chiperasepulsewidth = 0;
3690 chiperasepolltimeout = 10;
3691 programfusepulsewidth = 0;
3692 programfusepolltimeout = 5;
3693 programlockpulsewidth = 0;
3694 programlockpolltimeout = 5;
3698 allowfullpagebitstream = yes;
3701 paged = no; /* leave this "no" */
3702 page_size = 4; /* for parallel programming */
3704 min_write_delay = 9000;
3705 max_write_delay = 9000;
3708 read = " 1 0 1 0 0 0 0 0",
3709 " 0 0 x x x x a9 a8",
3710 " a7 a6 a5 a4 a3 a2 a1 a0",
3713 write = " 1 1 0 0 0 0 0 0",
3714 " 0 0 x x x x a9 a8",
3715 " a7 a6 a5 a4 a3 a2 a1 a0",
3718 loadpage_lo = " 1 1 0 0 0 0 0 1",
3720 " 0 0 0 0 0 0 a1 a0",
3723 writepage = " 1 1 0 0 0 0 1 0",
3724 " 0 0 x x x x a9 a8",
3725 " a7 a6 a5 a4 a3 a2 0 0",
3739 min_write_delay = 4500;
3740 max_write_delay = 4500;
3743 read_lo = " 0 0 1 0 0 0 0 0",
3744 " 0 0 a13 a12 a11 a10 a9 a8",
3745 " a7 a6 a5 a4 a3 a2 a1 a0",
3748 read_hi = " 0 0 1 0 1 0 0 0",
3749 " 0 0 a13 a12 a11 a10 a9 a8",
3750 " a7 a6 a5 a4 a3 a2 a1 a0",
3753 loadpage_lo = " 0 1 0 0 0 0 0 0",
3755 " x x a5 a4 a3 a2 a1 a0",
3758 loadpage_hi = " 0 1 0 0 1 0 0 0",
3760 " x x a5 a4 a3 a2 a1 a0",
3763 writepage = " 0 1 0 0 1 1 0 0",
3764 " 0 0 a13 a12 a11 a10 a9 a8",
3765 " a7 a6 x x x x x x",
3776 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
3777 "x x x x x x x x x x o o o o o o";
3779 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
3780 "x x x x x x x x 1 1 i i i i i i";
3781 min_write_delay = 9000;
3782 max_write_delay = 9000;
3787 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
3788 "x x x x x x x x o o o o o o o o";
3790 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
3791 "x x x x x x x x i i i i i i i i";
3792 min_write_delay = 9000;
3793 max_write_delay = 9000;
3798 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
3799 "x x x x x x x x o o o o o o o o";
3801 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
3802 "x x x x x x x x i i i i i i i i";
3803 min_write_delay = 9000;
3804 max_write_delay = 9000;
3808 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
3809 "x x x x x x a1 a0 o o o o o o o o";
3811 memory "calibration"
3814 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
3815 "0 0 0 0 0 0 a1 a0 o o o o o o o o";
3820 #------------------------------------------------------------
3822 #------------------------------------------------------------
3828 desc = "ATMEGA164P";
3830 stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one
3831 avr910_devcode = 0x74;
3832 signature = 0x1e 0x94 0x0a;
3835 chip_erase_delay = 9000;
3836 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
3837 "x x x x x x x x x x x x x x x x";
3839 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
3840 "x x x x x x x x x x x x x x x x";
3854 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
3855 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
3856 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
3857 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
3858 hventerstabdelay = 100;
3865 hvleavestabdelay = 15;
3866 chiperasepulsewidth = 0;
3867 chiperasepolltimeout = 10;
3868 programfusepulsewidth = 0;
3869 programfusepolltimeout = 5;
3870 programlockpulsewidth = 0;
3871 programlockpolltimeout = 5;
3875 allowfullpagebitstream = no;
3878 paged = no; /* leave this "no" */
3879 page_size = 4; /* for parallel programming */
3881 min_write_delay = 9000;
3882 max_write_delay = 9000;
3885 read = " 1 0 1 0 0 0 0 0",
3886 " 0 0 x x x x a9 a8",
3887 " a7 a6 a5 a4 a3 a2 a1 a0",
3890 write = " 1 1 0 0 0 0 0 0",
3891 " 0 0 x x x x a9 a8",
3892 " a7 a6 a5 a4 a3 a2 a1 a0",
3895 loadpage_lo = " 1 1 0 0 0 0 0 1",
3897 " 0 0 0 0 0 0 a1 a0",
3900 writepage = " 1 1 0 0 0 0 1 0",
3901 " 0 0 x x x x a9 a8",
3902 " a7 a6 a5 a4 a3 a2 0 0",
3916 min_write_delay = 4500;
3917 max_write_delay = 4500;
3920 read_lo = " 0 0 1 0 0 0 0 0",
3921 " 0 0 a13 a12 a11 a10 a9 a8",
3922 " a7 a6 a5 a4 a3 a2 a1 a0",
3925 read_hi = " 0 0 1 0 1 0 0 0",
3926 " 0 0 a13 a12 a11 a10 a9 a8",
3927 " a7 a6 a5 a4 a3 a2 a1 a0",
3930 loadpage_lo = " 0 1 0 0 0 0 0 0",
3932 " x x a5 a4 a3 a2 a1 a0",
3935 loadpage_hi = " 0 1 0 0 1 0 0 0",
3937 " x x a5 a4 a3 a2 a1 a0",
3940 writepage = " 0 1 0 0 1 1 0 0",
3941 " 0 0 a13 a12 a11 a10 a9 a8",
3942 " a7 a6 x x x x x x",
3953 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
3954 "x x x x x x x x x x o o o o o o";
3956 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
3957 "x x x x x x x x 1 1 i i i i i i";
3958 min_write_delay = 9000;
3959 max_write_delay = 9000;
3964 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
3965 "x x x x x x x x o o o o o o o o";
3967 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
3968 "x x x x x x x x i i i i i i i i";
3969 min_write_delay = 9000;
3970 max_write_delay = 9000;
3975 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
3976 "x x x x x x x x o o o o o o o o";
3978 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
3979 "x x x x x x x x i i i i i i i i";
3980 min_write_delay = 9000;
3981 max_write_delay = 9000;
3987 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
3988 "x x x x x x x x o o o o o o o o";
3990 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
3991 "x x x x x x x x 1 1 1 1 1 i i i";
3992 min_write_delay = 9000;
3993 max_write_delay = 9000;
3998 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
3999 "x x x x x x a1 a0 o o o o o o o o";
4002 memory "calibration"
4005 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
4006 "0 0 0 0 0 0 0 0 o o o o o o o o";
4011 #------------------------------------------------------------
4013 #------------------------------------------------------------
4015 # similar to ATmega164P
4019 desc = "ATMEGA324P";
4021 stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one
4022 avr910_devcode = 0x74;
4023 signature = 0x1e 0x95 0x08;
4026 chip_erase_delay = 9000;
4027 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
4028 "x x x x x x x x x x x x x x x x";
4030 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
4031 "x x x x x x x x x x x x x x x x";
4045 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
4046 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
4047 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
4048 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
4049 hventerstabdelay = 100;
4056 hvleavestabdelay = 15;
4057 chiperasepulsewidth = 0;
4058 chiperasepolltimeout = 10;
4059 programfusepulsewidth = 0;
4060 programfusepolltimeout = 5;
4061 programlockpulsewidth = 0;
4062 programlockpolltimeout = 5;
4066 allowfullpagebitstream = no;
4069 paged = no; /* leave this "no" */
4070 page_size = 4; /* for parallel programming */
4072 min_write_delay = 9000;
4073 max_write_delay = 9000;
4076 read = " 1 0 1 0 0 0 0 0",
4077 " 0 0 x x x a10 a9 a8",
4078 " a7 a6 a5 a4 a3 a2 a1 a0",
4081 write = " 1 1 0 0 0 0 0 0",
4082 " 0 0 x x x a10 a9 a8",
4083 " a7 a6 a5 a4 a3 a2 a1 a0",
4086 loadpage_lo = " 1 1 0 0 0 0 0 1",
4088 " 0 0 0 0 0 0 a1 a0",
4091 writepage = " 1 1 0 0 0 0 1 0",
4092 " 0 0 x x x a10 a9 a8",
4093 " a7 a6 a5 a4 a3 a2 0 0",
4107 min_write_delay = 4500;
4108 max_write_delay = 4500;
4111 read_lo = " 0 0 1 0 0 0 0 0",
4112 " 0 a14 a13 a12 a11 a10 a9 a8",
4113 " a7 a6 a5 a4 a3 a2 a1 a0",
4116 read_hi = " 0 0 1 0 1 0 0 0",
4117 " 0 a14 a13 a12 a11 a10 a9 a8",
4118 " a7 a6 a5 a4 a3 a2 a1 a0",
4121 loadpage_lo = " 0 1 0 0 0 0 0 0",
4123 " x x a5 a4 a3 a2 a1 a0",
4126 loadpage_hi = " 0 1 0 0 1 0 0 0",
4128 " x x a5 a4 a3 a2 a1 a0",
4131 writepage = " 0 1 0 0 1 1 0 0",
4132 " 0 a14 a13 a12 a11 a10 a9 a8",
4133 " a7 a6 x x x x x x",
4144 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
4145 "x x x x x x x x x x o o o o o o";
4147 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
4148 "x x x x x x x x 1 1 i i i i i i";
4149 min_write_delay = 9000;
4150 max_write_delay = 9000;
4155 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
4156 "x x x x x x x x o o o o o o o o";
4158 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
4159 "x x x x x x x x i i i i i i i i";
4160 min_write_delay = 9000;
4161 max_write_delay = 9000;
4166 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
4167 "x x x x x x x x o o o o o o o o";
4169 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
4170 "x x x x x x x x i i i i i i i i";
4171 min_write_delay = 9000;
4172 max_write_delay = 9000;
4178 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
4179 "x x x x x x x x o o o o o o o o";
4181 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
4182 "x x x x x x x x 1 1 1 1 1 i i i";
4183 min_write_delay = 9000;
4184 max_write_delay = 9000;
4189 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
4190 "x x x x x x a1 a0 o o o o o o o o";
4193 memory "calibration"
4196 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
4197 "0 0 0 0 0 0 0 0 o o o o o o o o";
4202 #------------------------------------------------------------
4204 #------------------------------------------------------------
4206 # similar to ATmega324P
4210 desc = "ATmega324PA";
4212 stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one
4213 avr910_devcode = 0x74;
4214 signature = 0x1e 0x95 0x11;
4217 chip_erase_delay = 9000;
4218 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
4219 "x x x x x x x x x x x x x x x x";
4221 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
4222 "x x x x x x x x x x x x x x x x";
4236 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
4237 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
4238 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
4239 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
4240 hventerstabdelay = 100;
4247 hvleavestabdelay = 15;
4248 chiperasepulsewidth = 0;
4249 chiperasepolltimeout = 10;
4250 programfusepulsewidth = 0;
4251 programfusepolltimeout = 5;
4252 programlockpulsewidth = 0;
4253 programlockpolltimeout = 5;
4257 allowfullpagebitstream = no;
4260 paged = no; /* leave this "no" */
4261 page_size = 4; /* for parallel programming */
4263 min_write_delay = 9000;
4264 max_write_delay = 9000;
4267 read = " 1 0 1 0 0 0 0 0",
4268 " 0 0 x x x a10 a9 a8",
4269 " a7 a6 a5 a4 a3 a2 a1 a0",
4272 write = " 1 1 0 0 0 0 0 0",
4273 " 0 0 x x x a10 a9 a8",
4274 " a7 a6 a5 a4 a3 a2 a1 a0",
4277 loadpage_lo = " 1 1 0 0 0 0 0 1",
4279 " 0 0 0 0 0 0 a1 a0",
4282 writepage = " 1 1 0 0 0 0 1 0",
4283 " 0 0 x x x a10 a9 a8",
4284 " a7 a6 a5 a4 a3 a2 0 0",
4298 min_write_delay = 4500;
4299 max_write_delay = 4500;
4302 read_lo = " 0 0 1 0 0 0 0 0",
4303 " 0 a14 a13 a12 a11 a10 a9 a8",
4304 " a7 a6 a5 a4 a3 a2 a1 a0",
4307 read_hi = " 0 0 1 0 1 0 0 0",
4308 " 0 a14 a13 a12 a11 a10 a9 a8",
4309 " a7 a6 a5 a4 a3 a2 a1 a0",
4312 loadpage_lo = " 0 1 0 0 0 0 0 0",
4314 " x x a5 a4 a3 a2 a1 a0",
4317 loadpage_hi = " 0 1 0 0 1 0 0 0",
4319 " x x a5 a4 a3 a2 a1 a0",
4322 writepage = " 0 1 0 0 1 1 0 0",
4323 " 0 a14 a13 a12 a11 a10 a9 a8",
4324 " a7 a6 x x x x x x",
4335 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
4336 "x x x x x x x x x x o o o o o o";
4338 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
4339 "x x x x x x x x 1 1 i i i i i i";
4340 min_write_delay = 9000;
4341 max_write_delay = 9000;
4346 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
4347 "x x x x x x x x o o o o o o o o";
4349 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
4350 "x x x x x x x x i i i i i i i i";
4351 min_write_delay = 9000;
4352 max_write_delay = 9000;
4357 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
4358 "x x x x x x x x o o o o o o o o";
4360 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
4361 "x x x x x x x x i i i i i i i i";
4362 min_write_delay = 9000;
4363 max_write_delay = 9000;
4369 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
4370 "x x x x x x x x o o o o o o o o";
4372 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
4373 "x x x x x x x x 1 1 1 1 1 i i i";
4374 min_write_delay = 9000;
4375 max_write_delay = 9000;
4380 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
4381 "x x x x x x a1 a0 o o o o o o o o";
4384 memory "calibration"
4387 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
4388 "0 0 0 0 0 0 0 0 o o o o o o o o";
4393 #------------------------------------------------------------
4395 #------------------------------------------------------------
4397 # similar to ATmega164
4403 stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one
4404 avr910_devcode = 0x74;
4405 signature = 0x1e 0x96 0x09;
4408 chip_erase_delay = 9000;
4409 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
4410 "x x x x x x x x x x x x x x x x";
4412 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
4413 "x x x x x x x x x x x x x x x x";
4427 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
4428 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
4429 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
4430 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02;
4431 hventerstabdelay = 100;
4438 hvleavestabdelay = 15;
4439 chiperasepulsewidth = 0;
4440 chiperasepolltimeout = 10;
4441 programfusepulsewidth = 0;
4442 programfusepolltimeout = 5;
4443 programlockpulsewidth = 0;
4444 programlockpolltimeout = 5;
4448 allowfullpagebitstream = no;
4451 paged = no; /* leave this "no" */
4452 page_size = 8; /* for parallel programming */
4454 min_write_delay = 9000;
4455 max_write_delay = 9000;
4458 read = " 1 0 1 0 0 0 0 0",
4459 " 0 0 x x a11 a10 a9 a8",
4460 " a7 a6 a5 a4 a3 a2 a1 a0",
4463 write = " 1 1 0 0 0 0 0 0",
4464 " 0 0 x x a11 a10 a9 a8",
4465 " a7 a6 a5 a4 a3 a2 a1 a0",
4468 loadpage_lo = " 1 1 0 0 0 0 0 1",
4470 " 0 0 0 0 0 a2 a1 a0",
4473 writepage = " 1 1 0 0 0 0 1 0",
4474 " 0 0 x x a11 a10 a9 a8",
4475 " a7 a6 a5 a4 a3 0 0 0",
4489 min_write_delay = 4500;
4490 max_write_delay = 4500;
4493 read_lo = " 0 0 1 0 0 0 0 0",
4494 "a15 a14 a13 a12 a11 a10 a9 a8",
4495 " a7 a6 a5 a4 a3 a2 a1 a0",
4498 read_hi = " 0 0 1 0 1 0 0 0",
4499 "a15 a14 a13 a12 a11 a10 a9 a8",
4500 " a7 a6 a5 a4 a3 a2 a1 a0",
4503 loadpage_lo = " 0 1 0 0 0 0 0 0",
4505 " x a6 a5 a4 a3 a2 a1 a0",
4508 loadpage_hi = " 0 1 0 0 1 0 0 0",
4510 " x a6 a5 a4 a3 a2 a1 a0",
4513 writepage = " 0 1 0 0 1 1 0 0",
4514 "a15 a14 a13 a12 a11 a10 a9 a8",
4515 " a7 x x x x x x x",
4526 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
4527 "x x x x x x x x x x o o o o o o";
4529 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
4530 "x x x x x x x x 1 1 i i i i i i";
4531 min_write_delay = 9000;
4532 max_write_delay = 9000;
4537 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
4538 "x x x x x x x x o o o o o o o o";
4540 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
4541 "x x x x x x x x i i i i i i i i";
4542 min_write_delay = 9000;
4543 max_write_delay = 9000;
4548 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
4549 "x x x x x x x x o o o o o o o o";
4551 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
4552 "x x x x x x x x i i i i i i i i";
4553 min_write_delay = 9000;
4554 max_write_delay = 9000;
4560 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
4561 "x x x x x x x x o o o o o o o o";
4563 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
4564 "x x x x x x x x 1 1 1 1 1 i i i";
4565 min_write_delay = 9000;
4566 max_write_delay = 9000;
4571 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
4572 "x x x x x x a1 a0 o o o o o o o o";
4575 memory "calibration"
4578 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
4579 "0 0 0 0 0 0 0 0 o o o o o o o o";
4583 #------------------------------------------------------------
4585 #------------------------------------------------------------
4587 # similar to ATmega164p
4591 desc = "ATMEGA644P";
4593 stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one
4594 avr910_devcode = 0x74;
4595 signature = 0x1e 0x96 0x0a;
4598 chip_erase_delay = 9000;
4599 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
4600 "x x x x x x x x x x x x x x x x";
4602 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
4603 "x x x x x x x x x x x x x x x x";
4617 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
4618 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
4619 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
4620 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02;
4621 hventerstabdelay = 100;
4628 hvleavestabdelay = 15;
4629 chiperasepulsewidth = 0;
4630 chiperasepolltimeout = 10;
4631 programfusepulsewidth = 0;
4632 programfusepolltimeout = 5;
4633 programlockpulsewidth = 0;
4634 programlockpolltimeout = 5;
4638 allowfullpagebitstream = no;
4641 paged = no; /* leave this "no" */
4642 page_size = 8; /* for parallel programming */
4644 min_write_delay = 9000;
4645 max_write_delay = 9000;
4648 read = " 1 0 1 0 0 0 0 0",
4649 " 0 0 x x a11 a10 a9 a8",
4650 " a7 a6 a5 a4 a3 a2 a1 a0",
4653 write = " 1 1 0 0 0 0 0 0",
4654 " 0 0 x x a11 a10 a9 a8",
4655 " a7 a6 a5 a4 a3 a2 a1 a0",
4658 loadpage_lo = " 1 1 0 0 0 0 0 1",
4660 " 0 0 0 0 0 a2 a1 a0",
4663 writepage = " 1 1 0 0 0 0 1 0",
4664 " 0 0 x x a11 a10 a9 a8",
4665 " a7 a6 a5 a4 a3 0 0 0",
4679 min_write_delay = 4500;
4680 max_write_delay = 4500;
4683 read_lo = " 0 0 1 0 0 0 0 0",
4684 "a15 a14 a13 a12 a11 a10 a9 a8",
4685 " a7 a6 a5 a4 a3 a2 a1 a0",
4688 read_hi = " 0 0 1 0 1 0 0 0",
4689 "a15 a14 a13 a12 a11 a10 a9 a8",
4690 " a7 a6 a5 a4 a3 a2 a1 a0",
4693 loadpage_lo = " 0 1 0 0 0 0 0 0",
4695 " x a6 a5 a4 a3 a2 a1 a0",
4698 loadpage_hi = " 0 1 0 0 1 0 0 0",
4700 " x a6 a5 a4 a3 a2 a1 a0",
4703 writepage = " 0 1 0 0 1 1 0 0",
4704 "a15 a14 a13 a12 a11 a10 a9 a8",
4705 " a7 x x x x x x x",
4716 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
4717 "x x x x x x x x x x o o o o o o";
4719 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
4720 "x x x x x x x x 1 1 i i i i i i";
4721 min_write_delay = 9000;
4722 max_write_delay = 9000;
4727 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
4728 "x x x x x x x x o o o o o o o o";
4730 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
4731 "x x x x x x x x i i i i i i i i";
4732 min_write_delay = 9000;
4733 max_write_delay = 9000;
4738 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
4739 "x x x x x x x x o o o o o o o o";
4741 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
4742 "x x x x x x x x i i i i i i i i";
4743 min_write_delay = 9000;
4744 max_write_delay = 9000;
4750 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
4751 "x x x x x x x x o o o o o o o o";
4753 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
4754 "x x x x x x x x 1 1 1 1 1 i i i";
4755 min_write_delay = 9000;
4756 max_write_delay = 9000;
4761 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
4762 "x x x x x x a1 a0 o o o o o o o o";
4765 memory "calibration"
4768 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
4769 "0 0 0 0 0 0 0 0 o o o o o o o o";
4775 #------------------------------------------------------------
4777 #------------------------------------------------------------
4779 # similar to ATmega164p
4783 desc = "ATMEGA1284P";
4785 stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one
4786 avr910_devcode = 0x74;
4787 signature = 0x1e 0x97 0x05;
4790 chip_erase_delay = 9000;
4791 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
4792 "x x x x x x x x x x x x x x x x";
4794 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
4795 "x x x x x x x x x x x x x x x x";
4809 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
4810 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
4811 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
4812 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02;
4813 hventerstabdelay = 100;
4820 hvleavestabdelay = 15;
4821 chiperasepulsewidth = 0;
4822 chiperasepolltimeout = 10;
4823 programfusepulsewidth = 0;
4824 programfusepolltimeout = 5;
4825 programlockpulsewidth = 0;
4826 programlockpolltimeout = 5;
4830 allowfullpagebitstream = no;
4833 paged = no; /* leave this "no" */
4834 page_size = 8; /* for parallel programming */
4836 min_write_delay = 9000;
4837 max_write_delay = 9000;
4840 read = " 1 0 1 0 0 0 0 0",
4841 " 0 0 x x a11 a10 a9 a8",
4842 " a7 a6 a5 a4 a3 a2 a1 a0",
4845 write = " 1 1 0 0 0 0 0 0",
4846 " 0 0 x x a11 a10 a9 a8",
4847 " a7 a6 a5 a4 a3 a2 a1 a0",
4850 loadpage_lo = " 1 1 0 0 0 0 0 1",
4852 " 0 0 0 0 0 a2 a1 a0",
4855 writepage = " 1 1 0 0 0 0 1 0",
4856 " 0 0 x x a11 a10 a9 a8",
4857 " a7 a6 a5 a4 a3 0 0 0",
4871 min_write_delay = 4500;
4872 max_write_delay = 4500;
4875 read_lo = " 0 0 1 0 0 0 0 0",
4876 "a15 a14 a13 a12 a11 a10 a9 a8",
4877 " a7 a6 a5 a4 a3 a2 a1 a0",
4880 read_hi = " 0 0 1 0 1 0 0 0",
4881 "a15 a14 a13 a12 a11 a10 a9 a8",
4882 " a7 a6 a5 a4 a3 a2 a1 a0",
4885 loadpage_lo = " 0 1 0 0 0 0 0 0",
4887 " x a6 a5 a4 a3 a2 a1 a0",
4890 loadpage_hi = " 0 1 0 0 1 0 0 0",
4892 " x a6 a5 a4 a3 a2 a1 a0",
4895 writepage = " 0 1 0 0 1 1 0 0",
4896 "a15 a14 a13 a12 a11 a10 a9 a8",
4897 " a7 x x x x x x x",
4908 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
4909 "x x x x x x x x x x o o o o o o";
4911 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
4912 "x x x x x x x x 1 1 i i i i i i";
4913 min_write_delay = 9000;
4914 max_write_delay = 9000;
4919 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
4920 "x x x x x x x x o o o o o o o o";
4922 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
4923 "x x x x x x x x i i i i i i i i";
4924 min_write_delay = 9000;
4925 max_write_delay = 9000;
4930 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
4931 "x x x x x x x x o o o o o o o o";
4933 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
4934 "x x x x x x x x i i i i i i i i";
4935 min_write_delay = 9000;
4936 max_write_delay = 9000;
4942 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
4943 "x x x x x x x x o o o o o o o o";
4945 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
4946 "x x x x x x x x 1 1 1 1 1 i i i";
4947 min_write_delay = 9000;
4948 max_write_delay = 9000;
4953 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
4954 "x x x x x x a1 a0 o o o o o o o o";
4957 memory "calibration"
4960 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
4961 "0 0 0 0 0 0 0 0 o o o o o o o o";
4967 #------------------------------------------------------------
4969 #------------------------------------------------------------
4975 stk500_devcode = 0x83;
4976 avr910_devcode = 0x63;
4977 signature = 0x1e 0x94 0x04;
4978 chip_erase_delay = 9000;
4984 allowfullpagebitstream = yes;
4986 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
4987 "x x x x x x x x x x x x x x x x";
4989 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
4990 "x x x x x x x x x x x x x x x x";
4997 min_write_delay = 4500;
4998 max_write_delay = 4500;
5002 read_lo = " 0 0 1 0 0 0 0 0",
5003 " 0 0 a13 a12 a11 a10 a9 a8",
5004 " a7 a6 a5 a4 a3 a2 a1 a0",
5007 read_hi = " 0 0 1 0 1 0 0 0",
5008 " 0 0 a13 a12 a11 a10 a9 a8",
5009 " a7 a6 a5 a4 a3 a2 a1 a0",
5012 loadpage_lo = " 0 1 0 0 0 0 0 0",
5014 " x x a5 a4 a3 a2 a1 a0",
5017 loadpage_hi = " 0 1 0 0 1 0 0 0",
5019 " x x a5 a4 a3 a2 a1 a0",
5022 writepage = " 0 1 0 0 1 1 0 0",
5023 " 0 0 a13 a12 a11 a10 a9 a8",
5024 " a7 a6 x x x x x x",
5045 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
5046 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
5047 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
5048 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
5049 hventerstabdelay = 100;
5056 hvleavestabdelay = 15;
5057 chiperasepulsewidth = 0;
5058 chiperasepolltimeout = 10;
5059 programfusepulsewidth = 0;
5060 programfusepolltimeout = 5;
5061 programlockpulsewidth = 0;
5062 programlockpolltimeout = 5;
5065 paged = no; /* leave this "no" */
5066 page_size = 4; /* for parallel programming */
5068 min_write_delay = 9000;
5069 max_write_delay = 9000;
5073 read = " 1 0 1 0 0 0 0 0",
5074 " 0 0 x x x x a9 a8",
5075 " a7 a6 a5 a4 a3 a2 a1 a0",
5078 write = " 1 1 0 0 0 0 0 0",
5079 " 0 0 x x x x a9 a8",
5080 " a7 a6 a5 a4 a3 a2 a1 a0",
5083 loadpage_lo = " 1 1 0 0 0 0 0 1",
5085 " 0 0 0 0 0 0 a1 a0",
5088 writepage = " 1 1 0 0 0 0 1 0",
5089 " 0 0 x x x x a9 a8",
5090 " a7 a6 a5 a4 a3 a2 0 0",
5101 min_write_delay = 16000;
5102 max_write_delay = 16000;
5103 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
5104 "x x x x x x x x o o o o o o o o";
5106 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
5107 "x x x x x x x x i i i i i i i i";
5112 min_write_delay = 16000;
5113 max_write_delay = 16000;
5115 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
5116 "x x x x x x x x o o o o o o o o";
5118 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
5119 "x x x x x x x x i i i i i i i i";
5124 min_write_delay = 16000;
5125 max_write_delay = 16000;
5127 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
5128 "x x x x x x x x o o o o o o o o";
5130 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
5131 "x x x x x x x x 1 1 1 1 1 i i i";
5136 min_write_delay = 16000;
5137 max_write_delay = 16000;
5139 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
5140 "x x x x x x x x x x o o o o o o";
5142 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
5143 "x x x x x x x x 1 1 i i i i i i";
5149 read = "0 0 1 1 0 0 0 0 0 0 x x x x x x",
5150 "x x x x x x a1 a0 o o o o o o o o";
5153 memory "calibration"
5156 read = "0 0 1 1 1 0 0 0 0 0 x x x x x x",
5157 "0 0 0 0 0 0 0 0 o o o o o o o o";
5163 #------------------------------------------------------------
5165 #------------------------------------------------------------
5170 stk500_devcode = 0x81;
5171 avr910_devcode = 0x64;
5172 signature = 0x1e 0x94 0x02;
5173 chip_erase_delay = 32000;
5176 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
5177 "x x x x x x x x x x x x x x x x";
5179 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
5180 "x x x x x x x x x x x x x x x x";
5194 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
5195 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
5196 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
5197 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
5198 hventerstabdelay = 100;
5205 hvleavestabdelay = 15;
5206 chiperasepulsewidth = 0;
5207 chiperasepolltimeout = 30;
5208 programfusepulsewidth = 0;
5209 programfusepolltimeout = 2;
5210 programlockpulsewidth = 0;
5211 programlockpolltimeout = 2;
5216 min_write_delay = 4000;
5217 max_write_delay = 4000;
5220 read = " 1 0 1 0 0 0 0 0",
5221 " x x x x x x x a8",
5222 " a7 a6 a5 a4 a3 a2 a1 a0",
5225 write = " 1 1 0 0 0 0 0 0",
5226 " x x x x x x x a8",
5227 " a7 a6 a5 a4 a3 a2 a1 a0",
5240 min_write_delay = 16000;
5241 max_write_delay = 16000;
5244 read_lo = " 0 0 1 0 0 0 0 0",
5245 " x x x a12 a11 a10 a9 a8",
5246 " a7 a6 a5 a4 a3 a2 a1 a0",
5249 read_hi = " 0 0 1 0 1 0 0 0",
5250 " x x x a12 a11 a10 a9 a8",
5251 " a7 a6 a5 a4 a3 a2 a1 a0",
5254 loadpage_lo = " 0 1 0 0 0 0 0 0",
5256 " x x a5 a4 a3 a2 a1 a0",
5259 loadpage_hi = " 0 1 0 0 1 0 0 0",
5261 " x x a5 a4 a3 a2 a1 a0",
5264 writepage = " 0 1 0 0 1 1 0 0",
5265 " x x x a12 a11 a10 a9 a8",
5266 " a7 a6 x x x x x x",
5277 min_write_delay = 2000;
5278 max_write_delay = 2000;
5279 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
5280 "x x x x x x x x o o x x o o o o";
5282 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
5283 "x x x x x x x x i i 1 1 i i i i";
5288 min_write_delay = 2000;
5289 max_write_delay = 2000;
5290 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
5291 "x x x x x x x x x x x x 1 o o o";
5293 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
5294 "x x x x x x x x 1 1 1 1 1 i i i";
5299 min_write_delay = 2000;
5300 max_write_delay = 2000;
5301 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
5302 "x x x x 0 x x x x x o o o o o o";
5304 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
5305 "x x x x x x x x 1 1 i i i i i i";
5310 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
5311 "x x x x x x a1 a0 o o o o o o o o";
5314 memory "calibration"
5316 read = "0 0 1 1 1 0 0 0 x x x x x x x x",
5317 "0 0 0 0 0 0 0 0 o o o o o o o o";
5321 #------------------------------------------------------------
5323 #------------------------------------------------------------
5329 stk500_devcode = 0x85;
5330 avr910_devcode = 0x78;
5331 signature = 0x1e 0x94 0x05;
5332 chip_erase_delay = 9000;
5333 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
5334 "x x x x x x x x x x x x x x x x";
5336 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
5337 "x x x x x x x x x x x x x x x x";
5350 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
5351 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
5352 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
5353 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
5354 hventerstabdelay = 100;
5361 hvleavestabdelay = 15;
5362 chiperasepulsewidth = 0;
5363 chiperasepolltimeout = 10;
5364 programfusepulsewidth = 0;
5365 programfusepolltimeout = 5;
5366 programlockpulsewidth = 0;
5367 programlockpolltimeout = 5;
5373 paged = no; /* leave this "no" */
5374 page_size = 4; /* for parallel programming */
5376 min_write_delay = 9000;
5377 max_write_delay = 9000;
5380 read = " 1 0 1 0 0 0 0 0",
5381 " x x x x x x x a8",
5382 " a7 a6 a5 a4 a3 a2 a1 a0",
5385 write = " 1 1 0 0 0 0 0 0",
5386 " x x x x x x x a8",
5387 " a7 a6 a5 a4 a3 a2 a1 a0",
5390 loadpage_lo = " 1 1 0 0 0 0 0 1",
5392 " 0 0 0 0 0 0 a1 a0",
5395 writepage = " 1 1 0 0 0 0 1 0",
5396 " 0 0 x x x x x a8",
5397 " a7 a6 a5 a4 a3 a2 0 0",
5411 min_write_delay = 4500;
5412 max_write_delay = 4500;
5415 read_lo = " 0 0 1 0 0 0 0 0",
5416 " x x x a12 a11 a10 a9 a8",
5417 " a7 a6 a5 a4 a3 a2 a1 a0",
5420 read_hi = " 0 0 1 0 1 0 0 0",
5421 " x x x a12 a11 a10 a9 a8",
5422 " a7 a6 a5 a4 a3 a2 a1 a0",
5425 loadpage_lo = " 0 1 0 0 0 0 0 0",
5427 " x x a5 a4 a3 a2 a1 a0",
5430 loadpage_hi = " 0 1 0 0 1 0 0 0",
5432 " x x a5 a4 a3 a2 a1 a0",
5435 writepage = " 0 1 0 0 1 1 0 0",
5436 " x x x a12 a11 a10 a9 a8",
5437 " a7 a6 x x x x x x",
5448 min_write_delay = 2000;
5449 max_write_delay = 2000;
5450 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
5451 "x x x x x x x x o o o o o o o o";
5453 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
5454 "x x x x x x x x i i i i i i i i";
5459 min_write_delay = 2000;
5460 max_write_delay = 2000;
5461 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
5462 "x x x x x x x x o o o o o o o o";
5464 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
5465 "x x x x x x x x i i i i i i i i";
5470 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
5471 "x x x x x x x x x x x x i i i i";
5473 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
5474 "x x x x x x x x o o o o o o o o";
5479 min_write_delay = 2000;
5480 max_write_delay = 2000;
5481 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
5482 "x x x x x x x x x x o o o o o o";
5484 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
5485 "x x x x x x x x 1 1 i i i i i i";
5490 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
5491 "x x x x x x a1 a0 o o o o o o o o";
5494 memory "calibration"
5496 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
5497 "0 0 0 0 0 0 0 0 o o o o o o o o";
5501 #------------------------------------------------------------
5503 #------------------------------------------------------------
5509 # stk500_devcode = 0x85; # no STK500 support, only STK500v2
5510 # avr910_devcode = 0x?; # try the ATmega169 one:
5511 avr910_devcode = 0x75;
5512 signature = 0x1e 0x95 0x03;
5513 chip_erase_delay = 9000;
5514 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
5515 "x x x x x x x x x x x x x x x x";
5517 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
5518 "x x x x x x x x x x x x x x x x";
5531 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
5532 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
5533 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
5534 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
5535 hventerstabdelay = 100;
5542 hvleavestabdelay = 15;
5543 chiperasepulsewidth = 0;
5544 chiperasepolltimeout = 10;
5545 programfusepulsewidth = 0;
5546 programfusepolltimeout = 5;
5547 programlockpulsewidth = 0;
5548 programlockpolltimeout = 5;
5554 paged = no; /* leave this "no" */
5555 page_size = 4; /* for parallel programming */
5557 min_write_delay = 9000;
5558 max_write_delay = 9000;
5561 read = " 1 0 1 0 0 0 0 0",
5562 " x x x x x x a9 a8",
5563 " a7 a6 a5 a4 a3 a2 a1 a0",
5566 write = " 1 1 0 0 0 0 0 0",
5567 " x x x x x x a9 a8",
5568 " a7 a6 a5 a4 a3 a2 a1 a0",
5571 loadpage_lo = " 1 1 0 0 0 0 0 1",
5573 " 0 0 0 0 0 0 a1 a0",
5576 writepage = " 1 1 0 0 0 0 1 0",
5577 " 0 0 x x x x a9 a8",
5578 " a7 a6 a5 a4 a3 a2 0 0",
5592 min_write_delay = 4500;
5593 max_write_delay = 4500;
5596 read_lo = " 0 0 1 0 0 0 0 0",
5597 " x a14 a13 a12 a11 a10 a9 a8",
5598 " a7 a6 a5 a4 a3 a2 a1 a0",
5601 read_hi = " 0 0 1 0 1 0 0 0",
5602 " x a14 a13 a12 a11 a10 a9 a8",
5603 " a7 a6 a5 a4 a3 a2 a1 a0",
5606 loadpage_lo = " 0 1 0 0 0 0 0 0",
5608 " x x a5 a4 a3 a2 a1 a0",
5611 loadpage_hi = " 0 1 0 0 1 0 0 0",
5613 " x x a5 a4 a3 a2 a1 a0",
5616 writepage = " 0 1 0 0 1 1 0 0",
5617 " x x x a12 a11 a10 a9 a8",
5618 " a7 a6 x x x x x x",
5629 min_write_delay = 4500;
5630 max_write_delay = 4500;
5631 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
5632 "x x x x x x x x o o o o o o o o";
5634 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
5635 "x x x x x x x x i i i i i i i i";
5640 min_write_delay = 4500;
5641 max_write_delay = 4500;
5642 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
5643 "x x x x x x x x o o o o o o o o";
5645 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
5646 "x x x x x x x x i i i i i i i i";
5651 min_write_delay = 4500;
5652 max_write_delay = 4500;
5653 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
5654 "x x x x x x x x o o o o o o o o";
5656 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
5657 "x x x x x x x x x x x x x i i i";
5662 min_write_delay = 4500;
5663 max_write_delay = 4500;
5664 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
5665 "x x x x x x x x x x o o o o o o";
5667 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
5668 "x x x x x x x x 1 1 i i i i i i";
5673 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
5674 "x x x x x x a1 a0 o o o o o o o o";
5677 memory "calibration"
5679 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
5680 "0 0 0 0 0 0 0 0 o o o o o o o o";
5684 #------------------------------------------------------------
5686 #------------------------------------------------------------
5687 # Identical to ATmega329 except of the signature
5691 desc = "ATMEGA329P";
5693 # stk500_devcode = 0x85; # no STK500 support, only STK500v2
5694 # avr910_devcode = 0x?; # try the ATmega169 one:
5695 avr910_devcode = 0x75;
5696 signature = 0x1e 0x95 0x0b;
5697 chip_erase_delay = 9000;
5698 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
5699 "x x x x x x x x x x x x x x x x";
5701 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
5702 "x x x x x x x x x x x x x x x x";
5715 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
5716 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
5717 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
5718 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
5719 hventerstabdelay = 100;
5726 hvleavestabdelay = 15;
5727 chiperasepulsewidth = 0;
5728 chiperasepolltimeout = 10;
5729 programfusepulsewidth = 0;
5730 programfusepolltimeout = 5;
5731 programlockpulsewidth = 0;
5732 programlockpolltimeout = 5;
5738 paged = no; /* leave this "no" */
5739 page_size = 4; /* for parallel programming */
5741 min_write_delay = 9000;
5742 max_write_delay = 9000;
5745 read = " 1 0 1 0 0 0 0 0",
5746 " x x x x x x a9 a8",
5747 " a7 a6 a5 a4 a3 a2 a1 a0",
5750 write = " 1 1 0 0 0 0 0 0",
5751 " x x x x x x a9 a8",
5752 " a7 a6 a5 a4 a3 a2 a1 a0",
5755 loadpage_lo = " 1 1 0 0 0 0 0 1",
5757 " 0 0 0 0 0 0 a1 a0",
5760 writepage = " 1 1 0 0 0 0 1 0",
5761 " 0 0 x x x x a9 a8",
5762 " a7 a6 a5 a4 a3 a2 0 0",
5776 min_write_delay = 4500;
5777 max_write_delay = 4500;
5780 read_lo = " 0 0 1 0 0 0 0 0",
5781 " x a14 a13 a12 a11 a10 a9 a8",
5782 " a7 a6 a5 a4 a3 a2 a1 a0",
5785 read_hi = " 0 0 1 0 1 0 0 0",
5786 " x a14 a13 a12 a11 a10 a9 a8",
5787 " a7 a6 a5 a4 a3 a2 a1 a0",
5790 loadpage_lo = " 0 1 0 0 0 0 0 0",
5792 " x x a5 a4 a3 a2 a1 a0",
5795 loadpage_hi = " 0 1 0 0 1 0 0 0",
5797 " x x a5 a4 a3 a2 a1 a0",
5800 writepage = " 0 1 0 0 1 1 0 0",
5801 " x x x a12 a11 a10 a9 a8",
5802 " a7 a6 x x x x x x",
5813 min_write_delay = 4500;
5814 max_write_delay = 4500;
5815 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
5816 "x x x x x x x x o o o o o o o o";
5818 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
5819 "x x x x x x x x i i i i i i i i";
5824 min_write_delay = 4500;
5825 max_write_delay = 4500;
5826 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
5827 "x x x x x x x x o o o o o o o o";
5829 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
5830 "x x x x x x x x i i i i i i i i";
5835 min_write_delay = 4500;
5836 max_write_delay = 4500;
5837 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
5838 "x x x x x x x x o o o o o o o o";
5840 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
5841 "x x x x x x x x x x x x x i i i";
5846 min_write_delay = 4500;
5847 max_write_delay = 4500;
5848 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
5849 "x x x x x x x x x x o o o o o o";
5851 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
5852 "x x x x x x x x 1 1 i i i i i i";
5857 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
5858 "x x x x x x a1 a0 o o o o o o o o";
5861 memory "calibration"
5863 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
5864 "0 0 0 0 0 0 0 0 o o o o o o o o";
5868 #------------------------------------------------------------
5870 #------------------------------------------------------------
5872 # identical to ATmega329
5876 desc = "ATMEGA3290";
5878 # stk500_devcode = 0x85; # no STK500 support, only STK500v2
5879 # avr910_devcode = 0x?; # try the ATmega169 one:
5880 avr910_devcode = 0x75;
5881 signature = 0x1e 0x95 0x04;
5882 chip_erase_delay = 9000;
5883 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
5884 "x x x x x x x x x x x x x x x x";
5886 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
5887 "x x x x x x x x x x x x x x x x";
5900 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
5901 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
5902 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
5903 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
5904 hventerstabdelay = 100;
5911 hvleavestabdelay = 15;
5912 chiperasepulsewidth = 0;
5913 chiperasepolltimeout = 10;
5914 programfusepulsewidth = 0;
5915 programfusepolltimeout = 5;
5916 programlockpulsewidth = 0;
5917 programlockpolltimeout = 5;
5923 paged = no; /* leave this "no" */
5924 page_size = 4; /* for parallel programming */
5926 min_write_delay = 9000;
5927 max_write_delay = 9000;
5930 read = " 1 0 1 0 0 0 0 0",
5931 " x x x x x x a9 a8",
5932 " a7 a6 a5 a4 a3 a2 a1 a0",
5935 write = " 1 1 0 0 0 0 0 0",
5936 " x x x x x x a9 a8",
5937 " a7 a6 a5 a4 a3 a2 a1 a0",
5940 loadpage_lo = " 1 1 0 0 0 0 0 1",
5942 " 0 0 0 0 0 0 a1 a0",
5945 writepage = " 1 1 0 0 0 0 1 0",
5946 " 0 0 x x x x a9 a8",
5947 " a7 a6 a5 a4 a3 a3 0 0",
5961 min_write_delay = 4500;
5962 max_write_delay = 4500;
5965 read_lo = " 0 0 1 0 0 0 0 0",
5966 " x a14 a13 a12 a11 a10 a9 a8",
5967 " a7 a6 a5 a4 a3 a2 a1 a0",
5970 read_hi = " 0 0 1 0 1 0 0 0",
5971 " x a14 a13 a12 a11 a10 a9 a8",
5972 " a7 a6 a5 a4 a3 a2 a1 a0",
5975 loadpage_lo = " 0 1 0 0 0 0 0 0",
5977 " x x a5 a4 a3 a2 a1 a0",
5980 loadpage_hi = " 0 1 0 0 1 0 0 0",
5982 " x x a5 a4 a3 a2 a1 a0",
5985 writepage = " 0 1 0 0 1 1 0 0",
5986 " x x x a12 a11 a10 a9 a8",
5987 " a7 a6 x x x x x x",
5998 min_write_delay = 4500;
5999 max_write_delay = 4500;
6000 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
6001 "x x x x x x x x o o o o o o o o";
6003 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
6004 "x x x x x x x x i i i i i i i i";
6009 min_write_delay = 4500;
6010 max_write_delay = 4500;
6011 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
6012 "x x x x x x x x o o o o o o o o";
6014 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
6015 "x x x x x x x x i i i i i i i i";
6020 min_write_delay = 4500;
6021 max_write_delay = 4500;
6022 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
6023 "x x x x x x x x o o o o o o o o";
6025 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
6026 "x x x x x x x x x x x x x i i i";
6031 min_write_delay = 4500;
6032 max_write_delay = 4500;
6033 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
6034 "x x x x x x x x x x o o o o o o";
6036 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
6037 "x x x x x x x x 1 1 i i i i i i";
6042 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
6043 "x x x x x x a1 a0 o o o o o o o o";
6046 memory "calibration"
6048 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
6049 "0 0 0 0 0 0 0 0 o o o o o o o o";
6053 #------------------------------------------------------------
6055 #------------------------------------------------------------
6057 # identical to ATmega3290 except of the signature
6061 desc = "ATMEGA3290P";
6063 # stk500_devcode = 0x85; # no STK500 support, only STK500v2
6064 # avr910_devcode = 0x?; # try the ATmega169 one:
6065 avr910_devcode = 0x75;
6066 signature = 0x1e 0x95 0x0c;
6067 chip_erase_delay = 9000;
6068 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
6069 "x x x x x x x x x x x x x x x x";
6071 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
6072 "x x x x x x x x x x x x x x x x";
6085 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
6086 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
6087 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
6088 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
6089 hventerstabdelay = 100;
6096 hvleavestabdelay = 15;
6097 chiperasepulsewidth = 0;
6098 chiperasepolltimeout = 10;
6099 programfusepulsewidth = 0;
6100 programfusepolltimeout = 5;
6101 programlockpulsewidth = 0;
6102 programlockpolltimeout = 5;
6108 paged = no; /* leave this "no" */
6109 page_size = 4; /* for parallel programming */
6111 min_write_delay = 9000;
6112 max_write_delay = 9000;
6115 read = " 1 0 1 0 0 0 0 0",
6116 " x x x x x x a9 a8",
6117 " a7 a6 a5 a4 a3 a2 a1 a0",
6120 write = " 1 1 0 0 0 0 0 0",
6121 " x x x x x x a9 a8",
6122 " a7 a6 a5 a4 a3 a2 a1 a0",
6125 loadpage_lo = " 1 1 0 0 0 0 0 1",
6127 " 0 0 0 0 0 0 a1 a0",
6130 writepage = " 1 1 0 0 0 0 1 0",
6131 " 0 0 x x x x a9 a8",
6132 " a7 a6 a5 a4 a3 a3 0 0",
6146 min_write_delay = 4500;
6147 max_write_delay = 4500;
6150 read_lo = " 0 0 1 0 0 0 0 0",
6151 " x a14 a13 a12 a11 a10 a9 a8",
6152 " a7 a6 a5 a4 a3 a2 a1 a0",
6155 read_hi = " 0 0 1 0 1 0 0 0",
6156 " x a14 a13 a12 a11 a10 a9 a8",
6157 " a7 a6 a5 a4 a3 a2 a1 a0",
6160 loadpage_lo = " 0 1 0 0 0 0 0 0",
6162 " x x a5 a4 a3 a2 a1 a0",
6165 loadpage_hi = " 0 1 0 0 1 0 0 0",
6167 " x x a5 a4 a3 a2 a1 a0",
6170 writepage = " 0 1 0 0 1 1 0 0",
6171 " x x x a12 a11 a10 a9 a8",
6172 " a7 a6 x x x x x x",
6183 min_write_delay = 4500;
6184 max_write_delay = 4500;
6185 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
6186 "x x x x x x x x o o o o o o o o";
6188 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
6189 "x x x x x x x x i i i i i i i i";
6194 min_write_delay = 4500;
6195 max_write_delay = 4500;
6196 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
6197 "x x x x x x x x o o o o o o o o";
6199 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
6200 "x x x x x x x x i i i i i i i i";
6205 min_write_delay = 4500;
6206 max_write_delay = 4500;
6207 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
6208 "x x x x x x x x o o o o o o o o";
6210 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
6211 "x x x x x x x x x x x x x i i i";
6216 min_write_delay = 4500;
6217 max_write_delay = 4500;
6218 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
6219 "x x x x x x x x x x o o o o o o";
6221 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
6222 "x x x x x x x x 1 1 i i i i i i";
6227 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
6228 "x x x x x x a1 a0 o o o o o o o o";
6231 memory "calibration"
6233 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
6234 "0 0 0 0 0 0 0 0 o o o o o o o o";
6238 #------------------------------------------------------------
6240 #------------------------------------------------------------
6246 # stk500_devcode = 0x85; # no STK500 support, only STK500v2
6247 # avr910_devcode = 0x?; # try the ATmega169 one:
6248 avr910_devcode = 0x75;
6249 signature = 0x1e 0x96 0x03;
6250 chip_erase_delay = 9000;
6251 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
6252 "x x x x x x x x x x x x x x x x";
6254 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
6255 "x x x x x x x x x x x x x x x x";
6268 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
6269 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
6270 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
6271 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
6272 hventerstabdelay = 100;
6279 hvleavestabdelay = 15;
6280 chiperasepulsewidth = 0;
6281 chiperasepolltimeout = 10;
6282 programfusepulsewidth = 0;
6283 programfusepolltimeout = 5;
6284 programlockpulsewidth = 0;
6285 programlockpolltimeout = 5;
6291 paged = no; /* leave this "no" */
6292 page_size = 8; /* for parallel programming */
6294 min_write_delay = 9000;
6295 max_write_delay = 9000;
6298 read = " 1 0 1 0 0 0 0 0",
6299 " x x x x x a10 a9 a8",
6300 " a7 a6 a5 a4 a3 a2 a1 a0",
6303 write = " 1 1 0 0 0 0 0 0",
6304 " x x x x x a10 a9 a8",
6305 " a7 a6 a5 a4 a3 a2 a1 a0",
6308 loadpage_lo = " 1 1 0 0 0 0 0 1",
6310 " 0 0 0 0 0 a2 a1 a0",
6313 writepage = " 1 1 0 0 0 0 1 0",
6314 " 0 0 x x x a10 a9 a8",
6315 " a7 a6 a5 a4 a3 0 0 0",
6329 min_write_delay = 4500;
6330 max_write_delay = 4500;
6333 read_lo = " 0 0 1 0 0 0 0 0",
6334 "a15 a14 a13 a12 a11 a10 a9 a8",
6335 " a7 a6 a5 a4 a3 a2 a1 a0",
6338 read_hi = " 0 0 1 0 1 0 0 0",
6339 "a15 a14 a13 a12 a11 a10 a9 a8",
6340 " a7 a6 a5 a4 a3 a2 a1 a0",
6343 loadpage_lo = " 0 1 0 0 0 0 0 0",
6345 " x a6 a5 a4 a3 a2 a1 a0",
6348 loadpage_hi = " 0 1 0 0 1 0 0 0",
6350 " x a6 a5 a4 a3 a2 a1 a0",
6353 writepage = " 0 1 0 0 1 1 0 0",
6354 " x x x a12 a11 a10 a9 a8",
6355 " a7 x x x x x x x",
6366 min_write_delay = 4500;
6367 max_write_delay = 4500;
6368 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
6369 "x x x x x x x x o o o o o o o o";
6371 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
6372 "x x x x x x x x i i i i i i i i";
6377 min_write_delay = 4500;
6378 max_write_delay = 4500;
6379 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
6380 "x x x x x x x x o o o o o o o o";
6382 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
6383 "x x x x x x x x i i i i i i i i";
6388 min_write_delay = 4500;
6389 max_write_delay = 4500;
6390 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
6391 "x x x x x x x x o o o o o o o o";
6393 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
6394 "x x x x x x x x x x x x x i i i";
6399 min_write_delay = 4500;
6400 max_write_delay = 4500;
6401 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
6402 "x x x x x x x x x x o o o o o o";
6404 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
6405 "x x x x x x x x 1 1 i i i i i i";
6410 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
6411 "x x x x x x a1 a0 o o o o o o o o";
6414 memory "calibration"
6416 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
6417 "0 0 0 0 0 0 0 0 o o o o o o o o";
6421 #------------------------------------------------------------
6423 #------------------------------------------------------------
6425 # identical to ATmega649
6429 desc = "ATMEGA6490";
6431 # stk500_devcode = 0x85; # no STK500 support, only STK500v2
6432 # avr910_devcode = 0x?; # try the ATmega169 one:
6433 avr910_devcode = 0x75;
6434 signature = 0x1e 0x96 0x04;
6435 chip_erase_delay = 9000;
6436 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
6437 "x x x x x x x x x x x x x x x x";
6439 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
6440 "x x x x x x x x x x x x x x x x";
6453 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
6454 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
6455 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
6456 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
6457 hventerstabdelay = 100;
6464 hvleavestabdelay = 15;
6465 chiperasepulsewidth = 0;
6466 chiperasepolltimeout = 10;
6467 programfusepulsewidth = 0;
6468 programfusepolltimeout = 5;
6469 programlockpulsewidth = 0;
6470 programlockpolltimeout = 5;
6476 paged = no; /* leave this "no" */
6477 page_size = 8; /* for parallel programming */
6479 min_write_delay = 9000;
6480 max_write_delay = 9000;
6483 read = " 1 0 1 0 0 0 0 0",
6484 " x x x x x a10 a9 a8",
6485 " a7 a6 a5 a4 a3 a2 a1 a0",
6488 write = " 1 1 0 0 0 0 0 0",
6489 " x x x x x a10 a9 a8",
6490 " a7 a6 a5 a4 a3 a2 a1 a0",
6493 loadpage_lo = " 1 1 0 0 0 0 0 1",
6495 " 0 0 0 0 0 a2 a1 a0",
6498 writepage = " 1 1 0 0 0 0 1 0",
6499 " 0 0 x x x x x a8",
6500 " a7 a6 a5 a4 a3 0 0 0",
6503 loadpage_lo = " 1 1 0 0 0 0 0 1",
6505 " 0 0 0 0 0 a2 a1 a0",
6508 writepage = " 1 1 0 0 0 0 1 0",
6509 " 0 0 x x x a10 a9 a8",
6510 " a7 a6 a5 a4 a3 0 0 0",
6524 min_write_delay = 4500;
6525 max_write_delay = 4500;
6528 read_lo = " 0 0 1 0 0 0 0 0",
6529 "a15 a14 a13 a12 a11 a10 a9 a8",
6530 " a7 a6 a5 a4 a3 a2 a1 a0",
6533 read_hi = " 0 0 1 0 1 0 0 0",
6534 "a15 a14 a13 a12 a11 a10 a9 a8",
6535 " a7 a6 a5 a4 a3 a2 a1 a0",
6538 loadpage_lo = " 0 1 0 0 0 0 0 0",
6540 " x a6 a5 a4 a3 a2 a1 a0",
6543 loadpage_hi = " 0 1 0 0 1 0 0 0",
6545 " x a6 a5 a4 a3 a2 a1 a0",
6548 writepage = " 0 1 0 0 1 1 0 0",
6549 " x x x a12 a11 a10 a9 a8",
6550 " a7 x x x x x x x",
6561 min_write_delay = 4500;
6562 max_write_delay = 4500;
6563 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
6564 "x x x x x x x x o o o o o o o o";
6566 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
6567 "x x x x x x x x i i i i i i i i";
6572 min_write_delay = 4500;
6573 max_write_delay = 4500;
6574 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
6575 "x x x x x x x x o o o o o o o o";
6577 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
6578 "x x x x x x x x i i i i i i i i";
6583 min_write_delay = 4500;
6584 max_write_delay = 4500;
6585 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
6586 "x x x x x x x x o o o o o o o o";
6588 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
6589 "x x x x x x x x x x x x x i i i";
6594 min_write_delay = 4500;
6595 max_write_delay = 4500;
6596 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
6597 "x x x x x x x x x x o o o o o o";
6599 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
6600 "x x x x x x x x 1 1 i i i i i i";
6605 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
6606 "x x x x x x a1 a0 o o o o o o o o";
6609 memory "calibration"
6611 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
6612 "0 0 0 0 0 0 0 0 o o o o o o o o";
6616 #------------------------------------------------------------
6618 #------------------------------------------------------------
6624 stk500_devcode = 0x91;
6625 avr910_devcode = 0x72;
6626 signature = 0x1e 0x95 0x02;
6627 chip_erase_delay = 9000;
6631 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
6632 "x x x x x x x x x x x x x x x x";
6634 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
6635 "x x x x x x x x x x x x x x x x";
6648 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
6649 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
6650 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
6651 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
6652 hventerstabdelay = 100;
6659 hvleavestabdelay = 15;
6660 chiperasepulsewidth = 0;
6661 chiperasepolltimeout = 10;
6662 programfusepulsewidth = 0;
6663 programfusepolltimeout = 5;
6664 programlockpulsewidth = 0;
6665 programlockpolltimeout = 5;
6669 allowfullpagebitstream = yes;
6672 paged = no; /* leave this "no" */
6673 page_size = 4; /* for parallel programming */
6675 min_write_delay = 9000;
6676 max_write_delay = 9000;
6679 read = " 1 0 1 0 0 0 0 0",
6680 " 0 0 x x x x a9 a8",
6681 " a7 a6 a5 a4 a3 a2 a1 a0",
6684 write = " 1 1 0 0 0 0 0 0",
6685 " 0 0 x x x x a9 a8",
6686 " a7 a6 a5 a4 a3 a2 a1 a0",
6689 loadpage_lo = " 1 1 0 0 0 0 0 1",
6691 " 0 0 0 0 0 0 a1 a0",
6694 writepage = " 1 1 0 0 0 0 1 0",
6695 " 0 0 x x x x a9 a8",
6696 " a7 a6 a5 a4 a3 a2 0 0",
6710 min_write_delay = 4500;
6711 max_write_delay = 4500;
6714 read_lo = " 0 0 1 0 0 0 0 0",
6715 " 0 0 a13 a12 a11 a10 a9 a8",
6716 " a7 a6 a5 a4 a3 a2 a1 a0",
6719 read_hi = " 0 0 1 0 1 0 0 0",
6720 " 0 0 a13 a12 a11 a10 a9 a8",
6721 " a7 a6 a5 a4 a3 a2 a1 a0",
6724 loadpage_lo = " 0 1 0 0 0 0 0 0",
6726 " x x a5 a4 a3 a2 a1 a0",
6729 loadpage_hi = " 0 1 0 0 1 0 0 0",
6731 " x x a5 a4 a3 a2 a1 a0",
6734 writepage = " 0 1 0 0 1 1 0 0",
6735 " 0 0 a13 a12 a11 a10 a9 a8",
6736 " a7 a6 x x x x x x",
6747 min_write_delay = 2000;
6748 max_write_delay = 2000;
6749 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
6750 "x x x x x x x x o o o o o o o o";
6752 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
6753 "x x x x x x x x i i i i i i i i";
6758 min_write_delay = 2000;
6759 max_write_delay = 2000;
6760 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
6761 "x x x x x x x x o o o o o o o o";
6763 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
6764 "x x x x x x x x i i i i i i i i";
6769 min_write_delay = 2000;
6770 max_write_delay = 2000;
6771 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
6772 "x x x x x x x x x x o o o o o o";
6774 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
6775 "x x x x x x x x 1 1 i i i i i i";
6780 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
6781 "x x x x x x a1 a0 o o o o o o o o";
6784 memory "calibration"
6786 read = "0 0 1 1 1 0 0 0 0 0 x x x x x x",
6787 "0 0 0 0 0 0 a1 a0 o o o o o o o o";
6791 #------------------------------------------------------------
6793 #------------------------------------------------------------
6798 stk500_devcode = 0x80;
6799 avr910_devcode = 0x60;
6800 signature = 0x1e 0x94 0x01;
6801 chip_erase_delay = 28000;
6804 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
6805 "x x x x x x x x x x x x x x x x";
6807 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
6808 "x x x x x x x x x x x x x x x x";
6821 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
6822 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
6823 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
6824 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
6825 hventerstabdelay = 100;
6832 hvleavestabdelay = 15;
6833 chiperasepulsewidth = 0;
6834 chiperasepolltimeout = 30;
6835 programfusepulsewidth = 0;
6836 programfusepolltimeout = 2;
6837 programlockpulsewidth = 0;
6838 programlockpolltimeout = 2;
6842 min_write_delay = 3400;
6843 max_write_delay = 3400;
6846 read = " 1 0 1 0 0 0 0 0",
6847 " x x x x x x x a8",
6848 " a7 a6 a5 a4 a3 a2 a1 a0",
6851 write = " 1 1 0 0 0 0 0 0",
6852 " x x x x x x x a8",
6853 " a7 a6 a5 a4 a3 a2 a1 a0",
6867 min_write_delay = 14000;
6868 max_write_delay = 14000;
6871 read_lo = " 0 0 1 0 0 0 0 0",
6872 " x x x a12 a11 a10 a9 a8",
6873 " a7 a6 a5 a4 a3 a2 a1 a0",
6876 read_hi = " 0 0 1 0 1 0 0 0",
6877 " x x x a12 a11 a10 a9 a8",
6878 " a7 a6 a5 a4 a3 a2 a1 a0",
6881 loadpage_lo = " 0 1 0 0 0 0 0 0",
6883 " x x a5 a4 a3 a2 a1 a0",
6886 loadpage_hi = " 0 1 0 0 1 0 0 0",
6888 " x x a5 a4 a3 a2 a1 a0",
6891 writepage = " 0 1 0 0 1 1 0 0",
6892 " x x x a12 a11 a10 a9 a8",
6893 " a7 a6 x x x x x x",
6904 min_write_delay = 2000;
6905 max_write_delay = 2000;
6906 read = "0 1 0 1 0 0 0 0 x x x x x x x x",
6907 "x x x x x x x x x o x o o o o o";
6909 write = "1 0 1 0 1 1 0 0 1 0 1 x x x x x",
6910 "x x x x x x x x 1 i 1 i i i i i";
6915 min_write_delay = 2000;
6916 max_write_delay = 2000;
6917 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
6918 "x x x x x x x x x x o o o o o o";
6920 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
6921 "x x x x x x x x 1 1 i i i i i i";
6925 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
6926 "x x x x x x a1 a0 o o o o o o o o";
6931 #------------------------------------------------------------
6933 #------------------------------------------------------------
6938 stk500_devcode = 0x70;
6939 avr910_devcode = 0x76;
6940 signature = 0x1e 0x93 0x07;
6943 chip_erase_delay = 10000;
6944 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
6945 "x x x x x x x x x x x x x x x x";
6947 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
6948 "x x x x x x x x x x x x x x x x";
6962 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
6963 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
6964 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
6965 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
6966 hventerstabdelay = 100;
6973 hvleavestabdelay = 15;
6975 chiperasepulsewidth = 0;
6976 chiperasepolltimeout = 10;
6977 programfusepulsewidth = 0;
6978 programfusepolltimeout = 5;
6979 programlockpulsewidth = 0;
6980 programlockpolltimeout = 5;
6985 min_write_delay = 9000;
6986 max_write_delay = 9000;
6989 read = " 1 0 1 0 0 0 0 0",
6990 " 0 0 x x x x x a8",
6991 " a7 a6 a5 a4 a3 a2 a1 a0",
6994 write = " 1 1 0 0 0 0 0 0",
6995 " 0 0 x x x x x a8",
6996 " a7 a6 a5 a4 a3 a2 a1 a0",
7009 min_write_delay = 4500;
7010 max_write_delay = 4500;
7013 read_lo = " 0 0 1 0 0 0 0 0",
7014 " 0 0 0 0 a11 a10 a9 a8",
7015 " a7 a6 a5 a4 a3 a2 a1 a0",
7018 read_hi = " 0 0 1 0 1 0 0 0",
7019 " 0 0 0 0 a11 a10 a9 a8",
7020 " a7 a6 a5 a4 a3 a2 a1 a0",
7023 loadpage_lo = " 0 1 0 0 0 0 0 0",
7025 " x x x a4 a3 a2 a1 a0",
7028 loadpage_hi = " 0 1 0 0 1 0 0 0",
7030 " x x x a4 a3 a2 a1 a0",
7033 writepage = " 0 1 0 0 1 1 0 0",
7034 " 0 0 0 0 a11 a10 a9 a8",
7035 " a7 a6 a5 x x x x x",
7046 min_write_delay = 2000;
7047 max_write_delay = 2000;
7048 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
7049 "x x x x x x x x o o o o o o o o";
7051 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
7052 "x x x x x x x x i i i i i i i i";
7057 min_write_delay = 2000;
7058 max_write_delay = 2000;
7059 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
7060 "x x x x x x x x o o o o o o o o";
7062 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
7063 "x x x x x x x x i i i i i i i i";
7068 min_write_delay = 2000;
7069 max_write_delay = 2000;
7070 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
7071 "x x x x x x x x x x o o o o o o";
7073 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
7074 "x x x x x x x x 1 1 i i i i i i";
7077 memory "calibration"
7079 read = "0 0 1 1 1 0 0 0 0 0 x x x x x x",
7080 "0 0 0 0 0 0 a1 a0 o o o o o o o o";
7085 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
7086 "x x x x x x a1 a0 o o o o o o o o";
7092 #------------------------------------------------------------
7094 #------------------------------------------------------------
7098 desc = "ATMEGA8515";
7099 stk500_devcode = 0x63;
7100 avr910_devcode = 0x3A;
7101 signature = 0x1e 0x93 0x06;
7102 chip_erase_delay = 9000;
7103 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
7104 "x x x x x x x x x x x x x x x x";
7106 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
7107 "x x x x x x x x x x x x x x x x";
7121 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
7122 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
7123 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
7124 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
7125 hventerstabdelay = 100;
7132 hvleavestabdelay = 15;
7133 chiperasepulsewidth = 0;
7134 chiperasepolltimeout = 10;
7135 programfusepulsewidth = 0;
7136 programfusepolltimeout = 5;
7137 programlockpulsewidth = 0;
7138 programlockpolltimeout = 5;
7142 min_write_delay = 9000;
7143 max_write_delay = 9000;
7146 read = " 1 0 1 0 0 0 0 0",
7147 " 0 0 x x x x x a8",
7148 " a7 a6 a5 a4 a3 a2 a1 a0",
7151 write = " 1 1 0 0 0 0 0 0",
7152 " 0 0 x x x x x a8",
7153 " a7 a6 a5 a4 a3 a2 a1 a0",
7166 min_write_delay = 4500;
7167 max_write_delay = 4500;
7170 read_lo = " 0 0 1 0 0 0 0 0",
7171 " 0 0 0 0 a11 a10 a9 a8",
7172 " a7 a6 a5 a4 a3 a2 a1 a0",
7175 read_hi = " 0 0 1 0 1 0 0 0",
7176 " 0 0 0 0 a11 a10 a9 a8",
7177 " a7 a6 a5 a4 a3 a2 a1 a0",
7180 loadpage_lo = " 0 1 0 0 0 0 0 0",
7182 " x x x a4 a3 a2 a1 a0",
7185 loadpage_hi = " 0 1 0 0 1 0 0 0",
7187 " x x x a4 a3 a2 a1 a0",
7190 writepage = " 0 1 0 0 1 1 0 0",
7191 " 0 0 0 0 a11 a10 a9 a8",
7192 " a7 a6 a5 x x x x x",
7203 min_write_delay = 4500;
7204 max_write_delay = 4500;
7205 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
7206 "x x x x x x x x o o o o o o o o";
7208 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
7209 "x x x x x x x x i i i i i i i i";
7214 min_write_delay = 4500;
7215 max_write_delay = 4500;
7216 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
7217 "x x x x x x x x o o o o o o o o";
7219 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
7220 "x x x x x x x x i i i i i i i i";
7225 min_write_delay = 4500;
7226 max_write_delay = 4500;
7227 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
7228 "x x x x x x x x x x o o o o o o";
7230 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
7231 "x x x x x x x x 1 1 i i i i i i";
7234 memory "calibration"
7236 read = "0 0 1 1 1 0 0 0 0 0 x x x x x x",
7237 "0 0 0 0 0 0 a1 a0 o o o o o o o o";
7242 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
7243 "x x x x x x a1 a0 o o o o o o o o";
7250 #------------------------------------------------------------
7252 #------------------------------------------------------------
7256 desc = "ATMEGA8535";
7257 stk500_devcode = 0x64;
7258 avr910_devcode = 0x69;
7259 signature = 0x1e 0x93 0x08;
7262 chip_erase_delay = 9000;
7263 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
7264 "x x x x x x x x x x x x x x x x";
7266 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
7267 "x x x x x x x x x x x x x x x x";
7281 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
7282 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
7283 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
7284 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
7285 hventerstabdelay = 100;
7292 hvleavestabdelay = 15;
7293 chiperasepulsewidth = 0;
7294 chiperasepolltimeout = 10;
7295 programfusepulsewidth = 0;
7296 programfusepolltimeout = 5;
7297 programlockpulsewidth = 0;
7298 programlockpolltimeout = 5;
7302 min_write_delay = 9000;
7303 max_write_delay = 9000;
7306 read = " 1 0 1 0 0 0 0 0",
7307 " 0 0 x x x x x a8",
7308 " a7 a6 a5 a4 a3 a2 a1 a0",
7311 write = " 1 1 0 0 0 0 0 0",
7312 " 0 0 x x x x x a8",
7313 " a7 a6 a5 a4 a3 a2 a1 a0",
7326 min_write_delay = 4500;
7327 max_write_delay = 4500;
7330 read_lo = " 0 0 1 0 0 0 0 0",
7331 " 0 0 0 0 a11 a10 a9 a8",
7332 " a7 a6 a5 a4 a3 a2 a1 a0",
7335 read_hi = " 0 0 1 0 1 0 0 0",
7336 " 0 0 0 0 a11 a10 a9 a8",
7337 " a7 a6 a5 a4 a3 a2 a1 a0",
7340 loadpage_lo = " 0 1 0 0 0 0 0 0",
7342 " x x x a4 a3 a2 a1 a0",
7345 loadpage_hi = " 0 1 0 0 1 0 0 0",
7347 " x x x a4 a3 a2 a1 a0",
7350 writepage = " 0 1 0 0 1 1 0 0",
7351 " 0 0 0 0 a11 a10 a9 a8",
7352 " a7 a6 a5 x x x x x",
7363 min_write_delay = 2000;
7364 max_write_delay = 2000;
7365 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
7366 "x x x x x x x x o o o o o o o o";
7368 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
7369 "x x x x x x x x i i i i i i i i";
7374 min_write_delay = 2000;
7375 max_write_delay = 2000;
7376 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
7377 "x x x x x x x x o o o o o o o o";
7379 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
7380 "x x x x x x x x i i i i i i i i";
7385 min_write_delay = 2000;
7386 max_write_delay = 2000;
7387 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
7388 "x x x x x x x x x x o o o o o o";
7390 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
7391 "x x x x x x x x 1 1 i i i i i i";
7394 memory "calibration"
7396 read = "0 0 1 1 1 0 0 0 0 0 x x x x x x",
7397 "0 0 0 0 0 0 a1 a0 o o o o o o o o";
7402 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
7403 "x x x x x x a1 a0 o o o o o o o o";
7408 #------------------------------------------------------------
7410 #------------------------------------------------------------
7415 stk500_devcode = 0x21;
7416 avr910_devcode = 0x5e;
7417 signature = 0x1e 0x91 0x09;
7420 chip_erase_delay = 9000;
7421 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
7422 "x x x x x x x x x x x x x x x x";
7424 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
7425 "x x x x x x x x x x x x x x x x";
7439 0xC4, 0xE4, 0xC4, 0xE4, 0xCC, 0xEC, 0xCC, 0xEC,
7440 0xD4, 0xF4, 0xD4, 0xF4, 0xDC, 0xFC, 0xDC, 0xFC,
7441 0xC8, 0xE8, 0xD8, 0xF8, 0x4C, 0x6C, 0x5C, 0x7C,
7442 0xEC, 0xBC, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00;
7443 hventerstabdelay = 100;
7450 hvleavestabdelay = 15;
7451 chiperasepulsewidth = 0;
7452 chiperasepolltimeout = 10;
7453 programfusepulsewidth = 0;
7454 programfusepolltimeout = 5;
7455 programlockpulsewidth = 0;
7456 programlockpolltimeout = 5;
7460 min_write_delay = 9000;
7461 max_write_delay = 9000;
7464 read = "1 0 1 0 0 0 0 0 x x x x x x x x",
7465 "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
7467 write = "1 1 0 0 0 0 0 0 x x x x x x x x",
7468 "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
7481 min_write_delay = 4500;
7482 max_write_delay = 4500;
7485 read_lo = " 0 0 1 0 0 0 0 0",
7486 " x x x x x x a9 a8",
7487 " a7 a6 a5 a4 a3 a2 a1 a0",
7490 read_hi = " 0 0 1 0 1 0 0 0",
7491 " x x x x x x a9 a8",
7492 " a7 a6 a5 a4 a3 a2 a1 a0",
7495 loadpage_lo = " 0 1 0 0 0 0 0 0",
7497 " x x x x a3 a2 a1 a0",
7500 loadpage_hi = " 0 1 0 0 1 0 0 0",
7502 " x x x x a3 a2 a1 a0",
7505 writepage = " 0 1 0 0 1 1 0 0",
7506 " x x x x x x a9 a8",
7507 " a7 a6 a5 a4 x x x x",
7518 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
7519 "0 0 0 0 0 0 a1 a0 o o o o o o o o";
7524 read = "0 1 0 1 1 0 0 0 x x x x x x x x",
7525 "x x x x x x x x x x x x x x o o";
7527 write = "1 0 1 0 1 1 0 0 1 1 1 1 1 1 i i",
7528 "x x x x x x x x x x x x x x x x";
7529 min_write_delay = 9000;
7530 max_write_delay = 9000;
7535 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
7536 "x x x x x x x x i i i i i i i i";
7538 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
7539 "x x x x x x x x o o o o o o o o";
7540 min_write_delay = 9000;
7541 max_write_delay = 9000;
7546 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
7547 "x x x x x x x x x x x i i i i i";
7549 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
7550 "x x x x x x x x x x x o o o o o";
7551 min_write_delay = 9000;
7552 max_write_delay = 9000;
7555 memory "calibration"
7557 read = "0 0 1 1 1 0 0 0 x x x x x x x x",
7558 "0 0 0 0 0 0 a1 a0 o o o o o o o o";
7564 #------------------------------------------------------------
7566 #------------------------------------------------------------
7572 has_debugwire = yes;
7573 flash_instr = 0xB4, 0x00, 0x10;
7574 eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
7575 0xBC, 0x00, 0xB4, 0x00, 0xBA, 0x0D, 0xBB, 0xBC,
7576 0x99, 0xE1, 0xBB, 0xAC;
7577 # stk500_devcode = 0x21;
7578 # avr910_devcode = 0x5e;
7579 signature = 0x1e 0x91 0x0c;
7582 chip_erase_delay = 4000;
7584 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
7585 "x x x x x x x x x x x x x x x x";
7587 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
7588 "x x x x x x x x x x x x x x x x";
7602 0xC4, 0xE4, 0xC4, 0xE4, 0xCC, 0xEC, 0xCC, 0xEC,
7603 0xD4, 0xF4, 0xD4, 0xF4, 0xDC, 0xFC, 0xDC, 0xFC,
7604 0xC8, 0xE8, 0xD8, 0xF8, 0x4C, 0x6C, 0x5C, 0x7C,
7605 0xEC, 0xBC, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00;
7606 hventerstabdelay = 100;
7613 hvleavestabdelay = 15;
7614 chiperasepulsewidth = 0;
7615 chiperasepolltimeout = 10;
7616 programfusepulsewidth = 0;
7617 programfusepolltimeout = 5;
7618 programlockpulsewidth = 0;
7619 programlockpolltimeout = 5;
7626 min_write_delay = 4000;
7627 max_write_delay = 4000;
7631 read = "1 0 1 0 0 0 0 0 x x x x x x x x",
7632 "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
7634 write = "1 1 0 0 0 0 0 0 x x x x x x x x",
7635 "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
7637 loadpage_lo = " 1 1 0 0 0 0 0 1",
7639 " 0 0 0 0 0 0 a1 a0",
7642 writepage = " 1 1 0 0 0 0 1 0",
7644 " x a6 a5 a4 a3 a2 0 0",
7658 min_write_delay = 4500;
7659 max_write_delay = 4500;
7663 read_lo = " 0 0 1 0 0 0 0 0",
7664 " x x x x x x a9 a8",
7665 " a7 a6 a5 a4 a3 a2 a1 a0",
7668 read_hi = " 0 0 1 0 1 0 0 0",
7669 " x x x x x x a9 a8",
7670 " a7 a6 a5 a4 a3 a2 a1 a0",
7673 loadpage_lo = " 0 1 0 0 0 0 0 0",
7675 " x x x x a3 a2 a1 a0",
7678 loadpage_hi = " 0 1 0 0 1 0 0 0",
7680 " x x x x a3 a2 a1 a0",
7683 writepage = " 0 1 0 0 1 1 0 0",
7684 " x x x x x x a9 a8",
7685 " a7 a6 a5 a4 x x x x",
7696 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
7697 "0 0 0 0 0 0 a1 a0 o o o o o o o o";
7702 read = "0 1 0 1 1 0 0 0 x x x x x x x x",
7703 "x x x x x x x x x x x x x x o o";
7705 write = "1 0 1 0 1 1 0 0 1 1 1 1 1 1 i i",
7706 "x x x x x x x x x x x x x x x x";
7707 min_write_delay = 4500;
7708 max_write_delay = 4500;
7713 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
7714 "x x x x x x x x i i i i i i i i";
7716 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
7717 "x x x x x x x x o o o o o o o o";
7718 min_write_delay = 4500;
7719 max_write_delay = 4500;
7724 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
7725 "x x x x x x x x i i i i i i i i";
7727 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
7728 "x x x x x x x x o o o o o o o o";
7729 min_write_delay = 4500;
7730 max_write_delay = 4500;
7735 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
7736 "x x x x x x x x x x x x x x x i";
7738 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
7739 "x x x x x x x x x x x x x x x o";
7740 min_write_delay = 4500;
7741 max_write_delay = 4500;
7744 memory "calibration"
7746 read = "0 0 1 1 1 0 0 0 x x x x x x x x",
7747 "0 0 0 0 0 0 0 0 o o o o o o o o";
7753 #------------------------------------------------------------
7755 #------------------------------------------------------------
7756 # Close to ATtiny261
7761 has_debugwire = yes;
7762 flash_instr = 0xB4, 0x00, 0x10;
7763 eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
7764 0xBC, 0x00, 0xB4, 0x00, 0xBA, 0x0D, 0xBB, 0xBC,
7765 0x99, 0xE1, 0xBB, 0xAC;
7766 # stk500_devcode = 0x21;
7767 # avr910_devcode = 0x5e;
7768 signature = 0x1e 0x92 0x08;
7771 chip_erase_delay = 4000;
7773 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
7774 "x x x x x x x x x x x x x x x x";
7776 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
7777 "x x x x x x x x x x x x x x x x";
7791 0xC4, 0xE4, 0xC4, 0xE4, 0xCC, 0xEC, 0xCC, 0xEC,
7792 0xD4, 0xF4, 0xD4, 0xF4, 0xDC, 0xFC, 0xDC, 0xFC,
7793 0xC8, 0xE8, 0xD8, 0xF8, 0x4C, 0x6C, 0x5C, 0x7C,
7794 0xEC, 0xBC, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00;
7795 hventerstabdelay = 100;
7802 hvleavestabdelay = 15;
7803 chiperasepulsewidth = 0;
7804 chiperasepolltimeout = 10;
7805 programfusepulsewidth = 0;
7806 programfusepolltimeout = 5;
7807 programlockpulsewidth = 0;
7808 programlockpolltimeout = 5;
7815 min_write_delay = 4000;
7816 max_write_delay = 4000;
7820 read = " 1 0 1 0 0 0 0 0 x x x x x x x x",
7821 "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
7823 write = " 1 1 0 0 0 0 0 0 x x x x x x x x",
7824 "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
7826 loadpage_lo = " 1 1 0 0 0 0 0 1",
7828 " 0 0 0 0 0 0 a1 a0",
7831 writepage = " 1 1 0 0 0 0 1 0",
7833 " a7 a6 a5 a4 a3 a2 0 0",
7847 min_write_delay = 4500;
7848 max_write_delay = 4500;
7852 read_lo = " 0 0 1 0 0 0 0 0",
7853 " x x x x x a10 a9 a8",
7854 " a7 a6 a5 a4 a3 a2 a1 a0",
7857 read_hi = " 0 0 1 0 1 0 0 0",
7858 " x x x x x a10 a9 a8",
7859 " a7 a6 a5 a4 a3 a2 a1 a0",
7862 loadpage_lo = " 0 1 0 0 0 0 0 0",
7864 " x x x a4 a3 a2 a1 a0",
7867 loadpage_hi = " 0 1 0 0 1 0 0 0",
7869 " x x x a4 a3 a2 a1 a0",
7872 writepage = " 0 1 0 0 1 1 0 0",
7873 " x x x x x a10 a9 a8",
7874 " a7 a6 a5 x x x x x",
7885 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
7886 "0 0 0 0 0 0 a1 a0 o o o o o o o o";
7891 read = "0 1 0 1 1 0 0 0 x x x x x x x x",
7892 "x x x x x x x x x x x x x x o o";
7894 write = "1 0 1 0 1 1 0 0 1 1 1 1 1 1 i i",
7895 "x x x x x x x x x x x x x x x x";
7896 min_write_delay = 4500;
7897 max_write_delay = 4500;
7902 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
7903 "x x x x x x x x i i i i i i i i";
7905 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
7906 "x x x x x x x x o o o o o o o o";
7907 min_write_delay = 4500;
7908 max_write_delay = 4500;
7913 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
7914 "x x x x x x x x i i i i i i i i";
7916 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
7917 "x x x x x x x x o o o o o o o o";
7918 min_write_delay = 4500;
7919 max_write_delay = 4500;
7924 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
7925 "x x x x x x x x x x x x x x x i";
7927 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
7928 "x x x x x x x x x x x x x x x o";
7929 min_write_delay = 4500;
7930 max_write_delay = 4500;
7933 memory "calibration"
7935 read = "0 0 1 1 1 0 0 0 x x x x x x x x",
7936 "0 0 0 0 0 0 0 0 o o o o o o o o";
7942 #------------------------------------------------------------
7944 #------------------------------------------------------------
7945 # Close to ATtiny461
7950 has_debugwire = yes;
7951 flash_instr = 0xB4, 0x00, 0x10;
7952 eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
7953 0xBC, 0x00, 0xB4, 0x00, 0xBA, 0x0D, 0xBB, 0xBC,
7954 0x99, 0xE1, 0xBB, 0xAC;
7955 # stk500_devcode = 0x21;
7956 # avr910_devcode = 0x5e;
7957 signature = 0x1e 0x93 0x0d;
7960 chip_erase_delay = 4000;
7962 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
7963 "x x x x x x x x x x x x x x x x";
7965 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
7966 "x x x x x x x x x x x x x x x x";
7980 0xC4, 0xE4, 0xC4, 0xE4, 0xCC, 0xEC, 0xCC, 0xEC,
7981 0xD4, 0xF4, 0xD4, 0xF4, 0xDC, 0xFC, 0xDC, 0xFC,
7982 0xC8, 0xE8, 0xD8, 0xF8, 0x4C, 0x6C, 0x5C, 0x7C,
7983 0xEC, 0xBC, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00;
7984 hventerstabdelay = 100;
7991 hvleavestabdelay = 15;
7992 chiperasepulsewidth = 0;
7993 chiperasepolltimeout = 10;
7994 programfusepulsewidth = 0;
7995 programfusepolltimeout = 5;
7996 programlockpulsewidth = 0;
7997 programlockpolltimeout = 5;
8004 min_write_delay = 4000;
8005 max_write_delay = 4000;
8009 read = " 1 0 1 0 0 0 0 0 x x x x x x x a8",
8010 "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
8012 write = " 1 1 0 0 0 0 0 0 x x x x x x x a8",
8013 "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
8015 loadpage_lo = " 1 1 0 0 0 0 0 1",
8017 " 0 0 0 0 0 0 a1 a0",
8020 writepage = " 1 1 0 0 0 0 1 0",
8021 " 0 0 x x x x x a8",
8022 " a7 a6 a5 a4 a3 a2 0 0",
8036 min_write_delay = 4500;
8037 max_write_delay = 4500;
8041 read_lo = " 0 0 1 0 0 0 0 0",
8042 " x x x x a11 a10 a9 a8",
8043 " a7 a6 a5 a4 a3 a2 a1 a0",
8046 read_hi = " 0 0 1 0 1 0 0 0",
8047 " x x x x a11 a10 a9 a8",
8048 " a7 a6 a5 a4 a3 a2 a1 a0",
8051 loadpage_lo = " 0 1 0 0 0 0 0 0",
8053 " x x x a4 a3 a2 a1 a0",
8056 loadpage_hi = " 0 1 0 0 1 0 0 0",
8058 " x x x a4 a3 a2 a1 a0",
8061 writepage = " 0 1 0 0 1 1 0 0",
8062 " x x x x a11 a10 a9 a8",
8063 " a7 a6 a5 x x x x x",
8074 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
8075 "0 0 0 0 0 0 a1 a0 o o o o o o o o";
8080 read = "0 1 0 1 1 0 0 0 x x x x x x x x",
8081 "x x x x x x x x x x x x x x o o";
8083 write = "1 0 1 0 1 1 0 0 1 1 1 1 1 1 i i",
8084 "x x x x x x x x x x x x x x x x";
8085 min_write_delay = 4500;
8086 max_write_delay = 4500;
8091 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
8092 "x x x x x x x x i i i i i i i i";
8094 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
8095 "x x x x x x x x o o o o o o o o";
8096 min_write_delay = 4500;
8097 max_write_delay = 4500;
8102 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
8103 "x x x x x x x x i i i i i i i i";
8105 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
8106 "x x x x x x x x o o o o o o o o";
8107 min_write_delay = 4500;
8108 max_write_delay = 4500;
8113 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
8114 "x x x x x x x x x x x x x x x i";
8116 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
8117 "x x x x x x x x x x x x x x x o";
8118 min_write_delay = 4500;
8119 max_write_delay = 4500;
8122 memory "calibration"
8124 read = "0 0 1 1 1 0 0 0 x x x x x x x x",
8125 "0 0 0 0 0 0 0 0 o o o o o o o o";
8131 #------------------------------------------------------------
8133 #------------------------------------------------------------
8138 has_debugwire = yes;
8139 flash_instr = 0xB6, 0x01, 0x11;
8140 eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
8141 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF,
8142 0x99, 0xF9, 0xBB, 0xAF;
8143 stk500_devcode = 0x59;
8144 # avr910_devcode = 0x;
8145 signature = 0x1e 0x92 0x05;
8148 chip_erase_delay = 45000;
8149 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
8150 "x x x x x x x x x x x x x x x x";
8152 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
8153 "x x x x x x x x x x x x x x x x";
8167 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
8168 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
8169 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
8170 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
8171 hventerstabdelay = 100;
8178 hvleavestabdelay = 15;
8180 chiperasepulsewidth = 0;
8181 chiperasepolltimeout = 10;
8182 programfusepulsewidth = 0;
8183 programfusepolltimeout = 5;
8184 programlockpulsewidth = 0;
8185 programlockpolltimeout = 5;
8191 min_write_delay = 3600;
8192 max_write_delay = 3600;
8195 read = " 1 0 1 0 0 0 0 0",
8197 " a7 a6 a5 a4 a3 a2 a1 a0",
8200 write = " 1 1 0 0 0 0 0 0",
8202 " a7 a6 a5 a4 a3 a2 a1 a0",
8205 loadpage_lo = " 1 1 0 0 0 0 0 1",
8207 " 0 0 0 0 0 0 a1 a0",
8210 writepage = " 1 1 0 0 0 0 1 0",
8212 " a7 a6 a5 a4 a3 a2 0 0",
8225 min_write_delay = 4500;
8226 max_write_delay = 4500;
8229 read_lo = " 0 0 1 0 0 0 0 0",
8230 " 0 0 0 0 0 a10 a9 a8",
8231 " a7 a6 a5 a4 a3 a2 a1 a0",
8234 read_hi = " 0 0 1 0 1 0 0 0",
8235 " 0 0 0 0 0 a10 a9 a8",
8236 " a7 a6 a5 a4 a3 a2 a1 a0",
8239 loadpage_lo = " 0 1 0 0 0 0 0 0",
8241 " x x x a4 a3 a2 a1 a0",
8244 loadpage_hi = " 0 1 0 0 1 0 0 0",
8246 " x x x a4 a3 a2 a1 a0",
8249 writepage = " 0 1 0 0 1 1 0 0",
8250 " 0 0 0 0 0 a10 a9 a8",
8251 " a7 a6 a5 x x x x x",
8262 min_write_delay = 4500;
8263 max_write_delay = 4500;
8264 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
8265 "x x x x x x x x o o o o o o o o";
8267 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
8268 "x x x x x x x x i i i i i i i i";
8273 min_write_delay = 4500;
8274 max_write_delay = 4500;
8275 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
8276 "x x x x x x x x o o o o o o o o";
8278 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
8279 "x x x x x x x x i i i i i i i i";
8284 min_write_delay = 4500;
8285 max_write_delay = 4500;
8286 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
8287 "x x x x x x x x x x x x x x x o";
8289 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
8290 "x x x x x x x x x x x x x x x i";
8295 min_write_delay = 4500;
8296 max_write_delay = 4500;
8297 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
8298 "x x x x x x x x x x o o o o o o";
8300 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
8301 "x x x x x x x x 1 1 i i i i i i";
8304 memory "calibration"
8306 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
8307 "0 0 0 0 0 0 0 0 o o o o o o o o";
8312 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
8313 "x x x x x x a1 a0 o o o o o o o o";
8318 #------------------------------------------------------------
8320 #------------------------------------------------------------
8325 has_debugwire = yes;
8326 flash_instr = 0xB6, 0x01, 0x11;
8327 eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
8328 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF,
8329 0x99, 0xF9, 0xBB, 0xAF;
8330 stk500_devcode = 0x73;
8331 # avr910_devcode = 0x;
8332 signature = 0x1e 0x93 0x0a;
8335 chip_erase_delay = 9000;
8336 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
8337 "x x x x x x x x x x x x x x x x";
8339 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
8340 "x x x x x x x x x x x x x x x x";
8354 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
8355 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
8356 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
8357 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
8358 hventerstabdelay = 100;
8365 hvleavestabdelay = 15;
8367 chiperasepulsewidth = 0;
8368 chiperasepolltimeout = 10;
8369 programfusepulsewidth = 0;
8370 programfusepolltimeout = 5;
8371 programlockpulsewidth = 0;
8372 programlockpolltimeout = 5;
8378 min_write_delay = 3600;
8379 max_write_delay = 3600;
8382 read = " 1 0 1 0 0 0 0 0",
8383 " 0 0 0 x x x x a8",
8384 " a7 a6 a5 a4 a3 a2 a1 a0",
8387 write = " 1 1 0 0 0 0 0 0",
8388 " 0 0 0 x x x x a8",
8389 " a7 a6 a5 a4 a3 a2 a1 a0",
8392 loadpage_lo = " 1 1 0 0 0 0 0 1",
8394 " 0 0 0 0 0 0 a1 a0",
8397 writepage = " 1 1 0 0 0 0 1 0",
8398 " 0 0 x x x x x a8",
8399 " a7 a6 a5 a4 a3 a2 0 0",
8412 min_write_delay = 4500;
8413 max_write_delay = 4500;
8416 read_lo = " 0 0 1 0 0 0 0 0",
8417 " 0 0 0 0 a11 a10 a9 a8",
8418 " a7 a6 a5 a4 a3 a2 a1 a0",
8421 read_hi = " 0 0 1 0 1 0 0 0",
8422 " 0 0 0 0 a11 a10 a9 a8",
8423 " a7 a6 a5 a4 a3 a2 a1 a0",
8426 loadpage_lo = " 0 1 0 0 0 0 0 0",
8428 " x x x a4 a3 a2 a1 a0",
8431 loadpage_hi = " 0 1 0 0 1 0 0 0",
8433 " x x x a4 a3 a2 a1 a0",
8436 writepage = " 0 1 0 0 1 1 0 0",
8437 " 0 0 0 0 a11 a10 a9 a8",
8438 " a7 a6 a5 x x x x x",
8449 min_write_delay = 4500;
8450 max_write_delay = 4500;
8451 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
8452 "x x x x x x x x o o o o o o o o";
8454 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
8455 "x x x x x x x x i i i i i i i i";
8460 min_write_delay = 4500;
8461 max_write_delay = 4500;
8462 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
8463 "x x x x x x x x o o o o o o o o";
8465 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
8466 "x x x x x x x x i i i i i i i i";
8471 min_write_delay = 4500;
8472 max_write_delay = 4500;
8473 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
8474 "x x x x x x x x x x x x x o o o";
8476 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
8477 "x x x x x x x x x x x x x i i i";
8482 min_write_delay = 4500;
8483 max_write_delay = 4500;
8484 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
8485 "x x x x x x x x x x o o o o o o";
8487 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
8488 "x x x x x x x x 1 1 i i i i i i";
8491 memory "calibration"
8493 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
8494 "0 0 0 0 0 0 0 0 o o o o o o o o";
8499 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
8500 "x x x x x x a1 a0 o o o o o o o o";
8504 #------------------------------------------------------------
8506 #------------------------------------------------------------
8511 has_debugwire = yes;
8512 flash_instr = 0xB6, 0x01, 0x11;
8513 eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
8514 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF,
8515 0x99, 0xF9, 0xBB, 0xAF;
8516 stk500_devcode = 0x73;
8517 # avr910_devcode = 0x;
8518 signature = 0x1e 0x93 0x0f;
8521 chip_erase_delay = 9000;
8522 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
8523 "x x x x x x x x x x x x x x x x";
8525 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
8526 "x x x x x x x x x x x x x x x x";
8540 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
8541 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
8542 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
8543 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
8544 hventerstabdelay = 100;
8551 hvleavestabdelay = 15;
8553 chiperasepulsewidth = 0;
8554 chiperasepolltimeout = 10;
8555 programfusepulsewidth = 0;
8556 programfusepolltimeout = 5;
8557 programlockpulsewidth = 0;
8558 programlockpolltimeout = 5;
8564 min_write_delay = 3600;
8565 max_write_delay = 3600;
8568 read = " 1 0 1 0 0 0 0 0",
8569 " 0 0 0 x x x x a8",
8570 " a7 a6 a5 a4 a3 a2 a1 a0",
8573 write = " 1 1 0 0 0 0 0 0",
8574 " 0 0 0 x x x x a8",
8575 " a7 a6 a5 a4 a3 a2 a1 a0",
8578 loadpage_lo = " 1 1 0 0 0 0 0 1",
8580 " 0 0 0 0 0 0 a1 a0",
8583 writepage = " 1 1 0 0 0 0 1 0",
8584 " 0 0 x x x x x a8",
8585 " a7 a6 a5 a4 a3 a2 0 0",
8598 min_write_delay = 4500;
8599 max_write_delay = 4500;
8602 read_lo = " 0 0 1 0 0 0 0 0",
8603 " 0 0 0 0 a11 a10 a9 a8",
8604 " a7 a6 a5 a4 a3 a2 a1 a0",
8607 read_hi = " 0 0 1 0 1 0 0 0",
8608 " 0 0 0 0 a11 a10 a9 a8",
8609 " a7 a6 a5 a4 a3 a2 a1 a0",
8612 loadpage_lo = " 0 1 0 0 0 0 0 0",
8614 " x x x a4 a3 a2 a1 a0",
8617 loadpage_hi = " 0 1 0 0 1 0 0 0",
8619 " x x x a4 a3 a2 a1 a0",
8622 writepage = " 0 1 0 0 1 1 0 0",
8623 " 0 0 0 0 a11 a10 a9 a8",
8624 " a7 a6 a5 x x x x x",
8635 min_write_delay = 4500;
8636 max_write_delay = 4500;
8637 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
8638 "x x x x x x x x o o o o o o o o";
8640 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
8641 "x x x x x x x x i i i i i i i i";
8646 min_write_delay = 4500;
8647 max_write_delay = 4500;
8648 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
8649 "x x x x x x x x o o o o o o o o";
8651 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
8652 "x x x x x x x x i i i i i i i i";
8657 min_write_delay = 4500;
8658 max_write_delay = 4500;
8659 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
8660 "x x x x x x x x x x x x x o o o";
8662 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
8663 "x x x x x x x x x x x x x i i i";
8668 min_write_delay = 4500;
8669 max_write_delay = 4500;
8670 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
8671 "x x x x x x x x x x o o o o o o";
8673 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
8674 "x x x x x x x x 1 1 i i i i i i";
8677 memory "calibration"
8679 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
8680 "0 0 0 0 0 0 0 0 o o o o o o o o";
8685 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
8686 "x x x x x x a1 a0 o o o o o o o o";
8691 #------------------------------------------------------------
8693 #------------------------------------------------------------
8698 has_debugwire = yes;
8699 flash_instr = 0xB6, 0x01, 0x11;
8700 eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
8701 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF,
8702 0x99, 0xF9, 0xBB, 0xAF;
8703 stk500_devcode = 0x86;
8704 # avr910_devcode = 0x;
8705 signature = 0x1e 0x94 0x06;
8708 chip_erase_delay = 9000;
8709 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
8710 "x x x x x x x x x x x x x x x x";
8712 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
8713 "x x x x x x x x x x x x x x x x";
8727 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
8728 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
8729 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
8730 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
8731 hventerstabdelay = 100;
8738 hvleavestabdelay = 15;
8740 chiperasepulsewidth = 0;
8741 chiperasepolltimeout = 10;
8742 programfusepulsewidth = 0;
8743 programfusepolltimeout = 5;
8744 programlockpulsewidth = 0;
8745 programlockpolltimeout = 5;
8751 min_write_delay = 3600;
8752 max_write_delay = 3600;
8755 read = " 1 0 1 0 0 0 0 0",
8756 " 0 0 0 x x x x a8",
8757 " a7 a6 a5 a4 a3 a2 a1 a0",
8760 write = " 1 1 0 0 0 0 0 0",
8761 " 0 0 0 x x x x a8",
8762 " a7 a6 a5 a4 a3 a2 a1 a0",
8765 loadpage_lo = " 1 1 0 0 0 0 0 1",
8767 " 0 0 0 0 0 0 a1 a0",
8770 writepage = " 1 1 0 0 0 0 1 0",
8771 " 0 0 x x x x x a8",
8772 " a7 a6 a5 a4 a3 a2 0 0",
8786 min_write_delay = 4500;
8787 max_write_delay = 4500;
8790 read_lo = " 0 0 1 0 0 0 0 0",
8791 " 0 0 0 a12 a11 a10 a9 a8",
8792 " a7 a6 a5 a4 a3 a2 a1 a0",
8795 read_hi = " 0 0 1 0 1 0 0 0",
8796 " 0 0 0 a12 a11 a10 a9 a8",
8797 " a7 a6 a5 a4 a3 a2 a1 a0",
8800 loadpage_lo = " 0 1 0 0 0 0 0 0",
8802 " x x a5 a4 a3 a2 a1 a0",
8805 loadpage_hi = " 0 1 0 0 1 0 0 0",
8807 " x x a5 a4 a3 a2 a1 a0",
8810 writepage = " 0 1 0 0 1 1 0 0",
8811 " 0 0 0 a12 a11 a10 a9 a8",
8812 " a7 a6 x x x x x x",
8824 min_write_delay = 4500;
8825 max_write_delay = 4500;
8826 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
8827 "x x x x x x x x o o o o o o o o";
8829 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
8830 "x x x x x x x x i i i i i i i i";
8835 min_write_delay = 4500;
8836 max_write_delay = 4500;
8837 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
8838 "x x x x x x x x o o o o o o o o";
8840 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
8841 "x x x x x x x x i i i i i i i i";
8846 min_write_delay = 4500;
8847 max_write_delay = 4500;
8848 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
8849 "x x x x x x x x x x x x x o o o";
8851 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
8852 "x x x x x x x x x x x x x i i i";
8857 min_write_delay = 4500;
8858 max_write_delay = 4500;
8859 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
8860 "x x x x x x x x x x o o o o o o";
8862 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
8863 "x x x x x x x x 1 1 i i i i i i";
8866 memory "calibration"
8868 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
8869 "0 0 0 0 0 0 0 0 o o o o o o o o";
8874 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
8875 "x x x x x x a1 a0 o o o o o o o o";
8879 #------------------------------------------------------------
8881 #------------------------------------------------------------
8885 desc = "ATMEGA168P";
8886 has_debugwire = yes;
8887 flash_instr = 0xB6, 0x01, 0x11;
8888 eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
8889 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF,
8890 0x99, 0xF9, 0xBB, 0xAF;
8891 stk500_devcode = 0x86;
8892 # avr910_devcode = 0x;
8893 signature = 0x1e 0x94 0x0b;
8896 chip_erase_delay = 9000;
8897 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
8898 "x x x x x x x x x x x x x x x x";
8900 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
8901 "x x x x x x x x x x x x x x x x";
8915 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
8916 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
8917 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
8918 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
8919 hventerstabdelay = 100;
8926 hvleavestabdelay = 15;
8928 chiperasepulsewidth = 0;
8929 chiperasepolltimeout = 10;
8930 programfusepulsewidth = 0;
8931 programfusepolltimeout = 5;
8932 programlockpulsewidth = 0;
8933 programlockpolltimeout = 5;
8939 min_write_delay = 3600;
8940 max_write_delay = 3600;
8943 read = " 1 0 1 0 0 0 0 0",
8944 " 0 0 0 x x x x a8",
8945 " a7 a6 a5 a4 a3 a2 a1 a0",
8948 write = " 1 1 0 0 0 0 0 0",
8949 " 0 0 0 x x x x a8",
8950 " a7 a6 a5 a4 a3 a2 a1 a0",
8953 loadpage_lo = " 1 1 0 0 0 0 0 1",
8955 " 0 0 0 0 0 0 a1 a0",
8958 writepage = " 1 1 0 0 0 0 1 0",
8959 " 0 0 x x x x x a8",
8960 " a7 a6 a5 a4 a3 a2 0 0",
8974 min_write_delay = 4500;
8975 max_write_delay = 4500;
8978 read_lo = " 0 0 1 0 0 0 0 0",
8979 " 0 0 0 a12 a11 a10 a9 a8",
8980 " a7 a6 a5 a4 a3 a2 a1 a0",
8983 read_hi = " 0 0 1 0 1 0 0 0",
8984 " 0 0 0 a12 a11 a10 a9 a8",
8985 " a7 a6 a5 a4 a3 a2 a1 a0",
8988 loadpage_lo = " 0 1 0 0 0 0 0 0",
8990 " x x a5 a4 a3 a2 a1 a0",
8993 loadpage_hi = " 0 1 0 0 1 0 0 0",
8995 " x x a5 a4 a3 a2 a1 a0",
8998 writepage = " 0 1 0 0 1 1 0 0",
8999 " 0 0 0 a12 a11 a10 a9 a8",
9000 " a7 a6 x x x x x x",
9012 min_write_delay = 4500;
9013 max_write_delay = 4500;
9014 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
9015 "x x x x x x x x o o o o o o o o";
9017 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
9018 "x x x x x x x x i i i i i i i i";
9023 min_write_delay = 4500;
9024 max_write_delay = 4500;
9025 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
9026 "x x x x x x x x o o o o o o o o";
9028 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
9029 "x x x x x x x x i i i i i i i i";
9034 min_write_delay = 4500;
9035 max_write_delay = 4500;
9036 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
9037 "x x x x x x x x x x x x x o o o";
9039 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
9040 "x x x x x x x x x x x x x i i i";
9045 min_write_delay = 4500;
9046 max_write_delay = 4500;
9047 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
9048 "x x x x x x x x x x o o o o o o";
9050 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
9051 "x x x x x x x x 1 1 i i i i i i";
9054 memory "calibration"
9056 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
9057 "0 0 0 0 0 0 0 0 o o o o o o o o";
9062 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
9063 "x x x x x x a1 a0 o o o o o o o o";
9067 #------------------------------------------------------------
9069 #------------------------------------------------------------
9074 has_debugwire = yes;
9075 flash_instr = 0xB6, 0x01, 0x11;
9076 eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
9077 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF,
9078 0x99, 0xF9, 0xBB, 0xAF;
9079 stk500_devcode = 0x73;
9080 # avr910_devcode = 0x;
9081 signature = 0x1e 0x93 0x11;
9084 chip_erase_delay = 9000;
9085 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
9086 "x x x x x x x x x x x x x x x x";
9088 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
9089 "x x x x x x x x x x x x x x x x";
9103 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
9104 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
9105 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
9106 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
9107 hventerstabdelay = 100;
9114 hvleavestabdelay = 15;
9116 chiperasepulsewidth = 0;
9117 chiperasepolltimeout = 10;
9118 programfusepulsewidth = 0;
9119 programfusepolltimeout = 5;
9120 programlockpulsewidth = 0;
9121 programlockpolltimeout = 5;
9127 min_write_delay = 3600;
9128 max_write_delay = 3600;
9131 read = " 1 0 1 0 0 0 0 0",
9133 " x a6 a5 a4 a3 a2 a1 a0",
9136 write = " 1 1 0 0 0 0 0 0",
9138 " x a6 a5 a4 a3 a2 a1 a0",
9141 loadpage_lo = " 1 1 0 0 0 0 0 1",
9143 " 0 0 0 0 0 0 a1 a0",
9146 writepage = " 1 1 0 0 0 0 1 0",
9148 " x a6 a5 a4 a3 a2 0 0",
9161 min_write_delay = 4500;
9162 max_write_delay = 4500;
9165 read_lo = " 0 0 1 0 0 0 0 0",
9166 " 0 0 0 0 a11 a10 a9 a8",
9167 " a7 a6 a5 a4 a3 a2 a1 a0",
9170 read_hi = " 0 0 1 0 1 0 0 0",
9171 " 0 0 0 0 a11 a10 a9 a8",
9172 " a7 a6 a5 a4 a3 a2 a1 a0",
9175 loadpage_lo = " 0 1 0 0 0 0 0 0",
9177 " x x x a4 a3 a2 a1 a0",
9180 loadpage_hi = " 0 1 0 0 1 0 0 0",
9182 " x x x a4 a3 a2 a1 a0",
9185 writepage = " 0 1 0 0 1 1 0 0",
9186 " 0 0 0 0 a11 a10 a9 a8",
9187 " a7 a6 a5 x x x x x",
9198 min_write_delay = 4500;
9199 max_write_delay = 4500;
9200 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
9201 "x x x x x x x x o o o o o o o o";
9203 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
9204 "x x x x x x x x i i i i i i i i";
9209 min_write_delay = 4500;
9210 max_write_delay = 4500;
9211 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
9212 "x x x x x x x x o o o o o o o o";
9214 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
9215 "x x x x x x x x i i i i i i i i";
9220 min_write_delay = 4500;
9221 max_write_delay = 4500;
9222 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
9223 "x x x x x x x x x x x x x o o o";
9225 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
9226 "x x x x x x x x x x x x x x x i";
9231 min_write_delay = 4500;
9232 max_write_delay = 4500;
9233 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
9234 "x x x x x x x x x x o o o o o o";
9236 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
9237 "x x x x x x x x 1 1 i i i i i i";
9240 memory "calibration"
9242 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
9243 "0 0 0 0 0 0 0 0 o o o o o o o o";
9248 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
9249 "x x x x x x a1 a0 o o o o o o o o";
9253 #------------------------------------------------------------
9255 #------------------------------------------------------------
9259 desc = "ATMEGA328P";
9260 has_debugwire = yes;
9261 flash_instr = 0xB6, 0x01, 0x11;
9262 eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
9263 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF,
9264 0x99, 0xF9, 0xBB, 0xAF;
9265 stk500_devcode = 0x86;
9266 # avr910_devcode = 0x;
9267 signature = 0x1e 0x95 0x0F;
9270 chip_erase_delay = 9000;
9271 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
9272 "x x x x x x x x x x x x x x x x";
9274 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
9275 "x x x x x x x x x x x x x x x x";
9289 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
9290 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
9291 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
9292 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
9293 hventerstabdelay = 100;
9300 hvleavestabdelay = 15;
9302 chiperasepulsewidth = 0;
9303 chiperasepolltimeout = 10;
9304 programfusepulsewidth = 0;
9305 programfusepolltimeout = 5;
9306 programlockpulsewidth = 0;
9307 programlockpolltimeout = 5;
9313 min_write_delay = 3600;
9314 max_write_delay = 3600;
9317 read = " 1 0 1 0 0 0 0 0",
9318 " 0 0 0 x x x a9 a8",
9319 " a7 a6 a5 a4 a3 a2 a1 a0",
9322 write = " 1 1 0 0 0 0 0 0",
9323 " 0 0 0 x x x a9 a8",
9324 " a7 a6 a5 a4 a3 a2 a1 a0",
9327 loadpage_lo = " 1 1 0 0 0 0 0 1",
9329 " 0 0 0 0 0 0 a1 a0",
9332 writepage = " 1 1 0 0 0 0 1 0",
9333 " 0 0 x x x x a9 a8",
9334 " a7 a6 a5 a4 a3 a2 0 0",
9348 min_write_delay = 4500;
9349 max_write_delay = 4500;
9352 read_lo = " 0 0 1 0 0 0 0 0",
9353 " 0 0 a13 a12 a11 a10 a9 a8",
9354 " a7 a6 a5 a4 a3 a2 a1 a0",
9357 read_hi = " 0 0 1 0 1 0 0 0",
9358 " 0 0 a13 a12 a11 a10 a9 a8",
9359 " a7 a6 a5 a4 a3 a2 a1 a0",
9362 loadpage_lo = " 0 1 0 0 0 0 0 0",
9364 " x x a5 a4 a3 a2 a1 a0",
9367 loadpage_hi = " 0 1 0 0 1 0 0 0",
9369 " x x a5 a4 a3 a2 a1 a0",
9372 writepage = " 0 1 0 0 1 1 0 0",
9373 " 0 0 a13 a12 a11 a10 a9 a8",
9374 " a7 a6 x x x x x x",
9386 min_write_delay = 4500;
9387 max_write_delay = 4500;
9388 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
9389 "x x x x x x x x o o o o o o o o";
9391 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
9392 "x x x x x x x x i i i i i i i i";
9397 min_write_delay = 4500;
9398 max_write_delay = 4500;
9399 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
9400 "x x x x x x x x o o o o o o o o";
9402 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
9403 "x x x x x x x x i i i i i i i i";
9408 min_write_delay = 4500;
9409 max_write_delay = 4500;
9410 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
9411 "x x x x x x x x x x x x x o o o";
9413 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
9414 "x x x x x x x x x x x x x i i i";
9419 min_write_delay = 4500;
9420 max_write_delay = 4500;
9421 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
9422 "x x x x x x x x x x o o o o o o";
9424 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
9425 "x x x x x x x x 1 1 i i i i i i";
9428 memory "calibration"
9430 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
9431 "0 0 0 0 0 0 0 0 o o o o o o o o";
9436 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
9437 "x x x x x x a1 a0 o o o o o o o o";
9441 #------------------------------------------------------------
9443 #------------------------------------------------------------
9447 desc = "ATtiny2313";
9448 has_debugwire = yes;
9449 flash_instr = 0xB2, 0x0F, 0x1F;
9450 eeprom_instr = 0xBB, 0xFE, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
9451 0xBA, 0x0F, 0xB2, 0x0F, 0xBA, 0x0D, 0xBB, 0xBC,
9452 0x99, 0xE1, 0xBB, 0xAC;
9453 stk500_devcode = 0x23;
9454 ## Use the ATtiny26 devcode:
9455 avr910_devcode = 0x5e;
9456 signature = 0x1e 0x91 0x0a;
9460 chip_erase_delay = 9000;
9462 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
9463 "x x x x x x x x x x x x x x x x";
9465 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
9466 "x x x x x x x x x x x x x x x x";
9480 0x0E, 0x1E, 0x0E, 0x1E, 0x2E, 0x3E, 0x2E, 0x3E,
9481 0x4E, 0x5E, 0x4E, 0x5E, 0x6E, 0x7E, 0x6E, 0x7E,
9482 0x26, 0x36, 0x66, 0x76, 0x2A, 0x3A, 0x6A, 0x7A,
9483 0x2E, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
9484 hventerstabdelay = 100;
9491 hvleavestabdelay = 15;
9492 chiperasepulsewidth = 0;
9493 chiperasepolltimeout = 10;
9494 programfusepulsewidth = 0;
9495 programfusepolltimeout = 5;
9496 programlockpulsewidth = 0;
9497 programlockpolltimeout = 5;
9503 min_write_delay = 4000;
9504 max_write_delay = 4500;
9507 read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x",
9508 "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
9510 write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x",
9511 "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
9513 loadpage_lo = " 1 1 0 0 0 0 0 1",
9515 " 0 0 0 0 0 0 a1 a0",
9518 writepage = " 1 1 0 0 0 0 1 0",
9520 " x a6 a5 a4 a3 a2 0 0",
9533 min_write_delay = 4500;
9534 max_write_delay = 4500;
9537 read_lo = " 0 0 1 0 0 0 0 0",
9538 " 0 0 0 0 0 0 a9 a8",
9539 " a7 a6 a5 a4 a3 a2 a1 a0",
9542 read_hi = " 0 0 1 0 1 0 0 0",
9543 " 0 0 0 0 0 0 a9 a8",
9544 " a7 a6 a5 a4 a3 a2 a1 a0",
9547 # The information in the data sheet of April/2004 is wrong, this works:
9548 loadpage_lo = " 0 1 0 0 0 0 0 0",
9550 " x x x x a3 a2 a1 a0",
9553 # The information in the data sheet of April/2004 is wrong, this works:
9554 loadpage_hi = " 0 1 0 0 1 0 0 0",
9556 " x x x x a3 a2 a1 a0",
9559 # The information in the data sheet of April/2004 is wrong, this works:
9560 writepage = " 0 1 0 0 1 1 0 0",
9561 " 0 0 0 0 0 0 a9 a8",
9562 " a7 a6 a5 a4 x x x x",
9570 # ATtiny2313 has Signature Bytes: 0x1E 0x91 0x0A.
9573 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
9574 "x x x x x x a1 a0 o o o o o o o o";
9578 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
9579 "x x x x x x x x 1 1 i i i i i i";
9580 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
9581 "x x x x x x x x x x o o o o o o";
9582 min_write_delay = 9000;
9583 max_write_delay = 9000;
9588 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
9589 "x x x x x x x x i i i i i i i i";
9591 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
9592 "x x x x x x x x o o o o o o o o";
9593 min_write_delay = 9000;
9594 max_write_delay = 9000;
9599 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
9600 "x x x x x x x x i i i i i i i i";
9602 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
9603 "x x x x x x x x o o o o o o o o";
9604 min_write_delay = 9000;
9605 max_write_delay = 9000;
9610 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
9611 "x x x x x x x x x x x x x x x i";
9613 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
9614 "x x x x x x x x o o o o o o o o";
9615 min_write_delay = 9000;
9616 max_write_delay = 9000;
9618 # The Tiny2313 has calibration data for both 4 MHz and 8 MHz.
9619 # The information in the data sheet of April/2004 is wrong, this works:
9621 memory "calibration"
9623 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
9624 "0 0 0 0 0 0 0 a0 o o o o o o o o";
9628 #------------------------------------------------------------
9630 #------------------------------------------------------------
9634 desc = "ATtiny4313";
9635 has_debugwire = yes;
9636 flash_instr = 0xB2, 0x0F, 0x1F;
9637 eeprom_instr = 0xBB, 0xFE, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
9638 0xBA, 0x0F, 0xB2, 0x0F, 0xBA, 0x0D, 0xBB, 0xBC,
9639 0x99, 0xE1, 0xBB, 0xAC;
9640 stk500_devcode = 0x23;
9641 ## Use the ATtiny26 devcode:
9642 avr910_devcode = 0x5e;
9643 signature = 0x1e 0x92 0x0d;
9647 chip_erase_delay = 9000;
9649 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
9650 "x x x x x x x x x x x x x x x x";
9652 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
9653 "x x x x x x x x x x x x x x x x";
9667 0x0E, 0x1E, 0x0E, 0x1E, 0x2E, 0x3E, 0x2E, 0x3E,
9668 0x4E, 0x5E, 0x4E, 0x5E, 0x6E, 0x7E, 0x6E, 0x7E,
9669 0x26, 0x36, 0x66, 0x76, 0x2A, 0x3A, 0x6A, 0x7A,
9670 0x2E, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
9671 hventerstabdelay = 100;
9678 hvleavestabdelay = 15;
9679 chiperasepulsewidth = 0;
9680 chiperasepolltimeout = 10;
9681 programfusepulsewidth = 0;
9682 programfusepolltimeout = 5;
9683 programlockpulsewidth = 0;
9684 programlockpolltimeout = 5;
9690 min_write_delay = 4000;
9691 max_write_delay = 4500;
9694 read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x",
9695 "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
9697 write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x",
9698 "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
9700 loadpage_lo = " 1 1 0 0 0 0 0 1",
9702 " 0 0 0 0 0 0 a1 a0",
9705 writepage = " 1 1 0 0 0 0 1 0",
9707 " a7 a6 a5 a4 a3 a2 0 0",
9720 min_write_delay = 4500;
9721 max_write_delay = 4500;
9724 read_lo = " 0 0 1 0 0 0 0 0",
9725 " 0 0 0 0 0 a10 a9 a8",
9726 " a7 a6 a5 a4 a3 a2 a1 a0",
9729 read_hi = " 0 0 1 0 1 0 0 0",
9730 " 0 0 0 0 0 a10 a9 a8",
9731 " a7 a6 a5 a4 a3 a2 a1 a0",
9734 loadpage_lo = " 0 1 0 0 0 0 0 0",
9736 " x x x a4 a3 a2 a1 a0",
9739 loadpage_hi = " 0 1 0 0 1 0 0 0",
9741 " x x x a4 a3 a2 a1 a0",
9744 writepage = " 0 1 0 0 1 1 0 0",
9745 " 0 0 0 0 0 a10 a9 a8",
9746 " a7 a6 a5 x x x x x",
9754 # ATtiny4313 has Signature Bytes: 0x1E 0x92 0x0D.
9757 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
9758 "x x x x x x a1 a0 o o o o o o o o";
9762 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
9763 "x x x x x x x x 1 1 i i i i i i";
9764 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
9765 "x x x x x x x x x x o o o o o o";
9766 min_write_delay = 9000;
9767 max_write_delay = 9000;
9772 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
9773 "x x x x x x x x i i i i i i i i";
9775 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
9776 "x x x x x x x x o o o o o o o o";
9777 min_write_delay = 9000;
9778 max_write_delay = 9000;
9783 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
9784 "x x x x x x x x i i i i i i i i";
9786 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
9787 "x x x x x x x x o o o o o o o o";
9788 min_write_delay = 9000;
9789 max_write_delay = 9000;
9794 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
9795 "x x x x x x x x x x x x x x x i";
9797 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
9798 "x x x x x x x x o o o o o o o o";
9799 min_write_delay = 9000;
9800 max_write_delay = 9000;
9803 memory "calibration"
9805 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
9806 "0 0 0 0 0 0 0 a0 o o o o o o o o";
9810 #------------------------------------------------------------
9812 #------------------------------------------------------------
9817 has_debugwire = yes;
9818 flash_instr = 0xB6, 0x01, 0x11;
9819 eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
9820 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF,
9821 0x99, 0xF9, 0xBB, 0xAF;
9822 stk500_devcode = 0x65;
9823 ## avr910_devcode = ?;
9824 signature = 0x1e 0x93 0x81;
9828 chip_erase_delay = 9000;
9830 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
9831 "x x x x x x x x x x x x x x x x";
9833 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
9834 "x x x x x x x x x x x x x x x x";
9848 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
9849 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
9850 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
9851 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
9852 hventerstabdelay = 100;
9859 hvleavestabdelay = 15;
9860 chiperasepulsewidth = 0;
9861 chiperasepolltimeout = 10;
9862 programfusepulsewidth = 0;
9863 programfusepolltimeout = 5;
9864 programlockpulsewidth = 0;
9865 programlockpolltimeout = 5;
9871 min_write_delay = 4000;
9872 max_write_delay = 4500;
9875 read = "1 0 1 0 0 0 0 0 0 0 0 x x x x a8",
9876 "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
9878 write = "1 1 0 0 0 0 0 0 0 0 0 x x x x a8",
9879 "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
9881 loadpage_lo = " 1 1 0 0 0 0 0 1",
9883 " 0 0 0 0 0 0 a1 a0",
9886 writepage = " 1 1 0 0 0 0 1 0",
9888 " a7 a6 a5 a4 a3 a2 0 0",
9901 min_write_delay = 4500;
9902 max_write_delay = 4500;
9905 read_lo = " 0 0 1 0 0 0 0 0",
9906 " 0 0 0 0 a11 a10 a9 a8",
9907 " a7 a6 a5 a4 a3 a2 a1 a0",
9910 read_hi = " 0 0 1 0 1 0 0 0",
9911 " 0 0 0 0 a11 a10 a9 a8",
9912 " a7 a6 a5 a4 a3 a2 a1 a0",
9915 loadpage_lo = " 0 1 0 0 0 0 0 0",
9917 " x x x a4 a3 a2 a1 a0",
9920 loadpage_hi = " 0 1 0 0 1 0 0 0",
9922 " x x x a4 a3 a2 a1 a0",
9925 writepage = " 0 1 0 0 1 1 0 0",
9926 " 0 0 0 0 a11 a10 a9 a8",
9927 " a7 a6 a5 x x x x x",
9935 # AT90PWM2 has Signature Bytes: 0x1E 0x93 0x81.
9938 read = "0 0 1 1 0 0 0 0 0 0 x x x x x x",
9939 "x x x x x x a1 a0 o o o o o o o o";
9943 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
9944 "x x x x x x x x 1 1 i i i i i i";
9946 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
9947 "x x x x x x x x x x o o o o o o";
9948 min_write_delay = 9000;
9949 max_write_delay = 9000;
9954 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
9955 "x x x x x x x x i i i i i i i i";
9957 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
9958 "x x x x x x x x o o o o o o o o";
9959 min_write_delay = 9000;
9960 max_write_delay = 9000;
9965 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
9966 "x x x x x x x x i i i i i i i i";
9968 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
9969 "x x x x x x x x o o o o o o o o";
9970 min_write_delay = 9000;
9971 max_write_delay = 9000;
9976 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
9977 "x x x x x x x x x x x x x x x i";
9979 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
9980 "x x x x x x x x o o o o o o o o";
9981 min_write_delay = 9000;
9982 max_write_delay = 9000;
9985 memory "calibration"
9987 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
9988 "0 0 0 0 0 0 0 0 o o o o o o o o";
9992 #------------------------------------------------------------
9994 #------------------------------------------------------------
9996 # Completely identical to AT90PWM2 (including the signature!)
10001 has_debugwire = yes;
10002 flash_instr = 0xB6, 0x01, 0x11;
10003 eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
10004 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF,
10005 0x99, 0xF9, 0xBB, 0xAF;
10006 stk500_devcode = 0x65;
10007 ## avr910_devcode = ?;
10008 signature = 0x1e 0x93 0x81;
10012 chip_erase_delay = 9000;
10014 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
10015 "x x x x x x x x x x x x x x x x";
10017 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
10018 "x x x x x x x x x x x x x x x x";
10032 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
10033 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
10034 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
10035 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
10036 hventerstabdelay = 100;
10040 poweroffdelay = 15;
10043 hvleavestabdelay = 15;
10044 chiperasepulsewidth = 0;
10045 chiperasepolltimeout = 10;
10046 programfusepulsewidth = 0;
10047 programfusepolltimeout = 5;
10048 programlockpulsewidth = 0;
10049 programlockpolltimeout = 5;
10055 min_write_delay = 4000;
10056 max_write_delay = 4500;
10057 readback_p1 = 0xff;
10058 readback_p2 = 0xff;
10059 read = "1 0 1 0 0 0 0 0 0 0 0 x x x x a8",
10060 "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
10062 write = "1 1 0 0 0 0 0 0 0 0 0 x x x x a8",
10063 "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
10065 loadpage_lo = " 1 1 0 0 0 0 0 1",
10066 " 0 0 0 0 0 0 0 0",
10067 " 0 0 0 0 0 0 a1 a0",
10068 " i i i i i i i i";
10070 writepage = " 1 1 0 0 0 0 1 0",
10071 " 0 0 x x x x x x",
10072 " a7 a6 a5 a4 a3 a2 0 0",
10073 " x x x x x x x x";
10085 min_write_delay = 4500;
10086 max_write_delay = 4500;
10087 readback_p1 = 0xff;
10088 readback_p2 = 0xff;
10089 read_lo = " 0 0 1 0 0 0 0 0",
10090 " 0 0 0 0 a11 a10 a9 a8",
10091 " a7 a6 a5 a4 a3 a2 a1 a0",
10092 " o o o o o o o o";
10094 read_hi = " 0 0 1 0 1 0 0 0",
10095 " 0 0 0 0 a11 a10 a9 a8",
10096 " a7 a6 a5 a4 a3 a2 a1 a0",
10097 " o o o o o o o o";
10099 loadpage_lo = " 0 1 0 0 0 0 0 0",
10100 " 0 0 0 x x x x x",
10101 " x x x a4 a3 a2 a1 a0",
10102 " i i i i i i i i";
10104 loadpage_hi = " 0 1 0 0 1 0 0 0",
10105 " 0 0 0 x x x x x",
10106 " x x x a4 a3 a2 a1 a0",
10107 " i i i i i i i i";
10109 writepage = " 0 1 0 0 1 1 0 0",
10110 " 0 0 0 0 a11 a10 a9 a8",
10111 " a7 a6 a5 x x x x x",
10112 " x x x x x x x x";
10119 # AT90PWM2 has Signature Bytes: 0x1E 0x93 0x81.
10122 read = "0 0 1 1 0 0 0 0 0 0 x x x x x x",
10123 "x x x x x x a1 a0 o o o o o o o o";
10127 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
10128 "x x x x x x x x 1 1 i i i i i i";
10130 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
10131 "x x x x x x x x x x o o o o o o";
10132 min_write_delay = 9000;
10133 max_write_delay = 9000;
10138 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
10139 "x x x x x x x x i i i i i i i i";
10141 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
10142 "x x x x x x x x o o o o o o o o";
10143 min_write_delay = 9000;
10144 max_write_delay = 9000;
10149 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
10150 "x x x x x x x x i i i i i i i i";
10152 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
10153 "x x x x x x x x o o o o o o o o";
10154 min_write_delay = 9000;
10155 max_write_delay = 9000;
10160 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
10161 "x x x x x x x x x x x x x x x i";
10163 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
10164 "x x x x x x x x o o o o o o o o";
10165 min_write_delay = 9000;
10166 max_write_delay = 9000;
10169 memory "calibration"
10171 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
10172 "0 0 0 0 0 0 0 0 o o o o o o o o";
10176 #------------------------------------------------------------
10178 #------------------------------------------------------------
10179 # Same as AT90PWM2 but different signature.
10183 desc = "AT90PWM2B";
10184 has_debugwire = yes;
10185 flash_instr = 0xB6, 0x01, 0x11;
10186 eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
10187 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF,
10188 0x99, 0xF9, 0xBB, 0xAF;
10189 stk500_devcode = 0x65;
10190 ## avr910_devcode = ?;
10191 signature = 0x1e 0x93 0x83;
10195 chip_erase_delay = 9000;
10197 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
10198 "x x x x x x x x x x x x x x x x";
10200 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
10201 "x x x x x x x x x x x x x x x x";
10215 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
10216 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
10217 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
10218 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
10219 hventerstabdelay = 100;
10223 poweroffdelay = 15;
10226 hvleavestabdelay = 15;
10227 chiperasepulsewidth = 0;
10228 chiperasepolltimeout = 10;
10229 programfusepulsewidth = 0;
10230 programfusepolltimeout = 5;
10231 programlockpulsewidth = 0;
10232 programlockpolltimeout = 5;
10238 min_write_delay = 4000;
10239 max_write_delay = 4500;
10240 readback_p1 = 0xff;
10241 readback_p2 = 0xff;
10242 read = "1 0 1 0 0 0 0 0 0 0 0 x x x x a8",
10243 "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
10245 write = "1 1 0 0 0 0 0 0 0 0 0 x x x x a8",
10246 "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
10248 loadpage_lo = " 1 1 0 0 0 0 0 1",
10249 " 0 0 0 0 0 0 0 0",
10250 " 0 0 0 0 0 0 a1 a0",
10251 " i i i i i i i i";
10253 writepage = " 1 1 0 0 0 0 1 0",
10254 " 0 0 x x x x x x",
10255 " a7 a6 a5 a4 a3 a2 0 0",
10256 " x x x x x x x x";
10268 min_write_delay = 4500;
10269 max_write_delay = 4500;
10270 readback_p1 = 0xff;
10271 readback_p2 = 0xff;
10272 read_lo = " 0 0 1 0 0 0 0 0",
10273 " 0 0 0 0 a11 a10 a9 a8",
10274 " a7 a6 a5 a4 a3 a2 a1 a0",
10275 " o o o o o o o o";
10277 read_hi = " 0 0 1 0 1 0 0 0",
10278 " 0 0 0 0 a11 a10 a9 a8",
10279 " a7 a6 a5 a4 a3 a2 a1 a0",
10280 " o o o o o o o o";
10282 loadpage_lo = " 0 1 0 0 0 0 0 0",
10283 " 0 0 0 x x x x x",
10284 " x x x a4 a3 a2 a1 a0",
10285 " i i i i i i i i";
10287 loadpage_hi = " 0 1 0 0 1 0 0 0",
10288 " 0 0 0 x x x x x",
10289 " x x x a4 a3 a2 a1 a0",
10290 " i i i i i i i i";
10292 writepage = " 0 1 0 0 1 1 0 0",
10293 " 0 0 0 0 a11 a10 a9 a8",
10294 " a7 a6 a5 x x x x x",
10295 " x x x x x x x x";
10304 read = "0 0 1 1 0 0 0 0 0 0 x x x x x x",
10305 "x x x x x x a1 a0 o o o o o o o o";
10309 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
10310 "x x x x x x x x 1 1 i i i i i i";
10312 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
10313 "x x x x x x x x x x o o o o o o";
10314 min_write_delay = 9000;
10315 max_write_delay = 9000;
10320 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
10321 "x x x x x x x x i i i i i i i i";
10323 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
10324 "x x x x x x x x o o o o o o o o";
10325 min_write_delay = 9000;
10326 max_write_delay = 9000;
10331 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
10332 "x x x x x x x x i i i i i i i i";
10334 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
10335 "x x x x x x x x o o o o o o o o";
10336 min_write_delay = 9000;
10337 max_write_delay = 9000;
10342 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
10343 "x x x x x x x x x x x x x x x i";
10345 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
10346 "x x x x x x x x o o o o o o o o";
10347 min_write_delay = 9000;
10348 max_write_delay = 9000;
10351 memory "calibration"
10353 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
10354 "0 0 0 0 0 0 0 0 o o o o o o o o";
10358 #------------------------------------------------------------
10360 #------------------------------------------------------------
10362 # Completely identical to AT90PWM2B (including the signature!)
10366 desc = "AT90PWM3B";
10367 has_debugwire = yes;
10368 flash_instr = 0xB6, 0x01, 0x11;
10369 eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
10370 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF,
10371 0x99, 0xF9, 0xBB, 0xAF;
10372 stk500_devcode = 0x65;
10373 ## avr910_devcode = ?;
10374 signature = 0x1e 0x93 0x83;
10378 chip_erase_delay = 9000;
10380 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
10381 "x x x x x x x x x x x x x x x x";
10383 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
10384 "x x x x x x x x x x x x x x x x";
10398 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
10399 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
10400 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
10401 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
10402 hventerstabdelay = 100;
10406 poweroffdelay = 15;
10409 hvleavestabdelay = 15;
10410 chiperasepulsewidth = 0;
10411 chiperasepolltimeout = 10;
10412 programfusepulsewidth = 0;
10413 programfusepolltimeout = 5;
10414 programlockpulsewidth = 0;
10415 programlockpolltimeout = 5;
10421 min_write_delay = 4000;
10422 max_write_delay = 4500;
10423 readback_p1 = 0xff;
10424 readback_p2 = 0xff;
10425 read = "1 0 1 0 0 0 0 0 0 0 0 x x x x a8",
10426 "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
10428 write = "1 1 0 0 0 0 0 0 0 0 0 x x x x a8",
10429 "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
10431 loadpage_lo = " 1 1 0 0 0 0 0 1",
10432 " 0 0 0 0 0 0 0 0",
10433 " 0 0 0 0 0 0 a1 a0",
10434 " i i i i i i i i";
10436 writepage = " 1 1 0 0 0 0 1 0",
10437 " 0 0 x x x x x x",
10438 " a7 a6 a5 a4 a3 a2 0 0",
10439 " x x x x x x x x";
10451 min_write_delay = 4500;
10452 max_write_delay = 4500;
10453 readback_p1 = 0xff;
10454 readback_p2 = 0xff;
10455 read_lo = " 0 0 1 0 0 0 0 0",
10456 " 0 0 0 0 a11 a10 a9 a8",
10457 " a7 a6 a5 a4 a3 a2 a1 a0",
10458 " o o o o o o o o";
10460 read_hi = " 0 0 1 0 1 0 0 0",
10461 " 0 0 0 0 a11 a10 a9 a8",
10462 " a7 a6 a5 a4 a3 a2 a1 a0",
10463 " o o o o o o o o";
10465 loadpage_lo = " 0 1 0 0 0 0 0 0",
10466 " 0 0 0 x x x x x",
10467 " x x x a4 a3 a2 a1 a0",
10468 " i i i i i i i i";
10470 loadpage_hi = " 0 1 0 0 1 0 0 0",
10471 " 0 0 0 x x x x x",
10472 " x x x a4 a3 a2 a1 a0",
10473 " i i i i i i i i";
10475 writepage = " 0 1 0 0 1 1 0 0",
10476 " 0 0 0 0 a11 a10 a9 a8",
10477 " a7 a6 a5 x x x x x",
10478 " x x x x x x x x";
10487 read = "0 0 1 1 0 0 0 0 0 0 x x x x x x",
10488 "x x x x x x a1 a0 o o o o o o o o";
10492 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
10493 "x x x x x x x x 1 1 i i i i i i";
10495 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
10496 "x x x x x x x x x x o o o o o o";
10497 min_write_delay = 9000;
10498 max_write_delay = 9000;
10503 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
10504 "x x x x x x x x i i i i i i i i";
10506 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
10507 "x x x x x x x x o o o o o o o o";
10508 min_write_delay = 9000;
10509 max_write_delay = 9000;
10514 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
10515 "x x x x x x x x i i i i i i i i";
10517 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
10518 "x x x x x x x x o o o o o o o o";
10519 min_write_delay = 9000;
10520 max_write_delay = 9000;
10525 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
10526 "x x x x x x x x x x x x x x x i";
10528 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
10529 "x x x x x x x x o o o o o o o o";
10530 min_write_delay = 9000;
10531 max_write_delay = 9000;
10534 memory "calibration"
10536 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
10537 "0 0 0 0 0 0 0 0 o o o o o o o o";
10541 #------------------------------------------------------------
10543 #------------------------------------------------------------
10548 has_debugwire = yes;
10549 flash_instr = 0xB4, 0x02, 0x12;
10550 eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
10551 0xBC, 0x02, 0xB4, 0x02, 0xBA, 0x0D, 0xBB, 0xBC,
10552 0x99, 0xE1, 0xBB, 0xAC;
10553 ## no STK500 devcode in XML file, use the ATtiny45 one
10554 stk500_devcode = 0x14;
10555 ## avr910_devcode = ?;
10556 ## Try the AT90S2313 devcode:
10557 avr910_devcode = 0x20;
10558 signature = 0x1e 0x91 0x08;
10560 chip_erase_delay = 4500;
10562 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
10563 "x x x x x x x x x x x x x x x x";
10565 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
10566 "x x x x x x x x x x x x x x x x";
10579 hvsp_controlstack =
10580 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66,
10581 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78,
10582 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
10583 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00;
10584 hventerstabdelay = 100;
10585 hvspcmdexedelay = 0;
10589 poweroffdelay = 25;
10592 hvleavestabdelay = 100;
10594 chiperasepolltimeout = 40;
10596 programfusepolltimeout = 25;
10597 programlockpolltimeout = 25;
10603 min_write_delay = 4000;
10604 max_write_delay = 4500;
10605 readback_p1 = 0xff;
10606 readback_p2 = 0xff;
10607 read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x",
10608 "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
10610 write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x",
10611 "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
10613 loadpage_lo = " 1 1 0 0 0 0 0 1",
10614 " 0 0 0 0 0 0 0 0",
10615 " 0 0 0 0 0 0 a1 a0",
10616 " i i i i i i i i";
10618 writepage = " 1 1 0 0 0 0 1 0",
10619 " 0 0 x x x x x x",
10620 " x a6 a5 a4 a3 a2 0 0",
10621 " x x x x x x x x";
10633 min_write_delay = 4500;
10634 max_write_delay = 4500;
10635 readback_p1 = 0xff;
10636 readback_p2 = 0xff;
10637 read_lo = " 0 0 1 0 0 0 0 0",
10638 " 0 0 0 0 0 0 a9 a8",
10639 " a7 a6 a5 a4 a3 a2 a1 a0",
10640 " o o o o o o o o";
10642 read_hi = " 0 0 1 0 1 0 0 0",
10643 " 0 0 0 0 0 0 a9 a8",
10644 " a7 a6 a5 a4 a3 a2 a1 a0",
10645 " o o o o o o o o";
10647 loadpage_lo = " 0 1 0 0 0 0 0 0",
10648 " 0 0 0 x x x x x",
10649 " x x x x a3 a2 a1 a0",
10650 " i i i i i i i i";
10652 loadpage_hi = " 0 1 0 0 1 0 0 0",
10653 " 0 0 0 x x x x x",
10654 " x x x x a3 a2 a1 a0",
10655 " i i i i i i i i";
10657 writepage = " 0 1 0 0 1 1 0 0",
10658 " 0 0 0 0 0 0 a9 a8",
10659 " a7 a6 a5 a4 x x x x",
10660 " x x x x x x x x";
10667 # ATtiny25 has Signature Bytes: 0x1E 0x91 0x08.
10670 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
10671 "x x x x x x a1 a0 o o o o o o o o";
10675 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
10676 "x x x x x x x x 1 1 i i i i i i";
10677 min_write_delay = 9000;
10678 max_write_delay = 9000;
10683 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
10684 "x x x x x x x x i i i i i i i i";
10686 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
10687 "x x x x x x x x o o o o o o o o";
10688 min_write_delay = 9000;
10689 max_write_delay = 9000;
10694 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
10695 "x x x x x x x x i i i i i i i i";
10697 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
10698 "x x x x x x x x o o o o o o o o";
10699 min_write_delay = 9000;
10700 max_write_delay = 9000;
10705 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
10706 "x x x x x x x x x x x x x x x i";
10708 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
10709 "x x x x x x x x o o o o o o o o";
10710 min_write_delay = 9000;
10711 max_write_delay = 9000;
10714 memory "calibration"
10716 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
10717 "0 0 0 0 0 0 0 a0 o o o o o o o o";
10721 #------------------------------------------------------------
10723 #------------------------------------------------------------
10728 has_debugwire = yes;
10729 flash_instr = 0xB4, 0x02, 0x12;
10730 eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
10731 0xBC, 0x02, 0xB4, 0x02, 0xBA, 0x0D, 0xBB, 0xBC,
10732 0x99, 0xE1, 0xBB, 0xAC;
10733 stk500_devcode = 0x14;
10734 ## avr910_devcode = ?;
10735 ## Try the AT90S2313 devcode:
10736 avr910_devcode = 0x20;
10737 signature = 0x1e 0x92 0x06;
10739 chip_erase_delay = 4500;
10741 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
10742 "x x x x x x x x x x x x x x x x";
10744 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
10745 "x x x x x x x x x x x x x x x x";
10758 hvsp_controlstack =
10759 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66,
10760 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78,
10761 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
10762 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00;
10763 hventerstabdelay = 100;
10765 hvspcmdexedelay = 0;
10769 poweroffdelay = 25;
10772 hvleavestabdelay = 100;
10774 chiperasepolltimeout = 40;
10776 programfusepolltimeout = 25;
10777 programlockpolltimeout = 25;
10782 min_write_delay = 4000;
10783 max_write_delay = 4500;
10784 readback_p1 = 0xff;
10785 readback_p2 = 0xff;
10786 read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x",
10787 "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
10789 write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x",
10790 "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
10792 loadpage_lo = " 1 1 0 0 0 0 0 1",
10793 " 0 0 0 0 0 0 0 0",
10794 " 0 0 0 0 0 0 a1 a0",
10795 " i i i i i i i i";
10797 writepage = " 1 1 0 0 0 0 1 0",
10798 " 0 0 x x x x x x",
10799 " a7 a6 a5 a4 a3 a2 0 0",
10800 " x x x x x x x x";
10812 min_write_delay = 4500;
10813 max_write_delay = 4500;
10814 readback_p1 = 0xff;
10815 readback_p2 = 0xff;
10816 read_lo = " 0 0 1 0 0 0 0 0",
10817 " 0 0 0 0 0 a10 a9 a8",
10818 " a7 a6 a5 a4 a3 a2 a1 a0",
10819 " o o o o o o o o";
10821 read_hi = " 0 0 1 0 1 0 0 0",
10822 " 0 0 0 0 0 a10 a9 a8",
10823 " a7 a6 a5 a4 a3 a2 a1 a0",
10824 " o o o o o o o o";
10826 loadpage_lo = " 0 1 0 0 0 0 0 0",
10827 " 0 0 0 x x x x x",
10828 " x x x a4 a3 a2 a1 a0",
10829 " i i i i i i i i";
10831 loadpage_hi = " 0 1 0 0 1 0 0 0",
10832 " 0 0 0 x x x x x",
10833 " x x x a4 a3 a2 a1 a0",
10834 " i i i i i i i i";
10836 writepage = " 0 1 0 0 1 1 0 0",
10837 " 0 0 0 0 0 a10 a9 a8",
10838 " a7 a6 a5 x x x x x",
10839 " x x x x x x x x";
10846 # ATtiny45 has Signature Bytes: 0x1E 0x92 0x08. (Data sheet 2586C-AVR-06/05 (doc2586.pdf) indicates otherwise!)
10849 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
10850 "x x x x x x a1 a0 o o o o o o o o";
10854 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
10855 "x x x x x x x x 1 1 i i i i i i";
10856 min_write_delay = 9000;
10857 max_write_delay = 9000;
10862 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
10863 "x x x x x x x x i i i i i i i i";
10865 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
10866 "x x x x x x x x o o o o o o o o";
10867 min_write_delay = 9000;
10868 max_write_delay = 9000;
10873 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
10874 "x x x x x x x x i i i i i i i i";
10876 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
10877 "x x x x x x x x o o o o o o o o";
10878 min_write_delay = 9000;
10879 max_write_delay = 9000;
10884 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
10885 "x x x x x x x x x x x x x x x i";
10887 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
10888 "x x x x x x x x o o o o o o o o";
10889 min_write_delay = 9000;
10890 max_write_delay = 9000;
10893 memory "calibration"
10895 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
10896 "0 0 0 0 0 0 0 a0 o o o o o o o o";
10900 #------------------------------------------------------------
10902 #------------------------------------------------------------
10907 has_debugwire = yes;
10908 flash_instr = 0xB4, 0x02, 0x12;
10909 eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
10910 0xBC, 0x02, 0xB4, 0x02, 0xBA, 0x0D, 0xBB, 0xBC,
10911 0x99, 0xE1, 0xBB, 0xAC;
10912 ## no STK500 devcode in XML file, use the ATtiny45 one
10913 stk500_devcode = 0x14;
10914 ## avr910_devcode = ?;
10915 ## Try the AT90S2313 devcode:
10916 avr910_devcode = 0x20;
10917 signature = 0x1e 0x93 0x0b;
10919 chip_erase_delay = 4500;
10921 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
10922 "x x x x x x x x x x x x x x x x";
10924 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
10925 "x x x x x x x x x x x x x x x x";
10938 hvsp_controlstack =
10939 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66,
10940 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78,
10941 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
10942 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00;
10943 hventerstabdelay = 100;
10944 hvspcmdexedelay = 0;
10948 poweroffdelay = 25;
10951 hvleavestabdelay = 100;
10953 chiperasepolltimeout = 40;
10955 programfusepolltimeout = 25;
10956 programlockpolltimeout = 25;
10962 min_write_delay = 4000;
10963 max_write_delay = 4500;
10964 readback_p1 = 0xff;
10965 readback_p2 = 0xff;
10966 read = "1 0 1 0 0 0 0 0 0 0 0 x x x x a8",
10967 "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
10969 write = "1 1 0 0 0 0 0 0 0 0 0 x x x x a8",
10970 "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
10972 loadpage_lo = " 1 1 0 0 0 0 0 1",
10973 " 0 0 0 0 0 0 0 0",
10974 " 0 0 0 0 0 0 a1 a0",
10975 " i i i i i i i i";
10977 writepage = " 1 1 0 0 0 0 1 0",
10978 " 0 0 x x x x x a8",
10979 " a7 a6 a5 a4 a3 a2 0 0",
10980 " x x x x x x x x";
10992 min_write_delay = 4500;
10993 max_write_delay = 4500;
10994 readback_p1 = 0xff;
10995 readback_p2 = 0xff;
10996 read_lo = " 0 0 1 0 0 0 0 0",
10997 " 0 0 0 0 a11 a10 a9 a8",
10998 " a7 a6 a5 a4 a3 a2 a1 a0",
10999 " o o o o o o o o";
11001 read_hi = " 0 0 1 0 1 0 0 0",
11002 " 0 0 0 0 a11 a10 a9 a8",
11003 " a7 a6 a5 a4 a3 a2 a1 a0",
11004 " o o o o o o o o";
11006 loadpage_lo = " 0 1 0 0 0 0 0 0",
11007 " 0 0 0 x x x x x",
11008 " x x x a4 a3 a2 a1 a0",
11009 " i i i i i i i i";
11011 loadpage_hi = " 0 1 0 0 1 0 0 0",
11012 " 0 0 0 x x x x x",
11013 " x x x a4 a3 a2 a1 a0",
11014 " i i i i i i i i";
11016 writepage = " 0 1 0 0 1 1 0 0",
11017 " 0 0 0 0 a11 a10 a9 a8",
11018 " a7 a6 a5 x x x x x",
11019 " x x x x x x x x";
11026 # ATtiny85 has Signature Bytes: 0x1E 0x93 0x08.
11029 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
11030 "x x x x x x a1 a0 o o o o o o o o";
11034 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
11035 "x x x x x x x x 1 1 i i i i i i";
11036 min_write_delay = 9000;
11037 max_write_delay = 9000;
11042 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
11043 "x x x x x x x x i i i i i i i i";
11045 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
11046 "x x x x x x x x o o o o o o o o";
11047 min_write_delay = 9000;
11048 max_write_delay = 9000;
11053 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
11054 "x x x x x x x x i i i i i i i i";
11056 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
11057 "x x x x x x x x o o o o o o o o";
11058 min_write_delay = 9000;
11059 max_write_delay = 9000;
11064 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
11065 "x x x x x x x x x x x x x x x i";
11067 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
11068 "x x x x x x x x o o o o o o o o";
11069 min_write_delay = 9000;
11070 max_write_delay = 9000;
11073 memory "calibration"
11075 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
11076 "0 0 0 0 0 0 0 a0 o o o o o o o o";
11080 #------------------------------------------------------------
11082 #------------------------------------------------------------
11083 # Almost same as ATmega1280, except for different memory sizes
11087 desc = "ATMEGA640";
11088 signature = 0x1e 0x96 0x08;
11090 # stk500_devcode = 0xB2;
11091 # avr910_devcode = 0x43;
11092 chip_erase_delay = 9000;
11096 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
11097 "x x x x x x x x x x x x x x x x";
11099 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
11100 "x x x x x x x x x x x x x x x x";
11114 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
11115 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
11116 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
11117 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
11118 hventerstabdelay = 100;
11122 poweroffdelay = 15;
11125 hvleavestabdelay = 15;
11126 chiperasepulsewidth = 0;
11127 chiperasepolltimeout = 10;
11128 programfusepulsewidth = 0;
11129 programfusepolltimeout = 5;
11130 programlockpulsewidth = 0;
11131 programlockpolltimeout = 5;
11136 allowfullpagebitstream = no;
11139 paged = no; /* leave this "no" */
11140 page_size = 8; /* for parallel programming */
11142 min_write_delay = 9000;
11143 max_write_delay = 9000;
11144 readback_p1 = 0x00;
11145 readback_p2 = 0x00;
11146 read = " 1 0 1 0 0 0 0 0",
11147 " x x x x a11 a10 a9 a8",
11148 " a7 a6 a5 a4 a3 a2 a1 a0",
11149 " o o o o o o o o";
11151 write = " 1 1 0 0 0 0 0 0",
11152 " x x x x a11 a10 a9 a8",
11153 " a7 a6 a5 a4 a3 a2 a1 a0",
11154 " i i i i i i i i";
11156 loadpage_lo = " 1 1 0 0 0 0 0 1",
11157 " 0 0 0 0 0 0 0 0",
11158 " 0 0 0 0 0 a2 a1 a0",
11159 " i i i i i i i i";
11161 writepage = " 1 1 0 0 0 0 1 0",
11162 " 0 0 x x a11 a10 a9 a8",
11163 " a7 a6 a5 a4 a3 0 0 0",
11164 " x x x x x x x x";
11177 min_write_delay = 4500;
11178 max_write_delay = 4500;
11179 readback_p1 = 0x00;
11180 readback_p2 = 0x00;
11181 read_lo = " 0 0 1 0 0 0 0 0",
11182 " 0 a14 a13 a12 a11 a10 a9 a8",
11183 " a7 a6 a5 a4 a3 a2 a1 a0",
11184 " o o o o o o o o";
11186 read_hi = " 0 0 1 0 1 0 0 0",
11187 " 0 a14 a13 a12 a11 a10 a9 a8",
11188 " a7 a6 a5 a4 a3 a2 a1 a0",
11189 " o o o o o o o o";
11191 loadpage_lo = " 0 1 0 0 0 0 0 0",
11192 " x x x x x x x x",
11193 " x a6 a5 a4 a3 a2 a1 a0",
11194 " i i i i i i i i";
11196 loadpage_hi = " 0 1 0 0 1 0 0 0",
11197 " x x x x x x x x",
11198 " x a6 a5 a4 a3 a2 a1 a0",
11199 " i i i i i i i i";
11201 writepage = " 0 1 0 0 1 1 0 0",
11202 " 0 a14 a13 a12 a11 a10 a9 a8",
11203 " a7 x x x x x x x",
11204 " x x x x x x x x";
11214 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
11215 "x x x x x x x x i i i i i i i i";
11217 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
11218 "x x x x x x x x o o o o o o o o";
11219 min_write_delay = 9000;
11220 max_write_delay = 9000;
11225 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
11226 "x x x x x x x x i i i i i i i i";
11228 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
11229 "x x x x x x x x o o o o o o o o";
11230 min_write_delay = 9000;
11231 max_write_delay = 9000;
11236 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
11237 "x x x x x x x x x x x x x i i i";
11239 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
11240 "x x x x x x x x o o o o o o o o";
11241 min_write_delay = 9000;
11242 max_write_delay = 9000;
11247 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
11248 "x x x x x x x x x x o o o o o o";
11250 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
11251 "x x x x x x x x 1 1 i i i i i i";
11252 min_write_delay = 9000;
11253 max_write_delay = 9000;
11256 memory "calibration"
11258 read = "0 0 1 1 1 0 0 0 x x x x x x x x",
11259 "0 0 0 0 0 0 0 0 o o o o o o o o";
11264 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
11265 "x x x x x x a1 a0 o o o o o o o o";
11269 #------------------------------------------------------------
11271 #------------------------------------------------------------
11275 desc = "ATMEGA1280";
11276 signature = 0x1e 0x97 0x03;
11278 # stk500_devcode = 0xB2;
11279 # avr910_devcode = 0x43;
11280 chip_erase_delay = 9000;
11284 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
11285 "x x x x x x x x x x x x x x x x";
11287 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
11288 "x x x x x x x x x x x x x x x x";
11302 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
11303 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
11304 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
11305 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
11306 hventerstabdelay = 100;
11310 poweroffdelay = 15;
11313 hvleavestabdelay = 15;
11314 chiperasepulsewidth = 0;
11315 chiperasepolltimeout = 10;
11316 programfusepulsewidth = 0;
11317 programfusepolltimeout = 5;
11318 programlockpulsewidth = 0;
11319 programlockpolltimeout = 5;
11324 allowfullpagebitstream = no;
11327 paged = no; /* leave this "no" */
11328 page_size = 8; /* for parallel programming */
11330 min_write_delay = 9000;
11331 max_write_delay = 9000;
11332 readback_p1 = 0x00;
11333 readback_p2 = 0x00;
11334 read = " 1 0 1 0 0 0 0 0",
11335 " x x x x a11 a10 a9 a8",
11336 " a7 a6 a5 a4 a3 a2 a1 a0",
11337 " o o o o o o o o";
11339 write = " 1 1 0 0 0 0 0 0",
11340 " x x x x a11 a10 a9 a8",
11341 " a7 a6 a5 a4 a3 a2 a1 a0",
11342 " i i i i i i i i";
11344 loadpage_lo = " 1 1 0 0 0 0 0 1",
11345 " 0 0 0 0 0 0 0 0",
11346 " 0 0 0 0 0 a2 a1 a0",
11347 " i i i i i i i i";
11349 writepage = " 1 1 0 0 0 0 1 0",
11350 " 0 0 x x a11 a10 a9 a8",
11351 " a7 a6 a5 a4 a3 0 0 0",
11352 " x x x x x x x x";
11365 min_write_delay = 4500;
11366 max_write_delay = 4500;
11367 readback_p1 = 0x00;
11368 readback_p2 = 0x00;
11369 read_lo = " 0 0 1 0 0 0 0 0",
11370 "a15 a14 a13 a12 a11 a10 a9 a8",
11371 " a7 a6 a5 a4 a3 a2 a1 a0",
11372 " o o o o o o o o";
11374 read_hi = " 0 0 1 0 1 0 0 0",
11375 "a15 a14 a13 a12 a11 a10 a9 a8",
11376 " a7 a6 a5 a4 a3 a2 a1 a0",
11377 " o o o o o o o o";
11379 loadpage_lo = " 0 1 0 0 0 0 0 0",
11380 " x x x x x x x x",
11381 " x a6 a5 a4 a3 a2 a1 a0",
11382 " i i i i i i i i";
11384 loadpage_hi = " 0 1 0 0 1 0 0 0",
11385 " x x x x x x x x",
11386 " x a6 a5 a4 a3 a2 a1 a0",
11387 " i i i i i i i i";
11389 writepage = " 0 1 0 0 1 1 0 0",
11390 "a15 a14 a13 a12 a11 a10 a9 a8",
11391 " a7 x x x x x x x",
11392 " x x x x x x x x";
11402 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
11403 "x x x x x x x x i i i i i i i i";
11405 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
11406 "x x x x x x x x o o o o o o o o";
11407 min_write_delay = 9000;
11408 max_write_delay = 9000;
11413 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
11414 "x x x x x x x x i i i i i i i i";
11416 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
11417 "x x x x x x x x o o o o o o o o";
11418 min_write_delay = 9000;
11419 max_write_delay = 9000;
11424 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
11425 "x x x x x x x x x x x x x i i i";
11427 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
11428 "x x x x x x x x o o o o o o o o";
11429 min_write_delay = 9000;
11430 max_write_delay = 9000;
11435 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
11436 "x x x x x x x x x x o o o o o o";
11438 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
11439 "x x x x x x x x 1 1 i i i i i i";
11440 min_write_delay = 9000;
11441 max_write_delay = 9000;
11444 memory "calibration"
11446 read = "0 0 1 1 1 0 0 0 x x x x x x x x",
11447 "0 0 0 0 0 0 0 0 o o o o o o o o";
11452 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
11453 "x x x x x x a1 a0 o o o o o o o o";
11457 #------------------------------------------------------------
11459 #------------------------------------------------------------
11460 # Identical to ATmega1280
11464 desc = "ATMEGA1281";
11465 signature = 0x1e 0x97 0x04;
11467 # stk500_devcode = 0xB2;
11468 # avr910_devcode = 0x43;
11469 chip_erase_delay = 9000;
11473 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
11474 "x x x x x x x x x x x x x x x x";
11476 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
11477 "x x x x x x x x x x x x x x x x";
11491 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
11492 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
11493 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
11494 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
11495 hventerstabdelay = 100;
11499 poweroffdelay = 15;
11502 hvleavestabdelay = 15;
11503 chiperasepulsewidth = 0;
11504 chiperasepolltimeout = 10;
11505 programfusepulsewidth = 0;
11506 programfusepolltimeout = 5;
11507 programlockpulsewidth = 0;
11508 programlockpolltimeout = 5;
11513 allowfullpagebitstream = no;
11516 paged = no; /* leave this "no" */
11517 page_size = 8; /* for parallel programming */
11519 min_write_delay = 9000;
11520 max_write_delay = 9000;
11521 readback_p1 = 0x00;
11522 readback_p2 = 0x00;
11523 read = " 1 0 1 0 0 0 0 0",
11524 " x x x x a11 a10 a9 a8",
11525 " a7 a6 a5 a4 a3 a2 a1 a0",
11526 " o o o o o o o o";
11528 write = " 1 1 0 0 0 0 0 0",
11529 " x x x x a11 a10 a9 a8",
11530 " a7 a6 a5 a4 a3 a2 a1 a0",
11531 " i i i i i i i i";
11533 loadpage_lo = " 1 1 0 0 0 0 0 1",
11534 " 0 0 0 0 0 0 0 0",
11535 " 0 0 0 0 0 a2 a1 a0",
11536 " i i i i i i i i";
11538 writepage = " 1 1 0 0 0 0 1 0",
11539 " 0 0 x x a11 a10 a9 a8",
11540 " a7 a6 a5 a4 a3 0 0 0",
11541 " x x x x x x x x";
11554 min_write_delay = 4500;
11555 max_write_delay = 4500;
11556 readback_p1 = 0x00;
11557 readback_p2 = 0x00;
11558 read_lo = " 0 0 1 0 0 0 0 0",
11559 "a15 a14 a13 a12 a11 a10 a9 a8",
11560 " a7 a6 a5 a4 a3 a2 a1 a0",
11561 " o o o o o o o o";
11563 read_hi = " 0 0 1 0 1 0 0 0",
11564 "a15 a14 a13 a12 a11 a10 a9 a8",
11565 " a7 a6 a5 a4 a3 a2 a1 a0",
11566 " o o o o o o o o";
11568 loadpage_lo = " 0 1 0 0 0 0 0 0",
11569 " x x x x x x x x",
11570 " x a6 a5 a4 a3 a2 a1 a0",
11571 " i i i i i i i i";
11573 loadpage_hi = " 0 1 0 0 1 0 0 0",
11574 " x x x x x x x x",
11575 " x a6 a5 a4 a3 a2 a1 a0",
11576 " i i i i i i i i";
11578 writepage = " 0 1 0 0 1 1 0 0",
11579 "a15 a14 a13 a12 a11 a10 a9 a8",
11580 " a7 x x x x x x x",
11581 " x x x x x x x x";
11591 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
11592 "x x x x x x x x i i i i i i i i";
11594 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
11595 "x x x x x x x x o o o o o o o o";
11596 min_write_delay = 9000;
11597 max_write_delay = 9000;
11602 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
11603 "x x x x x x x x i i i i i i i i";
11605 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
11606 "x x x x x x x x o o o o o o o o";
11607 min_write_delay = 9000;
11608 max_write_delay = 9000;
11613 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
11614 "x x x x x x x x x x x x x i i i";
11616 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
11617 "x x x x x x x x o o o o o o o o";
11618 min_write_delay = 9000;
11619 max_write_delay = 9000;
11624 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
11625 "x x x x x x x x x x o o o o o o";
11627 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
11628 "x x x x x x x x 1 1 i i i i i i";
11629 min_write_delay = 9000;
11630 max_write_delay = 9000;
11633 memory "calibration"
11635 read = "0 0 1 1 1 0 0 0 x x x x x x x x",
11636 "0 0 0 0 0 0 0 0 o o o o o o o o";
11641 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
11642 "x x x x x x a1 a0 o o o o o o o o";
11646 #------------------------------------------------------------
11648 #------------------------------------------------------------
11652 desc = "ATMEGA2560";
11653 signature = 0x1e 0x98 0x01;
11655 # stk500_devcode = 0xB2;
11656 # avr910_devcode = 0x43;
11657 chip_erase_delay = 9000;
11661 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
11662 "x x x x x x x x x x x x x x x x";
11664 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
11665 "x x x x x x x x x x x x x x x x";
11679 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
11680 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
11681 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
11682 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02;
11683 hventerstabdelay = 100;
11687 poweroffdelay = 15;
11690 hvleavestabdelay = 15;
11691 chiperasepulsewidth = 0;
11692 chiperasepolltimeout = 10;
11693 programfusepulsewidth = 0;
11694 programfusepolltimeout = 5;
11695 programlockpulsewidth = 0;
11696 programlockpolltimeout = 5;
11701 allowfullpagebitstream = no;
11704 paged = no; /* leave this "no" */
11705 page_size = 8; /* for parallel programming */
11707 min_write_delay = 9000;
11708 max_write_delay = 9000;
11709 readback_p1 = 0x00;
11710 readback_p2 = 0x00;
11711 read = " 1 0 1 0 0 0 0 0",
11712 " x x x x a11 a10 a9 a8",
11713 " a7 a6 a5 a4 a3 a2 a1 a0",
11714 " o o o o o o o o";
11716 write = " 1 1 0 0 0 0 0 0",
11717 " x x x x a11 a10 a9 a8",
11718 " a7 a6 a5 a4 a3 a2 a1 a0",
11719 " i i i i i i i i";
11721 loadpage_lo = " 1 1 0 0 0 0 0 1",
11722 " 0 0 0 0 0 0 0 0",
11723 " 0 0 0 0 0 a2 a1 a0",
11724 " i i i i i i i i";
11726 writepage = " 1 1 0 0 0 0 1 0",
11727 " 0 0 x x a11 a10 a9 a8",
11728 " a7 a6 a5 a4 a3 0 0 0",
11729 " x x x x x x x x";
11742 min_write_delay = 4500;
11743 max_write_delay = 4500;
11744 readback_p1 = 0x00;
11745 readback_p2 = 0x00;
11746 read_lo = " 0 0 1 0 0 0 0 0",
11747 "a15 a14 a13 a12 a11 a10 a9 a8",
11748 " a7 a6 a5 a4 a3 a2 a1 a0",
11749 " o o o o o o o o";
11751 read_hi = " 0 0 1 0 1 0 0 0",
11752 "a15 a14 a13 a12 a11 a10 a9 a8",
11753 " a7 a6 a5 a4 a3 a2 a1 a0",
11754 " o o o o o o o o";
11756 loadpage_lo = " 0 1 0 0 0 0 0 0",
11757 " x x x x x x x x",
11758 " x a6 a5 a4 a3 a2 a1 a0",
11759 " i i i i i i i i";
11761 loadpage_hi = " 0 1 0 0 1 0 0 0",
11762 " x x x x x x x x",
11763 " x a6 a5 a4 a3 a2 a1 a0",
11764 " i i i i i i i i";
11766 writepage = " 0 1 0 0 1 1 0 0",
11767 "a15 a14 a13 a12 a11 a10 a9 a8",
11768 " a7 x x x x x x x",
11769 " x x x x x x x x";
11771 load_ext_addr = " 0 1 0 0 1 1 0 1",
11772 " 0 0 0 0 0 0 0 0",
11773 " 0 0 0 0 0 0 0 a16",
11774 " 0 0 0 0 0 0 0 0";
11784 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
11785 "x x x x x x x x i i i i i i i i";
11787 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
11788 "x x x x x x x x o o o o o o o o";
11789 min_write_delay = 9000;
11790 max_write_delay = 9000;
11795 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
11796 "x x x x x x x x i i i i i i i i";
11798 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
11799 "x x x x x x x x o o o o o o o o";
11800 min_write_delay = 9000;
11801 max_write_delay = 9000;
11806 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
11807 "x x x x x x x x x x x x x i i i";
11809 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
11810 "x x x x x x x x o o o o o o o o";
11811 min_write_delay = 9000;
11812 max_write_delay = 9000;
11817 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
11818 "x x x x x x x x x x o o o o o o";
11820 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
11821 "x x x x x x x x 1 1 i i i i i i";
11822 min_write_delay = 9000;
11823 max_write_delay = 9000;
11826 memory "calibration"
11828 read = "0 0 1 1 1 0 0 0 x x x x x x x x",
11829 "0 0 0 0 0 0 0 0 o o o o o o o o";
11834 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
11835 "x x x x x x a1 a0 o o o o o o o o";
11839 #------------------------------------------------------------
11841 #------------------------------------------------------------
11845 desc = "ATMEGA2561";
11846 signature = 0x1e 0x98 0x02;
11848 # stk500_devcode = 0xB2;
11849 # avr910_devcode = 0x43;
11850 chip_erase_delay = 9000;
11854 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
11855 "x x x x x x x x x x x x x x x x";
11857 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
11858 "x x x x x x x x x x x x x x x x";
11872 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
11873 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
11874 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
11875 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02;
11876 hventerstabdelay = 100;
11880 poweroffdelay = 15;
11883 hvleavestabdelay = 15;
11884 chiperasepulsewidth = 0;
11885 chiperasepolltimeout = 10;
11886 programfusepulsewidth = 0;
11887 programfusepolltimeout = 5;
11888 programlockpulsewidth = 0;
11889 programlockpolltimeout = 5;
11894 allowfullpagebitstream = no;
11897 paged = no; /* leave this "no" */
11898 page_size = 8; /* for parallel programming */
11900 min_write_delay = 9000;
11901 max_write_delay = 9000;
11902 readback_p1 = 0x00;
11903 readback_p2 = 0x00;
11904 read = " 1 0 1 0 0 0 0 0",
11905 " x x x x a11 a10 a9 a8",
11906 " a7 a6 a5 a4 a3 a2 a1 a0",
11907 " o o o o o o o o";
11909 write = " 1 1 0 0 0 0 0 0",
11910 " x x x x a11 a10 a9 a8",
11911 " a7 a6 a5 a4 a3 a2 a1 a0",
11912 " i i i i i i i i";
11914 loadpage_lo = " 1 1 0 0 0 0 0 1",
11915 " 0 0 0 0 0 0 0 0",
11916 " 0 0 0 0 0 a2 a1 a0",
11917 " i i i i i i i i";
11919 writepage = " 1 1 0 0 0 0 1 0",
11920 " 0 0 x x a11 a10 a9 a8",
11921 " a7 a6 a5 a4 a3 0 0 0",
11922 " x x x x x x x x";
11935 min_write_delay = 4500;
11936 max_write_delay = 4500;
11937 readback_p1 = 0x00;
11938 readback_p2 = 0x00;
11939 read_lo = " 0 0 1 0 0 0 0 0",
11940 "a15 a14 a13 a12 a11 a10 a9 a8",
11941 " a7 a6 a5 a4 a3 a2 a1 a0",
11942 " o o o o o o o o";
11944 read_hi = " 0 0 1 0 1 0 0 0",
11945 "a15 a14 a13 a12 a11 a10 a9 a8",
11946 " a7 a6 a5 a4 a3 a2 a1 a0",
11947 " o o o o o o o o";
11949 loadpage_lo = " 0 1 0 0 0 0 0 0",
11950 " x x x x x x x x",
11951 " x a6 a5 a4 a3 a2 a1 a0",
11952 " i i i i i i i i";
11954 loadpage_hi = " 0 1 0 0 1 0 0 0",
11955 " x x x x x x x x",
11956 " x a6 a5 a4 a3 a2 a1 a0",
11957 " i i i i i i i i";
11959 writepage = " 0 1 0 0 1 1 0 0",
11960 "a15 a14 a13 a12 a11 a10 a9 a8",
11961 " a7 x x x x x x x",
11962 " x x x x x x x x";
11964 load_ext_addr = " 0 1 0 0 1 1 0 1",
11965 " 0 0 0 0 0 0 0 0",
11966 " 0 0 0 0 0 0 0 a16",
11967 " 0 0 0 0 0 0 0 0";
11977 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
11978 "x x x x x x x x i i i i i i i i";
11980 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
11981 "x x x x x x x x o o o o o o o o";
11982 min_write_delay = 9000;
11983 max_write_delay = 9000;
11988 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
11989 "x x x x x x x x i i i i i i i i";
11991 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
11992 "x x x x x x x x o o o o o o o o";
11993 min_write_delay = 9000;
11994 max_write_delay = 9000;
11999 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
12000 "x x x x x x x x x x x x x i i i";
12002 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
12003 "x x x x x x x x o o o o o o o o";
12004 min_write_delay = 9000;
12005 max_write_delay = 9000;
12010 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
12011 "x x x x x x x x x x o o o o o o";
12013 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
12014 "x x x x x x x x 1 1 i i i i i i";
12015 min_write_delay = 9000;
12016 max_write_delay = 9000;
12019 memory "calibration"
12021 read = "0 0 1 1 1 0 0 0 x x x x x x x x",
12022 "0 0 0 0 0 0 0 0 o o o o o o o o";
12027 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
12028 "x x x x x x a1 a0 o o o o o o o o";
12032 #------------------------------------------------------------
12034 #------------------------------------------------------------
12035 # Identical to ATmega2561 but half the ROM
12039 desc = "ATMEGA128RFA1";
12040 signature = 0x1e 0xa7 0x01;
12042 # stk500_devcode = 0xB2;
12043 # avr910_devcode = 0x43;
12044 chip_erase_delay = 55000;
12048 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
12049 "x x x x x x x x x x x x x x x x";
12051 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
12052 "x x x x x x x x x x x x x x x x";
12066 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
12067 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
12068 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
12069 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02;
12070 hventerstabdelay = 100;
12074 poweroffdelay = 15;
12077 hvleavestabdelay = 15;
12078 chiperasepulsewidth = 0;
12079 chiperasepolltimeout = 10;
12080 programfusepulsewidth = 0;
12081 programfusepolltimeout = 5;
12082 programlockpulsewidth = 0;
12083 programlockpolltimeout = 5;
12088 allowfullpagebitstream = no;
12091 paged = no; /* leave this "no" */
12092 page_size = 8; /* for parallel programming */
12094 min_write_delay = 50000;
12095 max_write_delay = 50000;
12096 readback_p1 = 0x00;
12097 readback_p2 = 0x00;
12098 read = " 1 0 1 0 0 0 0 0",
12099 " x x x x a11 a10 a9 a8",
12100 " a7 a6 a5 a4 a3 a2 a1 a0",
12101 " o o o o o o o o";
12103 write = " 1 1 0 0 0 0 0 0",
12104 " x x x x a11 a10 a9 a8",
12105 " a7 a6 a5 a4 a3 a2 a1 a0",
12106 " i i i i i i i i";
12108 loadpage_lo = " 1 1 0 0 0 0 0 1",
12109 " 0 0 0 0 0 0 0 0",
12110 " 0 0 0 0 0 a2 a1 a0",
12111 " i i i i i i i i";
12113 writepage = " 1 1 0 0 0 0 1 0",
12114 " 0 0 x x a11 a10 a9 a8",
12115 " a7 a6 a5 a4 a3 0 0 0",
12116 " x x x x x x x x";
12129 min_write_delay = 50000;
12130 max_write_delay = 50000;
12131 readback_p1 = 0x00;
12132 readback_p2 = 0x00;
12133 read_lo = " 0 0 1 0 0 0 0 0",
12134 "a15 a14 a13 a12 a11 a10 a9 a8",
12135 " a7 a6 a5 a4 a3 a2 a1 a0",
12136 " o o o o o o o o";
12138 read_hi = " 0 0 1 0 1 0 0 0",
12139 "a15 a14 a13 a12 a11 a10 a9 a8",
12140 " a7 a6 a5 a4 a3 a2 a1 a0",
12141 " o o o o o o o o";
12143 loadpage_lo = " 0 1 0 0 0 0 0 0",
12144 " x x x x x x x x",
12145 " x a6 a5 a4 a3 a2 a1 a0",
12146 " i i i i i i i i";
12148 loadpage_hi = " 0 1 0 0 1 0 0 0",
12149 " x x x x x x x x",
12150 " x a6 a5 a4 a3 a2 a1 a0",
12151 " i i i i i i i i";
12153 writepage = " 0 1 0 0 1 1 0 0",
12154 "a15 a14 a13 a12 a11 a10 a9 a8",
12155 " a7 x x x x x x x",
12156 " x x x x x x x x";
12166 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
12167 "x x x x x x x x i i i i i i i i";
12169 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
12170 "x x x x x x x x o o o o o o o o";
12171 min_write_delay = 9000;
12172 max_write_delay = 9000;
12177 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
12178 "x x x x x x x x i i i i i i i i";
12180 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
12181 "x x x x x x x x o o o o o o o o";
12182 min_write_delay = 9000;
12183 max_write_delay = 9000;
12188 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
12189 "x x x x x x x x x x x x x i i i";
12191 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
12192 "x x x x x x x x o o o o o o o o";
12193 min_write_delay = 9000;
12194 max_write_delay = 9000;
12199 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
12200 "x x x x x x x x x x o o o o o o";
12202 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
12203 "x x x x x x x x 1 1 i i i i i i";
12204 min_write_delay = 9000;
12205 max_write_delay = 9000;
12208 memory "calibration"
12210 read = "0 0 1 1 1 0 0 0 x x x x x x x x",
12211 "0 0 0 0 0 0 0 0 o o o o o o o o";
12216 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
12217 "x x x x x x a1 a0 o o o o o o o o";
12221 #------------------------------------------------------------
12223 #------------------------------------------------------------
12228 has_debugwire = yes;
12229 flash_instr = 0xB4, 0x07, 0x17;
12230 eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
12231 0xBC, 0x07, 0xB4, 0x07, 0xBA, 0x0D, 0xBB, 0xBC,
12232 0x99, 0xE1, 0xBB, 0xAC;
12233 ## no STK500 devcode in XML file, use the ATtiny45 one
12234 stk500_devcode = 0x14;
12235 ## avr910_devcode = ?;
12236 ## Try the AT90S2313 devcode:
12237 avr910_devcode = 0x20;
12238 signature = 0x1e 0x91 0x0b;
12240 chip_erase_delay = 4500;
12242 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
12243 "x x x x x x x x x x x x x x x x";
12245 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
12246 "x x x x x x x x x x x x x x x x";
12259 hvsp_controlstack =
12260 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66,
12261 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78,
12262 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
12263 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0F;
12264 hventerstabdelay = 100;
12265 hvspcmdexedelay = 0;
12269 poweroffdelay = 25;
12272 hvleavestabdelay = 100;
12274 chiperasepolltimeout = 40;
12276 programfusepolltimeout = 25;
12277 programlockpolltimeout = 25;
12283 min_write_delay = 4000;
12284 max_write_delay = 4500;
12285 readback_p1 = 0xff;
12286 readback_p2 = 0xff;
12287 read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x",
12288 "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
12290 write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x",
12291 "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
12293 loadpage_lo = " 1 1 0 0 0 0 0 1",
12294 " 0 0 0 0 0 0 0 0",
12295 " 0 0 0 0 0 0 a1 a0",
12296 " i i i i i i i i";
12298 writepage = " 1 1 0 0 0 0 1 0",
12299 " 0 0 x x x x x x",
12300 " x a6 a5 a4 a3 a2 0 0",
12301 " x x x x x x x x";
12313 min_write_delay = 4500;
12314 max_write_delay = 4500;
12315 readback_p1 = 0xff;
12316 readback_p2 = 0xff;
12317 read_lo = " 0 0 1 0 0 0 0 0",
12318 " 0 0 0 0 0 0 a9 a8",
12319 " a7 a6 a5 a4 a3 a2 a1 a0",
12320 " o o o o o o o o";
12322 read_hi = " 0 0 1 0 1 0 0 0",
12323 " 0 0 0 0 0 0 a9 a8",
12324 " a7 a6 a5 a4 a3 a2 a1 a0",
12325 " o o o o o o o o";
12327 loadpage_lo = " 0 1 0 0 0 0 0 0",
12328 " 0 0 0 x x x x x",
12329 " x x x x a3 a2 a1 a0",
12330 " i i i i i i i i";
12332 loadpage_hi = " 0 1 0 0 1 0 0 0",
12333 " 0 0 0 x x x x x",
12334 " x x x x a3 a2 a1 a0",
12335 " i i i i i i i i";
12337 writepage = " 0 1 0 0 1 1 0 0",
12338 " 0 0 0 0 0 0 a9 a8",
12339 " a7 a6 a5 a4 x x x x",
12340 " x x x x x x x x";
12347 # ATtiny24 has Signature Bytes: 0x1E 0x91 0x0B.
12350 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
12351 "x x x x x x a1 a0 o o o o o o o o";
12355 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
12356 "x x x x x x x x x x x x x x i i";
12357 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
12358 "0 0 0 0 0 0 0 0 o o o o o o o o";
12359 min_write_delay = 9000;
12360 max_write_delay = 9000;
12365 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
12366 "x x x x x x x x i i i i i i i i";
12368 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
12369 "x x x x x x x x o o o o o o o o";
12370 min_write_delay = 9000;
12371 max_write_delay = 9000;
12376 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
12377 "x x x x x x x x i i i i i i i i";
12379 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
12380 "x x x x x x x x o o o o o o o o";
12381 min_write_delay = 9000;
12382 max_write_delay = 9000;
12387 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
12388 "x x x x x x x x x x x x x x x i";
12390 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
12391 "x x x x x x x x o o o o o o o o";
12392 min_write_delay = 9000;
12393 max_write_delay = 9000;
12396 memory "calibration"
12398 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
12399 "0 0 0 0 0 0 0 a0 o o o o o o o o";
12403 #------------------------------------------------------------
12405 #------------------------------------------------------------
12410 has_debugwire = yes;
12411 flash_instr = 0xB4, 0x07, 0x17;
12412 eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
12413 0xBC, 0x07, 0xB4, 0x07, 0xBA, 0x0D, 0xBB, 0xBC,
12414 0x99, 0xE1, 0xBB, 0xAC;
12415 ## no STK500 devcode in XML file, use the ATtiny45 one
12416 stk500_devcode = 0x14;
12417 ## avr910_devcode = ?;
12418 ## Try the AT90S2313 devcode:
12419 avr910_devcode = 0x20;
12420 signature = 0x1e 0x92 0x07;
12422 chip_erase_delay = 4500;
12424 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
12425 "x x x x x x x x x x x x x x x x";
12427 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
12428 "x x x x x x x x x x x x x x x x";
12441 hvsp_controlstack =
12442 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66,
12443 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78,
12444 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
12445 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0F;
12446 hventerstabdelay = 100;
12447 hvspcmdexedelay = 0;
12451 poweroffdelay = 25;
12454 hvleavestabdelay = 100;
12456 chiperasepolltimeout = 40;
12458 programfusepolltimeout = 25;
12459 programlockpolltimeout = 25;
12465 min_write_delay = 4000;
12466 max_write_delay = 4500;
12467 readback_p1 = 0xff;
12468 readback_p2 = 0xff;
12469 read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x",
12470 "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
12472 write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x",
12473 "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
12475 loadpage_lo = " 1 1 0 0 0 0 0 1",
12476 " 0 0 0 0 0 0 0 0",
12477 " 0 0 0 0 0 0 a1 a0",
12478 " i i i i i i i i";
12480 writepage = " 1 1 0 0 0 0 1 0",
12481 " 0 0 x x x x x x",
12482 " x a6 a5 a4 a3 a2 0 0",
12483 " x x x x x x x x";
12495 min_write_delay = 4500;
12496 max_write_delay = 4500;
12497 readback_p1 = 0xff;
12498 readback_p2 = 0xff;
12499 read_lo = " 0 0 1 0 0 0 0 0",
12500 " 0 0 0 0 0 a10 a9 a8",
12501 " a7 a6 a5 a4 a3 a2 a1 a0",
12502 " o o o o o o o o";
12504 read_hi = " 0 0 1 0 1 0 0 0",
12505 " 0 0 0 0 0 a10 a9 a8",
12506 " a7 a6 a5 a4 a3 a2 a1 a0",
12507 " o o o o o o o o";
12509 loadpage_lo = " 0 1 0 0 0 0 0 0",
12510 " 0 0 0 x x x x x",
12511 " x x x a4 a3 a2 a1 a0",
12512 " i i i i i i i i";
12514 loadpage_hi = " 0 1 0 0 1 0 0 0",
12515 " 0 0 0 x x x x x",
12516 " x x x a4 a3 a2 a1 a0",
12517 " i i i i i i i i";
12519 writepage = " 0 1 0 0 1 1 0 0",
12520 " 0 0 0 0 0 a10 a9 a8",
12521 " a7 a6 a5 x x x x x",
12522 " x x x x x x x x";
12529 # ATtiny44 has Signature Bytes: 0x1E 0x92 0x07.
12532 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
12533 "x x x x x x a1 a0 o o o o o o o o";
12537 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
12538 "x x x x x x x x x x x x x x i i";
12539 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
12540 "0 0 0 0 0 0 0 0 o o o o o o o o";
12541 min_write_delay = 9000;
12542 max_write_delay = 9000;
12547 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
12548 "x x x x x x x x i i i i i i i i";
12550 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
12551 "x x x x x x x x o o o o o o o o";
12552 min_write_delay = 9000;
12553 max_write_delay = 9000;
12558 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
12559 "x x x x x x x x i i i i i i i i";
12561 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
12562 "x x x x x x x x o o o o o o o o";
12563 min_write_delay = 9000;
12564 max_write_delay = 9000;
12569 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
12570 "x x x x x x x x x x x x x x x i";
12572 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
12573 "x x x x x x x x o o o o o o o o";
12574 min_write_delay = 9000;
12575 max_write_delay = 9000;
12578 memory "calibration"
12580 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
12581 "0 0 0 0 0 0 0 a0 o o o o o o o o";
12585 #------------------------------------------------------------
12587 #------------------------------------------------------------
12592 has_debugwire = yes;
12593 flash_instr = 0xB4, 0x07, 0x17;
12594 eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
12595 0xBC, 0x07, 0xB4, 0x07, 0xBA, 0x0D, 0xBB, 0xBC,
12596 0x99, 0xE1, 0xBB, 0xAC;
12597 ## no STK500 devcode in XML file, use the ATtiny45 one
12598 stk500_devcode = 0x14;
12599 ## avr910_devcode = ?;
12600 ## Try the AT90S2313 devcode:
12601 avr910_devcode = 0x20;
12602 signature = 0x1e 0x93 0x0c;
12604 chip_erase_delay = 4500;
12606 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
12607 "x x x x x x x x x x x x x x x x";
12609 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
12610 "x x x x x x x x x x x x x x x x";
12623 hvsp_controlstack =
12624 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66,
12625 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78,
12626 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
12627 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0F;
12628 hventerstabdelay = 100;
12629 hvspcmdexedelay = 0;
12633 poweroffdelay = 25;
12636 hvleavestabdelay = 100;
12638 chiperasepolltimeout = 40;
12640 programfusepolltimeout = 25;
12641 programlockpolltimeout = 25;
12647 min_write_delay = 4000;
12648 max_write_delay = 4500;
12649 readback_p1 = 0xff;
12650 readback_p2 = 0xff;
12651 read = "1 0 1 0 0 0 0 0 0 0 0 x x x x a8",
12652 "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
12654 write = "1 1 0 0 0 0 0 0 0 0 0 x x x x a8",
12655 "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
12657 loadpage_lo = " 1 1 0 0 0 0 0 1",
12658 " 0 0 0 0 0 0 0 0",
12659 " 0 0 0 0 0 0 a1 a0",
12660 " i i i i i i i i";
12662 writepage = " 1 1 0 0 0 0 1 0",
12663 " 0 0 x x x x x x",
12664 " x a6 a5 a4 a3 a2 0 0",
12665 " x x x x x x x x";
12677 min_write_delay = 4500;
12678 max_write_delay = 4500;
12679 readback_p1 = 0xff;
12680 readback_p2 = 0xff;
12681 read_lo = " 0 0 1 0 0 0 0 0",
12682 " 0 0 0 0 a11 a10 a9 a8",
12683 " a7 a6 a5 a4 a3 a2 a1 a0",
12684 " o o o o o o o o";
12686 read_hi = " 0 0 1 0 1 0 0 0",
12687 " 0 0 0 0 a11 a10 a9 a8",
12688 " a7 a6 a5 a4 a3 a2 a1 a0",
12689 " o o o o o o o o";
12691 loadpage_lo = " 0 1 0 0 0 0 0 0",
12692 " 0 0 0 x x x x x",
12693 " x x x a4 a3 a2 a1 a0",
12694 " i i i i i i i i";
12696 loadpage_hi = " 0 1 0 0 1 0 0 0",
12697 " 0 0 0 x x x x x",
12698 " x x x a4 a3 a2 a1 a0",
12699 " i i i i i i i i";
12701 writepage = " 0 1 0 0 1 1 0 0",
12702 " 0 0 0 0 a11 a10 a9 a8",
12703 " a7 a6 a5 x x x x x",
12704 " x x x x x x x x";
12711 # ATtiny84 has Signature Bytes: 0x1E 0x93 0x0C.
12714 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
12715 "x x x x x x a1 a0 o o o o o o o o";
12720 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
12721 "x x x x x x x x x x x x x x i i";
12722 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
12723 "0 0 0 0 0 0 0 0 o o o o o o o o";
12724 min_write_delay = 9000;
12725 max_write_delay = 9000;
12730 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
12731 "x x x x x x x x i i i i i i i i";
12733 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
12734 "x x x x x x x x o o o o o o o o";
12735 min_write_delay = 9000;
12736 max_write_delay = 9000;
12741 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
12742 "x x x x x x x x i i i i i i i i";
12744 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
12745 "x x x x x x x x o o o o o o o o";
12746 min_write_delay = 9000;
12747 max_write_delay = 9000;
12752 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
12753 "x x x x x x x x x x x x x x x i";
12755 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
12756 "x x x x x x x x o o o o o o o o";
12757 min_write_delay = 9000;
12758 max_write_delay = 9000;
12761 memory "calibration"
12763 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
12764 "0 0 0 0 0 0 0 a0 o o o o o o o o";
12768 #------------------------------------------------------------
12770 #------------------------------------------------------------
12774 desc = "ATmega32U4";
12775 signature = 0x1e 0x95 0x87;
12777 # stk500_devcode = 0xB2;
12778 # avr910_devcode = 0x43;
12779 chip_erase_delay = 9000;
12783 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
12784 "x x x x x x x x x x x x x x x x";
12786 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
12787 "x x x x x x x x x x x x x x x x";
12801 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
12802 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
12803 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
12804 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
12805 hventerstabdelay = 100;
12809 poweroffdelay = 15;
12812 hvleavestabdelay = 15;
12813 chiperasepulsewidth = 0;
12814 chiperasepolltimeout = 10;
12815 programfusepulsewidth = 0;
12816 programfusepolltimeout = 5;
12817 programlockpulsewidth = 0;
12818 programlockpolltimeout = 5;
12823 allowfullpagebitstream = no;
12826 paged = no; /* leave this "no" */
12827 page_size = 8; /* for parallel programming */
12829 min_write_delay = 9000;
12830 max_write_delay = 9000;
12831 readback_p1 = 0x00;
12832 readback_p2 = 0x00;
12833 read = " 1 0 1 0 0 0 0 0",
12834 " x x x x x a10 a9 a8",
12835 " a7 a6 a5 a4 a3 a2 a1 a0",
12836 " o o o o o o o o";
12838 write = " 1 1 0 0 0 0 0 0",
12839 " x x x x x a10 a9 a8",
12840 " a7 a6 a5 a4 a3 a2 a1 a0",
12841 " i i i i i i i i";
12843 loadpage_lo = " 1 1 0 0 0 0 0 1",
12844 " 0 0 0 0 0 0 0 0",
12845 " 0 0 0 0 0 a2 a1 a0",
12846 " i i i i i i i i";
12848 writepage = " 1 1 0 0 0 0 1 0",
12849 " 0 0 x x x a10 a9 a8",
12850 " a7 a6 a5 a4 a3 0 0 0",
12851 " x x x x x x x x";
12864 min_write_delay = 4500;
12865 max_write_delay = 4500;
12866 readback_p1 = 0x00;
12867 readback_p2 = 0x00;
12868 read_lo = " 0 0 1 0 0 0 0 0",
12869 " 0 a14 a13 a12 a11 a10 a9 a8",
12870 " a7 a6 a5 a4 a3 a2 a1 a0",
12871 " o o o o o o o o";
12873 read_hi = " 0 0 1 0 1 0 0 0",
12874 " 0 a14 a13 a12 a11 a10 a9 a8",
12875 " a7 a6 a5 a4 a3 a2 a1 a0",
12876 " o o o o o o o o";
12878 loadpage_lo = " 0 1 0 0 0 0 0 0",
12879 " x x x x x x x x",
12880 " x x a5 a4 a3 a2 a1 a0",
12881 " i i i i i i i i";
12883 loadpage_hi = " 0 1 0 0 1 0 0 0",
12884 " x x x x x x x x",
12885 " x x a5 a4 a3 a2 a1 a0",
12886 " i i i i i i i i";
12888 writepage = " 0 1 0 0 1 1 0 0",
12889 " a15 a14 a13 a12 a11 a10 a9 a8",
12890 " a7 a6 x x x x x x",
12891 " x x x x x x x x";
12901 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
12902 "x x x x x x x x i i i i i i i i";
12904 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
12905 "x x x x x x x x o o o o o o o o";
12906 min_write_delay = 9000;
12907 max_write_delay = 9000;
12912 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
12913 "x x x x x x x x i i i i i i i i";
12915 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
12916 "x x x x x x x x o o o o o o o o";
12917 min_write_delay = 9000;
12918 max_write_delay = 9000;
12923 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
12924 "x x x x x x x x x x x x i i i i";
12926 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
12927 "x x x x x x x x o o o o o o o o";
12928 min_write_delay = 9000;
12929 max_write_delay = 9000;
12934 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
12935 "x x x x x x x x x x o o o o o o";
12937 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
12938 "x x x x x x x x 1 1 i i i i i i";
12939 min_write_delay = 9000;
12940 max_write_delay = 9000;
12943 memory "calibration"
12945 read = "0 0 1 1 1 0 0 0 x x x x x x x x",
12946 "0 0 0 0 0 0 0 0 o o o o o o o o";
12951 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
12952 "x x x x x x a1 a0 o o o o o o o o";
12956 #------------------------------------------------------------
12958 #------------------------------------------------------------
12962 desc = "AT90USB646";
12963 signature = 0x1e 0x96 0x82;
12965 # stk500_devcode = 0xB2;
12966 # avr910_devcode = 0x43;
12967 chip_erase_delay = 9000;
12971 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
12972 "x x x x x x x x x x x x x x x x";
12974 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
12975 "x x x x x x x x x x x x x x x x";
12989 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
12990 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
12991 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
12992 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
12993 hventerstabdelay = 100;
12997 poweroffdelay = 15;
13000 hvleavestabdelay = 15;
13001 chiperasepulsewidth = 0;
13002 chiperasepolltimeout = 10;
13003 programfusepulsewidth = 0;
13004 programfusepolltimeout = 5;
13005 programlockpulsewidth = 0;
13006 programlockpolltimeout = 5;
13011 allowfullpagebitstream = no;
13014 paged = no; /* leave this "no" */
13015 page_size = 8; /* for parallel programming */
13017 min_write_delay = 9000;
13018 max_write_delay = 9000;
13019 readback_p1 = 0x00;
13020 readback_p2 = 0x00;
13021 read = " 1 0 1 0 0 0 0 0",
13022 " x x x x x a10 a9 a8",
13023 " a7 a6 a5 a4 a3 a2 a1 a0",
13024 " o o o o o o o o";
13026 write = " 1 1 0 0 0 0 0 0",
13027 " x x x x x a10 a9 a8",
13028 " a7 a6 a5 a4 a3 a2 a1 a0",
13029 " i i i i i i i i";
13031 loadpage_lo = " 1 1 0 0 0 0 0 1",
13032 " 0 0 0 0 0 0 0 0",
13033 " 0 0 0 0 0 a2 a1 a0",
13034 " i i i i i i i i";
13036 writepage = " 1 1 0 0 0 0 1 0",
13037 " 0 0 x x x a10 a9 a8",
13038 " a7 a6 a5 a4 a3 0 0 0",
13039 " x x x x x x x x";
13052 min_write_delay = 4500;
13053 max_write_delay = 4500;
13054 readback_p1 = 0x00;
13055 readback_p2 = 0x00;
13056 read_lo = " 0 0 1 0 0 0 0 0",
13057 " 0 a14 a13 a12 a11 a10 a9 a8",
13058 " a7 a6 a5 a4 a3 a2 a1 a0",
13059 " o o o o o o o o";
13061 read_hi = " 0 0 1 0 1 0 0 0",
13062 " 0 a14 a13 a12 a11 a10 a9 a8",
13063 " a7 a6 a5 a4 a3 a2 a1 a0",
13064 " o o o o o o o o";
13066 loadpage_lo = " 0 1 0 0 0 0 0 0",
13067 " x x x x x x x x",
13068 " x a6 a5 a4 a3 a2 a1 a0",
13069 " i i i i i i i i";
13071 loadpage_hi = " 0 1 0 0 1 0 0 0",
13072 " x x x x x x x x",
13073 " x a6 a5 a4 a3 a2 a1 a0",
13074 " i i i i i i i i";
13076 writepage = " 0 1 0 0 1 1 0 0",
13077 " 0 a14 a13 a12 a11 a10 a9 a8",
13078 " a7 x x x x x x x",
13079 " x x x x x x x x";
13089 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
13090 "x x x x x x x x i i i i i i i i";
13092 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
13093 "x x x x x x x x o o o o o o o o";
13094 min_write_delay = 9000;
13095 max_write_delay = 9000;
13100 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
13101 "x x x x x x x x i i i i i i i i";
13103 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
13104 "x x x x x x x x o o o o o o o o";
13105 min_write_delay = 9000;
13106 max_write_delay = 9000;
13111 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
13112 "x x x x x x x x x x x x i i i i";
13114 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
13115 "x x x x x x x x o o o o o o o o";
13116 min_write_delay = 9000;
13117 max_write_delay = 9000;
13122 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
13123 "x x x x x x x x x x o o o o o o";
13125 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
13126 "x x x x x x x x 1 1 i i i i i i";
13127 min_write_delay = 9000;
13128 max_write_delay = 9000;
13131 memory "calibration"
13133 read = "0 0 1 1 1 0 0 0 x x x x x x x x",
13134 "0 0 0 0 0 0 0 0 o o o o o o o o";
13139 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
13140 "x x x x x x a1 a0 o o o o o o o o";
13144 #------------------------------------------------------------
13146 #------------------------------------------------------------
13147 # identical to AT90USB646
13151 desc = "AT90USB647";
13152 signature = 0x1e 0x96 0x82;
13154 # stk500_devcode = 0xB2;
13155 # avr910_devcode = 0x43;
13156 chip_erase_delay = 9000;
13160 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
13161 "x x x x x x x x x x x x x x x x";
13163 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
13164 "x x x x x x x x x x x x x x x x";
13178 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
13179 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
13180 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
13181 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
13182 hventerstabdelay = 100;
13186 poweroffdelay = 15;
13189 hvleavestabdelay = 15;
13190 chiperasepulsewidth = 0;
13191 chiperasepolltimeout = 10;
13192 programfusepulsewidth = 0;
13193 programfusepolltimeout = 5;
13194 programlockpulsewidth = 0;
13195 programlockpolltimeout = 5;
13200 allowfullpagebitstream = no;
13203 paged = no; /* leave this "no" */
13204 page_size = 8; /* for parallel programming */
13206 min_write_delay = 9000;
13207 max_write_delay = 9000;
13208 readback_p1 = 0x00;
13209 readback_p2 = 0x00;
13210 read = " 1 0 1 0 0 0 0 0",
13211 " x x x x x a10 a9 a8",
13212 " a7 a6 a5 a4 a3 a2 a1 a0",
13213 " o o o o o o o o";
13215 write = " 1 1 0 0 0 0 0 0",
13216 " x x x x x a10 a9 a8",
13217 " a7 a6 a5 a4 a3 a2 a1 a0",
13218 " i i i i i i i i";
13220 loadpage_lo = " 1 1 0 0 0 0 0 1",
13221 " 0 0 0 0 0 0 0 0",
13222 " 0 0 0 0 0 a2 a1 a0",
13223 " i i i i i i i i";
13225 writepage = " 1 1 0 0 0 0 1 0",
13226 " 0 0 x x x a10 a9 a8",
13227 " a7 a6 a5 a4 a3 0 0 0",
13228 " x x x x x x x x";
13241 min_write_delay = 4500;
13242 max_write_delay = 4500;
13243 readback_p1 = 0x00;
13244 readback_p2 = 0x00;
13245 read_lo = " 0 0 1 0 0 0 0 0",
13246 " 0 a14 a13 a12 a11 a10 a9 a8",
13247 " a7 a6 a5 a4 a3 a2 a1 a0",
13248 " o o o o o o o o";
13250 read_hi = " 0 0 1 0 1 0 0 0",
13251 " 0 a14 a13 a12 a11 a10 a9 a8",
13252 " a7 a6 a5 a4 a3 a2 a1 a0",
13253 " o o o o o o o o";
13255 loadpage_lo = " 0 1 0 0 0 0 0 0",
13256 " x x x x x x x x",
13257 " x a6 a5 a4 a3 a2 a1 a0",
13258 " i i i i i i i i";
13260 loadpage_hi = " 0 1 0 0 1 0 0 0",
13261 " x x x x x x x x",
13262 " x a6 a5 a4 a3 a2 a1 a0",
13263 " i i i i i i i i";
13265 writepage = " 0 1 0 0 1 1 0 0",
13266 " 0 a14 a13 a12 a11 a10 a9 a8",
13267 " a7 x x x x x x x",
13268 " x x x x x x x x";
13278 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
13279 "x x x x x x x x i i i i i i i i";
13281 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
13282 "x x x x x x x x o o o o o o o o";
13283 min_write_delay = 9000;
13284 max_write_delay = 9000;
13289 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
13290 "x x x x x x x x i i i i i i i i";
13292 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
13293 "x x x x x x x x o o o o o o o o";
13294 min_write_delay = 9000;
13295 max_write_delay = 9000;
13300 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
13301 "x x x x x x x x x x x x i i i i";
13303 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
13304 "x x x x x x x x o o o o o o o o";
13305 min_write_delay = 9000;
13306 max_write_delay = 9000;
13311 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
13312 "x x x x x x x x x x o o o o o o";
13314 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
13315 "x x x x x x x x 1 1 i i i i i i";
13316 min_write_delay = 9000;
13317 max_write_delay = 9000;
13320 memory "calibration"
13322 read = "0 0 1 1 1 0 0 0 x x x x x x x x",
13323 "0 0 0 0 0 0 0 0 o o o o o o o o";
13328 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
13329 "x x x x x x a1 a0 o o o o o o o o";
13333 #------------------------------------------------------------
13335 #------------------------------------------------------------
13339 desc = "AT90USB1286";
13340 signature = 0x1e 0x97 0x82;
13342 # stk500_devcode = 0xB2;
13343 # avr910_devcode = 0x43;
13344 chip_erase_delay = 9000;
13348 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
13349 "x x x x x x x x x x x x x x x x";
13351 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
13352 "x x x x x x x x x x x x x x x x";
13366 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
13367 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
13368 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
13369 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
13370 hventerstabdelay = 100;
13374 poweroffdelay = 15;
13377 hvleavestabdelay = 15;
13378 chiperasepulsewidth = 0;
13379 chiperasepolltimeout = 10;
13380 programfusepulsewidth = 0;
13381 programfusepolltimeout = 5;
13382 programlockpulsewidth = 0;
13383 programlockpolltimeout = 5;
13388 allowfullpagebitstream = no;
13391 paged = no; /* leave this "no" */
13392 page_size = 8; /* for parallel programming */
13394 min_write_delay = 9000;
13395 max_write_delay = 9000;
13396 readback_p1 = 0x00;
13397 readback_p2 = 0x00;
13398 read = " 1 0 1 0 0 0 0 0",
13399 " x x x x a11 a10 a9 a8",
13400 " a7 a6 a5 a4 a3 a2 a1 a0",
13401 " o o o o o o o o";
13403 write = " 1 1 0 0 0 0 0 0",
13404 " x x x x a11 a10 a9 a8",
13405 " a7 a6 a5 a4 a3 a2 a1 a0",
13406 " i i i i i i i i";
13408 loadpage_lo = " 1 1 0 0 0 0 0 1",
13409 " 0 0 0 0 0 0 0 0",
13410 " 0 0 0 0 0 a2 a1 a0",
13411 " i i i i i i i i";
13413 writepage = " 1 1 0 0 0 0 1 0",
13414 " 0 0 x x x a10 a9 a8",
13415 " a7 a6 a5 a4 a3 0 0 0",
13416 " x x x x x x x x";
13429 min_write_delay = 4500;
13430 max_write_delay = 4500;
13431 readback_p1 = 0x00;
13432 readback_p2 = 0x00;
13433 read_lo = " 0 0 1 0 0 0 0 0",
13434 "a15 a14 a13 a12 a11 a10 a9 a8",
13435 " a7 a6 a5 a4 a3 a2 a1 a0",
13436 " o o o o o o o o";
13438 read_hi = " 0 0 1 0 1 0 0 0",
13439 "a15 a14 a13 a12 a11 a10 a9 a8",
13440 " a7 a6 a5 a4 a3 a2 a1 a0",
13441 " o o o o o o o o";
13443 loadpage_lo = " 0 1 0 0 0 0 0 0",
13444 " x x x x x x x x",
13445 " x a6 a5 a4 a3 a2 a1 a0",
13446 " i i i i i i i i";
13448 loadpage_hi = " 0 1 0 0 1 0 0 0",
13449 " x x x x x x x x",
13450 " x a6 a5 a4 a3 a2 a1 a0",
13451 " i i i i i i i i";
13453 writepage = " 0 1 0 0 1 1 0 0",
13454 "a15 a14 a13 a12 a11 a10 a9 a8",
13455 " a7 x x x x x x x",
13456 " x x x x x x x x";
13466 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
13467 "x x x x x x x x i i i i i i i i";
13469 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
13470 "x x x x x x x x o o o o o o o o";
13471 min_write_delay = 9000;
13472 max_write_delay = 9000;
13477 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
13478 "x x x x x x x x i i i i i i i i";
13480 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
13481 "x x x x x x x x o o o o o o o o";
13482 min_write_delay = 9000;
13483 max_write_delay = 9000;
13488 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
13489 "x x x x x x x x x x x x i i i i";
13491 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
13492 "x x x x x x x x o o o o o o o o";
13493 min_write_delay = 9000;
13494 max_write_delay = 9000;
13499 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
13500 "x x x x x x x x x x o o o o o o";
13502 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
13503 "x x x x x x x x 1 1 i i i i i i";
13504 min_write_delay = 9000;
13505 max_write_delay = 9000;
13508 memory "calibration"
13510 read = "0 0 1 1 1 0 0 0 x x x x x x x x",
13511 "0 0 0 0 0 0 0 0 o o o o o o o o";
13516 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
13517 "x x x x x x a1 a0 o o o o o o o o";
13521 #------------------------------------------------------------
13523 #------------------------------------------------------------
13524 # identical to AT90USB1286
13528 desc = "AT90USB1287";
13529 signature = 0x1e 0x97 0x82;
13531 # stk500_devcode = 0xB2;
13532 # avr910_devcode = 0x43;
13533 chip_erase_delay = 9000;
13537 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
13538 "x x x x x x x x x x x x x x x x";
13540 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
13541 "x x x x x x x x x x x x x x x x";
13555 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
13556 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
13557 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
13558 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
13559 hventerstabdelay = 100;
13563 poweroffdelay = 15;
13566 hvleavestabdelay = 15;
13567 chiperasepulsewidth = 0;
13568 chiperasepolltimeout = 10;
13569 programfusepulsewidth = 0;
13570 programfusepolltimeout = 5;
13571 programlockpulsewidth = 0;
13572 programlockpolltimeout = 5;
13577 allowfullpagebitstream = no;
13580 paged = no; /* leave this "no" */
13581 page_size = 8; /* for parallel programming */
13583 min_write_delay = 9000;
13584 max_write_delay = 9000;
13585 readback_p1 = 0x00;
13586 readback_p2 = 0x00;
13587 read = " 1 0 1 0 0 0 0 0",
13588 " x x x x a11 a10 a9 a8",
13589 " a7 a6 a5 a4 a3 a2 a1 a0",
13590 " o o o o o o o o";
13592 write = " 1 1 0 0 0 0 0 0",
13593 " x x x x a11 a10 a9 a8",
13594 " a7 a6 a5 a4 a3 a2 a1 a0",
13595 " i i i i i i i i";
13597 loadpage_lo = " 1 1 0 0 0 0 0 1",
13598 " 0 0 0 0 0 0 0 0",
13599 " 0 0 0 0 0 a2 a1 a0",
13600 " i i i i i i i i";
13602 writepage = " 1 1 0 0 0 0 1 0",
13603 " 0 0 x x x a10 a9 a8",
13604 " a7 a6 a5 a4 a3 0 0 0",
13605 " x x x x x x x x";
13618 min_write_delay = 4500;
13619 max_write_delay = 4500;
13620 readback_p1 = 0x00;
13621 readback_p2 = 0x00;
13622 read_lo = " 0 0 1 0 0 0 0 0",
13623 "a15 a14 a13 a12 a11 a10 a9 a8",
13624 " a7 a6 a5 a4 a3 a2 a1 a0",
13625 " o o o o o o o o";
13627 read_hi = " 0 0 1 0 1 0 0 0",
13628 "a15 a14 a13 a12 a11 a10 a9 a8",
13629 " a7 a6 a5 a4 a3 a2 a1 a0",
13630 " o o o o o o o o";
13632 loadpage_lo = " 0 1 0 0 0 0 0 0",
13633 " x x x x x x x x",
13634 " x a6 a5 a4 a3 a2 a1 a0",
13635 " i i i i i i i i";
13637 loadpage_hi = " 0 1 0 0 1 0 0 0",
13638 " x x x x x x x x",
13639 " x a6 a5 a4 a3 a2 a1 a0",
13640 " i i i i i i i i";
13642 writepage = " 0 1 0 0 1 1 0 0",
13643 "a15 a14 a13 a12 a11 a10 a9 a8",
13644 " a7 x x x x x x x",
13645 " x x x x x x x x";
13655 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
13656 "x x x x x x x x i i i i i i i i";
13658 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
13659 "x x x x x x x x o o o o o o o o";
13660 min_write_delay = 9000;
13661 max_write_delay = 9000;
13666 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
13667 "x x x x x x x x i i i i i i i i";
13669 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
13670 "x x x x x x x x o o o o o o o o";
13671 min_write_delay = 9000;
13672 max_write_delay = 9000;
13677 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
13678 "x x x x x x x x x x x x i i i i";
13680 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
13681 "x x x x x x x x o o o o o o o o";
13682 min_write_delay = 9000;
13683 max_write_delay = 9000;
13688 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
13689 "x x x x x x x x x x o o o o o o";
13691 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
13692 "x x x x x x x x 1 1 i i i i i i";
13693 min_write_delay = 9000;
13694 max_write_delay = 9000;
13697 memory "calibration"
13699 read = "0 0 1 1 1 0 0 0 x x x x x x x x",
13700 "0 0 0 0 0 0 0 0 o o o o o o o o";
13705 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
13706 "x x x x x x a1 a0 o o o o o o o o";
13711 #------------------------------------------------------------
13713 #------------------------------------------------------------
13717 desc = "AT90USB162";
13719 has_debugwire = yes;
13720 signature = 0x1e 0x94 0x82;
13721 chip_erase_delay = 9000;
13723 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
13724 "x x x x x x x x x x x x x x x x";
13725 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
13726 "x x x x x x x x x x x x x x x x";
13741 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
13742 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
13743 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
13744 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
13745 hventerstabdelay = 100;
13749 poweroffdelay = 15;
13752 hvleavestabdelay = 15;
13753 chiperasepulsewidth = 0;
13754 chiperasepolltimeout = 10;
13755 programfusepulsewidth = 0;
13756 programfusepolltimeout = 5;
13757 programlockpulsewidth = 0;
13758 programlockpolltimeout = 5;
13761 paged = no; /* leave this "no" */
13762 page_size = 4; /* for parallel programming */
13765 min_write_delay = 9000;
13766 max_write_delay = 9000;
13767 readback_p1 = 0x00;
13768 readback_p2 = 0x00;
13769 read = " 1 0 1 0 0 0 0 0",
13770 " 0 0 0 0 a11 a10 a9 a8",
13771 " a7 a6 a5 a4 a3 a2 a1 a0",
13772 " o o o o o o o o";
13774 write = " 1 1 0 0 0 0 0 0",
13775 " 0 0 0 0 a11 a10 a9 a8",
13776 " a7 a6 a5 a4 a3 a2 a1 a0",
13777 " i i i i i i i i";
13779 loadpage_lo = " 1 1 0 0 0 0 0 1",
13780 " 0 0 0 0 0 0 0 0",
13781 " 0 0 0 0 0 0 a1 a0",
13782 " i i i i i i i i";
13784 writepage = " 1 1 0 0 0 0 1 0",
13785 " 0 0 0 0 a11 a10 a9 a8",
13786 " a7 a6 a5 a4 a3 a2 0 0",
13787 " x x x x x x x x";
13800 min_write_delay = 4500;
13801 max_write_delay = 4500;
13802 readback_p1 = 0x00;
13803 readback_p2 = 0x00;
13804 read_lo = " 0 0 1 0 0 0 0 0",
13805 "a15 a14 a13 a12 a11 a10 a9 a8",
13806 " a7 a6 a5 a4 a3 a2 a1 a0",
13807 " o o o o o o o o";
13809 read_hi = " 0 0 1 0 1 0 0 0",
13810 "a15 a14 a13 a12 a11 a10 a9 a8",
13811 " a7 a6 a5 a4 a3 a2 a1 a0",
13812 " o o o o o o o o";
13814 loadpage_lo = " 0 1 0 0 0 0 0 0",
13815 " x x x x x x x x",
13816 " x x a5 a4 a3 a2 a1 a0",
13817 " i i i i i i i i";
13819 loadpage_hi = " 0 1 0 0 1 0 0 0",
13820 " x x x x x x x x",
13821 " x x a5 a4 a3 a2 a1 a0",
13822 " i i i i i i i i";
13824 writepage = " 0 1 0 0 1 1 0 0",
13825 "a15 a14 a13 a12 a11 a10 a9 a8",
13826 " a7 a6 x x x x x x",
13827 " x x x x x x x x";
13837 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
13838 "x x x x x x x x i i i i i i i i";
13840 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
13841 "x x x x x x x x o o o o o o o o";
13842 min_write_delay = 9000;
13843 max_write_delay = 9000;
13848 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
13849 "x x x x x x x x i i i i i i i i";
13851 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
13852 "x x x x x x x x o o o o o o o o";
13853 min_write_delay = 9000;
13854 max_write_delay = 9000;
13859 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
13860 "x x x x x x x x i i i i i i i i";
13862 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
13863 "x x x x x x x x o o o o o o o o";
13864 min_write_delay = 9000;
13865 max_write_delay = 9000;
13870 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
13871 "x x x x x x x x x x o o o o o o";
13873 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
13874 "x x x x x x x x 1 1 i i i i i i";
13875 min_write_delay = 9000;
13876 max_write_delay = 9000;
13879 memory "calibration"
13881 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
13882 "0 0 0 0 0 0 0 0 o o o o o o o o";
13886 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
13887 "x x x x x x a1 a0 o o o o o o o o";
13891 #------------------------------------------------------------
13893 #------------------------------------------------------------
13894 # Changes against AT90USB162 (beside IDs)
13901 desc = "AT90USB82";
13903 has_debugwire = yes;
13904 signature = 0x1e 0x93 0x82;
13905 chip_erase_delay = 9000;
13907 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
13908 "x x x x x x x x x x x x x x x x";
13909 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
13910 "x x x x x x x x x x x x x x x x";
13925 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
13926 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
13927 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
13928 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
13929 hventerstabdelay = 100;
13933 poweroffdelay = 15;
13936 hvleavestabdelay = 15;
13937 chiperasepulsewidth = 0;
13938 chiperasepolltimeout = 10;
13939 programfusepulsewidth = 0;
13940 programfusepolltimeout = 5;
13941 programlockpulsewidth = 0;
13942 programlockpolltimeout = 5;
13945 paged = no; /* leave this "no" */
13946 page_size = 4; /* for parallel programming */
13949 min_write_delay = 9000;
13950 max_write_delay = 9000;
13951 readback_p1 = 0x00;
13952 readback_p2 = 0x00;
13953 read = " 1 0 1 0 0 0 0 0",
13954 " 0 0 0 0 a11 a10 a9 a8",
13955 " a7 a6 a5 a4 a3 a2 a1 a0",
13956 " o o o o o o o o";
13958 write = " 1 1 0 0 0 0 0 0",
13959 " 0 0 0 0 a11 a10 a9 a8",
13960 " a7 a6 a5 a4 a3 a2 a1 a0",
13961 " i i i i i i i i";
13963 loadpage_lo = " 1 1 0 0 0 0 0 1",
13964 " 0 0 0 0 0 0 0 0",
13965 " 0 0 0 0 0 0 a1 a0",
13966 " i i i i i i i i";
13968 writepage = " 1 1 0 0 0 0 1 0",
13969 " 0 0 0 0 a11 a10 a9 a8",
13970 " a7 a6 a5 a4 a3 a2 0 0",
13971 " x x x x x x x x";
13984 min_write_delay = 4500;
13985 max_write_delay = 4500;
13986 readback_p1 = 0x00;
13987 readback_p2 = 0x00;
13988 read_lo = " 0 0 1 0 0 0 0 0",
13989 "a15 a14 a13 a12 a11 a10 a9 a8",
13990 " a7 a6 a5 a4 a3 a2 a1 a0",
13991 " o o o o o o o o";
13993 read_hi = " 0 0 1 0 1 0 0 0",
13994 "a15 a14 a13 a12 a11 a10 a9 a8",
13995 " a7 a6 a5 a4 a3 a2 a1 a0",
13996 " o o o o o o o o";
13998 loadpage_lo = " 0 1 0 0 0 0 0 0",
13999 " x x x x x x x x",
14000 " x x a5 a4 a3 a2 a1 a0",
14001 " i i i i i i i i";
14003 loadpage_hi = " 0 1 0 0 1 0 0 0",
14004 " x x x x x x x x",
14005 " x x a5 a4 a3 a2 a1 a0",
14006 " i i i i i i i i";
14008 writepage = " 0 1 0 0 1 1 0 0",
14009 "a15 a14 a13 a12 a11 a10 a9 a8",
14010 " a7 a6 x x x x x x",
14011 " x x x x x x x x";
14021 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
14022 "x x x x x x x x i i i i i i i i";
14024 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
14025 "x x x x x x x x o o o o o o o o";
14026 min_write_delay = 9000;
14027 max_write_delay = 9000;
14032 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
14033 "x x x x x x x x i i i i i i i i";
14035 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
14036 "x x x x x x x x o o o o o o o o";
14037 min_write_delay = 9000;
14038 max_write_delay = 9000;
14043 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
14044 "x x x x x x x x i i i i i i i i";
14046 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
14047 "x x x x x x x x o o o o o o o o";
14048 min_write_delay = 9000;
14049 max_write_delay = 9000;
14054 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
14055 "x x x x x x x x x x o o o o o o";
14057 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
14058 "x x x x x x x x 1 1 i i i i i i";
14059 min_write_delay = 9000;
14060 max_write_delay = 9000;
14063 memory "calibration"
14065 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
14066 "0 0 0 0 0 0 0 0 o o o o o o o o";
14070 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
14071 "x x x x x x a1 a0 o o o o o o o o";
14075 #------------------------------------------------------------
14077 #------------------------------------------------------------
14078 # Changes against AT90USB162 (beside IDs)
14087 desc = "ATmega32U2";
14089 has_debugwire = yes;
14090 signature = 0x1e 0x95 0x8a;
14091 chip_erase_delay = 9000;
14093 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
14094 "x x x x x x x x x x x x x x x x";
14095 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
14096 "x x x x x x x x x x x x x x x x";
14111 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
14112 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
14113 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
14114 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
14115 hventerstabdelay = 100;
14119 poweroffdelay = 15;
14122 hvleavestabdelay = 15;
14123 chiperasepulsewidth = 0;
14124 chiperasepolltimeout = 10;
14125 programfusepulsewidth = 0;
14126 programfusepolltimeout = 5;
14127 programlockpulsewidth = 0;
14128 programlockpolltimeout = 5;
14131 paged = no; /* leave this "no" */
14132 page_size = 4; /* for parallel programming */
14135 min_write_delay = 9000;
14136 max_write_delay = 9000;
14137 readback_p1 = 0x00;
14138 readback_p2 = 0x00;
14139 read = " 1 0 1 0 0 0 0 0",
14140 " 0 0 0 0 a11 a10 a9 a8",
14141 " a7 a6 a5 a4 a3 a2 a1 a0",
14142 " o o o o o o o o";
14144 write = " 1 1 0 0 0 0 0 0",
14145 " 0 0 0 0 a11 a10 a9 a8",
14146 " a7 a6 a5 a4 a3 a2 a1 a0",
14147 " i i i i i i i i";
14149 loadpage_lo = " 1 1 0 0 0 0 0 1",
14150 " 0 0 0 0 0 0 0 0",
14151 " 0 0 0 0 0 0 a1 a0",
14152 " i i i i i i i i";
14154 writepage = " 1 1 0 0 0 0 1 0",
14155 " 0 0 0 0 a11 a10 a9 a8",
14156 " a7 a6 a5 a4 a3 a2 0 0",
14157 " x x x x x x x x";
14170 min_write_delay = 4500;
14171 max_write_delay = 4500;
14172 readback_p1 = 0x00;
14173 readback_p2 = 0x00;
14174 read_lo = " 0 0 1 0 0 0 0 0",
14175 "a15 a14 a13 a12 a11 a10 a9 a8",
14176 " a7 a6 a5 a4 a3 a2 a1 a0",
14177 " o o o o o o o o";
14179 read_hi = " 0 0 1 0 1 0 0 0",
14180 "a15 a14 a13 a12 a11 a10 a9 a8",
14181 " a7 a6 a5 a4 a3 a2 a1 a0",
14182 " o o o o o o o o";
14184 loadpage_lo = " 0 1 0 0 0 0 0 0",
14185 " x x x x x x x x",
14186 " x x a5 a4 a3 a2 a1 a0",
14187 " i i i i i i i i";
14189 loadpage_hi = " 0 1 0 0 1 0 0 0",
14190 " x x x x x x x x",
14191 " x x a5 a4 a3 a2 a1 a0",
14192 " i i i i i i i i";
14194 writepage = " 0 1 0 0 1 1 0 0",
14195 "a15 a14 a13 a12 a11 a10 a9 a8",
14196 " a7 a6 x x x x x x",
14197 " x x x x x x x x";
14207 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
14208 "x x x x x x x x i i i i i i i i";
14210 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
14211 "x x x x x x x x o o o o o o o o";
14212 min_write_delay = 9000;
14213 max_write_delay = 9000;
14218 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
14219 "x x x x x x x x i i i i i i i i";
14221 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
14222 "x x x x x x x x o o o o o o o o";
14223 min_write_delay = 9000;
14224 max_write_delay = 9000;
14229 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
14230 "x x x x x x x x i i i i i i i i";
14232 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
14233 "x x x x x x x x o o o o o o o o";
14234 min_write_delay = 9000;
14235 max_write_delay = 9000;
14240 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
14241 "x x x x x x x x x x o o o o o o";
14243 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
14244 "x x x x x x x x 1 1 i i i i i i";
14245 min_write_delay = 9000;
14246 max_write_delay = 9000;
14249 memory "calibration"
14251 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
14252 "0 0 0 0 0 0 0 0 o o o o o o o o";
14256 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
14257 "x x x x x x a1 a0 o o o o o o o o";
14260 #------------------------------------------------------------
14262 #------------------------------------------------------------
14263 # Changes against ATmega32U2 (beside IDs)
14272 desc = "ATmega16U2";
14274 has_debugwire = yes;
14275 signature = 0x1e 0x94 0x89;
14276 chip_erase_delay = 9000;
14278 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
14279 "x x x x x x x x x x x x x x x x";
14280 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
14281 "x x x x x x x x x x x x x x x x";
14296 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
14297 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
14298 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
14299 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
14300 hventerstabdelay = 100;
14304 poweroffdelay = 15;
14307 hvleavestabdelay = 15;
14308 chiperasepulsewidth = 0;
14309 chiperasepolltimeout = 10;
14310 programfusepulsewidth = 0;
14311 programfusepolltimeout = 5;
14312 programlockpulsewidth = 0;
14313 programlockpolltimeout = 5;
14316 paged = no; /* leave this "no" */
14317 page_size = 4; /* for parallel programming */
14320 min_write_delay = 9000;
14321 max_write_delay = 9000;
14322 readback_p1 = 0x00;
14323 readback_p2 = 0x00;
14324 read = " 1 0 1 0 0 0 0 0",
14325 " 0 0 0 0 a11 a10 a9 a8",
14326 " a7 a6 a5 a4 a3 a2 a1 a0",
14327 " o o o o o o o o";
14329 write = " 1 1 0 0 0 0 0 0",
14330 " 0 0 0 0 a11 a10 a9 a8",
14331 " a7 a6 a5 a4 a3 a2 a1 a0",
14332 " i i i i i i i i";
14334 loadpage_lo = " 1 1 0 0 0 0 0 1",
14335 " 0 0 0 0 0 0 0 0",
14336 " 0 0 0 0 0 0 a1 a0",
14337 " i i i i i i i i";
14339 writepage = " 1 1 0 0 0 0 1 0",
14340 " 0 0 0 0 a11 a10 a9 a8",
14341 " a7 a6 a5 a4 a3 a2 0 0",
14342 " x x x x x x x x";
14355 min_write_delay = 4500;
14356 max_write_delay = 4500;
14357 readback_p1 = 0x00;
14358 readback_p2 = 0x00;
14359 read_lo = " 0 0 1 0 0 0 0 0",
14360 "a15 a14 a13 a12 a11 a10 a9 a8",
14361 " a7 a6 a5 a4 a3 a2 a1 a0",
14362 " o o o o o o o o";
14364 read_hi = " 0 0 1 0 1 0 0 0",
14365 "a15 a14 a13 a12 a11 a10 a9 a8",
14366 " a7 a6 a5 a4 a3 a2 a1 a0",
14367 " o o o o o o o o";
14369 loadpage_lo = " 0 1 0 0 0 0 0 0",
14370 " x x x x x x x x",
14371 " x x a5 a4 a3 a2 a1 a0",
14372 " i i i i i i i i";
14374 loadpage_hi = " 0 1 0 0 1 0 0 0",
14375 " x x x x x x x x",
14376 " x x a5 a4 a3 a2 a1 a0",
14377 " i i i i i i i i";
14379 writepage = " 0 1 0 0 1 1 0 0",
14380 "a15 a14 a13 a12 a11 a10 a9 a8",
14381 " a7 a6 x x x x x x",
14382 " x x x x x x x x";
14392 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
14393 "x x x x x x x x i i i i i i i i";
14395 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
14396 "x x x x x x x x o o o o o o o o";
14397 min_write_delay = 9000;
14398 max_write_delay = 9000;
14403 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
14404 "x x x x x x x x i i i i i i i i";
14406 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
14407 "x x x x x x x x o o o o o o o o";
14408 min_write_delay = 9000;
14409 max_write_delay = 9000;
14414 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
14415 "x x x x x x x x i i i i i i i i";
14417 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
14418 "x x x x x x x x o o o o o o o o";
14419 min_write_delay = 9000;
14420 max_write_delay = 9000;
14425 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
14426 "x x x x x x x x x x o o o o o o";
14428 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
14429 "x x x x x x x x 1 1 i i i i i i";
14430 min_write_delay = 9000;
14431 max_write_delay = 9000;
14434 memory "calibration"
14436 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
14437 "0 0 0 0 0 0 0 0 o o o o o o o o";
14441 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
14442 "x x x x x x a1 a0 o o o o o o o o";
14446 #------------------------------------------------------------
14448 #------------------------------------------------------------
14449 # Changes against ATmega16U2 (beside IDs)
14457 desc = "ATmega8U2";
14459 has_debugwire = yes;
14460 signature = 0x1e 0x93 0x89;
14461 chip_erase_delay = 9000;
14463 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
14464 "x x x x x x x x x x x x x x x x";
14465 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
14466 "x x x x x x x x x x x x x x x x";
14481 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
14482 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
14483 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
14484 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
14485 hventerstabdelay = 100;
14489 poweroffdelay = 15;
14492 hvleavestabdelay = 15;
14493 chiperasepulsewidth = 0;
14494 chiperasepolltimeout = 10;
14495 programfusepulsewidth = 0;
14496 programfusepolltimeout = 5;
14497 programlockpulsewidth = 0;
14498 programlockpolltimeout = 5;
14501 paged = no; /* leave this "no" */
14502 page_size = 4; /* for parallel programming */
14505 min_write_delay = 9000;
14506 max_write_delay = 9000;
14507 readback_p1 = 0x00;
14508 readback_p2 = 0x00;
14509 read = " 1 0 1 0 0 0 0 0",
14510 " 0 0 0 0 a11 a10 a9 a8",
14511 " a7 a6 a5 a4 a3 a2 a1 a0",
14512 " o o o o o o o o";
14514 write = " 1 1 0 0 0 0 0 0",
14515 " 0 0 0 0 a11 a10 a9 a8",
14516 " a7 a6 a5 a4 a3 a2 a1 a0",
14517 " i i i i i i i i";
14519 loadpage_lo = " 1 1 0 0 0 0 0 1",
14520 " 0 0 0 0 0 0 0 0",
14521 " 0 0 0 0 0 0 a1 a0",
14522 " i i i i i i i i";
14524 writepage = " 1 1 0 0 0 0 1 0",
14525 " 0 0 0 0 a11 a10 a9 a8",
14526 " a7 a6 a5 a4 a3 a2 0 0",
14527 " x x x x x x x x";
14540 min_write_delay = 4500;
14541 max_write_delay = 4500;
14542 readback_p1 = 0x00;
14543 readback_p2 = 0x00;
14544 read_lo = " 0 0 1 0 0 0 0 0",
14545 "a15 a14 a13 a12 a11 a10 a9 a8",
14546 " a7 a6 a5 a4 a3 a2 a1 a0",
14547 " o o o o o o o o";
14549 read_hi = " 0 0 1 0 1 0 0 0",
14550 "a15 a14 a13 a12 a11 a10 a9 a8",
14551 " a7 a6 a5 a4 a3 a2 a1 a0",
14552 " o o o o o o o o";
14554 loadpage_lo = " 0 1 0 0 0 0 0 0",
14555 " x x x x x x x x",
14556 " x x a5 a4 a3 a2 a1 a0",
14557 " i i i i i i i i";
14559 loadpage_hi = " 0 1 0 0 1 0 0 0",
14560 " x x x x x x x x",
14561 " x x a5 a4 a3 a2 a1 a0",
14562 " i i i i i i i i";
14564 writepage = " 0 1 0 0 1 1 0 0",
14565 "a15 a14 a13 a12 a11 a10 a9 a8",
14566 " a7 a6 x x x x x x",
14567 " x x x x x x x x";
14577 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
14578 "x x x x x x x x i i i i i i i i";
14580 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
14581 "x x x x x x x x o o o o o o o o";
14582 min_write_delay = 9000;
14583 max_write_delay = 9000;
14588 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
14589 "x x x x x x x x i i i i i i i i";
14591 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
14592 "x x x x x x x x o o o o o o o o";
14593 min_write_delay = 9000;
14594 max_write_delay = 9000;
14599 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
14600 "x x x x x x x x i i i i i i i i";
14602 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
14603 "x x x x x x x x o o o o o o o o";
14604 min_write_delay = 9000;
14605 max_write_delay = 9000;
14610 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
14611 "x x x x x x x x x x o o o o o o";
14613 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
14614 "x x x x x x x x 1 1 i i i i i i";
14615 min_write_delay = 9000;
14616 max_write_delay = 9000;
14619 memory "calibration"
14621 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
14622 "0 0 0 0 0 0 0 0 o o o o o o o o";
14626 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
14627 "x x x x x x a1 a0 o o o o o o o o";
14630 #------------------------------------------------------------
14632 #------------------------------------------------------------
14636 desc = "ATMEGA325";
14637 signature = 0x1e 0x95 0x05;
14639 # stk500_devcode = 0x??; # No STK500v1 support?
14640 # avr910_devcode = 0x??; # Try the ATmega16 one
14641 avr910_devcode = 0x74;
14644 chip_erase_delay = 9000;
14645 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
14646 "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0";
14648 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
14649 "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0";
14663 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
14664 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
14665 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
14666 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
14667 hventerstabdelay = 100;
14671 poweroffdelay = 15;
14674 hvleavestabdelay = 15;
14675 chiperasepulsewidth = 0;
14676 chiperasepolltimeout = 10;
14677 programfusepulsewidth = 0;
14678 programfusepolltimeout = 5;
14679 programlockpulsewidth = 0;
14680 programlockpolltimeout = 5;
14684 allowfullpagebitstream = no;
14687 paged = no; /* leave this "no" */
14688 page_size = 4; /* for parallel programming */
14690 min_write_delay = 9000;
14691 max_write_delay = 9000;
14692 readback_p1 = 0xff;
14693 readback_p2 = 0xff;
14694 read = " 1 0 1 0 0 0 0 0",
14695 " 0 0 0 0 0 0 a9 a8",
14696 " a7 a6 a5 a4 a3 a2 a1 a0",
14697 " o o o o o o o o";
14699 write = " 1 1 0 0 0 0 0 0",
14700 " 0 0 0 0 0 0 a9 a8",
14701 " a7 a6 a5 a4 a3 a2 a1 a0",
14702 " i i i i i i i i";
14704 loadpage_lo = " 1 1 0 0 0 0 0 1",
14705 " 0 0 0 0 0 0 0 0",
14706 " 0 0 0 0 0 0 a1 a0",
14707 " i i i i i i i i";
14709 writepage = " 1 1 0 0 0 0 1 0",
14710 " 0 0 0 0 0 0 a9 a8",
14711 " a7 a6 a5 a4 a3 a2 0 0",
14712 " x x x x x x x x";
14725 min_write_delay = 4500;
14726 max_write_delay = 4500;
14727 readback_p1 = 0xff;
14728 readback_p2 = 0xff;
14729 read_lo = " 0 0 1 0 0 0 0 0",
14730 " 0 a14 a13 a12 a11 a10 a9 a8",
14731 " a7 a6 a5 a4 a3 a2 a1 a0",
14732 " o o o o o o o o";
14734 read_hi = " 0 0 1 0 1 0 0 0",
14735 " 0 a14 a13 a12 a11 a10 a9 a8",
14736 " a7 a6 a5 a4 a3 a2 a1 a0",
14737 " o o o o o o o o";
14739 loadpage_lo = " 0 1 0 0 0 0 0 0",
14740 " 0 0 0 0 0 0 0 0",
14741 " a7 a6 a5 a4 a3 a2 a1 a0",
14742 " i i i i i i i i";
14744 loadpage_hi = " 0 1 0 0 1 0 0 0",
14745 " 0 0 0 0 0 0 0 0",
14746 " a7 a6 a5 a4 a3 a2 a1 a0",
14747 " i i i i i i i i";
14749 writepage = " 0 1 0 0 1 1 0 0",
14750 " 0 a14 a13 a12 a11 a10 a9 a8",
14751 " a7 a6 a5 a4 a3 a2 a1 a0",
14752 " x x x x x x x x";
14762 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
14763 "x x x x x x x x x x o o o o o o";
14765 write = "1 0 1 0 1 1 0 0 1 1 1 0 0 0 0 0",
14766 "0 0 0 0 0 0 0 0 1 1 i i i i i i";
14767 min_write_delay = 9000;
14768 max_write_delay = 9000;
14773 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
14774 "0 0 0 0 0 0 0 0 o o o o o o o o";
14776 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
14777 "0 0 0 0 0 0 0 0 i i i i i i i i";
14778 min_write_delay = 9000;
14779 max_write_delay = 9000;
14784 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
14785 "0 0 0 0 0 0 0 0 o o o o o o o o";
14787 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
14788 "0 0 0 0 0 0 0 0 i i i i i i i i";
14789 min_write_delay = 9000;
14790 max_write_delay = 9000;
14796 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
14797 "0 0 0 0 0 0 0 0 o o o o o o o o";
14799 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
14800 "0 0 0 0 0 0 0 0 1 1 1 1 1 i i i";
14801 min_write_delay = 9000;
14802 max_write_delay = 9000;
14807 read = "0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0",
14808 "0 0 0 0 0 0 a1 a0 o o o o o o o o";
14811 memory "calibration"
14814 read = "0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0",
14815 "0 0 0 0 0 0 0 0 o o o o o o o o";
14819 #------------------------------------------------------------
14821 #------------------------------------------------------------
14825 desc = "ATMEGA645";
14826 signature = 0x1E 0x96 0x05;
14828 # stk500_devcode = 0x??; # No STK500v1 support?
14829 # avr910_devcode = 0x??; # Try the ATmega16 one
14830 avr910_devcode = 0x74;
14833 chip_erase_delay = 9000;
14834 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
14835 "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0";
14837 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
14838 "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0";
14852 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
14853 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
14854 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
14855 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
14856 hventerstabdelay = 100;
14860 poweroffdelay = 15;
14863 hvleavestabdelay = 15;
14864 chiperasepulsewidth = 0;
14865 chiperasepolltimeout = 10;
14866 programfusepulsewidth = 0;
14867 programfusepolltimeout = 5;
14868 programlockpulsewidth = 0;
14869 programlockpolltimeout = 5;
14873 allowfullpagebitstream = no;
14876 paged = no; /* leave this "no" */
14877 page_size = 8; /* for parallel programming */
14879 min_write_delay = 9000;
14880 max_write_delay = 9000;
14881 readback_p1 = 0xff;
14882 readback_p2 = 0xff;
14883 read = " 1 0 1 0 0 0 0 0",
14884 " 0 0 0 0 0 a10 a9 a8",
14885 " a7 a6 a5 a4 a3 a2 a1 a0",
14886 " o o o o o o o o";
14888 write = " 1 1 0 0 0 0 0 0",
14889 " 0 0 0 0 0 a10 a9 a8",
14890 " a7 a6 a5 a4 a3 a2 a1 a0",
14891 " i i i i i i i i";
14893 loadpage_lo = " 1 1 0 0 0 0 0 1",
14894 " 0 0 0 0 0 0 0 0",
14895 " 0 0 0 0 0 a2 a1 a0",
14896 " i i i i i i i i";
14898 writepage = " 1 1 0 0 0 0 1 0",
14899 " 0 0 0 0 0 a10 a9 a8",
14900 " a7 a6 a5 a4 a3 0 0 0",
14901 " x x x x x x x x";
14914 min_write_delay = 4500;
14915 max_write_delay = 4500;
14916 readback_p1 = 0xff;
14917 readback_p2 = 0xff;
14918 read_lo = " 0 0 1 0 0 0 0 0",
14919 " a15 a14 a13 a12 a11 a10 a9 a8",
14920 " a7 a6 a5 a4 a3 a2 a1 a0",
14921 " o o o o o o o o";
14923 read_hi = " 0 0 1 0 1 0 0 0",
14924 " a15 a14 a13 a12 a11 a10 a9 a8",
14925 " a7 a6 a5 a4 a3 a2 a1 a0",
14926 " o o o o o o o o";
14928 loadpage_lo = " 0 1 0 0 0 0 0 0",
14929 " 0 0 0 0 0 0 0 0",
14930 " a7 a6 a5 a4 a3 a2 a1 a0",
14931 " i i i i i i i i";
14933 loadpage_hi = " 0 1 0 0 1 0 0 0",
14934 " 0 0 0 0 0 0 0 0",
14935 " a7 a6 a5 a4 a3 a2 a1 a0",
14936 " i i i i i i i i";
14938 writepage = " 0 1 0 0 1 1 0 0",
14939 " a15 a14 a13 a12 a11 a10 a9 a8",
14940 " a7 a6 a5 a4 a3 a2 a1 a0",
14941 " 0 0 0 0 0 0 0 0";
14951 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
14952 "x x x x x x x x x x o o o o o o";
14954 write = "1 0 1 0 1 1 0 0 1 1 1 0 0 0 0 0",
14955 "0 0 0 0 0 0 0 0 1 1 i i i i i i";
14956 min_write_delay = 9000;
14957 max_write_delay = 9000;
14962 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
14963 "0 0 0 0 0 0 0 0 o o o o o o o o";
14965 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
14966 "0 0 0 0 0 0 0 0 i i i i i i i i";
14967 min_write_delay = 9000;
14968 max_write_delay = 9000;
14973 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
14974 "0 0 0 0 0 0 0 0 o o o o o o o o";
14976 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
14977 "0 0 0 0 0 0 0 0 i i i i i i i i";
14978 min_write_delay = 9000;
14979 max_write_delay = 9000;
14985 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
14986 "0 0 0 0 0 0 0 0 o o o o o o o o";
14988 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
14989 "0 0 0 0 0 0 0 0 1 1 1 1 1 i i i";
14990 min_write_delay = 9000;
14991 max_write_delay = 9000;
14996 read = "0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0",
14997 "0 0 0 0 0 0 a1 a0 o o o o o o o o";
15000 memory "calibration"
15003 read = "0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0",
15004 "0 0 0 0 0 0 0 0 o o o o o o o o";
15008 #------------------------------------------------------------
15010 #------------------------------------------------------------
15014 desc = "ATMEGA3250";
15015 signature = 0x1E 0x95 0x06;
15017 # stk500_devcode = 0x??; # No STK500v1 support?
15018 # avr910_devcode = 0x??; # Try the ATmega16 one
15019 avr910_devcode = 0x74;
15022 chip_erase_delay = 9000;
15023 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
15024 "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0";
15026 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
15027 "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0";
15041 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
15042 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
15043 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
15044 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
15045 hventerstabdelay = 100;
15049 poweroffdelay = 15;
15052 hvleavestabdelay = 15;
15053 chiperasepulsewidth = 0;
15054 chiperasepolltimeout = 10;
15055 programfusepulsewidth = 0;
15056 programfusepolltimeout = 5;
15057 programlockpulsewidth = 0;
15058 programlockpolltimeout = 5;
15062 allowfullpagebitstream = no;
15065 paged = no; /* leave this "no" */
15066 page_size = 4; /* for parallel programming */
15068 min_write_delay = 9000;
15069 max_write_delay = 9000;
15070 readback_p1 = 0xff;
15071 readback_p2 = 0xff;
15072 read = " 1 0 1 0 0 0 0 0",
15073 " 0 0 0 0 0 0 a9 a8",
15074 " a7 a6 a5 a4 a3 a2 a1 a0",
15075 " o o o o o o o o";
15077 write = " 1 1 0 0 0 0 0 0",
15078 " 0 0 0 0 0 0 a9 a8",
15079 " a7 a6 a5 a4 a3 a2 a1 a0",
15080 " i i i i i i i i";
15082 loadpage_lo = " 1 1 0 0 0 0 0 1",
15083 " 0 0 0 0 0 0 0 0",
15084 " 0 0 0 0 0 0 a1 a0",
15085 " i i i i i i i i";
15087 writepage = " 1 1 0 0 0 0 1 0",
15088 " 0 0 0 0 0 0 a9 a8",
15089 " a7 a6 a5 a4 a3 a2 0 0",
15090 " x x x x x x x x";
15103 min_write_delay = 4500;
15104 max_write_delay = 4500;
15105 readback_p1 = 0xff;
15106 readback_p2 = 0xff;
15107 read_lo = " 0 0 1 0 0 0 0 0",
15108 " 0 a14 a13 a12 a11 a10 a9 a8",
15109 " a7 a6 a5 a4 a3 a2 a1 a0",
15110 " o o o o o o o o";
15112 read_hi = " 0 0 1 0 1 0 0 0",
15113 " 0 a14 a13 a12 a11 a10 a9 a8",
15114 " a7 a6 a5 a4 a3 a2 a1 a0",
15115 " o o o o o o o o";
15117 loadpage_lo = " 0 1 0 0 0 0 0 0",
15118 " 0 0 0 0 0 0 0 0",
15119 " a7 a6 a5 a4 a3 a2 a1 a0",
15120 " i i i i i i i i";
15122 loadpage_hi = " 0 1 0 0 1 0 0 0",
15123 " 0 0 0 0 0 0 0 0",
15124 " a7 a6 a5 a4 a3 a2 a1 a0",
15125 " i i i i i i i i";
15127 writepage = " 0 1 0 0 1 1 0 0",
15128 " 0 a14 a13 a12 a11 a10 a9 a8",
15129 " a7 a6 a5 a4 a3 a2 a1 a0",
15130 " x x x x x x x x";
15140 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
15141 "x x x x x x x x x x o o o o o o";
15143 write = "1 0 1 0 1 1 0 0 1 1 1 0 0 0 0 0",
15144 "0 0 0 0 0 0 0 0 1 1 i i i i i i";
15145 min_write_delay = 9000;
15146 max_write_delay = 9000;
15151 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
15152 "0 0 0 0 0 0 0 0 o o o o o o o o";
15154 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
15155 "0 0 0 0 0 0 0 0 i i i i i i i i";
15156 min_write_delay = 9000;
15157 max_write_delay = 9000;
15162 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
15163 "0 0 0 0 0 0 0 0 o o o o o o o o";
15165 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
15166 "0 0 0 0 0 0 0 0 i i i i i i i i";
15167 min_write_delay = 9000;
15168 max_write_delay = 9000;
15174 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
15175 "0 0 0 0 0 0 0 0 o o o o o o o o";
15177 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
15178 "0 0 0 0 0 0 0 0 1 1 1 1 1 i i i";
15179 min_write_delay = 9000;
15180 max_write_delay = 9000;
15185 read = "0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0",
15186 "0 0 0 0 0 0 a1 a0 o o o o o o o o";
15189 memory "calibration"
15192 read = "0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0",
15193 "0 0 0 0 0 0 0 0 o o o o o o o o";
15197 #------------------------------------------------------------
15199 #------------------------------------------------------------
15203 desc = "ATMEGA6450";
15204 signature = 0x1E 0x96 0x06;
15206 # stk500_devcode = 0x??; # No STK500v1 support?
15207 # avr910_devcode = 0x??; # Try the ATmega16 one
15208 avr910_devcode = 0x74;
15211 chip_erase_delay = 9000;
15212 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
15213 "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0";
15215 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
15216 "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0";
15230 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
15231 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
15232 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
15233 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
15234 hventerstabdelay = 100;
15238 poweroffdelay = 15;
15241 hvleavestabdelay = 15;
15242 chiperasepulsewidth = 0;
15243 chiperasepolltimeout = 10;
15244 programfusepulsewidth = 0;
15245 programfusepolltimeout = 5;
15246 programlockpulsewidth = 0;
15247 programlockpolltimeout = 5;
15251 allowfullpagebitstream = no;
15254 paged = no; /* leave this "no" */
15255 page_size = 8; /* for parallel programming */
15257 min_write_delay = 9000;
15258 max_write_delay = 9000;
15259 readback_p1 = 0xff;
15260 readback_p2 = 0xff;
15261 read = " 1 0 1 0 0 0 0 0",
15262 " 0 0 0 0 0 a10 a9 a8",
15263 " a7 a6 a5 a4 a3 a2 a1 a0",
15264 " o o o o o o o o";
15266 write = " 1 1 0 0 0 0 0 0",
15267 " 0 0 0 0 0 a10 a9 a8",
15268 " a7 a6 a5 a4 a3 a2 a1 a0",
15269 " i i i i i i i i";
15271 loadpage_lo = " 1 1 0 0 0 0 0 1",
15272 " 0 0 0 0 0 0 0 0",
15273 " 0 0 0 0 0 a2 a1 a0",
15274 " i i i i i i i i";
15276 writepage = " 1 1 0 0 0 0 1 0",
15277 " 0 0 0 0 0 a10 a9 a8",
15278 " a7 a6 a5 a4 a3 0 0 0",
15279 " x x x x x x x x";
15292 min_write_delay = 4500;
15293 max_write_delay = 4500;
15294 readback_p1 = 0xff;
15295 readback_p2 = 0xff;
15296 read_lo = " 0 0 1 0 0 0 0 0",
15297 " a15 a14 a13 a12 a11 a10 a9 a8",
15298 " a7 a6 a5 a4 a3 a2 a1 a0",
15299 " o o o o o o o o";
15301 read_hi = " 0 0 1 0 1 0 0 0",
15302 " a15 a14 a13 a12 a11 a10 a9 a8",
15303 " a7 a6 a5 a4 a3 a2 a1 a0",
15304 " o o o o o o o o";
15306 loadpage_lo = " 0 1 0 0 0 0 0 0",
15307 " 0 0 0 0 0 0 0 0",
15308 " a7 a6 a5 a4 a3 a2 a1 a0",
15309 " i i i i i i i i";
15311 loadpage_hi = " 0 1 0 0 1 0 0 0",
15312 " 0 0 0 0 0 0 0 0",
15313 " a7 a6 a5 a4 a3 a2 a1 a0",
15314 " i i i i i i i i";
15316 writepage = " 0 1 0 0 1 1 0 0",
15317 " a15 a14 a13 a12 a11 a10 a9 a8",
15318 " a7 a6 a5 a4 a3 a2 a1 a0",
15319 " 0 0 0 0 0 0 0 0";
15329 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
15330 "x x x x x x x x x x o o o o o o";
15332 write = "1 0 1 0 1 1 0 0 1 1 1 0 0 0 0 0",
15333 "0 0 0 0 0 0 0 0 1 1 i i i i i i";
15334 min_write_delay = 9000;
15335 max_write_delay = 9000;
15340 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
15341 "0 0 0 0 0 0 0 0 o o o o o o o o";
15343 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
15344 "0 0 0 0 0 0 0 0 i i i i i i i i";
15345 min_write_delay = 9000;
15346 max_write_delay = 9000;
15351 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
15352 "0 0 0 0 0 0 0 0 o o o o o o o o";
15354 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
15355 "0 0 0 0 0 0 0 0 i i i i i i i i";
15356 min_write_delay = 9000;
15357 max_write_delay = 9000;
15363 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
15364 "0 0 0 0 0 0 0 0 o o o o o o o o";
15366 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
15367 "0 0 0 0 0 0 0 0 1 1 1 1 1 i i i";
15368 min_write_delay = 9000;
15369 max_write_delay = 9000;
15374 read = "0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0",
15375 "0 0 0 0 0 0 a1 a0 o o o o o o o o";
15378 memory "calibration"
15381 read = "0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0",
15382 "0 0 0 0 0 0 0 0 o o o o o o o o";
15386 #------------------------------------------------------------
15388 #------------------------------------------------------------
15392 desc = "ATXMEGA64A1";
15393 signature = 0x1e 0x96 0x4e;
15400 offset = 0x08c0000;
15405 memory "application"
15407 offset = 0x0800000;
15414 offset = 0x0080f000;
15421 offset = 0x00810000;
15428 offset = 0x0800000;
15449 offset = 0x1000090;
15483 #------------------------------------------------------------
15485 #------------------------------------------------------------
15489 desc = "ATXMEGA128A1";
15490 signature = 0x1e 0x97 0x4c;
15497 offset = 0x08c0000;
15502 memory "application"
15504 offset = 0x0800000;
15511 offset = 0x0081e000;
15518 offset = 0x00820000;
15525 offset = 0x0800000;
15546 offset = 0x1000090;
15580 #------------------------------------------------------------
15582 #------------------------------------------------------------
15586 desc = "ATXMEGA128A1REVD";
15587 signature = 0x1e 0x97 0x41;
15594 offset = 0x08c0000;
15599 memory "application"
15601 offset = 0x0800000;
15608 offset = 0x0081e000;
15615 offset = 0x00820000;
15622 offset = 0x0800000;
15643 offset = 0x1000090;
15677 #------------------------------------------------------------
15679 #------------------------------------------------------------
15683 desc = "ATXMEGA192A1";
15684 signature = 0x1e 0x97 0x4e;
15691 offset = 0x08c0000;
15696 memory "application"
15698 offset = 0x0800000;
15705 offset = 0x0082e000;
15712 offset = 0x00830000;
15719 offset = 0x0800000;
15740 offset = 0x1000090;
15774 #------------------------------------------------------------
15776 #------------------------------------------------------------
15780 desc = "ATXMEGA256A1";
15781 signature = 0x1e 0x98 0x46;
15788 offset = 0x08c0000;
15793 memory "application"
15795 offset = 0x0800000;
15802 offset = 0x0083e000;
15809 offset = 0x00840000;
15816 offset = 0x0800000;
15837 offset = 0x1000090;
15871 #------------------------------------------------------------
15873 #------------------------------------------------------------
15877 desc = "ATXMEGA64A3";
15878 signature = 0x1e 0x96 0x42;
15885 offset = 0x08c0000;
15890 memory "application"
15892 offset = 0x0800000;
15899 offset = 0x0080f000;
15906 offset = 0x00810000;
15913 offset = 0x0800000;
15934 offset = 0x1000090;
15968 #------------------------------------------------------------
15970 #------------------------------------------------------------
15974 desc = "ATXMEGA128A3";
15975 signature = 0x1e 0x97 0x42;
15982 offset = 0x08c0000;
15987 memory "application"
15989 offset = 0x0800000;
15996 offset = 0x0081e000;
16003 offset = 0x00820000;
16010 offset = 0x0800000;
16031 offset = 0x1000090;
16065 #------------------------------------------------------------
16067 #------------------------------------------------------------
16071 desc = "ATXMEGA192A3";
16072 signature = 0x1e 0x97 0x44;
16079 offset = 0x08c0000;
16084 memory "application"
16086 offset = 0x0800000;
16093 offset = 0x0082e000;
16100 offset = 0x00830000;
16107 offset = 0x0800000;
16128 offset = 0x1000090;
16162 #------------------------------------------------------------
16164 #------------------------------------------------------------
16168 desc = "ATXMEGA256A3";
16169 signature = 0x1e 0x98 0x42;
16176 offset = 0x08c0000;
16181 memory "application"
16183 offset = 0x0800000;
16190 offset = 0x0083e000;
16197 offset = 0x00840000;
16204 offset = 0x0800000;
16225 offset = 0x1000090;
16259 #------------------------------------------------------------
16261 #------------------------------------------------------------
16265 desc = "ATXMEGA256A3B";
16266 signature = 0x1e 0x98 0x43;
16273 offset = 0x08c0000;
16278 memory "application"
16280 offset = 0x0800000;
16287 offset = 0x0083e000;
16294 offset = 0x00840000;
16301 offset = 0x0800000;
16322 offset = 0x1000090;
16356 #------------------------------------------------------------
16358 #------------------------------------------------------------
16362 desc = "ATXMEGA16A4";
16363 signature = 0x1e 0x94 0x41;
16370 offset = 0x08c0000;
16375 memory "application"
16377 offset = 0x0800000;
16384 offset = 0x00803000;
16391 offset = 0x00804000;
16398 offset = 0x0800000;
16419 offset = 0x1000090;
16453 #------------------------------------------------------------
16455 #------------------------------------------------------------
16459 desc = "ATXMEGA32A4";
16460 signature = 0x1e 0x95 0x41;
16467 offset = 0x08c0000;
16472 memory "application"
16474 offset = 0x0800000;
16481 offset = 0x00807000;
16488 offset = 0x00808000;
16495 offset = 0x0800000;
16516 offset = 0x1000090;
16550 #------------------------------------------------------------
16552 #------------------------------------------------------------
16556 desc = "ATXMEGA64A4";
16557 signature = 0x1e 0x96 0x46;
16564 offset = 0x08c0000;
16569 memory "application"
16571 offset = 0x0800000;
16578 offset = 0x0080f000;
16585 offset = 0x00810000;
16592 offset = 0x0800000;
16613 offset = 0x1000090;
16647 #------------------------------------------------------------
16649 #------------------------------------------------------------
16653 desc = "ATXMEGA128A4";
16654 signature = 0x1e 0x97 0x46;
16661 offset = 0x08c0000;
16666 memory "application"
16668 offset = 0x0800000;
16675 offset = 0x0081e000;
16682 offset = 0x00820000;
16689 offset = 0x0800000;
16710 offset = 0x1000090;
16745 #------------------------------------------------------------
16747 #------------------------------------------------------------
16751 desc = "32UC3A0512";
16752 signature = 0xED 0xC0 0x3F;
16758 page_size = 512; # bytes
16759 readsize = 512; # bytes
16760 num_pages = 1024; # could be set dynamicly
16761 size = 0x00080000; # could be set dynamicly
16762 offset = 0x80000000;
16766 #------------------------------------------------------------
16768 #------------------------------------------------------------
16773 signature = 0x1e 0x8f 0x0a;
16796 memory "calibration"
16810 #------------------------------------------------------------
16812 #------------------------------------------------------------
16817 signature = 0x1e 0x8f 0x09;
16840 memory "calibration"
16854 #------------------------------------------------------------
16856 #------------------------------------------------------------
16861 signature = 0x1e 0x90 0x08;
16884 memory "calibration"
16898 #------------------------------------------------------------
16900 #------------------------------------------------------------
16905 signature = 0x1e 0x90 0x03;
16928 memory "calibration"