1 # $Id: avrdude.conf.in 991 2011-08-26 20:50:32Z 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 # The avrftdi driver type 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
350 # http://www.glynstore.com/products/FTDI-UM232H-High%252dSpeed-USB-to-UART-Development-Module.html
352 # The drivers will look for a specific device and use the first one found.
353 # If you have mulitple devices, then look for unique information (like SN)
354 # And fill that in here.
358 desc = "FT2232D based generic programmer";
366 #ISP-signals - lower ACBUS-Nibble (default)
371 #LED SIGNALs - higher ACBUS-Nibble
376 #Buffer Signal - ADBUS - Nibble
379 # This is an implementation of the above with a buffer IC (74AC244) and
380 # 4 LEDs directly attached, active low. The buff and reset pins are
381 # understood (by avrdude) to be active low, so there's no
382 # need to invert the bits.
385 desc = "FT2232H based generic programmer";
388 # Note: This PID is reserved for generic H devices and
389 # should be programmed into the EEPROM
409 # UM232H module from FTDI and Glyn.com.au
410 # J1: Connect pin 2 and 3 for USB power.
411 # J2: Connect pin 2 and 3 for USB power.
417 # Use the -b flag to set the SPI clock rate eg -b 3750000 is the fastest I could get
418 # a 16MHz Atmega1280 to program reliably. The 232H is conveniently 5V tolerant.
421 desc = "FT232H based module from FTDI and Glyn.com.au";
424 # Note: This PID is reserved for generic 232H devices and
425 # should be programmed into the EEPROM
440 desc = "Amontec JTAGKey, JTAGKey-Tiny and JTAGKey2";
443 # Note: This PID is used in all JTAGKey variants
449 #ISP-signals => 20 - Pin connector on JTAGKey
450 reset = 4; # TMS 7 violet
451 sck = 1; # TCK 9 white
452 mosi = 2; # TDI 5 green
453 miso = 3; # TDO 13 orange
455 # VTG VREF 1 brown with red tip
457 # The colors are on the 20 pin breakout cable
463 desc = "Atmel AVR ISP";
469 desc = "Atmel AVR ISP V2";
475 desc = "Atmel AVR ISP mkII";
481 desc = "Atmel AVR ISP mkII";
487 desc = "The Bus Pirate";
491 # This is supposed to be the "default" STK500 entry.
492 # Attempts to select the correct firmware version
493 # by probing for it. Better use one of the entries
497 desc = "Atmel STK500";
498 type = stk500generic;
503 desc = "Atmel STK500 Version 1.x firmware";
509 desc = "Crossbow MIB510 programming board";
515 desc = "Atmel STK500 Version 2.x firmware";
521 desc = "Atmel STK500 V2 in parallel programming mode";
527 desc = "Atmel STK500 V2 in high-voltage serial programming mode";
533 desc = "Atmel STK600";
539 desc = "Atmel STK600 in parallel programming mode";
545 desc = "Atmel STK600 in high-voltage serial programming mode";
551 desc = "Atmel Low Cost Serial Programmer";
557 desc = "USBasp, http://www.fischl.de/usbasp/";
563 desc = "USBtiny simple USB programmer, http://www.ladyada.net/make/usbtinyisp/";
569 desc = "Atmel Butterfly Development Board";
575 desc = "Atmel AppNote AVR109 Boot Loader";
581 desc = "Atmel AppNote AVR911 AVROSP";
585 # suggested in http://forum.mikrokopter.de/topic-post48317.html
588 desc = "Mikrokopter.de Butterfly";
594 desc = "Mikrokopter.de Butterfly";
600 desc = "Atmel JTAG ICE (mkI)";
601 baudrate = 115200; # default is 115200
608 desc = "Atmel JTAG ICE (mkI)";
609 baudrate = 115200; # default is 115200
616 desc = "Atmel JTAG ICE (mkI)";
623 desc = "Atmel JTAG ICE mkII";
624 baudrate = 19200; # default is 19200
631 desc = "Atmel JTAG ICE mkII";
632 baudrate = 19200; # default is 19200
636 # JTAG ICE mkII @ 115200 Bd
639 desc = "Atmel JTAG ICE mkII";
644 # make the fast one the default, people will love that
647 desc = "Atmel JTAG ICE mkII";
652 # JTAG ICE mkII in ISP mode
655 desc = "Atmel JTAG ICE mkII in ISP mode";
660 # JTAG ICE mkII in debugWire mode
663 desc = "Atmel JTAG ICE mkII in debugWire mode";
668 # JTAG ICE mkII in AVR32 mode
670 id = "jtagmkII_avr32";
671 desc = "Atmel JTAG ICE mkII im AVR32 mode";
673 type = jtagmkii_avr32;
676 # JTAG ICE mkII in AVR32 mode
679 desc = "Atmel JTAG ICE mkII im AVR32 mode";
681 type = jtagmkii_avr32;
684 # JTAG ICE mkII in PDI mode
687 desc = "Atmel JTAG ICE mkII PDI mode";
692 # AVR Dragon in JTAG mode
695 desc = "Atmel AVR Dragon in JTAG mode";
700 # AVR Dragon in ISP mode
703 desc = "Atmel AVR Dragon in ISP mode";
708 # AVR Dragon in PP mode
711 desc = "Atmel AVR Dragon in PP mode";
716 # AVR Dragon in HVSP mode
719 desc = "Atmel AVR Dragon in HVSP mode";
724 # AVR Dragon in debugWire mode
727 desc = "Atmel AVR Dragon in debugWire mode";
732 # AVR Dragon in PDI mode
735 desc = "Atmel AVR Dragon in PDI mode";
742 desc = "Jason Kyle's pAVR Serial Programmer";
746 # Parallel port programmers.
750 desc = "Brian Dean's Programmer, http://www.bsdhome.com/avrdude/";
770 # The programming dongle used by the popular Ponyprog
771 # utility. It is almost similar to the STK200 one,
772 # except that there is a LED indicating that the
773 # programming is currently in progress.
777 desc = "Pony Prog STK200";
789 desc = "Dontronics DT006";
799 desc = "Bascom SAMPLE programming cable";
809 desc = "Nightshade ALF-PgmAVR, http://nightshade.homeip.net/";
825 desc = "Steve Bolt's Programmer";
836 desc = "Picoweb Programming Cable, http://www.picoweb.net/";
846 desc = "ABCmini Board, aka Dick Smith HOTCHIP";
856 desc = "Futurlec.com programming cable.";
865 # From the contributor of the "xil" jtag cable:
866 # The "vcc" definition isn't really vcc (the cable gets its power from
867 # the programming circuit) but is necessary to switch one of the
868 # buffer lines (trying to add it to the "buff" lines doesn't work in
869 # avrdude versions before 5.5j).
870 # With this, TMS connects to RESET, TDI to MOSI, TDO to MISO and TCK
871 # to SCK (plus vcc/gnd of course)
874 desc = "Xilinx JTAG cable";
887 desc = "Direct AVR Parallel Access cable";
898 desc = "AT-ISP V1.1 programming cable for AVR-SDK1 from <http://micro-research.co.th/> micro-research.co.th";
908 desc = "ERE ISP-AVR <http://www.ere.co.th/download/sch050713.pdf>";
918 desc = "Altera ByteBlaster";
927 # It is almost same as pony-stk200, except vcc on pin 5 to auto
928 # disconnect port (download on http://electropol.free.fr)
931 desc = "Frank STK200";
941 # The AT98ISP Cable is a simple parallel dongle for AT89 family.
942 # http://www.atmel.com/dyn/products/tools_card.asp?tool_id=2877
945 desc = "Atmel at89isp cable";
955 # some ultra cheap programmers use bitbanging on the
958 # PC - DB9 - Pins for RS232:
970 # Using RXD is currently not supported.
971 # Using RI is not supported under Win32 but is supported under Posix.
973 # serial ponyprog design (dasa2 in uisp)
974 # reset=!txd sck=rts mosi=dtr miso=cts
978 desc = "design ponyprog serial, reset=!txd sck=rts mosi=dtr miso=cts";
986 # Same as above, different name
987 # reset=!txd sck=rts mosi=dtr miso=cts
991 desc = "Lancos SI-Prog <http://www.lancos.com/siprogsch.html>";
999 # unknown (dasa in uisp)
1000 # reset=rts sck=dtr mosi=txd miso=cts
1004 desc = "serial port banging, reset=rts sck=dtr mosi=txd miso=cts";
1012 # unknown (dasa3 in uisp)
1013 # reset=!dtr sck=rts mosi=txd miso=cts
1017 desc = "serial port banging, reset=!dtr sck=rts mosi=txd miso=cts";
1025 # C2N232i (jumper configuration "auto")
1026 # reset=dtr sck=!rts mosi=!txd miso=!cts
1030 desc = "serial port banging, reset=dtr sck=!rts mosi=!txd miso=!cts";
1042 #------------------------------------------------------------
1044 #------------------------------------------------------------
1046 # This is an HVSP-only device.
1051 stk500_devcode = 0x11;
1052 signature = 0x1e 0x90 0x04;
1053 chip_erase_delay = 20000;
1057 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x00,
1058 0x68, 0x78, 0x68, 0x68, 0x00, 0x00, 0x68, 0x78,
1059 0x78, 0x00, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
1060 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00;
1061 hventerstabdelay = 100;
1063 hvspcmdexedelay = 0;
1070 hvleavestabdelay = 100;
1072 chiperasepolltimeout = 40;
1074 programfusepolltimeout = 25;
1075 programlockpolltimeout = 25;
1099 memory "calibration"
1108 #------------------------------------------------------------
1110 #------------------------------------------------------------
1115 stk500_devcode = 0x12;
1116 avr910_devcode = 0x55;
1117 signature = 0x1e 0x90 0x05;
1118 chip_erase_delay = 20000;
1119 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
1120 "x x x x x x x x x x x x x x x x";
1122 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
1123 "x x x x x x x x x x x x x x x x";
1137 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x00,
1138 0x68, 0x78, 0x68, 0x68, 0x00, 0x00, 0x68, 0x78,
1139 0x78, 0x00, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
1140 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00;
1141 hventerstabdelay = 100;
1142 hvspcmdexedelay = 0;
1149 hvleavestabdelay = 100;
1151 chiperasepolltimeout = 40;
1153 programfusepolltimeout = 25;
1154 programlockpolltimeout = 25;
1158 min_write_delay = 9000;
1159 max_write_delay = 20000;
1162 read = "1 0 1 0 0 0 0 0 x x x x x x x x",
1163 "x x a5 a4 a3 a2 a1 a0 o o o o o o o o";
1165 write = "1 1 0 0 0 0 0 0 x x x x x x x x",
1166 "x x a5 a4 a3 a2 a1 a0 i i i i i i i i";
1176 min_write_delay = 4500;
1177 max_write_delay = 20000;
1180 read_lo = " 0 0 1 0 0 0 0 0",
1181 " x x x x x x x a8",
1182 " a7 a6 a5 a4 a3 a2 a1 a0",
1185 read_hi = " 0 0 1 0 1 0 0 0",
1186 " x x x x x x x a8",
1187 " a7 a6 a5 a4 a3 a2 a1 a0",
1190 write_lo = " 0 1 0 0 0 0 0 0",
1191 " x x x x x x x a8",
1192 " a7 a6 a5 a4 a3 a2 a1 a0",
1195 write_hi = " 0 1 0 0 1 0 0 0",
1196 " x x x x x x x a8",
1197 " a7 a6 a5 a4 a3 a2 a1 a0",
1208 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
1209 "0 0 0 0 0 0 a1 a0 o o o o o o o o";
1214 read = "0 1 0 1 1 0 0 0 x x x x x x x x",
1215 "x x x x x x x x x x x x x o o x";
1217 write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1",
1218 "x x x x x x x x x x x x x x x x";
1219 min_write_delay = 9000;
1220 max_write_delay = 9000;
1223 memory "calibration"
1225 read = "0 0 1 1 1 0 0 0 x x x x x x x x",
1226 "0 0 0 0 0 0 0 0 o o o o o o o o";
1231 read = "0 1 0 1 0 0 0 0 x x x x x x x x",
1232 "x x x x x x x x o o o o o o o o";
1234 write = "1 0 1 0 1 1 0 0 1 0 1 x x x x x",
1235 "x x x x x x x x i i i i i i i i";
1236 min_write_delay = 9000;
1237 max_write_delay = 9000;
1241 #------------------------------------------------------------
1243 #------------------------------------------------------------
1248 has_debugwire = yes;
1249 flash_instr = 0xB4, 0x0E, 0x1E;
1250 eeprom_instr = 0xBB, 0xFE, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
1251 0xBC, 0x0E, 0xB4, 0x0E, 0xBA, 0x0D, 0xBB, 0xBC,
1252 0x99, 0xE1, 0xBB, 0xAC;
1253 stk500_devcode = 0x14;
1254 signature = 0x1e 0x90 0x07;
1255 chip_erase_delay = 4000;
1256 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
1257 "x x x x x x x x x x x x x x x x";
1259 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
1260 "x x x x x x x x x x x x x x x x";
1274 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66,
1275 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78,
1276 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
1277 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00;
1278 hventerstabdelay = 100;
1280 hvspcmdexedelay = 0;
1287 hvleavestabdelay = 100;
1289 chiperasepolltimeout = 40;
1291 programfusepolltimeout = 25;
1292 programlockpolltimeout = 25;
1297 min_write_delay = 4000;
1298 max_write_delay = 4000;
1301 read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x",
1302 "x x a5 a4 a3 a2 a1 a0 o o o o o o o o";
1304 write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x",
1305 "x x a5 a4 a3 a2 a1 a0 i i i i i i i i";
1307 loadpage_lo = " 1 1 0 0 0 0 0 1",
1309 " 0 0 0 0 0 0 a1 a0",
1312 writepage = " 1 1 0 0 0 0 1 0",
1314 " x x a5 a4 a3 a2 0 0",
1328 min_write_delay = 4500;
1329 max_write_delay = 4500;
1332 read_lo = " 0 0 1 0 0 0 0 0",
1333 " 0 0 0 0 0 0 0 a8",
1334 " a7 a6 a5 a4 a3 a2 a1 a0",
1337 read_hi = " 0 0 1 0 1 0 0 0",
1338 " 0 0 0 0 0 0 0 a8",
1339 " a7 a6 a5 a4 a3 a2 a1 a0",
1342 loadpage_lo = " 0 1 0 0 0 0 0 0",
1344 " x x x x a3 a2 a1 a0",
1347 loadpage_hi = " 0 1 0 0 1 0 0 0",
1349 " x x x x a3 a2 a1 a0",
1352 writepage = " 0 1 0 0 1 1 0 0",
1353 " 0 0 0 0 0 0 0 a8",
1354 " a7 a6 a5 a4 x x x x",
1365 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
1366 "x x x x x x a1 a0 o o o o o o o o";
1371 min_write_delay = 4500;
1372 max_write_delay = 4500;
1374 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
1375 "x x x x x x x x x x o o o o o o";
1377 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
1378 "x x x x x x x x 1 1 i i i i i i";
1381 memory "calibration"
1383 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
1384 "0 0 0 0 0 0 0 a0 o o o o o o o o";
1389 min_write_delay = 4500;
1390 max_write_delay = 4500;
1392 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
1393 "x x x x x x x x i i i i i i i i";
1395 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
1396 "x x x x x x x x o o o o o o o o";
1401 min_write_delay = 4500;
1402 max_write_delay = 4500;
1404 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
1405 "x x x x x x x x i i i i i i i i";
1407 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
1408 "x x x x x x x x o o o o o o o o";
1414 #------------------------------------------------------------
1416 #------------------------------------------------------------
1421 stk500_devcode = 0x13;
1422 avr910_devcode = 0x56;
1423 signature = 0x1e 0x90 0x06;
1424 chip_erase_delay = 8200;
1425 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
1426 "x x x x x x x x x x x x x x x x";
1428 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
1429 "x x x x x x x x x x x x x x x x";
1443 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x00,
1444 0x68, 0x78, 0x68, 0x68, 0x00, 0x00, 0x68, 0x78,
1445 0x78, 0x00, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
1446 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00;
1447 hventerstabdelay = 100;
1448 hvspcmdexedelay = 5;
1455 hvleavestabdelay = 100;
1457 chiperasepolltimeout = 40;
1459 programfusepolltimeout = 25;
1460 programlockpolltimeout = 25;
1464 min_write_delay = 8200;
1465 max_write_delay = 8200;
1468 read = "1 0 1 0 0 0 0 0 x x x x x x x x",
1469 "x x a5 a4 a3 a2 a1 a0 o o o o o o o o";
1471 write = "1 1 0 0 0 0 0 0 x x x x x x x x",
1472 "x x a5 a4 a3 a2 a1 a0 i i i i i i i i";
1482 min_write_delay = 4100;
1483 max_write_delay = 4100;
1486 read_lo = " 0 0 1 0 0 0 0 0",
1487 " x x x x x x x a8",
1488 " a7 a6 a5 a4 a3 a2 a1 a0",
1491 read_hi = " 0 0 1 0 1 0 0 0",
1492 " x x x x x x x a8",
1493 " a7 a6 a5 a4 a3 a2 a1 a0",
1496 write_lo = " 0 1 0 0 0 0 0 0",
1497 " x x x x x x x a8",
1498 " a7 a6 a5 a4 a3 a2 a1 a0",
1501 write_hi = " 0 1 0 0 1 0 0 0",
1502 " x x x x x x x a8",
1503 " a7 a6 a5 a4 a3 a2 a1 a0",
1514 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
1515 "0 0 0 0 0 0 a1 a0 o o o o o o o o";
1520 read = "0 1 0 1 1 0 0 0 x x x x x x x x",
1521 "x x x x x x x x x x x x x o o x";
1523 write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1",
1524 "x x x x x x x x x x x x x x x x";
1525 min_write_delay = 9000;
1526 max_write_delay = 9000;
1529 memory "calibration"
1531 read = "0 0 1 1 1 0 0 0 x x x x x x x x",
1532 "0 0 0 0 0 0 0 0 o o o o o o o o";
1537 read = "0 1 0 1 0 0 0 0 x x x x x x x x",
1538 "x x x x x x x x o o o o x x o o";
1540 write = "1 0 1 0 1 1 0 0 1 0 1 x x x x x",
1541 "x x x x x x x x i i i i 1 1 i i";
1542 min_write_delay = 9000;
1543 max_write_delay = 9000;
1547 #------------------------------------------------------------
1549 #------------------------------------------------------------
1554 stk500_devcode = 0x33;
1555 avr910_devcode = 0x13;
1556 signature = 0x1e 0x90 0x01;
1559 chip_erase_delay = 20000;
1560 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
1561 "x x x x x x x x x x x x x x x x";
1563 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
1564 "x x x x x x x x x x x x x x x x";
1578 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
1579 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
1580 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
1581 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
1582 hventerstabdelay = 100;
1589 hvleavestabdelay = 15;
1590 chiperasepulsewidth = 15;
1591 chiperasepolltimeout = 0;
1592 programfusepulsewidth = 2;
1593 programfusepolltimeout = 0;
1594 programlockpulsewidth = 0;
1595 programlockpolltimeout = 1;
1599 min_write_delay = 4000;
1600 max_write_delay = 9000;
1603 read = "1 0 1 0 0 0 0 0 x x x x x x x x",
1604 "x x a5 a4 a3 a2 a1 a0 o o o o o o o o";
1606 write = "1 1 0 0 0 0 0 0 x x x x x x x x",
1607 "x x a5 a4 a3 a2 a1 a0 i i i i i i i i";
1616 min_write_delay = 4000;
1617 max_write_delay = 9000;
1620 read_lo = " 0 0 1 0 0 0 0 0",
1621 " x x x x x x x a8",
1622 " a7 a6 a5 a4 a3 a2 a1 a0",
1625 read_hi = " 0 0 1 0 1 0 0 0",
1626 " x x x x x x x a8",
1627 " a7 a6 a5 a4 a3 a2 a1 a0",
1630 write_lo = " 0 1 0 0 0 0 0 0",
1631 " x x x x x x x a8",
1632 " a7 a6 a5 a4 a3 a2 a1 a0",
1635 write_hi = " 0 1 0 0 1 0 0 0",
1636 " x x x x x x x a8",
1637 " a7 a6 a5 a4 a3 a2 a1 a0",
1647 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
1648 "x x x x x x a1 a0 o o o o o o o o";
1655 min_write_delay = 9000;
1656 max_write_delay = 20000;
1657 write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1",
1658 "x x x x x x x x x x x x x x x x";
1662 #------------------------------------------------------------
1664 #------------------------------------------------------------
1669 stk500_devcode = 0x50;
1670 avr910_devcode = 0x28;
1671 signature = 0x1e 0x92 0x01;
1672 chip_erase_delay = 20000;
1673 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
1674 "x x x x x x x x x x x x x x x x";
1676 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
1677 "x x x x x x x x x x x x x x x x";
1691 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
1692 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
1693 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
1694 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01;
1695 hventerstabdelay = 100;
1702 hvleavestabdelay = 15;
1703 chiperasepulsewidth = 15;
1704 chiperasepolltimeout = 0;
1705 programfusepulsewidth = 2;
1706 programfusepolltimeout = 0;
1707 programlockpulsewidth = 0;
1708 programlockpolltimeout = 1;
1712 min_write_delay = 9000;
1713 max_write_delay = 20000;
1716 read = " 1 0 1 0 0 0 0 0 x x x x x x x a8",
1717 "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
1719 write = " 1 1 0 0 0 0 0 0 x x x x x x x a8",
1720 "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
1729 min_write_delay = 9000;
1730 max_write_delay = 20000;
1733 read_lo = " 0 0 1 0 0 0 0 0",
1734 " x x x x a11 a10 a9 a8",
1735 " a7 a6 a5 a4 a3 a2 a1 a0",
1738 read_hi = " 0 0 1 0 1 0 0 0",
1739 " x x x x a11 a10 a9 a8",
1740 " a7 a6 a5 a4 a3 a2 a1 a0",
1743 write_lo = " 0 1 0 0 0 0 0 0",
1744 " x x x x a11 a10 a9 a8",
1745 " a7 a6 a5 a4 a3 a2 a1 a0",
1748 write_hi = " 0 1 0 0 1 0 0 0",
1749 " x x x x a11 a10 a9 a8",
1750 " a7 a6 a5 a4 a3 a2 a1 a0",
1760 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
1761 "x x x x x x a1 a0 o o o o o o o o";
1768 write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1",
1769 "x x x x x x x x x x x x x x x x";
1770 min_write_delay = 9000;
1771 max_write_delay = 9000;
1775 #------------------------------------------------------------
1777 #------------------------------------------------------------
1782 stk500_devcode = 0x40;
1783 avr910_devcode = 0x20;
1784 signature = 0x1e 0x91 0x01;
1785 chip_erase_delay = 20000;
1786 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
1787 "x x x x x x x x x x x x x x x x";
1789 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
1790 "x x x x x x x x x x x x x x x x";
1804 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
1805 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
1806 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
1807 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
1808 hventerstabdelay = 100;
1815 hvleavestabdelay = 15;
1816 chiperasepulsewidth = 15;
1817 chiperasepolltimeout = 0;
1818 programfusepulsewidth = 2;
1819 programfusepolltimeout = 0;
1820 programlockpulsewidth = 0;
1821 programlockpolltimeout = 1;
1825 min_write_delay = 4000;
1826 max_write_delay = 9000;
1829 read = "1 0 1 0 0 0 0 0 x x x x x x x x",
1830 "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
1832 write = "1 1 0 0 0 0 0 0 x x x x x x x x",
1833 "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
1842 min_write_delay = 4000;
1843 max_write_delay = 9000;
1846 read_lo = " 0 0 1 0 0 0 0 0",
1847 " x x x x x x a9 a8",
1848 " a7 a6 a5 a4 a3 a2 a1 a0",
1851 read_hi = " 0 0 1 0 1 0 0 0",
1852 " x x x x x x a9 a8",
1853 " a7 a6 a5 a4 a3 a2 a1 a0",
1856 write_lo = " 0 1 0 0 0 0 0 0",
1857 " x x x x x x a9 a8",
1858 " a7 a6 a5 a4 a3 a2 a1 a0",
1861 write_hi = " 0 1 0 0 1 0 0 0",
1862 " x x x x x x a9 a8",
1863 " a7 a6 a5 a4 a3 a2 a1 a0",
1873 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
1874 "x x x x x x a1 a0 o o o o o o o o";
1881 write = "1 0 1 0 1 1 0 0 1 1 1 x x i i x",
1882 "x x x x x x x x x x x x x x x x";
1883 min_write_delay = 9000;
1884 max_write_delay = 9000;
1888 #------------------------------------------------------------
1890 #------------------------------------------------------------
1894 ##### WARNING: No XML file for device 'AT90S2333'! #####
1896 stk500_devcode = 0x42;
1897 avr910_devcode = 0x34;
1898 signature = 0x1e 0x91 0x05;
1899 chip_erase_delay = 20000;
1900 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
1901 "x x x x x x x x x x x x x x x x";
1903 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
1904 "x x x x x x x x x x x x x x x x";
1918 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
1919 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
1920 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
1921 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
1922 hventerstabdelay = 100;
1929 hvleavestabdelay = 15;
1930 chiperasepulsewidth = 15;
1931 chiperasepolltimeout = 0;
1932 programfusepulsewidth = 2;
1933 programfusepolltimeout = 0;
1934 programlockpulsewidth = 0;
1935 programlockpolltimeout = 1;
1939 min_write_delay = 9000;
1940 max_write_delay = 20000;
1943 read = "1 0 1 0 0 0 0 0 x x x x x x x x",
1944 "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
1946 write = "1 1 0 0 0 0 0 0 x x x x x x x x",
1947 "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
1957 min_write_delay = 9000;
1958 max_write_delay = 20000;
1961 read_lo = " 0 0 1 0 0 0 0 0",
1962 " x x x x x x a9 a8",
1963 " a7 a6 a5 a4 a3 a2 a1 a0",
1966 read_hi = " 0 0 1 0 1 0 0 0",
1967 " x x x x x x a9 a8",
1968 " a7 a6 a5 a4 a3 a2 a1 a0",
1971 write_lo = " 0 1 0 0 0 0 0 0",
1972 " x x x x x x a9 a8",
1973 " a7 a6 a5 a4 a3 a2 a1 a0",
1976 write_hi = " 0 1 0 0 1 0 0 0",
1977 " x x x x x x a9 a8",
1978 " a7 a6 a5 a4 a3 a2 a1 a0",
1989 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
1990 "x x x x x x a1 a0 o o o o o o o o";
1994 min_write_delay = 9000;
1995 max_write_delay = 20000;
1996 pwroff_after_write = yes;
1997 read = "0 1 0 1 0 0 0 0 x x x x x x x x",
1998 "x x x x x x x x x x o o o o o o";
2000 write = "1 0 1 0 1 1 0 0 1 0 1 i i i i i",
2001 "x x x x x x x x x x x x x x x x";
2005 min_write_delay = 9000;
2006 max_write_delay = 20000;
2007 read = "0 1 0 1 1 0 0 0 x x x x x x x x",
2008 "x x x x x x x x x x x x x o o x";
2010 write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1",
2011 "x x x x x x x x x x x x x x x x";
2016 #------------------------------------------------------------
2017 # AT90s2343 (also AT90s2323 and ATtiny22)
2018 #------------------------------------------------------------
2023 stk500_devcode = 0x43;
2024 avr910_devcode = 0x4c;
2025 signature = 0x1e 0x91 0x03;
2026 chip_erase_delay = 18000;
2027 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
2028 "x x x x x x x x x x x x x x x x";
2030 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
2031 "x x x x x x x x x x x x x x x x";
2045 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x00,
2046 0x68, 0x78, 0x68, 0x68, 0x00, 0x00, 0x68, 0x78,
2047 0x78, 0x00, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
2048 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00;
2049 hventerstabdelay = 100;
2050 hvspcmdexedelay = 0;
2057 hvleavestabdelay = 100;
2059 chiperasepolltimeout = 40;
2061 programfusepolltimeout = 25;
2062 programlockpolltimeout = 25;
2066 min_write_delay = 9000;
2067 max_write_delay = 20000;
2070 read = "1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0",
2071 "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
2073 write = "1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0",
2074 "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
2083 min_write_delay = 9000;
2084 max_write_delay = 20000;
2087 read_lo = " 0 0 1 0 0 0 0 0",
2088 " x x x x x x a9 a8",
2089 " a7 a6 a5 a4 a3 a2 a1 a0",
2092 read_hi = " 0 0 1 0 1 0 0 0",
2093 " x x x x x x a9 a8",
2094 " a7 a6 a5 a4 a3 a2 a1 a0",
2097 write_lo = " 0 1 0 0 0 0 0 0",
2098 " x x x x x x a9 a8",
2099 " a7 a6 a5 a4 a3 a2 a1 a0",
2102 write_hi = " 0 1 0 0 1 0 0 0",
2103 " x x x x x x a9 a8",
2104 " a7 a6 a5 a4 a3 a2 a1 a0",
2114 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
2115 "x x x x x x a1 a0 o o o o o o o o";
2119 min_write_delay = 9000;
2120 max_write_delay = 20000;
2121 read = "0 1 0 1 1 0 0 0 x x x x x x x x",
2122 "x x x x x x x x o o o x x x x o";
2124 write = "1 0 1 0 1 1 0 0 1 0 1 1 1 1 1 i",
2125 "x x x x x x x x x x x x x x x x";
2129 min_write_delay = 9000;
2130 max_write_delay = 20000;
2131 read = "0 1 0 1 1 0 0 0 x x x x x x x x",
2132 "x x x x x x x x o o o x x x x o";
2134 write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1",
2135 "x x x x x x x x x x x x x x x x";
2140 #------------------------------------------------------------
2142 #------------------------------------------------------------
2147 stk500_devcode = 0x51;
2148 avr910_devcode = 0x30;
2149 signature = 0x1e 0x92 0x03;
2150 chip_erase_delay = 20000;
2151 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
2152 "x x x x x x x x x x x x x x x x";
2154 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
2155 "x x x x x x x x x x x x x x x x";
2169 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
2170 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
2171 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
2172 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
2173 hventerstabdelay = 100;
2180 hvleavestabdelay = 15;
2181 chiperasepulsewidth = 15;
2182 chiperasepolltimeout = 0;
2183 programfusepulsewidth = 2;
2184 programfusepolltimeout = 0;
2185 programlockpulsewidth = 0;
2186 programlockpolltimeout = 1;
2190 min_write_delay = 9000;
2191 max_write_delay = 20000;
2194 read = " 1 0 1 0 0 0 0 0 x x x x x x x x",
2195 "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
2197 write = " 1 1 0 0 0 0 0 0 x x x x x x x x",
2198 "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
2207 min_write_delay = 9000;
2208 max_write_delay = 20000;
2211 read_lo = " 0 0 1 0 0 0 0 0",
2212 " x x x x x a10 a9 a8",
2213 " a7 a6 a5 a4 a3 a2 a1 a0",
2216 read_hi = " 0 0 1 0 1 0 0 0",
2217 " x x x x x a10 a9 a8",
2218 " a7 a6 a5 a4 a3 a2 a1 a0",
2221 write_lo = " 0 1 0 0 0 0 0 0",
2222 " x x x x x a10 a9 a8",
2223 " a7 a6 a5 a4 a3 a2 a1 a0",
2226 write_hi = " 0 1 0 0 1 0 0 0",
2227 " x x x x x a10 a9 a8",
2228 " a7 a6 a5 a4 a3 a2 a1 a0",
2238 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
2239 "x x x x x x a1 a0 o o o o o o o o";
2243 min_write_delay = 9000;
2244 max_write_delay = 20000;
2245 pwroff_after_write = yes;
2246 read = "0 1 0 1 0 0 0 0 x x x x x x x x",
2247 "x x x x x x x x x x o o o o o o";
2249 write = "1 0 1 0 1 1 0 0 1 0 1 i i i i i",
2250 "x x x x x x x x x x x x x x x x";
2254 min_write_delay = 9000;
2255 max_write_delay = 20000;
2256 read = "0 1 0 1 1 0 0 0 x x x x x x x x",
2257 "x x x x x x x x x x x x x o o x";
2259 write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1",
2260 "x x x x x x x x x x x x x x x x";
2264 #------------------------------------------------------------
2266 #------------------------------------------------------------
2270 ##### WARNING: No XML file for device 'AT90S4434'! #####
2272 stk500_devcode = 0x52;
2273 avr910_devcode = 0x6c;
2274 signature = 0x1e 0x92 0x02;
2275 chip_erase_delay = 20000;
2276 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
2277 "x x x x x x x x x x x x x x x x";
2279 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
2280 "x x x x x x x x x x x x x x x x";
2284 min_write_delay = 9000;
2285 max_write_delay = 20000;
2288 read = " 1 0 1 0 0 0 0 0 x x x x x x x x",
2289 "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
2291 write = " 1 1 0 0 0 0 0 0 x x x x x x x x",
2292 "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
2296 min_write_delay = 9000;
2297 max_write_delay = 20000;
2300 read_lo = " 0 0 1 0 0 0 0 0",
2301 " x x x x x a10 a9 a8",
2302 " a7 a6 a5 a4 a3 a2 a1 a0",
2305 read_hi = " 0 0 1 0 1 0 0 0",
2306 " x x x x x a10 a9 a8",
2307 " a7 a6 a5 a4 a3 a2 a1 a0",
2310 write_lo = " 0 1 0 0 0 0 0 0",
2311 " x x x x x a10 a9 a8",
2312 " a7 a6 a5 a4 a3 a2 a1 a0",
2315 write_hi = " 0 1 0 0 1 0 0 0",
2316 " x x x x x a10 a9 a8",
2317 " a7 a6 a5 a4 a3 a2 a1 a0",
2322 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
2323 "x x x x x x a1 a0 o o o o o o o o";
2327 min_write_delay = 9000;
2328 max_write_delay = 20000;
2329 read = "0 1 0 1 0 0 0 0 x x x x x x x x",
2330 "x x x x x x x x x x o o o o o o";
2332 write = "1 0 1 0 1 1 0 0 1 0 1 i i i i i",
2333 "x x x x x x x x x x x x x x x x";
2337 min_write_delay = 9000;
2338 max_write_delay = 20000;
2339 read = "0 1 0 1 1 0 0 0 x x x x x x x x",
2340 "x x x x x x x x x x x x x o o x";
2342 write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1",
2343 "x x x x x x x x x x x x x x x x";
2347 #------------------------------------------------------------
2349 #------------------------------------------------------------
2354 stk500_devcode = 0x60;
2355 avr910_devcode = 0x38;
2356 signature = 0x1e 0x93 0x01;
2357 chip_erase_delay = 20000;
2358 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
2359 "x x x x x x x x x x x x x x x x";
2361 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
2362 "x x x x x x x x x x x x x x x x";
2376 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
2377 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
2378 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
2379 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
2380 hventerstabdelay = 100;
2387 hvleavestabdelay = 15;
2389 chiperasepulsewidth = 15;
2390 chiperasepolltimeout = 0;
2391 programfusepulsewidth = 2;
2392 programfusepolltimeout = 0;
2393 programlockpulsewidth = 0;
2394 programlockpolltimeout = 1;
2398 min_write_delay = 4000;
2399 max_write_delay = 9000;
2402 read = " 1 0 1 0 0 0 0 0 x x x x x x x a8",
2403 "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
2405 write = " 1 1 0 0 0 0 0 0 x x x x x x x a8",
2406 "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
2415 min_write_delay = 4000;
2416 max_write_delay = 9000;
2419 read_lo = " 0 0 1 0 0 0 0 0",
2420 " x x x x a11 a10 a9 a8",
2421 " a7 a6 a5 a4 a3 a2 a1 a0",
2424 read_hi = " 0 0 1 0 1 0 0 0",
2425 " x x x x a11 a10 a9 a8",
2426 " a7 a6 a5 a4 a3 a2 a1 a0",
2429 write_lo = " 0 1 0 0 0 0 0 0",
2430 " x x x x a11 a10 a9 a8",
2431 " a7 a6 a5 a4 a3 a2 a1 a0",
2434 write_hi = " 0 1 0 0 1 0 0 0",
2435 " x x x x a11 a10 a9 a8",
2436 " a7 a6 a5 a4 a3 a2 a1 a0",
2446 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
2447 "x x x x x x a1 a0 o o o o o o o o";
2454 write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1",
2455 "x x x x x x x x x x x x x x x x";
2456 min_write_delay = 9000;
2457 max_write_delay = 9000;
2461 #------------------------------------------------------------
2463 #------------------------------------------------------------
2468 stk500_devcode = 0x61;
2469 avr910_devcode = 0x68;
2470 signature = 0x1e 0x93 0x03;
2471 chip_erase_delay = 20000;
2472 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
2473 "x x x x x x x x x x x x x x x x";
2475 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
2476 "x x x x x x x x x x x x x x x x";
2490 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
2491 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
2492 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
2493 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
2494 hventerstabdelay = 100;
2501 hvleavestabdelay = 15;
2502 chiperasepulsewidth = 15;
2503 chiperasepolltimeout = 0;
2504 programfusepulsewidth = 2;
2505 programfusepolltimeout = 0;
2506 programlockpulsewidth = 0;
2507 programlockpolltimeout = 1;
2511 min_write_delay = 9000;
2512 max_write_delay = 20000;
2515 read = " 1 0 1 0 0 0 0 0 x x x x x x x a8",
2516 "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
2518 write = " 1 1 0 0 0 0 0 0 x x x x x x x a8",
2519 "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
2528 min_write_delay = 9000;
2529 max_write_delay = 20000;
2532 read_lo = " 0 0 1 0 0 0 0 0",
2533 " x x x x a11 a10 a9 a8",
2534 " a7 a6 a5 a4 a3 a2 a1 a0",
2537 read_hi = " 0 0 1 0 1 0 0 0",
2538 " x x x x a11 a10 a9 a8",
2539 " a7 a6 a5 a4 a3 a2 a1 a0",
2542 write_lo = " 0 1 0 0 0 0 0 0",
2543 " x x x x a11 a10 a9 a8",
2544 " a7 a6 a5 a4 a3 a2 a1 a0",
2547 write_hi = " 0 1 0 0 1 0 0 0",
2548 " x x x x a11 a10 a9 a8",
2549 " a7 a6 a5 a4 a3 a2 a1 a0",
2559 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
2560 "x x x x x x a1 a0 o o o o o o o o";
2564 read = "0 1 0 1 1 0 0 0 x x x x x x x x",
2565 "x x x x x x x x x x x x x x x o";
2566 write = "1 0 1 0 1 1 0 0 1 0 1 1 1 1 1 i",
2567 "x x x x x x x x x x x x x x x x";
2568 min_write_delay = 9000;
2569 max_write_delay = 9000;
2573 read = "0 1 0 1 1 0 0 0 x x x x x x x x",
2574 "x x x x x x x x o o x x x x x x";
2575 write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1",
2576 "x x x x x x x x x x x x x x x x";
2577 min_write_delay = 9000;
2578 max_write_delay = 9000;
2582 #------------------------------------------------------------
2584 #------------------------------------------------------------
2589 stk500_devcode = 0xB1;
2590 avr910_devcode = 0x41;
2591 signature = 0x1e 0x97 0x01;
2592 chip_erase_delay = 112000;
2593 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
2594 "x x x x x x x x x x x x x x x x";
2596 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
2597 "x x x x x x x x x x x x x x x x";
2611 0x0E, 0x1E, 0x8E, 0x9E, 0x2E, 0x3E, 0xAE, 0xBE,
2612 0x4E, 0x5E, 0xCE, 0xDE, 0x6E, 0x7E, 0xEE, 0xDE,
2613 0x66, 0x76, 0xE6, 0xF6, 0x6A, 0x7A, 0xEA, 0x7A,
2614 0x7F, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
2615 hventerstabdelay = 100;
2622 hvleavestabdelay = 15;
2623 chiperasepulsewidth = 15;
2624 chiperasepolltimeout = 0;
2625 programfusepulsewidth = 2;
2626 programfusepolltimeout = 0;
2627 programlockpulsewidth = 0;
2628 programlockpolltimeout = 10;
2632 min_write_delay = 4000;
2633 max_write_delay = 9000;
2636 read = " 1 0 1 0 0 0 0 0",
2637 " x x x x a11 a10 a9 a8",
2638 " a7 a6 a5 a4 a3 a2 a1 a0",
2641 write = " 1 1 0 0 0 0 0 0",
2642 " x x x x a11 a10 a9 a8",
2643 " a7 a6 a5 a4 a3 a2 a1 a0",
2657 min_write_delay = 22000;
2658 max_write_delay = 56000;
2661 read_lo = " 0 0 1 0 0 0 0 0",
2662 "a15 a14 a13 a12 a11 a10 a9 a8",
2663 " a7 a6 a5 a4 a3 a2 a1 a0",
2666 read_hi = " 0 0 1 0 1 0 0 0",
2667 "a15 a14 a13 a12 a11 a10 a9 a8",
2668 " a7 a6 a5 a4 a3 a2 a1 a0",
2671 loadpage_lo = " 0 1 0 0 0 0 0 0",
2673 " x a6 a5 a4 a3 a2 a1 a0",
2676 loadpage_hi = " 0 1 0 0 1 0 0 0",
2678 " x a6 a5 a4 a3 a2 a1 a0",
2681 writepage = " 0 1 0 0 1 1 0 0",
2682 "a15 a14 a13 a12 a11 a10 a9 a8",
2683 " a7 x x x x x x x",
2694 read = "0 1 0 1 0 0 0 0 x x x x x x x x",
2695 "x x x x x x x x x x o x o 1 o o";
2697 write = "1 0 1 0 1 1 0 0 1 0 1 1 i 1 i i",
2698 "x x x x x x x x x x x x x x x x";
2699 min_write_delay = 9000;
2700 max_write_delay = 9000;
2705 read = "0 1 0 1 1 0 0 0 x x x x x x x x",
2706 "x x x x x x x x x x x x x o o x";
2708 write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1",
2709 "x x x x x x x x x x x x x x x x";
2710 min_write_delay = 9000;
2711 max_write_delay = 9000;
2716 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
2717 "x x x x x x a1 a0 o o o o o o o o";
2722 #------------------------------------------------------------
2724 #------------------------------------------------------------
2730 stk500_devcode = 0xA0;
2731 avr910_devcode = 0x45;
2732 signature = 0x1e 0x96 0x02;
2733 chip_erase_delay = 9000;
2737 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
2738 "x x x x x x x x x x x x x x x x";
2740 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
2741 "x x x x x x x x x x x x x x x x";
2755 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
2756 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
2757 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
2758 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
2759 hventerstabdelay = 100;
2766 hvleavestabdelay = 15;
2767 chiperasepulsewidth = 0;
2768 chiperasepolltimeout = 10;
2769 programfusepulsewidth = 0;
2770 programfusepolltimeout = 5;
2771 programlockpulsewidth = 0;
2772 programlockpolltimeout = 5;
2776 allowfullpagebitstream = yes;
2779 paged = no; /* leave this "no" */
2780 page_size = 8; /* for parallel programming */
2782 min_write_delay = 9000;
2783 max_write_delay = 9000;
2786 read = " 1 0 1 0 0 0 0 0",
2787 " x x x x a11 a10 a9 a8",
2788 " a7 a6 a5 a4 a3 a2 a1 a0",
2791 write = " 1 1 0 0 0 0 0 0",
2792 " x x x x a11 a10 a9 a8",
2793 " a7 a6 a5 a4 a3 a2 a1 a0",
2807 min_write_delay = 4500;
2808 max_write_delay = 4500;
2811 read_lo = " 0 0 1 0 0 0 0 0",
2812 " x a14 a13 a12 a11 a10 a9 a8",
2813 " a7 a6 a5 a4 a3 a2 a1 a0",
2816 read_hi = " 0 0 1 0 1 0 0 0",
2817 " x a14 a13 a12 a11 a10 a9 a8",
2818 " a7 a6 a5 a4 a3 a2 a1 a0",
2822 loadpage_lo = " 0 1 0 0 0 0 0 0",
2824 " x a6 a5 a4 a3 a2 a1 a0",
2827 loadpage_hi = " 0 1 0 0 1 0 0 0",
2829 " x a6 a5 a4 a3 a2 a1 a0",
2832 writepage = " 0 1 0 0 1 1 0 0",
2833 " x a14 a13 a12 a11 a10 a9 a8",
2834 " a7 x x x x x x x",
2845 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
2846 "x x x x x x x x i i i i i i i i";
2848 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
2849 "x x x x x x x x o o o o o o o o";
2850 min_write_delay = 9000;
2851 max_write_delay = 9000;
2856 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
2857 "x x x x x x x x i i i i i i i i";
2859 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
2860 "x x x x x x x x o o o o o o o o";
2861 min_write_delay = 9000;
2862 max_write_delay = 9000;
2867 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
2868 "x x x x x x x x x x x x x x i i";
2870 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
2871 "x x x x x x x x o o o o o o o o";
2872 min_write_delay = 9000;
2873 max_write_delay = 9000;
2878 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
2879 "x x x x x x x x x x o o o o o o";
2881 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
2882 "x x x x x x x x 1 1 i i i i i i";
2883 min_write_delay = 9000;
2884 max_write_delay = 9000;
2887 memory "calibration"
2889 read = "0 0 1 1 1 0 0 0 x x x x x x x x",
2890 "0 0 0 0 0 0 a1 a0 o o o o o o o o";
2895 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
2896 "x x x x x x a1 a0 o o o o o o o o";
2903 #------------------------------------------------------------
2905 #------------------------------------------------------------
2911 stk500_devcode = 0xB2;
2912 avr910_devcode = 0x43;
2913 signature = 0x1e 0x97 0x02;
2914 chip_erase_delay = 9000;
2918 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
2919 "x x x x x x x x x x x x x x x x";
2921 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
2922 "x x x x x x x x x x x x x x x x";
2936 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
2937 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
2938 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
2939 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
2940 hventerstabdelay = 100;
2947 hvleavestabdelay = 15;
2948 chiperasepulsewidth = 0;
2949 chiperasepolltimeout = 10;
2950 programfusepulsewidth = 0;
2951 programfusepolltimeout = 5;
2952 programlockpulsewidth = 0;
2953 programlockpolltimeout = 5;
2958 allowfullpagebitstream = yes;
2961 paged = no; /* leave this "no" */
2962 page_size = 8; /* for parallel programming */
2964 min_write_delay = 9000;
2965 max_write_delay = 9000;
2968 read = " 1 0 1 0 0 0 0 0",
2969 " x x x x a11 a10 a9 a8",
2970 " a7 a6 a5 a4 a3 a2 a1 a0",
2973 write = " 1 1 0 0 0 0 0 0",
2974 " x x x x a11 a10 a9 a8",
2975 " a7 a6 a5 a4 a3 a2 a1 a0",
2989 min_write_delay = 4500;
2990 max_write_delay = 4500;
2993 read_lo = " 0 0 1 0 0 0 0 0",
2994 "a15 a14 a13 a12 a11 a10 a9 a8",
2995 " a7 a6 a5 a4 a3 a2 a1 a0",
2998 read_hi = " 0 0 1 0 1 0 0 0",
2999 "a15 a14 a13 a12 a11 a10 a9 a8",
3000 " a7 a6 a5 a4 a3 a2 a1 a0",
3003 loadpage_lo = " 0 1 0 0 0 0 0 0",
3005 " x a6 a5 a4 a3 a2 a1 a0",
3008 loadpage_hi = " 0 1 0 0 1 0 0 0",
3010 " x a6 a5 a4 a3 a2 a1 a0",
3013 writepage = " 0 1 0 0 1 1 0 0",
3014 "a15 a14 a13 a12 a11 a10 a9 a8",
3015 " a7 x x x x x x x",
3026 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
3027 "x x x x x x x x i i i i i i i i";
3029 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
3030 "x x x x x x x x o o o o o o o o";
3031 min_write_delay = 9000;
3032 max_write_delay = 9000;
3037 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
3038 "x x x x x x x x i i i i i i i i";
3040 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
3041 "x x x x x x x x o o o o o o o o";
3042 min_write_delay = 9000;
3043 max_write_delay = 9000;
3048 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
3049 "x x x x x x x x x x x x x x i i";
3051 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
3052 "x x x x x x x x o o o o o o o o";
3053 min_write_delay = 9000;
3054 max_write_delay = 9000;
3059 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
3060 "x x x x x x x x x x o o o o o o";
3062 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
3063 "x x x x x x x x 1 1 i i i i i i";
3064 min_write_delay = 9000;
3065 max_write_delay = 9000;
3068 memory "calibration"
3070 read = "0 0 1 1 1 0 0 0 x x x x x x x x",
3071 "0 0 0 0 0 0 a1 a0 o o o o o o o o";
3076 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
3077 "x x x x x x a1 a0 o o o o o o o o";
3081 #------------------------------------------------------------
3083 #------------------------------------------------------------
3087 desc = "AT90CAN128";
3089 stk500_devcode = 0xB3;
3090 # avr910_devcode = 0x43;
3091 signature = 0x1e 0x97 0x81;
3092 chip_erase_delay = 9000;
3096 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
3097 "x x x x x x x x x x x x x x x x";
3099 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
3100 "x x x x x x x x x x x x x x x x";
3114 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
3115 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
3116 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
3117 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01;
3118 hventerstabdelay = 100;
3125 hvleavestabdelay = 15;
3126 chiperasepulsewidth = 0;
3127 chiperasepolltimeout = 10;
3128 programfusepulsewidth = 0;
3129 programfusepolltimeout = 5;
3130 programlockpulsewidth = 0;
3131 programlockpolltimeout = 5;
3137 allowfullpagebitstream = no;
3140 paged = no; /* leave this "no" */
3141 page_size = 8; /* for parallel programming */
3143 min_write_delay = 9000;
3144 max_write_delay = 9000;
3147 read = " 1 0 1 0 0 0 0 0",
3148 " 0 0 0 x a11 a10 a9 a8",
3149 " a7 a6 a5 a4 a3 a2 a1 a0",
3152 write = " 1 1 0 0 0 0 0 0",
3153 " 0 0 0 x a11 a10 a9 a8",
3154 " a7 a6 a5 a4 a3 a2 a1 a0",
3157 loadpage_lo = " 1 1 0 0 0 0 0 1",
3159 " 0 0 0 0 0 a2 a1 a0",
3162 writepage = " 1 1 0 0 0 0 1 0",
3163 " 0 0 x x a11 a10 a9 a8",
3164 " a7 a6 a5 a4 a3 0 0 0",
3179 min_write_delay = 4500;
3180 max_write_delay = 4500;
3183 read_lo = " 0 0 1 0 0 0 0 0",
3184 "a15 a14 a13 a12 a11 a10 a9 a8",
3185 " a7 a6 a5 a4 a3 a2 a1 a0",
3188 read_hi = " 0 0 1 0 1 0 0 0",
3189 "a15 a14 a13 a12 a11 a10 a9 a8",
3190 " a7 a6 a5 a4 a3 a2 a1 a0",
3193 loadpage_lo = " 0 1 0 0 0 0 0 0",
3195 " x a6 a5 a4 a3 a2 a1 a0",
3198 loadpage_hi = " 0 1 0 0 1 0 0 0",
3200 " x a6 a5 a4 a3 a2 a1 a0",
3203 writepage = " 0 1 0 0 1 1 0 0",
3204 "a15 a14 a13 a12 a11 a10 a9 a8",
3205 " a7 x x x x x x x",
3216 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
3217 "x x x x x x x x i i i i i i i i";
3219 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
3220 "x x x x x x x x o o o o o o o o";
3221 min_write_delay = 9000;
3222 max_write_delay = 9000;
3227 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
3228 "x x x x x x x x i i i i i i i i";
3230 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
3231 "x x x x x x x x o o o o o o o o";
3232 min_write_delay = 9000;
3233 max_write_delay = 9000;
3238 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
3239 "x x x x x x x x x x x x i i i i";
3241 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
3242 "x x x x x x x x o o o o o o o o";
3243 min_write_delay = 9000;
3244 max_write_delay = 9000;
3249 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
3250 "x x x x x x x x x x o o o o o o";
3252 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
3253 "x x x x x x x x 1 1 i i i i i i";
3254 min_write_delay = 9000;
3255 max_write_delay = 9000;
3258 memory "calibration"
3260 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
3261 "0 0 0 0 0 0 0 0 o o o o o o o o";
3266 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
3267 "x x x x x x a1 a0 o o o o o o o o";
3271 #------------------------------------------------------------
3273 #------------------------------------------------------------
3279 stk500_devcode = 0xB3;
3280 # avr910_devcode = 0x43;
3281 signature = 0x1e 0x96 0x81;
3282 chip_erase_delay = 9000;
3286 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
3287 "x x x x x x x x x x x x x x x x";
3289 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
3290 "x x x x x x x x x x x x x x x x";
3304 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
3305 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
3306 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
3307 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01;
3308 hventerstabdelay = 100;
3315 hvleavestabdelay = 15;
3316 chiperasepulsewidth = 0;
3317 chiperasepolltimeout = 10;
3318 programfusepulsewidth = 0;
3319 programfusepolltimeout = 5;
3320 programlockpulsewidth = 0;
3321 programlockpolltimeout = 5;
3327 allowfullpagebitstream = no;
3330 paged = no; /* leave this "no" */
3331 page_size = 8; /* for parallel programming */
3333 min_write_delay = 9000;
3334 max_write_delay = 9000;
3337 read = " 1 0 1 0 0 0 0 0",
3338 " 0 0 0 x x a10 a9 a8",
3339 " a7 a6 a5 a4 a3 a2 a1 a0",
3342 write = " 1 1 0 0 0 0 0 0",
3343 " 0 0 0 x x a10 a9 a8",
3344 " a7 a6 a5 a4 a3 a2 a1 a0",
3347 loadpage_lo = " 1 1 0 0 0 0 0 1",
3349 " 0 0 0 0 0 a2 a1 a0",
3352 writepage = " 1 1 0 0 0 0 1 0",
3353 " 0 0 x x x a10 a9 a8",
3354 " a7 a6 a5 a4 a3 0 0 0",
3369 min_write_delay = 4500;
3370 max_write_delay = 4500;
3373 read_lo = " 0 0 1 0 0 0 0 0",
3374 "a15 a14 a13 a12 a11 a10 a9 a8",
3375 " a7 a6 a5 a4 a3 a2 a1 a0",
3378 read_hi = " 0 0 1 0 1 0 0 0",
3379 "a15 a14 a13 a12 a11 a10 a9 a8",
3380 " a7 a6 a5 a4 a3 a2 a1 a0",
3383 loadpage_lo = " 0 1 0 0 0 0 0 0",
3385 " x a6 a5 a4 a3 a2 a1 a0",
3388 loadpage_hi = " 0 1 0 0 1 0 0 0",
3390 " x a6 a5 a4 a3 a2 a1 a0",
3393 writepage = " 0 1 0 0 1 1 0 0",
3394 "a15 a14 a13 a12 a11 a10 a9 a8",
3395 " a7 x x x x x x x",
3406 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
3407 "x x x x x x x x i i i i i i i i";
3409 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
3410 "x x x x x x x x o o o o o o o o";
3411 min_write_delay = 9000;
3412 max_write_delay = 9000;
3417 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
3418 "x x x x x x x x i i i i i i i i";
3420 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
3421 "x x x x x x x x o o o o o o o o";
3422 min_write_delay = 9000;
3423 max_write_delay = 9000;
3428 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
3429 "x x x x x x x x x x x x i i i i";
3431 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
3432 "x x x x x x x x o o o o o o o o";
3433 min_write_delay = 9000;
3434 max_write_delay = 9000;
3439 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
3440 "x x x x x x x x x x o o o o o o";
3442 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
3443 "x x x x x x x x 1 1 i i i i i i";
3444 min_write_delay = 9000;
3445 max_write_delay = 9000;
3448 memory "calibration"
3450 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
3451 "0 0 0 0 0 0 0 0 o o o o o o o o";
3456 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
3457 "x x x x x x a1 a0 o o o o o o o o";
3461 #------------------------------------------------------------
3463 #------------------------------------------------------------
3469 stk500_devcode = 0xB3;
3470 # avr910_devcode = 0x43;
3471 signature = 0x1e 0x95 0x81;
3472 chip_erase_delay = 9000;
3476 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
3477 "x x x x x x x x x x x x x x x x";
3479 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
3480 "x x x x x x x x x x x x x x x x";
3494 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
3495 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
3496 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
3497 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01;
3498 hventerstabdelay = 100;
3505 hvleavestabdelay = 15;
3506 chiperasepulsewidth = 0;
3507 chiperasepolltimeout = 10;
3508 programfusepulsewidth = 0;
3509 programfusepolltimeout = 5;
3510 programlockpulsewidth = 0;
3511 programlockpolltimeout = 5;
3517 allowfullpagebitstream = no;
3520 paged = no; /* leave this "no" */
3521 page_size = 8; /* for parallel programming */
3523 min_write_delay = 9000;
3524 max_write_delay = 9000;
3527 read = " 1 0 1 0 0 0 0 0",
3528 " 0 0 0 x x x a9 a8",
3529 " a7 a6 a5 a4 a3 a2 a1 a0",
3532 write = " 1 1 0 0 0 0 0 0",
3533 " 0 0 0 x x x a9 a8",
3534 " a7 a6 a5 a4 a3 a2 a1 a0",
3537 loadpage_lo = " 1 1 0 0 0 0 0 1",
3539 " 0 0 0 0 0 a2 a1 a0",
3542 writepage = " 1 1 0 0 0 0 1 0",
3543 " 0 0 x x x x a9 a8",
3544 " a7 a6 a5 a4 a3 0 0 0",
3559 min_write_delay = 4500;
3560 max_write_delay = 4500;
3563 read_lo = " 0 0 1 0 0 0 0 0",
3564 "a15 a14 a13 a12 a11 a10 a9 a8",
3565 " a7 a6 a5 a4 a3 a2 a1 a0",
3568 read_hi = " 0 0 1 0 1 0 0 0",
3569 "a15 a14 a13 a12 a11 a10 a9 a8",
3570 " a7 a6 a5 a4 a3 a2 a1 a0",
3573 loadpage_lo = " 0 1 0 0 0 0 0 0",
3575 " x a6 a5 a4 a3 a2 a1 a0",
3578 loadpage_hi = " 0 1 0 0 1 0 0 0",
3580 " x a6 a5 a4 a3 a2 a1 a0",
3583 writepage = " 0 1 0 0 1 1 0 0",
3584 "a15 a14 a13 a12 a11 a10 a9 a8",
3585 " a7 x x x x x x x",
3596 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
3597 "x x x x x x x x i i i i i i i i";
3599 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
3600 "x x x x x x x x o o o o o o o o";
3601 min_write_delay = 9000;
3602 max_write_delay = 9000;
3607 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
3608 "x x x x x x x x i i i i i i i i";
3610 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
3611 "x x x x x x x x o o o o o o o o";
3612 min_write_delay = 9000;
3613 max_write_delay = 9000;
3618 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
3619 "x x x x x x x x x x x x i i i i";
3621 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
3622 "x x x x x x x x o o o o o o o o";
3623 min_write_delay = 9000;
3624 max_write_delay = 9000;
3629 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
3630 "x x x x x x x x x x o o o o o o";
3632 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
3633 "x x x x x x x x 1 1 i i i i i i";
3634 min_write_delay = 9000;
3635 max_write_delay = 9000;
3638 memory "calibration"
3640 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
3641 "0 0 0 0 0 0 0 0 o o o o o o o o";
3646 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
3647 "x x x x x x a1 a0 o o o o o o o o";
3652 #------------------------------------------------------------
3654 #------------------------------------------------------------
3660 stk500_devcode = 0x82;
3661 avr910_devcode = 0x74;
3662 signature = 0x1e 0x94 0x03;
3665 chip_erase_delay = 9000;
3666 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
3667 "x x x x x x x x x x x x x x x x";
3669 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
3670 "x x x x x x x x x x x x x x x x";
3684 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
3685 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
3686 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
3687 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
3688 hventerstabdelay = 100;
3689 progmodedelay = 100;
3695 hvleavestabdelay = 15;
3697 chiperasepulsewidth = 0;
3698 chiperasepolltimeout = 10;
3699 programfusepulsewidth = 0;
3700 programfusepolltimeout = 5;
3701 programlockpulsewidth = 0;
3702 programlockpolltimeout = 5;
3706 allowfullpagebitstream = yes;
3709 paged = no; /* leave this "no" */
3710 page_size = 4; /* for parallel programming */
3712 min_write_delay = 9000;
3713 max_write_delay = 9000;
3716 read = " 1 0 1 0 0 0 0 0",
3717 " 0 0 x x x x a9 a8",
3718 " a7 a6 a5 a4 a3 a2 a1 a0",
3721 write = " 1 1 0 0 0 0 0 0",
3722 " 0 0 x x x x a9 a8",
3723 " a7 a6 a5 a4 a3 a2 a1 a0",
3726 loadpage_lo = " 1 1 0 0 0 0 0 1",
3728 " 0 0 0 0 0 0 a1 a0",
3731 writepage = " 1 1 0 0 0 0 1 0",
3732 " 0 0 x x x x a9 a8",
3733 " a7 a6 a5 a4 a3 a2 0 0",
3747 min_write_delay = 4500;
3748 max_write_delay = 4500;
3751 read_lo = " 0 0 1 0 0 0 0 0",
3752 " 0 0 a13 a12 a11 a10 a9 a8",
3753 " a7 a6 a5 a4 a3 a2 a1 a0",
3756 read_hi = " 0 0 1 0 1 0 0 0",
3757 " 0 0 a13 a12 a11 a10 a9 a8",
3758 " a7 a6 a5 a4 a3 a2 a1 a0",
3761 loadpage_lo = " 0 1 0 0 0 0 0 0",
3763 " x x a5 a4 a3 a2 a1 a0",
3766 loadpage_hi = " 0 1 0 0 1 0 0 0",
3768 " x x a5 a4 a3 a2 a1 a0",
3771 writepage = " 0 1 0 0 1 1 0 0",
3772 " 0 0 a13 a12 a11 a10 a9 a8",
3773 " a7 a6 x x x x x x",
3784 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
3785 "x x x x x x x x x x o o o o o o";
3787 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
3788 "x x x x x x x x 1 1 i i i i i i";
3789 min_write_delay = 9000;
3790 max_write_delay = 9000;
3795 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
3796 "x x x x x x x x o o o o o o o o";
3798 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
3799 "x x x x x x x x i i i i i i i i";
3800 min_write_delay = 9000;
3801 max_write_delay = 9000;
3806 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
3807 "x x x x x x x x o o o o o o o o";
3809 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
3810 "x x x x x x x x i i i i i i i i";
3811 min_write_delay = 9000;
3812 max_write_delay = 9000;
3816 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
3817 "x x x x x x a1 a0 o o o o o o o o";
3819 memory "calibration"
3822 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
3823 "0 0 0 0 0 0 a1 a0 o o o o o o o o";
3828 #------------------------------------------------------------
3830 #------------------------------------------------------------
3836 desc = "ATMEGA164P";
3838 stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one
3839 avr910_devcode = 0x74;
3840 signature = 0x1e 0x94 0x0a;
3843 chip_erase_delay = 9000;
3844 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
3845 "x x x x x x x x x x x x x x x x";
3847 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
3848 "x x x x x x x x x x x x x x x x";
3862 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
3863 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
3864 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
3865 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
3866 hventerstabdelay = 100;
3873 hvleavestabdelay = 15;
3874 chiperasepulsewidth = 0;
3875 chiperasepolltimeout = 10;
3876 programfusepulsewidth = 0;
3877 programfusepolltimeout = 5;
3878 programlockpulsewidth = 0;
3879 programlockpolltimeout = 5;
3883 allowfullpagebitstream = no;
3886 paged = no; /* leave this "no" */
3887 page_size = 4; /* for parallel programming */
3889 min_write_delay = 9000;
3890 max_write_delay = 9000;
3893 read = " 1 0 1 0 0 0 0 0",
3894 " 0 0 x x x x a9 a8",
3895 " a7 a6 a5 a4 a3 a2 a1 a0",
3898 write = " 1 1 0 0 0 0 0 0",
3899 " 0 0 x x x x a9 a8",
3900 " a7 a6 a5 a4 a3 a2 a1 a0",
3903 loadpage_lo = " 1 1 0 0 0 0 0 1",
3905 " 0 0 0 0 0 0 a1 a0",
3908 writepage = " 1 1 0 0 0 0 1 0",
3909 " 0 0 x x x x a9 a8",
3910 " a7 a6 a5 a4 a3 a2 0 0",
3924 min_write_delay = 4500;
3925 max_write_delay = 4500;
3928 read_lo = " 0 0 1 0 0 0 0 0",
3929 " 0 0 a13 a12 a11 a10 a9 a8",
3930 " a7 a6 a5 a4 a3 a2 a1 a0",
3933 read_hi = " 0 0 1 0 1 0 0 0",
3934 " 0 0 a13 a12 a11 a10 a9 a8",
3935 " a7 a6 a5 a4 a3 a2 a1 a0",
3938 loadpage_lo = " 0 1 0 0 0 0 0 0",
3940 " x x a5 a4 a3 a2 a1 a0",
3943 loadpage_hi = " 0 1 0 0 1 0 0 0",
3945 " x x a5 a4 a3 a2 a1 a0",
3948 writepage = " 0 1 0 0 1 1 0 0",
3949 " 0 0 a13 a12 a11 a10 a9 a8",
3950 " a7 a6 x x x x x x",
3961 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
3962 "x x x x x x x x x x o o o o o o";
3964 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
3965 "x x x x x x x x 1 1 i i i i i i";
3966 min_write_delay = 9000;
3967 max_write_delay = 9000;
3972 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
3973 "x x x x x x x x o o o o o o o o";
3975 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
3976 "x x x x x x x x i i i i i i i i";
3977 min_write_delay = 9000;
3978 max_write_delay = 9000;
3983 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
3984 "x x x x x x x x o o o o o o o o";
3986 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
3987 "x x x x x x x x i i i i i i i i";
3988 min_write_delay = 9000;
3989 max_write_delay = 9000;
3995 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
3996 "x x x x x x x x o o o o o o o o";
3998 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
3999 "x x x x x x x x 1 1 1 1 1 i i i";
4000 min_write_delay = 9000;
4001 max_write_delay = 9000;
4006 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
4007 "x x x x x x a1 a0 o o o o o o o o";
4010 memory "calibration"
4013 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
4014 "0 0 0 0 0 0 0 0 o o o o o o o o";
4019 #------------------------------------------------------------
4021 #------------------------------------------------------------
4023 # similar to ATmega164P
4027 desc = "ATMEGA324P";
4029 stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one
4030 avr910_devcode = 0x74;
4031 signature = 0x1e 0x95 0x08;
4034 chip_erase_delay = 9000;
4035 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
4036 "x x x x x x x x x x x x x x x x";
4038 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
4039 "x x x x x x x x x x x x x x x x";
4053 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
4054 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
4055 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
4056 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
4057 hventerstabdelay = 100;
4064 hvleavestabdelay = 15;
4065 chiperasepulsewidth = 0;
4066 chiperasepolltimeout = 10;
4067 programfusepulsewidth = 0;
4068 programfusepolltimeout = 5;
4069 programlockpulsewidth = 0;
4070 programlockpolltimeout = 5;
4074 allowfullpagebitstream = no;
4077 paged = no; /* leave this "no" */
4078 page_size = 4; /* for parallel programming */
4080 min_write_delay = 9000;
4081 max_write_delay = 9000;
4084 read = " 1 0 1 0 0 0 0 0",
4085 " 0 0 x x x a10 a9 a8",
4086 " a7 a6 a5 a4 a3 a2 a1 a0",
4089 write = " 1 1 0 0 0 0 0 0",
4090 " 0 0 x x x a10 a9 a8",
4091 " a7 a6 a5 a4 a3 a2 a1 a0",
4094 loadpage_lo = " 1 1 0 0 0 0 0 1",
4096 " 0 0 0 0 0 0 a1 a0",
4099 writepage = " 1 1 0 0 0 0 1 0",
4100 " 0 0 x x x a10 a9 a8",
4101 " a7 a6 a5 a4 a3 a2 0 0",
4115 min_write_delay = 4500;
4116 max_write_delay = 4500;
4119 read_lo = " 0 0 1 0 0 0 0 0",
4120 " 0 a14 a13 a12 a11 a10 a9 a8",
4121 " a7 a6 a5 a4 a3 a2 a1 a0",
4124 read_hi = " 0 0 1 0 1 0 0 0",
4125 " 0 a14 a13 a12 a11 a10 a9 a8",
4126 " a7 a6 a5 a4 a3 a2 a1 a0",
4129 loadpage_lo = " 0 1 0 0 0 0 0 0",
4131 " x x a5 a4 a3 a2 a1 a0",
4134 loadpage_hi = " 0 1 0 0 1 0 0 0",
4136 " x x a5 a4 a3 a2 a1 a0",
4139 writepage = " 0 1 0 0 1 1 0 0",
4140 " 0 a14 a13 a12 a11 a10 a9 a8",
4141 " a7 a6 x x x x x x",
4152 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
4153 "x x x x x x x x x x o o o o o o";
4155 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
4156 "x x x x x x x x 1 1 i i i i i i";
4157 min_write_delay = 9000;
4158 max_write_delay = 9000;
4163 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
4164 "x x x x x x x x o o o o o o o o";
4166 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
4167 "x x x x x x x x i i i i i i i i";
4168 min_write_delay = 9000;
4169 max_write_delay = 9000;
4174 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
4175 "x x x x x x x x o o o o o o o o";
4177 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
4178 "x x x x x x x x i i i i i i i i";
4179 min_write_delay = 9000;
4180 max_write_delay = 9000;
4186 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
4187 "x x x x x x x x o o o o o o o o";
4189 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
4190 "x x x x x x x x 1 1 1 1 1 i i i";
4191 min_write_delay = 9000;
4192 max_write_delay = 9000;
4197 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
4198 "x x x x x x a1 a0 o o o o o o o o";
4201 memory "calibration"
4204 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
4205 "0 0 0 0 0 0 0 0 o o o o o o o o";
4210 #------------------------------------------------------------
4212 #------------------------------------------------------------
4214 # similar to ATmega324P
4218 desc = "ATmega324PA";
4220 stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one
4221 avr910_devcode = 0x74;
4222 signature = 0x1e 0x95 0x11;
4225 chip_erase_delay = 9000;
4226 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
4227 "x x x x x x x x x x x x x x x x";
4229 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
4230 "x x x x x x x x x x x x x x x x";
4244 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
4245 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
4246 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
4247 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
4248 hventerstabdelay = 100;
4255 hvleavestabdelay = 15;
4256 chiperasepulsewidth = 0;
4257 chiperasepolltimeout = 10;
4258 programfusepulsewidth = 0;
4259 programfusepolltimeout = 5;
4260 programlockpulsewidth = 0;
4261 programlockpolltimeout = 5;
4265 allowfullpagebitstream = no;
4268 paged = no; /* leave this "no" */
4269 page_size = 4; /* for parallel programming */
4271 min_write_delay = 9000;
4272 max_write_delay = 9000;
4275 read = " 1 0 1 0 0 0 0 0",
4276 " 0 0 x x x a10 a9 a8",
4277 " a7 a6 a5 a4 a3 a2 a1 a0",
4280 write = " 1 1 0 0 0 0 0 0",
4281 " 0 0 x x x a10 a9 a8",
4282 " a7 a6 a5 a4 a3 a2 a1 a0",
4285 loadpage_lo = " 1 1 0 0 0 0 0 1",
4287 " 0 0 0 0 0 0 a1 a0",
4290 writepage = " 1 1 0 0 0 0 1 0",
4291 " 0 0 x x x a10 a9 a8",
4292 " a7 a6 a5 a4 a3 a2 0 0",
4306 min_write_delay = 4500;
4307 max_write_delay = 4500;
4310 read_lo = " 0 0 1 0 0 0 0 0",
4311 " 0 a14 a13 a12 a11 a10 a9 a8",
4312 " a7 a6 a5 a4 a3 a2 a1 a0",
4315 read_hi = " 0 0 1 0 1 0 0 0",
4316 " 0 a14 a13 a12 a11 a10 a9 a8",
4317 " a7 a6 a5 a4 a3 a2 a1 a0",
4320 loadpage_lo = " 0 1 0 0 0 0 0 0",
4322 " x x a5 a4 a3 a2 a1 a0",
4325 loadpage_hi = " 0 1 0 0 1 0 0 0",
4327 " x x a5 a4 a3 a2 a1 a0",
4330 writepage = " 0 1 0 0 1 1 0 0",
4331 " 0 a14 a13 a12 a11 a10 a9 a8",
4332 " a7 a6 x x x x x x",
4343 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
4344 "x x x x x x x x x x o o o o o o";
4346 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
4347 "x x x x x x x x 1 1 i i i i i i";
4348 min_write_delay = 9000;
4349 max_write_delay = 9000;
4354 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
4355 "x x x x x x x x o o o o o o o o";
4357 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
4358 "x x x x x x x x i i i i i i i i";
4359 min_write_delay = 9000;
4360 max_write_delay = 9000;
4365 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
4366 "x x x x x x x x o o o o o o o o";
4368 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
4369 "x x x x x x x x i i i i i i i i";
4370 min_write_delay = 9000;
4371 max_write_delay = 9000;
4377 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
4378 "x x x x x x x x o o o o o o o o";
4380 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
4381 "x x x x x x x x 1 1 1 1 1 i i i";
4382 min_write_delay = 9000;
4383 max_write_delay = 9000;
4388 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
4389 "x x x x x x a1 a0 o o o o o o o o";
4392 memory "calibration"
4395 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
4396 "0 0 0 0 0 0 0 0 o o o o o o o o";
4401 #------------------------------------------------------------
4403 #------------------------------------------------------------
4405 # similar to ATmega164
4411 stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one
4412 avr910_devcode = 0x74;
4413 signature = 0x1e 0x96 0x09;
4416 chip_erase_delay = 9000;
4417 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
4418 "x x x x x x x x x x x x x x x x";
4420 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
4421 "x x x x x x x x x x x x x x x x";
4435 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
4436 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
4437 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
4438 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02;
4439 hventerstabdelay = 100;
4446 hvleavestabdelay = 15;
4447 chiperasepulsewidth = 0;
4448 chiperasepolltimeout = 10;
4449 programfusepulsewidth = 0;
4450 programfusepolltimeout = 5;
4451 programlockpulsewidth = 0;
4452 programlockpolltimeout = 5;
4456 allowfullpagebitstream = no;
4459 paged = no; /* leave this "no" */
4460 page_size = 8; /* for parallel programming */
4462 min_write_delay = 9000;
4463 max_write_delay = 9000;
4466 read = " 1 0 1 0 0 0 0 0",
4467 " 0 0 x x a11 a10 a9 a8",
4468 " a7 a6 a5 a4 a3 a2 a1 a0",
4471 write = " 1 1 0 0 0 0 0 0",
4472 " 0 0 x x a11 a10 a9 a8",
4473 " a7 a6 a5 a4 a3 a2 a1 a0",
4476 loadpage_lo = " 1 1 0 0 0 0 0 1",
4478 " 0 0 0 0 0 a2 a1 a0",
4481 writepage = " 1 1 0 0 0 0 1 0",
4482 " 0 0 x x a11 a10 a9 a8",
4483 " a7 a6 a5 a4 a3 0 0 0",
4497 min_write_delay = 4500;
4498 max_write_delay = 4500;
4501 read_lo = " 0 0 1 0 0 0 0 0",
4502 "a15 a14 a13 a12 a11 a10 a9 a8",
4503 " a7 a6 a5 a4 a3 a2 a1 a0",
4506 read_hi = " 0 0 1 0 1 0 0 0",
4507 "a15 a14 a13 a12 a11 a10 a9 a8",
4508 " a7 a6 a5 a4 a3 a2 a1 a0",
4511 loadpage_lo = " 0 1 0 0 0 0 0 0",
4513 " x a6 a5 a4 a3 a2 a1 a0",
4516 loadpage_hi = " 0 1 0 0 1 0 0 0",
4518 " x a6 a5 a4 a3 a2 a1 a0",
4521 writepage = " 0 1 0 0 1 1 0 0",
4522 "a15 a14 a13 a12 a11 a10 a9 a8",
4523 " a7 x x x x x x x",
4534 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
4535 "x x x x x x x x x x o o o o o o";
4537 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
4538 "x x x x x x x x 1 1 i i i i i i";
4539 min_write_delay = 9000;
4540 max_write_delay = 9000;
4545 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
4546 "x x x x x x x x o o o o o o o o";
4548 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
4549 "x x x x x x x x i i i i i i i i";
4550 min_write_delay = 9000;
4551 max_write_delay = 9000;
4556 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
4557 "x x x x x x x x o o o o o o o o";
4559 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
4560 "x x x x x x x x i i i i i i i i";
4561 min_write_delay = 9000;
4562 max_write_delay = 9000;
4568 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
4569 "x x x x x x x x o o o o o o o o";
4571 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
4572 "x x x x x x x x 1 1 1 1 1 i i i";
4573 min_write_delay = 9000;
4574 max_write_delay = 9000;
4579 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
4580 "x x x x x x a1 a0 o o o o o o o o";
4583 memory "calibration"
4586 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
4587 "0 0 0 0 0 0 0 0 o o o o o o o o";
4591 #------------------------------------------------------------
4593 #------------------------------------------------------------
4595 # similar to ATmega164p
4599 desc = "ATMEGA644P";
4601 stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one
4602 avr910_devcode = 0x74;
4603 signature = 0x1e 0x96 0x0a;
4606 chip_erase_delay = 9000;
4607 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
4608 "x x x x x x x x x x x x x x x x";
4610 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
4611 "x x x x x x x x x x x x x x x x";
4625 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
4626 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
4627 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
4628 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02;
4629 hventerstabdelay = 100;
4636 hvleavestabdelay = 15;
4637 chiperasepulsewidth = 0;
4638 chiperasepolltimeout = 10;
4639 programfusepulsewidth = 0;
4640 programfusepolltimeout = 5;
4641 programlockpulsewidth = 0;
4642 programlockpolltimeout = 5;
4646 allowfullpagebitstream = no;
4649 paged = no; /* leave this "no" */
4650 page_size = 8; /* for parallel programming */
4652 min_write_delay = 9000;
4653 max_write_delay = 9000;
4656 read = " 1 0 1 0 0 0 0 0",
4657 " 0 0 x x a11 a10 a9 a8",
4658 " a7 a6 a5 a4 a3 a2 a1 a0",
4661 write = " 1 1 0 0 0 0 0 0",
4662 " 0 0 x x a11 a10 a9 a8",
4663 " a7 a6 a5 a4 a3 a2 a1 a0",
4666 loadpage_lo = " 1 1 0 0 0 0 0 1",
4668 " 0 0 0 0 0 a2 a1 a0",
4671 writepage = " 1 1 0 0 0 0 1 0",
4672 " 0 0 x x a11 a10 a9 a8",
4673 " a7 a6 a5 a4 a3 0 0 0",
4687 min_write_delay = 4500;
4688 max_write_delay = 4500;
4691 read_lo = " 0 0 1 0 0 0 0 0",
4692 "a15 a14 a13 a12 a11 a10 a9 a8",
4693 " a7 a6 a5 a4 a3 a2 a1 a0",
4696 read_hi = " 0 0 1 0 1 0 0 0",
4697 "a15 a14 a13 a12 a11 a10 a9 a8",
4698 " a7 a6 a5 a4 a3 a2 a1 a0",
4701 loadpage_lo = " 0 1 0 0 0 0 0 0",
4703 " x a6 a5 a4 a3 a2 a1 a0",
4706 loadpage_hi = " 0 1 0 0 1 0 0 0",
4708 " x a6 a5 a4 a3 a2 a1 a0",
4711 writepage = " 0 1 0 0 1 1 0 0",
4712 "a15 a14 a13 a12 a11 a10 a9 a8",
4713 " a7 x x x x x x x",
4724 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
4725 "x x x x x x x x x x o o o o o o";
4727 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
4728 "x x x x x x x x 1 1 i i i i i i";
4729 min_write_delay = 9000;
4730 max_write_delay = 9000;
4735 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
4736 "x x x x x x x x o o o o o o o o";
4738 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
4739 "x x x x x x x x i i i i i i i i";
4740 min_write_delay = 9000;
4741 max_write_delay = 9000;
4746 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
4747 "x x x x x x x x o o o o o o o o";
4749 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
4750 "x x x x x x x x i i i i i i i i";
4751 min_write_delay = 9000;
4752 max_write_delay = 9000;
4758 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
4759 "x x x x x x x x o o o o o o o o";
4761 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
4762 "x x x x x x x x 1 1 1 1 1 i i i";
4763 min_write_delay = 9000;
4764 max_write_delay = 9000;
4769 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
4770 "x x x x x x a1 a0 o o o o o o o o";
4773 memory "calibration"
4776 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
4777 "0 0 0 0 0 0 0 0 o o o o o o o o";
4783 #------------------------------------------------------------
4785 #------------------------------------------------------------
4787 # similar to ATmega164p
4791 desc = "ATMEGA1284P";
4793 stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one
4794 avr910_devcode = 0x74;
4795 signature = 0x1e 0x97 0x05;
4798 chip_erase_delay = 9000;
4799 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
4800 "x x x x x x x x x x x x x x x x";
4802 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
4803 "x x x x x x x x x x x x x x x x";
4817 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
4818 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
4819 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
4820 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02;
4821 hventerstabdelay = 100;
4828 hvleavestabdelay = 15;
4829 chiperasepulsewidth = 0;
4830 chiperasepolltimeout = 10;
4831 programfusepulsewidth = 0;
4832 programfusepolltimeout = 5;
4833 programlockpulsewidth = 0;
4834 programlockpolltimeout = 5;
4838 allowfullpagebitstream = no;
4841 paged = no; /* leave this "no" */
4842 page_size = 8; /* for parallel programming */
4844 min_write_delay = 9000;
4845 max_write_delay = 9000;
4848 read = " 1 0 1 0 0 0 0 0",
4849 " 0 0 x x a11 a10 a9 a8",
4850 " a7 a6 a5 a4 a3 a2 a1 a0",
4853 write = " 1 1 0 0 0 0 0 0",
4854 " 0 0 x x a11 a10 a9 a8",
4855 " a7 a6 a5 a4 a3 a2 a1 a0",
4858 loadpage_lo = " 1 1 0 0 0 0 0 1",
4860 " 0 0 0 0 0 a2 a1 a0",
4863 writepage = " 1 1 0 0 0 0 1 0",
4864 " 0 0 x x a11 a10 a9 a8",
4865 " a7 a6 a5 a4 a3 0 0 0",
4879 min_write_delay = 4500;
4880 max_write_delay = 4500;
4883 read_lo = " 0 0 1 0 0 0 0 0",
4884 "a15 a14 a13 a12 a11 a10 a9 a8",
4885 " a7 a6 a5 a4 a3 a2 a1 a0",
4888 read_hi = " 0 0 1 0 1 0 0 0",
4889 "a15 a14 a13 a12 a11 a10 a9 a8",
4890 " a7 a6 a5 a4 a3 a2 a1 a0",
4893 loadpage_lo = " 0 1 0 0 0 0 0 0",
4895 " x a6 a5 a4 a3 a2 a1 a0",
4898 loadpage_hi = " 0 1 0 0 1 0 0 0",
4900 " x a6 a5 a4 a3 a2 a1 a0",
4903 writepage = " 0 1 0 0 1 1 0 0",
4904 "a15 a14 a13 a12 a11 a10 a9 a8",
4905 " a7 x x x x x x x",
4916 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
4917 "x x x x x x x x x x o o o o o o";
4919 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
4920 "x x x x x x x x 1 1 i i i i i i";
4921 min_write_delay = 9000;
4922 max_write_delay = 9000;
4927 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
4928 "x x x x x x x x o o o o o o o o";
4930 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
4931 "x x x x x x x x i i i i i i i i";
4932 min_write_delay = 9000;
4933 max_write_delay = 9000;
4938 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
4939 "x x x x x x x x o o o o o o o o";
4941 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
4942 "x x x x x x x x i i i i i i i i";
4943 min_write_delay = 9000;
4944 max_write_delay = 9000;
4950 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
4951 "x x x x x x x x o o o o o o o o";
4953 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
4954 "x x x x x x x x 1 1 1 1 1 i i i";
4955 min_write_delay = 9000;
4956 max_write_delay = 9000;
4961 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
4962 "x x x x x x a1 a0 o o o o o o o o";
4965 memory "calibration"
4968 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
4969 "0 0 0 0 0 0 0 0 o o o o o o o o";
4975 #------------------------------------------------------------
4977 #------------------------------------------------------------
4983 stk500_devcode = 0x83;
4984 avr910_devcode = 0x63;
4985 signature = 0x1e 0x94 0x04;
4986 chip_erase_delay = 9000;
4992 allowfullpagebitstream = yes;
4994 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
4995 "x x x x x x x x x x x x x x x x";
4997 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
4998 "x x x x x x x x x x x x x x x x";
5005 min_write_delay = 4500;
5006 max_write_delay = 4500;
5010 read_lo = " 0 0 1 0 0 0 0 0",
5011 " 0 0 a13 a12 a11 a10 a9 a8",
5012 " a7 a6 a5 a4 a3 a2 a1 a0",
5015 read_hi = " 0 0 1 0 1 0 0 0",
5016 " 0 0 a13 a12 a11 a10 a9 a8",
5017 " a7 a6 a5 a4 a3 a2 a1 a0",
5020 loadpage_lo = " 0 1 0 0 0 0 0 0",
5022 " x x a5 a4 a3 a2 a1 a0",
5025 loadpage_hi = " 0 1 0 0 1 0 0 0",
5027 " x x a5 a4 a3 a2 a1 a0",
5030 writepage = " 0 1 0 0 1 1 0 0",
5031 " 0 0 a13 a12 a11 a10 a9 a8",
5032 " a7 a6 x x x x x x",
5053 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
5054 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
5055 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
5056 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
5057 hventerstabdelay = 100;
5064 hvleavestabdelay = 15;
5065 chiperasepulsewidth = 0;
5066 chiperasepolltimeout = 10;
5067 programfusepulsewidth = 0;
5068 programfusepolltimeout = 5;
5069 programlockpulsewidth = 0;
5070 programlockpolltimeout = 5;
5073 paged = no; /* leave this "no" */
5074 page_size = 4; /* for parallel programming */
5076 min_write_delay = 9000;
5077 max_write_delay = 9000;
5081 read = " 1 0 1 0 0 0 0 0",
5082 " 0 0 x x x x a9 a8",
5083 " a7 a6 a5 a4 a3 a2 a1 a0",
5086 write = " 1 1 0 0 0 0 0 0",
5087 " 0 0 x x x x a9 a8",
5088 " a7 a6 a5 a4 a3 a2 a1 a0",
5091 loadpage_lo = " 1 1 0 0 0 0 0 1",
5093 " 0 0 0 0 0 0 a1 a0",
5096 writepage = " 1 1 0 0 0 0 1 0",
5097 " 0 0 x x x x a9 a8",
5098 " a7 a6 a5 a4 a3 a2 0 0",
5109 min_write_delay = 16000;
5110 max_write_delay = 16000;
5111 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
5112 "x x x x x x x x o o o o o o o o";
5114 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
5115 "x x x x x x x x i i i i i i i i";
5120 min_write_delay = 16000;
5121 max_write_delay = 16000;
5123 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
5124 "x x x x x x x x o o o o o o o o";
5126 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
5127 "x x x x x x x x i i i i i i i i";
5132 min_write_delay = 16000;
5133 max_write_delay = 16000;
5135 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
5136 "x x x x x x x x o o o o o o o o";
5138 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
5139 "x x x x x x x x 1 1 1 1 1 i i i";
5144 min_write_delay = 16000;
5145 max_write_delay = 16000;
5147 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
5148 "x x x x x x x x x x o o o o o o";
5150 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
5151 "x x x x x x x x 1 1 i i i i i i";
5157 read = "0 0 1 1 0 0 0 0 0 0 x x x x x x",
5158 "x x x x x x a1 a0 o o o o o o o o";
5161 memory "calibration"
5164 read = "0 0 1 1 1 0 0 0 0 0 x x x x x x",
5165 "0 0 0 0 0 0 0 0 o o o o o o o o";
5171 #------------------------------------------------------------
5173 #------------------------------------------------------------
5178 stk500_devcode = 0x81;
5179 avr910_devcode = 0x64;
5180 signature = 0x1e 0x94 0x02;
5181 chip_erase_delay = 32000;
5184 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
5185 "x x x x x x x x x x x x x x x x";
5187 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
5188 "x x x x x x x x x x x x x x x x";
5202 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
5203 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
5204 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
5205 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
5206 hventerstabdelay = 100;
5213 hvleavestabdelay = 15;
5214 chiperasepulsewidth = 0;
5215 chiperasepolltimeout = 30;
5216 programfusepulsewidth = 0;
5217 programfusepolltimeout = 2;
5218 programlockpulsewidth = 0;
5219 programlockpolltimeout = 2;
5224 min_write_delay = 4000;
5225 max_write_delay = 4000;
5228 read = " 1 0 1 0 0 0 0 0",
5229 " x x x x x x x a8",
5230 " a7 a6 a5 a4 a3 a2 a1 a0",
5233 write = " 1 1 0 0 0 0 0 0",
5234 " x x x x x x x a8",
5235 " a7 a6 a5 a4 a3 a2 a1 a0",
5248 min_write_delay = 16000;
5249 max_write_delay = 16000;
5252 read_lo = " 0 0 1 0 0 0 0 0",
5253 " x x x a12 a11 a10 a9 a8",
5254 " a7 a6 a5 a4 a3 a2 a1 a0",
5257 read_hi = " 0 0 1 0 1 0 0 0",
5258 " x x x a12 a11 a10 a9 a8",
5259 " a7 a6 a5 a4 a3 a2 a1 a0",
5262 loadpage_lo = " 0 1 0 0 0 0 0 0",
5264 " x x a5 a4 a3 a2 a1 a0",
5267 loadpage_hi = " 0 1 0 0 1 0 0 0",
5269 " x x a5 a4 a3 a2 a1 a0",
5272 writepage = " 0 1 0 0 1 1 0 0",
5273 " x x x a12 a11 a10 a9 a8",
5274 " a7 a6 x x x x x x",
5285 min_write_delay = 2000;
5286 max_write_delay = 2000;
5287 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
5288 "x x x x x x x x o o x x o o o o";
5290 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
5291 "x x x x x x x x i i 1 1 i i i i";
5296 min_write_delay = 2000;
5297 max_write_delay = 2000;
5298 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
5299 "x x x x x x x x x x x x 1 o o o";
5301 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
5302 "x x x x x x x x 1 1 1 1 1 i i i";
5307 min_write_delay = 2000;
5308 max_write_delay = 2000;
5309 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
5310 "x x x x 0 x x x x x o o o o o o";
5312 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
5313 "x x x x x x x x 1 1 i i i i i i";
5318 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
5319 "x x x x x x a1 a0 o o o o o o o o";
5322 memory "calibration"
5324 read = "0 0 1 1 1 0 0 0 x x x x x x x x",
5325 "0 0 0 0 0 0 0 0 o o o o o o o o";
5329 #------------------------------------------------------------
5331 #------------------------------------------------------------
5337 stk500_devcode = 0x85;
5338 avr910_devcode = 0x78;
5339 signature = 0x1e 0x94 0x05;
5340 chip_erase_delay = 9000;
5341 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
5342 "x x x x x x x x x x x x x x x x";
5344 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
5345 "x x x x x x x x x x x x x x x x";
5358 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
5359 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
5360 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
5361 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
5362 hventerstabdelay = 100;
5369 hvleavestabdelay = 15;
5370 chiperasepulsewidth = 0;
5371 chiperasepolltimeout = 10;
5372 programfusepulsewidth = 0;
5373 programfusepolltimeout = 5;
5374 programlockpulsewidth = 0;
5375 programlockpolltimeout = 5;
5381 paged = no; /* leave this "no" */
5382 page_size = 4; /* for parallel programming */
5384 min_write_delay = 9000;
5385 max_write_delay = 9000;
5388 read = " 1 0 1 0 0 0 0 0",
5389 " x x x x x x x a8",
5390 " a7 a6 a5 a4 a3 a2 a1 a0",
5393 write = " 1 1 0 0 0 0 0 0",
5394 " x x x x x x x a8",
5395 " a7 a6 a5 a4 a3 a2 a1 a0",
5398 loadpage_lo = " 1 1 0 0 0 0 0 1",
5400 " 0 0 0 0 0 0 a1 a0",
5403 writepage = " 1 1 0 0 0 0 1 0",
5404 " 0 0 x x x x x a8",
5405 " a7 a6 a5 a4 a3 a2 0 0",
5419 min_write_delay = 4500;
5420 max_write_delay = 4500;
5423 read_lo = " 0 0 1 0 0 0 0 0",
5424 " x x x a12 a11 a10 a9 a8",
5425 " a7 a6 a5 a4 a3 a2 a1 a0",
5428 read_hi = " 0 0 1 0 1 0 0 0",
5429 " x x x a12 a11 a10 a9 a8",
5430 " a7 a6 a5 a4 a3 a2 a1 a0",
5433 loadpage_lo = " 0 1 0 0 0 0 0 0",
5435 " x x a5 a4 a3 a2 a1 a0",
5438 loadpage_hi = " 0 1 0 0 1 0 0 0",
5440 " x x a5 a4 a3 a2 a1 a0",
5443 writepage = " 0 1 0 0 1 1 0 0",
5444 " x x x a12 a11 a10 a9 a8",
5445 " a7 a6 x x x x x x",
5456 min_write_delay = 2000;
5457 max_write_delay = 2000;
5458 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
5459 "x x x x x x x x o o o o o o o o";
5461 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
5462 "x x x x x x x x i i i i i i i i";
5467 min_write_delay = 2000;
5468 max_write_delay = 2000;
5469 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
5470 "x x x x x x x x o o o o o o o o";
5472 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
5473 "x x x x x x x x i i i i i i i i";
5478 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
5479 "x x x x x x x x x x x x i i i i";
5481 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
5482 "x x x x x x x x o o o o o o o o";
5487 min_write_delay = 2000;
5488 max_write_delay = 2000;
5489 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
5490 "x x x x x x x x x x o o o o o o";
5492 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
5493 "x x x x x x x x 1 1 i i i i i i";
5498 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
5499 "x x x x x x a1 a0 o o o o o o o o";
5502 memory "calibration"
5504 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
5505 "0 0 0 0 0 0 0 0 o o o o o o o o";
5509 #------------------------------------------------------------
5511 #------------------------------------------------------------
5517 # stk500_devcode = 0x85; # no STK500 support, only STK500v2
5518 # avr910_devcode = 0x?; # try the ATmega169 one:
5519 avr910_devcode = 0x75;
5520 signature = 0x1e 0x95 0x03;
5521 chip_erase_delay = 9000;
5522 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
5523 "x x x x x x x x x x x x x x x x";
5525 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
5526 "x x x x x x x x x x x x x x x x";
5539 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
5540 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
5541 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
5542 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
5543 hventerstabdelay = 100;
5550 hvleavestabdelay = 15;
5551 chiperasepulsewidth = 0;
5552 chiperasepolltimeout = 10;
5553 programfusepulsewidth = 0;
5554 programfusepolltimeout = 5;
5555 programlockpulsewidth = 0;
5556 programlockpolltimeout = 5;
5562 paged = no; /* leave this "no" */
5563 page_size = 4; /* for parallel programming */
5565 min_write_delay = 9000;
5566 max_write_delay = 9000;
5569 read = " 1 0 1 0 0 0 0 0",
5570 " x x x x x x a9 a8",
5571 " a7 a6 a5 a4 a3 a2 a1 a0",
5574 write = " 1 1 0 0 0 0 0 0",
5575 " x x x x x x a9 a8",
5576 " a7 a6 a5 a4 a3 a2 a1 a0",
5579 loadpage_lo = " 1 1 0 0 0 0 0 1",
5581 " 0 0 0 0 0 0 a1 a0",
5584 writepage = " 1 1 0 0 0 0 1 0",
5585 " 0 0 x x x x a9 a8",
5586 " a7 a6 a5 a4 a3 a2 0 0",
5600 min_write_delay = 4500;
5601 max_write_delay = 4500;
5604 read_lo = " 0 0 1 0 0 0 0 0",
5605 " x a14 a13 a12 a11 a10 a9 a8",
5606 " a7 a6 a5 a4 a3 a2 a1 a0",
5609 read_hi = " 0 0 1 0 1 0 0 0",
5610 " x a14 a13 a12 a11 a10 a9 a8",
5611 " a7 a6 a5 a4 a3 a2 a1 a0",
5614 loadpage_lo = " 0 1 0 0 0 0 0 0",
5616 " x x a5 a4 a3 a2 a1 a0",
5619 loadpage_hi = " 0 1 0 0 1 0 0 0",
5621 " x x a5 a4 a3 a2 a1 a0",
5624 writepage = " 0 1 0 0 1 1 0 0",
5625 " x x x a12 a11 a10 a9 a8",
5626 " a7 a6 x x x x x x",
5637 min_write_delay = 4500;
5638 max_write_delay = 4500;
5639 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
5640 "x x x x x x x x o o o o o o o o";
5642 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
5643 "x x x x x x x x i i i i i i i i";
5648 min_write_delay = 4500;
5649 max_write_delay = 4500;
5650 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
5651 "x x x x x x x x o o o o o o o o";
5653 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
5654 "x x x x x x x x i i i i i i i i";
5659 min_write_delay = 4500;
5660 max_write_delay = 4500;
5661 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
5662 "x x x x x x x x o o o o o o o o";
5664 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
5665 "x x x x x x x x x x x x x i i i";
5670 min_write_delay = 4500;
5671 max_write_delay = 4500;
5672 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
5673 "x x x x x x x x x x o o o o o o";
5675 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
5676 "x x x x x x x x 1 1 i i i i i i";
5681 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
5682 "x x x x x x a1 a0 o o o o o o o o";
5685 memory "calibration"
5687 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
5688 "0 0 0 0 0 0 0 0 o o o o o o o o";
5692 #------------------------------------------------------------
5694 #------------------------------------------------------------
5695 # Identical to ATmega329 except of the signature
5699 desc = "ATMEGA329P";
5701 # stk500_devcode = 0x85; # no STK500 support, only STK500v2
5702 # avr910_devcode = 0x?; # try the ATmega169 one:
5703 avr910_devcode = 0x75;
5704 signature = 0x1e 0x95 0x0b;
5705 chip_erase_delay = 9000;
5706 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
5707 "x x x x x x x x x x x x x x x x";
5709 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
5710 "x x x x x x x x x x x x x x x x";
5723 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
5724 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
5725 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
5726 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
5727 hventerstabdelay = 100;
5734 hvleavestabdelay = 15;
5735 chiperasepulsewidth = 0;
5736 chiperasepolltimeout = 10;
5737 programfusepulsewidth = 0;
5738 programfusepolltimeout = 5;
5739 programlockpulsewidth = 0;
5740 programlockpolltimeout = 5;
5746 paged = no; /* leave this "no" */
5747 page_size = 4; /* for parallel programming */
5749 min_write_delay = 9000;
5750 max_write_delay = 9000;
5753 read = " 1 0 1 0 0 0 0 0",
5754 " x x x x x x a9 a8",
5755 " a7 a6 a5 a4 a3 a2 a1 a0",
5758 write = " 1 1 0 0 0 0 0 0",
5759 " x x x x x x a9 a8",
5760 " a7 a6 a5 a4 a3 a2 a1 a0",
5763 loadpage_lo = " 1 1 0 0 0 0 0 1",
5765 " 0 0 0 0 0 0 a1 a0",
5768 writepage = " 1 1 0 0 0 0 1 0",
5769 " 0 0 x x x x a9 a8",
5770 " a7 a6 a5 a4 a3 a2 0 0",
5784 min_write_delay = 4500;
5785 max_write_delay = 4500;
5788 read_lo = " 0 0 1 0 0 0 0 0",
5789 " x a14 a13 a12 a11 a10 a9 a8",
5790 " a7 a6 a5 a4 a3 a2 a1 a0",
5793 read_hi = " 0 0 1 0 1 0 0 0",
5794 " x a14 a13 a12 a11 a10 a9 a8",
5795 " a7 a6 a5 a4 a3 a2 a1 a0",
5798 loadpage_lo = " 0 1 0 0 0 0 0 0",
5800 " x x a5 a4 a3 a2 a1 a0",
5803 loadpage_hi = " 0 1 0 0 1 0 0 0",
5805 " x x a5 a4 a3 a2 a1 a0",
5808 writepage = " 0 1 0 0 1 1 0 0",
5809 " x x x a12 a11 a10 a9 a8",
5810 " a7 a6 x x x x x x",
5821 min_write_delay = 4500;
5822 max_write_delay = 4500;
5823 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
5824 "x x x x x x x x o o o o o o o o";
5826 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
5827 "x x x x x x x x i i i i i i i i";
5832 min_write_delay = 4500;
5833 max_write_delay = 4500;
5834 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
5835 "x x x x x x x x o o o o o o o o";
5837 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
5838 "x x x x x x x x i i i i i i i i";
5843 min_write_delay = 4500;
5844 max_write_delay = 4500;
5845 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
5846 "x x x x x x x x o o o o o o o o";
5848 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
5849 "x x x x x x x x x x x x x i i i";
5854 min_write_delay = 4500;
5855 max_write_delay = 4500;
5856 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
5857 "x x x x x x x x x x o o o o o o";
5859 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
5860 "x x x x x x x x 1 1 i i i i i i";
5865 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
5866 "x x x x x x a1 a0 o o o o o o o o";
5869 memory "calibration"
5871 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
5872 "0 0 0 0 0 0 0 0 o o o o o o o o";
5876 #------------------------------------------------------------
5878 #------------------------------------------------------------
5880 # identical to ATmega329
5884 desc = "ATMEGA3290";
5886 # stk500_devcode = 0x85; # no STK500 support, only STK500v2
5887 # avr910_devcode = 0x?; # try the ATmega169 one:
5888 avr910_devcode = 0x75;
5889 signature = 0x1e 0x95 0x04;
5890 chip_erase_delay = 9000;
5891 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
5892 "x x x x x x x x x x x x x x x x";
5894 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
5895 "x x x x x x x x x x x x x x x x";
5908 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
5909 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
5910 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
5911 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
5912 hventerstabdelay = 100;
5919 hvleavestabdelay = 15;
5920 chiperasepulsewidth = 0;
5921 chiperasepolltimeout = 10;
5922 programfusepulsewidth = 0;
5923 programfusepolltimeout = 5;
5924 programlockpulsewidth = 0;
5925 programlockpolltimeout = 5;
5931 paged = no; /* leave this "no" */
5932 page_size = 4; /* for parallel programming */
5934 min_write_delay = 9000;
5935 max_write_delay = 9000;
5938 read = " 1 0 1 0 0 0 0 0",
5939 " x x x x x x a9 a8",
5940 " a7 a6 a5 a4 a3 a2 a1 a0",
5943 write = " 1 1 0 0 0 0 0 0",
5944 " x x x x x x a9 a8",
5945 " a7 a6 a5 a4 a3 a2 a1 a0",
5948 loadpage_lo = " 1 1 0 0 0 0 0 1",
5950 " 0 0 0 0 0 0 a1 a0",
5953 writepage = " 1 1 0 0 0 0 1 0",
5954 " 0 0 x x x x a9 a8",
5955 " a7 a6 a5 a4 a3 a3 0 0",
5969 min_write_delay = 4500;
5970 max_write_delay = 4500;
5973 read_lo = " 0 0 1 0 0 0 0 0",
5974 " x a14 a13 a12 a11 a10 a9 a8",
5975 " a7 a6 a5 a4 a3 a2 a1 a0",
5978 read_hi = " 0 0 1 0 1 0 0 0",
5979 " x a14 a13 a12 a11 a10 a9 a8",
5980 " a7 a6 a5 a4 a3 a2 a1 a0",
5983 loadpage_lo = " 0 1 0 0 0 0 0 0",
5985 " x x a5 a4 a3 a2 a1 a0",
5988 loadpage_hi = " 0 1 0 0 1 0 0 0",
5990 " x x a5 a4 a3 a2 a1 a0",
5993 writepage = " 0 1 0 0 1 1 0 0",
5994 " x x x a12 a11 a10 a9 a8",
5995 " a7 a6 x x x x x x",
6006 min_write_delay = 4500;
6007 max_write_delay = 4500;
6008 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
6009 "x x x x x x x x o o o o o o o o";
6011 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
6012 "x x x x x x x x i i i i i i i i";
6017 min_write_delay = 4500;
6018 max_write_delay = 4500;
6019 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
6020 "x x x x x x x x o o o o o o o o";
6022 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
6023 "x x x x x x x x i i i i i i i i";
6028 min_write_delay = 4500;
6029 max_write_delay = 4500;
6030 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
6031 "x x x x x x x x o o o o o o o o";
6033 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
6034 "x x x x x x x x x x x x x i i i";
6039 min_write_delay = 4500;
6040 max_write_delay = 4500;
6041 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
6042 "x x x x x x x x x x o o o o o o";
6044 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
6045 "x x x x x x x x 1 1 i i i i i i";
6050 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
6051 "x x x x x x a1 a0 o o o o o o o o";
6054 memory "calibration"
6056 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
6057 "0 0 0 0 0 0 0 0 o o o o o o o o";
6061 #------------------------------------------------------------
6063 #------------------------------------------------------------
6065 # identical to ATmega3290 except of the signature
6069 desc = "ATMEGA3290P";
6071 # stk500_devcode = 0x85; # no STK500 support, only STK500v2
6072 # avr910_devcode = 0x?; # try the ATmega169 one:
6073 avr910_devcode = 0x75;
6074 signature = 0x1e 0x95 0x0c;
6075 chip_erase_delay = 9000;
6076 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
6077 "x x x x x x x x x x x x x x x x";
6079 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
6080 "x x x x x x x x x x x x x x x x";
6093 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
6094 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
6095 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
6096 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
6097 hventerstabdelay = 100;
6104 hvleavestabdelay = 15;
6105 chiperasepulsewidth = 0;
6106 chiperasepolltimeout = 10;
6107 programfusepulsewidth = 0;
6108 programfusepolltimeout = 5;
6109 programlockpulsewidth = 0;
6110 programlockpolltimeout = 5;
6116 paged = no; /* leave this "no" */
6117 page_size = 4; /* for parallel programming */
6119 min_write_delay = 9000;
6120 max_write_delay = 9000;
6123 read = " 1 0 1 0 0 0 0 0",
6124 " x x x x x x a9 a8",
6125 " a7 a6 a5 a4 a3 a2 a1 a0",
6128 write = " 1 1 0 0 0 0 0 0",
6129 " x x x x x x a9 a8",
6130 " a7 a6 a5 a4 a3 a2 a1 a0",
6133 loadpage_lo = " 1 1 0 0 0 0 0 1",
6135 " 0 0 0 0 0 0 a1 a0",
6138 writepage = " 1 1 0 0 0 0 1 0",
6139 " 0 0 x x x x a9 a8",
6140 " a7 a6 a5 a4 a3 a3 0 0",
6154 min_write_delay = 4500;
6155 max_write_delay = 4500;
6158 read_lo = " 0 0 1 0 0 0 0 0",
6159 " x a14 a13 a12 a11 a10 a9 a8",
6160 " a7 a6 a5 a4 a3 a2 a1 a0",
6163 read_hi = " 0 0 1 0 1 0 0 0",
6164 " x a14 a13 a12 a11 a10 a9 a8",
6165 " a7 a6 a5 a4 a3 a2 a1 a0",
6168 loadpage_lo = " 0 1 0 0 0 0 0 0",
6170 " x x a5 a4 a3 a2 a1 a0",
6173 loadpage_hi = " 0 1 0 0 1 0 0 0",
6175 " x x a5 a4 a3 a2 a1 a0",
6178 writepage = " 0 1 0 0 1 1 0 0",
6179 " x x x a12 a11 a10 a9 a8",
6180 " a7 a6 x x x x x x",
6191 min_write_delay = 4500;
6192 max_write_delay = 4500;
6193 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
6194 "x x x x x x x x o o o o o o o o";
6196 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
6197 "x x x x x x x x i i i i i i i i";
6202 min_write_delay = 4500;
6203 max_write_delay = 4500;
6204 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
6205 "x x x x x x x x o o o o o o o o";
6207 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
6208 "x x x x x x x x i i i i i i i i";
6213 min_write_delay = 4500;
6214 max_write_delay = 4500;
6215 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
6216 "x x x x x x x x o o o o o o o o";
6218 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
6219 "x x x x x x x x x x x x x i i i";
6224 min_write_delay = 4500;
6225 max_write_delay = 4500;
6226 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
6227 "x x x x x x x x x x o o o o o o";
6229 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
6230 "x x x x x x x x 1 1 i i i i i i";
6235 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
6236 "x x x x x x a1 a0 o o o o o o o o";
6239 memory "calibration"
6241 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
6242 "0 0 0 0 0 0 0 0 o o o o o o o o";
6246 #------------------------------------------------------------
6248 #------------------------------------------------------------
6254 # stk500_devcode = 0x85; # no STK500 support, only STK500v2
6255 # avr910_devcode = 0x?; # try the ATmega169 one:
6256 avr910_devcode = 0x75;
6257 signature = 0x1e 0x96 0x03;
6258 chip_erase_delay = 9000;
6259 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
6260 "x x x x x x x x x x x x x x x x";
6262 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
6263 "x x x x x x x x x x x x x x x x";
6276 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
6277 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
6278 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
6279 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
6280 hventerstabdelay = 100;
6287 hvleavestabdelay = 15;
6288 chiperasepulsewidth = 0;
6289 chiperasepolltimeout = 10;
6290 programfusepulsewidth = 0;
6291 programfusepolltimeout = 5;
6292 programlockpulsewidth = 0;
6293 programlockpolltimeout = 5;
6299 paged = no; /* leave this "no" */
6300 page_size = 8; /* for parallel programming */
6302 min_write_delay = 9000;
6303 max_write_delay = 9000;
6306 read = " 1 0 1 0 0 0 0 0",
6307 " x x x x x a10 a9 a8",
6308 " a7 a6 a5 a4 a3 a2 a1 a0",
6311 write = " 1 1 0 0 0 0 0 0",
6312 " x x x x x a10 a9 a8",
6313 " a7 a6 a5 a4 a3 a2 a1 a0",
6316 loadpage_lo = " 1 1 0 0 0 0 0 1",
6318 " 0 0 0 0 0 a2 a1 a0",
6321 writepage = " 1 1 0 0 0 0 1 0",
6322 " 0 0 x x x a10 a9 a8",
6323 " a7 a6 a5 a4 a3 0 0 0",
6337 min_write_delay = 4500;
6338 max_write_delay = 4500;
6341 read_lo = " 0 0 1 0 0 0 0 0",
6342 "a15 a14 a13 a12 a11 a10 a9 a8",
6343 " a7 a6 a5 a4 a3 a2 a1 a0",
6346 read_hi = " 0 0 1 0 1 0 0 0",
6347 "a15 a14 a13 a12 a11 a10 a9 a8",
6348 " a7 a6 a5 a4 a3 a2 a1 a0",
6351 loadpage_lo = " 0 1 0 0 0 0 0 0",
6353 " x a6 a5 a4 a3 a2 a1 a0",
6356 loadpage_hi = " 0 1 0 0 1 0 0 0",
6358 " x a6 a5 a4 a3 a2 a1 a0",
6361 writepage = " 0 1 0 0 1 1 0 0",
6362 " x x x a12 a11 a10 a9 a8",
6363 " a7 x x x x x x x",
6374 min_write_delay = 4500;
6375 max_write_delay = 4500;
6376 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
6377 "x x x x x x x x o o o o o o o o";
6379 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
6380 "x x x x x x x x i i i i i i i i";
6385 min_write_delay = 4500;
6386 max_write_delay = 4500;
6387 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
6388 "x x x x x x x x o o o o o o o o";
6390 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
6391 "x x x x x x x x i i i i i i i i";
6396 min_write_delay = 4500;
6397 max_write_delay = 4500;
6398 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
6399 "x x x x x x x x o o o o o o o o";
6401 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
6402 "x x x x x x x x x x x x x i i i";
6407 min_write_delay = 4500;
6408 max_write_delay = 4500;
6409 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
6410 "x x x x x x x x x x o o o o o o";
6412 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
6413 "x x x x x x x x 1 1 i i i i i i";
6418 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
6419 "x x x x x x a1 a0 o o o o o o o o";
6422 memory "calibration"
6424 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
6425 "0 0 0 0 0 0 0 0 o o o o o o o o";
6429 #------------------------------------------------------------
6431 #------------------------------------------------------------
6433 # identical to ATmega649
6437 desc = "ATMEGA6490";
6439 # stk500_devcode = 0x85; # no STK500 support, only STK500v2
6440 # avr910_devcode = 0x?; # try the ATmega169 one:
6441 avr910_devcode = 0x75;
6442 signature = 0x1e 0x96 0x04;
6443 chip_erase_delay = 9000;
6444 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
6445 "x x x x x x x x x x x x x x x x";
6447 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
6448 "x x x x x x x x x x x x x x x x";
6461 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
6462 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
6463 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
6464 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
6465 hventerstabdelay = 100;
6472 hvleavestabdelay = 15;
6473 chiperasepulsewidth = 0;
6474 chiperasepolltimeout = 10;
6475 programfusepulsewidth = 0;
6476 programfusepolltimeout = 5;
6477 programlockpulsewidth = 0;
6478 programlockpolltimeout = 5;
6484 paged = no; /* leave this "no" */
6485 page_size = 8; /* for parallel programming */
6487 min_write_delay = 9000;
6488 max_write_delay = 9000;
6491 read = " 1 0 1 0 0 0 0 0",
6492 " x x x x x a10 a9 a8",
6493 " a7 a6 a5 a4 a3 a2 a1 a0",
6496 write = " 1 1 0 0 0 0 0 0",
6497 " x x x x x a10 a9 a8",
6498 " a7 a6 a5 a4 a3 a2 a1 a0",
6501 loadpage_lo = " 1 1 0 0 0 0 0 1",
6503 " 0 0 0 0 0 a2 a1 a0",
6506 writepage = " 1 1 0 0 0 0 1 0",
6507 " 0 0 x x x x x a8",
6508 " a7 a6 a5 a4 a3 0 0 0",
6511 loadpage_lo = " 1 1 0 0 0 0 0 1",
6513 " 0 0 0 0 0 a2 a1 a0",
6516 writepage = " 1 1 0 0 0 0 1 0",
6517 " 0 0 x x x a10 a9 a8",
6518 " a7 a6 a5 a4 a3 0 0 0",
6532 min_write_delay = 4500;
6533 max_write_delay = 4500;
6536 read_lo = " 0 0 1 0 0 0 0 0",
6537 "a15 a14 a13 a12 a11 a10 a9 a8",
6538 " a7 a6 a5 a4 a3 a2 a1 a0",
6541 read_hi = " 0 0 1 0 1 0 0 0",
6542 "a15 a14 a13 a12 a11 a10 a9 a8",
6543 " a7 a6 a5 a4 a3 a2 a1 a0",
6546 loadpage_lo = " 0 1 0 0 0 0 0 0",
6548 " x a6 a5 a4 a3 a2 a1 a0",
6551 loadpage_hi = " 0 1 0 0 1 0 0 0",
6553 " x a6 a5 a4 a3 a2 a1 a0",
6556 writepage = " 0 1 0 0 1 1 0 0",
6557 " x x x a12 a11 a10 a9 a8",
6558 " a7 x x x x x x x",
6569 min_write_delay = 4500;
6570 max_write_delay = 4500;
6571 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
6572 "x x x x x x x x o o o o o o o o";
6574 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
6575 "x x x x x x x x i i i i i i i i";
6580 min_write_delay = 4500;
6581 max_write_delay = 4500;
6582 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
6583 "x x x x x x x x o o o o o o o o";
6585 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
6586 "x x x x x x x x i i i i i i i i";
6591 min_write_delay = 4500;
6592 max_write_delay = 4500;
6593 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
6594 "x x x x x x x x o o o o o o o o";
6596 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
6597 "x x x x x x x x x x x x x i i i";
6602 min_write_delay = 4500;
6603 max_write_delay = 4500;
6604 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
6605 "x x x x x x x x x x o o o o o o";
6607 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
6608 "x x x x x x x x 1 1 i i i i i i";
6613 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
6614 "x x x x x x a1 a0 o o o o o o o o";
6617 memory "calibration"
6619 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
6620 "0 0 0 0 0 0 0 0 o o o o o o o o";
6624 #------------------------------------------------------------
6626 #------------------------------------------------------------
6632 stk500_devcode = 0x91;
6633 avr910_devcode = 0x72;
6634 signature = 0x1e 0x95 0x02;
6635 chip_erase_delay = 9000;
6639 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
6640 "x x x x x x x x x x x x x x x x";
6642 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
6643 "x x x x x x x x x x x x x x x x";
6656 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
6657 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
6658 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
6659 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
6660 hventerstabdelay = 100;
6667 hvleavestabdelay = 15;
6668 chiperasepulsewidth = 0;
6669 chiperasepolltimeout = 10;
6670 programfusepulsewidth = 0;
6671 programfusepolltimeout = 5;
6672 programlockpulsewidth = 0;
6673 programlockpolltimeout = 5;
6677 allowfullpagebitstream = yes;
6680 paged = no; /* leave this "no" */
6681 page_size = 4; /* for parallel programming */
6683 min_write_delay = 9000;
6684 max_write_delay = 9000;
6687 read = " 1 0 1 0 0 0 0 0",
6688 " 0 0 x x x x a9 a8",
6689 " a7 a6 a5 a4 a3 a2 a1 a0",
6692 write = " 1 1 0 0 0 0 0 0",
6693 " 0 0 x x x x a9 a8",
6694 " a7 a6 a5 a4 a3 a2 a1 a0",
6697 loadpage_lo = " 1 1 0 0 0 0 0 1",
6699 " 0 0 0 0 0 0 a1 a0",
6702 writepage = " 1 1 0 0 0 0 1 0",
6703 " 0 0 x x x x a9 a8",
6704 " a7 a6 a5 a4 a3 a2 0 0",
6718 min_write_delay = 4500;
6719 max_write_delay = 4500;
6722 read_lo = " 0 0 1 0 0 0 0 0",
6723 " 0 0 a13 a12 a11 a10 a9 a8",
6724 " a7 a6 a5 a4 a3 a2 a1 a0",
6727 read_hi = " 0 0 1 0 1 0 0 0",
6728 " 0 0 a13 a12 a11 a10 a9 a8",
6729 " a7 a6 a5 a4 a3 a2 a1 a0",
6732 loadpage_lo = " 0 1 0 0 0 0 0 0",
6734 " x x a5 a4 a3 a2 a1 a0",
6737 loadpage_hi = " 0 1 0 0 1 0 0 0",
6739 " x x a5 a4 a3 a2 a1 a0",
6742 writepage = " 0 1 0 0 1 1 0 0",
6743 " 0 0 a13 a12 a11 a10 a9 a8",
6744 " a7 a6 x x x x x x",
6755 min_write_delay = 2000;
6756 max_write_delay = 2000;
6757 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
6758 "x x x x x x x x o o o o o o o o";
6760 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
6761 "x x x x x x x x i i i i i i i i";
6766 min_write_delay = 2000;
6767 max_write_delay = 2000;
6768 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
6769 "x x x x x x x x o o o o o o o o";
6771 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
6772 "x x x x x x x x i i i i i i i i";
6777 min_write_delay = 2000;
6778 max_write_delay = 2000;
6779 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
6780 "x x x x x x x x x x o o o o o o";
6782 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
6783 "x x x x x x x x 1 1 i i i i i i";
6788 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
6789 "x x x x x x a1 a0 o o o o o o o o";
6792 memory "calibration"
6794 read = "0 0 1 1 1 0 0 0 0 0 x x x x x x",
6795 "0 0 0 0 0 0 a1 a0 o o o o o o o o";
6799 #------------------------------------------------------------
6801 #------------------------------------------------------------
6806 stk500_devcode = 0x80;
6807 avr910_devcode = 0x60;
6808 signature = 0x1e 0x94 0x01;
6809 chip_erase_delay = 28000;
6812 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
6813 "x x x x x x x x x x x x x x x x";
6815 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
6816 "x x x x x x x x x x x x x x x x";
6829 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
6830 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
6831 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
6832 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
6833 hventerstabdelay = 100;
6840 hvleavestabdelay = 15;
6841 chiperasepulsewidth = 0;
6842 chiperasepolltimeout = 30;
6843 programfusepulsewidth = 0;
6844 programfusepolltimeout = 2;
6845 programlockpulsewidth = 0;
6846 programlockpolltimeout = 2;
6850 min_write_delay = 3400;
6851 max_write_delay = 3400;
6854 read = " 1 0 1 0 0 0 0 0",
6855 " x x x x x x x a8",
6856 " a7 a6 a5 a4 a3 a2 a1 a0",
6859 write = " 1 1 0 0 0 0 0 0",
6860 " x x x x x x x a8",
6861 " a7 a6 a5 a4 a3 a2 a1 a0",
6875 min_write_delay = 14000;
6876 max_write_delay = 14000;
6879 read_lo = " 0 0 1 0 0 0 0 0",
6880 " x x x a12 a11 a10 a9 a8",
6881 " a7 a6 a5 a4 a3 a2 a1 a0",
6884 read_hi = " 0 0 1 0 1 0 0 0",
6885 " x x x a12 a11 a10 a9 a8",
6886 " a7 a6 a5 a4 a3 a2 a1 a0",
6889 loadpage_lo = " 0 1 0 0 0 0 0 0",
6891 " x x a5 a4 a3 a2 a1 a0",
6894 loadpage_hi = " 0 1 0 0 1 0 0 0",
6896 " x x a5 a4 a3 a2 a1 a0",
6899 writepage = " 0 1 0 0 1 1 0 0",
6900 " x x x a12 a11 a10 a9 a8",
6901 " a7 a6 x x x x x x",
6912 min_write_delay = 2000;
6913 max_write_delay = 2000;
6914 read = "0 1 0 1 0 0 0 0 x x x x x x x x",
6915 "x x x x x x x x x o x o o o o o";
6917 write = "1 0 1 0 1 1 0 0 1 0 1 x x x x x",
6918 "x x x x x x x x 1 i 1 i i i i i";
6923 min_write_delay = 2000;
6924 max_write_delay = 2000;
6925 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
6926 "x x x x x x x x x x o o o o o o";
6928 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
6929 "x x x x x x x x 1 1 i i i i i i";
6933 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
6934 "x x x x x x a1 a0 o o o o o o o o";
6939 #------------------------------------------------------------
6941 #------------------------------------------------------------
6946 stk500_devcode = 0x70;
6947 avr910_devcode = 0x76;
6948 signature = 0x1e 0x93 0x07;
6951 chip_erase_delay = 10000;
6952 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
6953 "x x x x x x x x x x x x x x x x";
6955 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
6956 "x x x x x x x x x x x x x x x x";
6970 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
6971 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
6972 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
6973 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
6974 hventerstabdelay = 100;
6981 hvleavestabdelay = 15;
6983 chiperasepulsewidth = 0;
6984 chiperasepolltimeout = 10;
6985 programfusepulsewidth = 0;
6986 programfusepolltimeout = 5;
6987 programlockpulsewidth = 0;
6988 programlockpolltimeout = 5;
6993 min_write_delay = 9000;
6994 max_write_delay = 9000;
6997 read = " 1 0 1 0 0 0 0 0",
6998 " 0 0 x x x x x a8",
6999 " a7 a6 a5 a4 a3 a2 a1 a0",
7002 write = " 1 1 0 0 0 0 0 0",
7003 " 0 0 x x x x x a8",
7004 " a7 a6 a5 a4 a3 a2 a1 a0",
7017 min_write_delay = 4500;
7018 max_write_delay = 4500;
7021 read_lo = " 0 0 1 0 0 0 0 0",
7022 " 0 0 0 0 a11 a10 a9 a8",
7023 " a7 a6 a5 a4 a3 a2 a1 a0",
7026 read_hi = " 0 0 1 0 1 0 0 0",
7027 " 0 0 0 0 a11 a10 a9 a8",
7028 " a7 a6 a5 a4 a3 a2 a1 a0",
7031 loadpage_lo = " 0 1 0 0 0 0 0 0",
7033 " x x x a4 a3 a2 a1 a0",
7036 loadpage_hi = " 0 1 0 0 1 0 0 0",
7038 " x x x a4 a3 a2 a1 a0",
7041 writepage = " 0 1 0 0 1 1 0 0",
7042 " 0 0 0 0 a11 a10 a9 a8",
7043 " a7 a6 a5 x x x x x",
7054 min_write_delay = 2000;
7055 max_write_delay = 2000;
7056 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
7057 "x x x x x x x x o o o o o o o o";
7059 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
7060 "x x x x x x x x i i i i i i i i";
7065 min_write_delay = 2000;
7066 max_write_delay = 2000;
7067 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
7068 "x x x x x x x x o o o o o o o o";
7070 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
7071 "x x x x x x x x i i i i i i i i";
7076 min_write_delay = 2000;
7077 max_write_delay = 2000;
7078 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
7079 "x x x x x x x x x x o o o o o o";
7081 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
7082 "x x x x x x x x 1 1 i i i i i i";
7085 memory "calibration"
7087 read = "0 0 1 1 1 0 0 0 0 0 x x x x x x",
7088 "0 0 0 0 0 0 a1 a0 o o o o o o o o";
7093 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
7094 "x x x x x x a1 a0 o o o o o o o o";
7100 #------------------------------------------------------------
7102 #------------------------------------------------------------
7106 desc = "ATMEGA8515";
7107 stk500_devcode = 0x63;
7108 avr910_devcode = 0x3A;
7109 signature = 0x1e 0x93 0x06;
7110 chip_erase_delay = 9000;
7111 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
7112 "x x x x x x x x x x x x x x x x";
7114 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
7115 "x x x x x x x x x x x x x x x x";
7129 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
7130 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
7131 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
7132 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
7133 hventerstabdelay = 100;
7140 hvleavestabdelay = 15;
7141 chiperasepulsewidth = 0;
7142 chiperasepolltimeout = 10;
7143 programfusepulsewidth = 0;
7144 programfusepolltimeout = 5;
7145 programlockpulsewidth = 0;
7146 programlockpolltimeout = 5;
7150 min_write_delay = 9000;
7151 max_write_delay = 9000;
7154 read = " 1 0 1 0 0 0 0 0",
7155 " 0 0 x x x x x a8",
7156 " a7 a6 a5 a4 a3 a2 a1 a0",
7159 write = " 1 1 0 0 0 0 0 0",
7160 " 0 0 x x x x x a8",
7161 " a7 a6 a5 a4 a3 a2 a1 a0",
7174 min_write_delay = 4500;
7175 max_write_delay = 4500;
7178 read_lo = " 0 0 1 0 0 0 0 0",
7179 " 0 0 0 0 a11 a10 a9 a8",
7180 " a7 a6 a5 a4 a3 a2 a1 a0",
7183 read_hi = " 0 0 1 0 1 0 0 0",
7184 " 0 0 0 0 a11 a10 a9 a8",
7185 " a7 a6 a5 a4 a3 a2 a1 a0",
7188 loadpage_lo = " 0 1 0 0 0 0 0 0",
7190 " x x x a4 a3 a2 a1 a0",
7193 loadpage_hi = " 0 1 0 0 1 0 0 0",
7195 " x x x a4 a3 a2 a1 a0",
7198 writepage = " 0 1 0 0 1 1 0 0",
7199 " 0 0 0 0 a11 a10 a9 a8",
7200 " a7 a6 a5 x x x x x",
7211 min_write_delay = 4500;
7212 max_write_delay = 4500;
7213 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
7214 "x x x x x x x x o o o o o o o o";
7216 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
7217 "x x x x x x x x i i i i i i i i";
7222 min_write_delay = 4500;
7223 max_write_delay = 4500;
7224 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
7225 "x x x x x x x x o o o o o o o o";
7227 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
7228 "x x x x x x x x i i i i i i i i";
7233 min_write_delay = 4500;
7234 max_write_delay = 4500;
7235 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
7236 "x x x x x x x x x x o o o o o o";
7238 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
7239 "x x x x x x x x 1 1 i i i i i i";
7242 memory "calibration"
7244 read = "0 0 1 1 1 0 0 0 0 0 x x x x x x",
7245 "0 0 0 0 0 0 a1 a0 o o o o o o o o";
7250 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
7251 "x x x x x x a1 a0 o o o o o o o o";
7258 #------------------------------------------------------------
7260 #------------------------------------------------------------
7264 desc = "ATMEGA8535";
7265 stk500_devcode = 0x64;
7266 avr910_devcode = 0x69;
7267 signature = 0x1e 0x93 0x08;
7270 chip_erase_delay = 9000;
7271 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
7272 "x x x x x x x x x x x x x x x x";
7274 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
7275 "x x x x x x x x x x x x x x x x";
7289 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
7290 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
7291 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
7292 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
7293 hventerstabdelay = 100;
7300 hvleavestabdelay = 15;
7301 chiperasepulsewidth = 0;
7302 chiperasepolltimeout = 10;
7303 programfusepulsewidth = 0;
7304 programfusepolltimeout = 5;
7305 programlockpulsewidth = 0;
7306 programlockpolltimeout = 5;
7310 min_write_delay = 9000;
7311 max_write_delay = 9000;
7314 read = " 1 0 1 0 0 0 0 0",
7315 " 0 0 x x x x x a8",
7316 " a7 a6 a5 a4 a3 a2 a1 a0",
7319 write = " 1 1 0 0 0 0 0 0",
7320 " 0 0 x x x x x a8",
7321 " a7 a6 a5 a4 a3 a2 a1 a0",
7334 min_write_delay = 4500;
7335 max_write_delay = 4500;
7338 read_lo = " 0 0 1 0 0 0 0 0",
7339 " 0 0 0 0 a11 a10 a9 a8",
7340 " a7 a6 a5 a4 a3 a2 a1 a0",
7343 read_hi = " 0 0 1 0 1 0 0 0",
7344 " 0 0 0 0 a11 a10 a9 a8",
7345 " a7 a6 a5 a4 a3 a2 a1 a0",
7348 loadpage_lo = " 0 1 0 0 0 0 0 0",
7350 " x x x a4 a3 a2 a1 a0",
7353 loadpage_hi = " 0 1 0 0 1 0 0 0",
7355 " x x x a4 a3 a2 a1 a0",
7358 writepage = " 0 1 0 0 1 1 0 0",
7359 " 0 0 0 0 a11 a10 a9 a8",
7360 " a7 a6 a5 x x x x x",
7371 min_write_delay = 2000;
7372 max_write_delay = 2000;
7373 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
7374 "x x x x x x x x o o o o o o o o";
7376 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
7377 "x x x x x x x x i i i i i i i i";
7382 min_write_delay = 2000;
7383 max_write_delay = 2000;
7384 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
7385 "x x x x x x x x o o o o o o o o";
7387 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
7388 "x x x x x x x x i i i i i i i i";
7393 min_write_delay = 2000;
7394 max_write_delay = 2000;
7395 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
7396 "x x x x x x x x x x o o o o o o";
7398 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
7399 "x x x x x x x x 1 1 i i i i i i";
7402 memory "calibration"
7404 read = "0 0 1 1 1 0 0 0 0 0 x x x x x x",
7405 "0 0 0 0 0 0 a1 a0 o o o o o o o o";
7410 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
7411 "x x x x x x a1 a0 o o o o o o o o";
7416 #------------------------------------------------------------
7418 #------------------------------------------------------------
7423 stk500_devcode = 0x21;
7424 avr910_devcode = 0x5e;
7425 signature = 0x1e 0x91 0x09;
7428 chip_erase_delay = 9000;
7429 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
7430 "x x x x x x x x x x x x x x x x";
7432 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
7433 "x x x x x x x x x x x x x x x x";
7447 0xC4, 0xE4, 0xC4, 0xE4, 0xCC, 0xEC, 0xCC, 0xEC,
7448 0xD4, 0xF4, 0xD4, 0xF4, 0xDC, 0xFC, 0xDC, 0xFC,
7449 0xC8, 0xE8, 0xD8, 0xF8, 0x4C, 0x6C, 0x5C, 0x7C,
7450 0xEC, 0xBC, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00;
7451 hventerstabdelay = 100;
7458 hvleavestabdelay = 15;
7459 chiperasepulsewidth = 0;
7460 chiperasepolltimeout = 10;
7461 programfusepulsewidth = 0;
7462 programfusepolltimeout = 5;
7463 programlockpulsewidth = 0;
7464 programlockpolltimeout = 5;
7468 min_write_delay = 9000;
7469 max_write_delay = 9000;
7472 read = "1 0 1 0 0 0 0 0 x x x x x x x x",
7473 "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
7475 write = "1 1 0 0 0 0 0 0 x x x x x x x x",
7476 "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
7489 min_write_delay = 4500;
7490 max_write_delay = 4500;
7493 read_lo = " 0 0 1 0 0 0 0 0",
7494 " x x x x x x a9 a8",
7495 " a7 a6 a5 a4 a3 a2 a1 a0",
7498 read_hi = " 0 0 1 0 1 0 0 0",
7499 " x x x x x x a9 a8",
7500 " a7 a6 a5 a4 a3 a2 a1 a0",
7503 loadpage_lo = " 0 1 0 0 0 0 0 0",
7505 " x x x x a3 a2 a1 a0",
7508 loadpage_hi = " 0 1 0 0 1 0 0 0",
7510 " x x x x a3 a2 a1 a0",
7513 writepage = " 0 1 0 0 1 1 0 0",
7514 " x x x x x x a9 a8",
7515 " a7 a6 a5 a4 x x x x",
7526 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
7527 "0 0 0 0 0 0 a1 a0 o o o o o o o o";
7532 read = "0 1 0 1 1 0 0 0 x x x x x x x x",
7533 "x x x x x x x x x x x x x x o o";
7535 write = "1 0 1 0 1 1 0 0 1 1 1 1 1 1 i i",
7536 "x x x x x x x x x x x x x x x x";
7537 min_write_delay = 9000;
7538 max_write_delay = 9000;
7543 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
7544 "x x x x x x x x i i i i i i i i";
7546 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
7547 "x x x x x x x x o o o o o o o o";
7548 min_write_delay = 9000;
7549 max_write_delay = 9000;
7554 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
7555 "x x x x x x x x x x x i i i i i";
7557 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
7558 "x x x x x x x x x x x o o o o o";
7559 min_write_delay = 9000;
7560 max_write_delay = 9000;
7563 memory "calibration"
7565 read = "0 0 1 1 1 0 0 0 x x x x x x x x",
7566 "0 0 0 0 0 0 a1 a0 o o o o o o o o";
7572 #------------------------------------------------------------
7574 #------------------------------------------------------------
7580 has_debugwire = yes;
7581 flash_instr = 0xB4, 0x00, 0x10;
7582 eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
7583 0xBC, 0x00, 0xB4, 0x00, 0xBA, 0x0D, 0xBB, 0xBC,
7584 0x99, 0xE1, 0xBB, 0xAC;
7585 # stk500_devcode = 0x21;
7586 # avr910_devcode = 0x5e;
7587 signature = 0x1e 0x91 0x0c;
7590 chip_erase_delay = 4000;
7592 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
7593 "x x x x x x x x x x x x x x x x";
7595 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
7596 "x x x x x x x x x x x x x x x x";
7610 0xC4, 0xE4, 0xC4, 0xE4, 0xCC, 0xEC, 0xCC, 0xEC,
7611 0xD4, 0xF4, 0xD4, 0xF4, 0xDC, 0xFC, 0xDC, 0xFC,
7612 0xC8, 0xE8, 0xD8, 0xF8, 0x4C, 0x6C, 0x5C, 0x7C,
7613 0xEC, 0xBC, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00;
7614 hventerstabdelay = 100;
7621 hvleavestabdelay = 15;
7622 chiperasepulsewidth = 0;
7623 chiperasepolltimeout = 10;
7624 programfusepulsewidth = 0;
7625 programfusepolltimeout = 5;
7626 programlockpulsewidth = 0;
7627 programlockpolltimeout = 5;
7634 min_write_delay = 4000;
7635 max_write_delay = 4000;
7639 read = "1 0 1 0 0 0 0 0 x x x x x x x x",
7640 "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
7642 write = "1 1 0 0 0 0 0 0 x x x x x x x x",
7643 "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
7645 loadpage_lo = " 1 1 0 0 0 0 0 1",
7647 " 0 0 0 0 0 0 a1 a0",
7650 writepage = " 1 1 0 0 0 0 1 0",
7652 " x a6 a5 a4 a3 a2 0 0",
7666 min_write_delay = 4500;
7667 max_write_delay = 4500;
7671 read_lo = " 0 0 1 0 0 0 0 0",
7672 " x x x x x x a9 a8",
7673 " a7 a6 a5 a4 a3 a2 a1 a0",
7676 read_hi = " 0 0 1 0 1 0 0 0",
7677 " x x x x x x a9 a8",
7678 " a7 a6 a5 a4 a3 a2 a1 a0",
7681 loadpage_lo = " 0 1 0 0 0 0 0 0",
7683 " x x x x a3 a2 a1 a0",
7686 loadpage_hi = " 0 1 0 0 1 0 0 0",
7688 " x x x x a3 a2 a1 a0",
7691 writepage = " 0 1 0 0 1 1 0 0",
7692 " x x x x x x a9 a8",
7693 " a7 a6 a5 a4 x x x x",
7704 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
7705 "0 0 0 0 0 0 a1 a0 o o o o o o o o";
7710 read = "0 1 0 1 1 0 0 0 x x x x x x x x",
7711 "x x x x x x x x x x x x x x o o";
7713 write = "1 0 1 0 1 1 0 0 1 1 1 1 1 1 i i",
7714 "x x x x x x x x x x x x x x x x";
7715 min_write_delay = 4500;
7716 max_write_delay = 4500;
7721 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
7722 "x x x x x x x x i i i i i i i i";
7724 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
7725 "x x x x x x x x o o o o o o o o";
7726 min_write_delay = 4500;
7727 max_write_delay = 4500;
7732 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
7733 "x x x x x x x x i i i i i i i i";
7735 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
7736 "x x x x x x x x o o o o o o o o";
7737 min_write_delay = 4500;
7738 max_write_delay = 4500;
7743 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
7744 "x x x x x x x x x x x x x x x i";
7746 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
7747 "x x x x x x x x x x x x x x x o";
7748 min_write_delay = 4500;
7749 max_write_delay = 4500;
7752 memory "calibration"
7754 read = "0 0 1 1 1 0 0 0 x x x x x x x x",
7755 "0 0 0 0 0 0 0 0 o o o o o o o o";
7761 #------------------------------------------------------------
7763 #------------------------------------------------------------
7764 # Close to ATtiny261
7769 has_debugwire = yes;
7770 flash_instr = 0xB4, 0x00, 0x10;
7771 eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
7772 0xBC, 0x00, 0xB4, 0x00, 0xBA, 0x0D, 0xBB, 0xBC,
7773 0x99, 0xE1, 0xBB, 0xAC;
7774 # stk500_devcode = 0x21;
7775 # avr910_devcode = 0x5e;
7776 signature = 0x1e 0x92 0x08;
7779 chip_erase_delay = 4000;
7781 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
7782 "x x x x x x x x x x x x x x x x";
7784 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
7785 "x x x x x x x x x x x x x x x x";
7799 0xC4, 0xE4, 0xC4, 0xE4, 0xCC, 0xEC, 0xCC, 0xEC,
7800 0xD4, 0xF4, 0xD4, 0xF4, 0xDC, 0xFC, 0xDC, 0xFC,
7801 0xC8, 0xE8, 0xD8, 0xF8, 0x4C, 0x6C, 0x5C, 0x7C,
7802 0xEC, 0xBC, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00;
7803 hventerstabdelay = 100;
7810 hvleavestabdelay = 15;
7811 chiperasepulsewidth = 0;
7812 chiperasepolltimeout = 10;
7813 programfusepulsewidth = 0;
7814 programfusepolltimeout = 5;
7815 programlockpulsewidth = 0;
7816 programlockpolltimeout = 5;
7823 min_write_delay = 4000;
7824 max_write_delay = 4000;
7828 read = " 1 0 1 0 0 0 0 0 x x x x x x x x",
7829 "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
7831 write = " 1 1 0 0 0 0 0 0 x x x x x x x x",
7832 "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
7834 loadpage_lo = " 1 1 0 0 0 0 0 1",
7836 " 0 0 0 0 0 0 a1 a0",
7839 writepage = " 1 1 0 0 0 0 1 0",
7841 " a7 a6 a5 a4 a3 a2 0 0",
7855 min_write_delay = 4500;
7856 max_write_delay = 4500;
7860 read_lo = " 0 0 1 0 0 0 0 0",
7861 " x x x x x a10 a9 a8",
7862 " a7 a6 a5 a4 a3 a2 a1 a0",
7865 read_hi = " 0 0 1 0 1 0 0 0",
7866 " x x x x x a10 a9 a8",
7867 " a7 a6 a5 a4 a3 a2 a1 a0",
7870 loadpage_lo = " 0 1 0 0 0 0 0 0",
7872 " x x x a4 a3 a2 a1 a0",
7875 loadpage_hi = " 0 1 0 0 1 0 0 0",
7877 " x x x a4 a3 a2 a1 a0",
7880 writepage = " 0 1 0 0 1 1 0 0",
7881 " x x x x x a10 a9 a8",
7882 " a7 a6 a5 x x x x x",
7893 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
7894 "0 0 0 0 0 0 a1 a0 o o o o o o o o";
7899 read = "0 1 0 1 1 0 0 0 x x x x x x x x",
7900 "x x x x x x x x x x x x x x o o";
7902 write = "1 0 1 0 1 1 0 0 1 1 1 1 1 1 i i",
7903 "x x x x x x x x x x x x x x x x";
7904 min_write_delay = 4500;
7905 max_write_delay = 4500;
7910 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
7911 "x x x x x x x x i i i i i i i i";
7913 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
7914 "x x x x x x x x o o o o o o o o";
7915 min_write_delay = 4500;
7916 max_write_delay = 4500;
7921 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
7922 "x x x x x x x x i i i i i i i i";
7924 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
7925 "x x x x x x x x o o o o o o o o";
7926 min_write_delay = 4500;
7927 max_write_delay = 4500;
7932 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
7933 "x x x x x x x x x x x x x x x i";
7935 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
7936 "x x x x x x x x x x x x x x x o";
7937 min_write_delay = 4500;
7938 max_write_delay = 4500;
7941 memory "calibration"
7943 read = "0 0 1 1 1 0 0 0 x x x x x x x x",
7944 "0 0 0 0 0 0 0 0 o o o o o o o o";
7950 #------------------------------------------------------------
7952 #------------------------------------------------------------
7953 # Close to ATtiny461
7958 has_debugwire = yes;
7959 flash_instr = 0xB4, 0x00, 0x10;
7960 eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
7961 0xBC, 0x00, 0xB4, 0x00, 0xBA, 0x0D, 0xBB, 0xBC,
7962 0x99, 0xE1, 0xBB, 0xAC;
7963 # stk500_devcode = 0x21;
7964 # avr910_devcode = 0x5e;
7965 signature = 0x1e 0x93 0x0d;
7968 chip_erase_delay = 4000;
7970 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
7971 "x x x x x x x x x x x x x x x x";
7973 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
7974 "x x x x x x x x x x x x x x x x";
7988 0xC4, 0xE4, 0xC4, 0xE4, 0xCC, 0xEC, 0xCC, 0xEC,
7989 0xD4, 0xF4, 0xD4, 0xF4, 0xDC, 0xFC, 0xDC, 0xFC,
7990 0xC8, 0xE8, 0xD8, 0xF8, 0x4C, 0x6C, 0x5C, 0x7C,
7991 0xEC, 0xBC, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00;
7992 hventerstabdelay = 100;
7999 hvleavestabdelay = 15;
8000 chiperasepulsewidth = 0;
8001 chiperasepolltimeout = 10;
8002 programfusepulsewidth = 0;
8003 programfusepolltimeout = 5;
8004 programlockpulsewidth = 0;
8005 programlockpolltimeout = 5;
8012 min_write_delay = 4000;
8013 max_write_delay = 4000;
8017 read = " 1 0 1 0 0 0 0 0 x x x x x x x a8",
8018 "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
8020 write = " 1 1 0 0 0 0 0 0 x x x x x x x a8",
8021 "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
8023 loadpage_lo = " 1 1 0 0 0 0 0 1",
8025 " 0 0 0 0 0 0 a1 a0",
8028 writepage = " 1 1 0 0 0 0 1 0",
8029 " 0 0 x x x x x a8",
8030 " a7 a6 a5 a4 a3 a2 0 0",
8044 min_write_delay = 4500;
8045 max_write_delay = 4500;
8049 read_lo = " 0 0 1 0 0 0 0 0",
8050 " x x x x a11 a10 a9 a8",
8051 " a7 a6 a5 a4 a3 a2 a1 a0",
8054 read_hi = " 0 0 1 0 1 0 0 0",
8055 " x x x x a11 a10 a9 a8",
8056 " a7 a6 a5 a4 a3 a2 a1 a0",
8059 loadpage_lo = " 0 1 0 0 0 0 0 0",
8061 " x x x a4 a3 a2 a1 a0",
8064 loadpage_hi = " 0 1 0 0 1 0 0 0",
8066 " x x x a4 a3 a2 a1 a0",
8069 writepage = " 0 1 0 0 1 1 0 0",
8070 " x x x x a11 a10 a9 a8",
8071 " a7 a6 a5 x x x x x",
8082 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
8083 "0 0 0 0 0 0 a1 a0 o o o o o o o o";
8088 read = "0 1 0 1 1 0 0 0 x x x x x x x x",
8089 "x x x x x x x x x x x x x x o o";
8091 write = "1 0 1 0 1 1 0 0 1 1 1 1 1 1 i i",
8092 "x x x x x x x x x x x x x x x x";
8093 min_write_delay = 4500;
8094 max_write_delay = 4500;
8099 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
8100 "x x x x x x x x i i i i i i i i";
8102 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
8103 "x x x x x x x x o o o o o o o o";
8104 min_write_delay = 4500;
8105 max_write_delay = 4500;
8110 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
8111 "x x x x x x x x i i i i i i i i";
8113 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
8114 "x x x x x x x x o o o o o o o o";
8115 min_write_delay = 4500;
8116 max_write_delay = 4500;
8121 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
8122 "x x x x x x x x x x x x x x x i";
8124 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
8125 "x x x x x x x x x x x x x x x o";
8126 min_write_delay = 4500;
8127 max_write_delay = 4500;
8130 memory "calibration"
8132 read = "0 0 1 1 1 0 0 0 x x x x x x x x",
8133 "0 0 0 0 0 0 0 0 o o o o o o o o";
8139 #------------------------------------------------------------
8141 #------------------------------------------------------------
8146 has_debugwire = yes;
8147 flash_instr = 0xB6, 0x01, 0x11;
8148 eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
8149 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF,
8150 0x99, 0xF9, 0xBB, 0xAF;
8151 stk500_devcode = 0x59;
8152 # avr910_devcode = 0x;
8153 signature = 0x1e 0x92 0x05;
8156 chip_erase_delay = 45000;
8157 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
8158 "x x x x x x x x x x x x x x x x";
8160 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
8161 "x x x x x x x x x x x x x x x x";
8175 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
8176 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
8177 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
8178 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
8179 hventerstabdelay = 100;
8186 hvleavestabdelay = 15;
8188 chiperasepulsewidth = 0;
8189 chiperasepolltimeout = 10;
8190 programfusepulsewidth = 0;
8191 programfusepolltimeout = 5;
8192 programlockpulsewidth = 0;
8193 programlockpolltimeout = 5;
8199 min_write_delay = 3600;
8200 max_write_delay = 3600;
8203 read = " 1 0 1 0 0 0 0 0",
8205 " a7 a6 a5 a4 a3 a2 a1 a0",
8208 write = " 1 1 0 0 0 0 0 0",
8210 " a7 a6 a5 a4 a3 a2 a1 a0",
8213 loadpage_lo = " 1 1 0 0 0 0 0 1",
8215 " 0 0 0 0 0 0 a1 a0",
8218 writepage = " 1 1 0 0 0 0 1 0",
8220 " a7 a6 a5 a4 a3 a2 0 0",
8233 min_write_delay = 4500;
8234 max_write_delay = 4500;
8237 read_lo = " 0 0 1 0 0 0 0 0",
8238 " 0 0 0 0 0 a10 a9 a8",
8239 " a7 a6 a5 a4 a3 a2 a1 a0",
8242 read_hi = " 0 0 1 0 1 0 0 0",
8243 " 0 0 0 0 0 a10 a9 a8",
8244 " a7 a6 a5 a4 a3 a2 a1 a0",
8247 loadpage_lo = " 0 1 0 0 0 0 0 0",
8249 " x x x a4 a3 a2 a1 a0",
8252 loadpage_hi = " 0 1 0 0 1 0 0 0",
8254 " x x x a4 a3 a2 a1 a0",
8257 writepage = " 0 1 0 0 1 1 0 0",
8258 " 0 0 0 0 0 a10 a9 a8",
8259 " a7 a6 a5 x x x x x",
8270 min_write_delay = 4500;
8271 max_write_delay = 4500;
8272 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
8273 "x x x x x x x x o o o o o o o o";
8275 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
8276 "x x x x x x x x i i i i i i i i";
8281 min_write_delay = 4500;
8282 max_write_delay = 4500;
8283 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
8284 "x x x x x x x x o o o o o o o o";
8286 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
8287 "x x x x x x x x i i i i i i i i";
8292 min_write_delay = 4500;
8293 max_write_delay = 4500;
8294 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
8295 "x x x x x x x x x x x x x x x o";
8297 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
8298 "x x x x x x x x x x x x x x x i";
8303 min_write_delay = 4500;
8304 max_write_delay = 4500;
8305 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
8306 "x x x x x x x x x x o o o o o o";
8308 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
8309 "x x x x x x x x 1 1 i i i i i i";
8312 memory "calibration"
8314 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
8315 "0 0 0 0 0 0 0 0 o o o o o o o o";
8320 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
8321 "x x x x x x a1 a0 o o o o o o o o";
8326 #------------------------------------------------------------
8328 #------------------------------------------------------------
8333 has_debugwire = yes;
8334 flash_instr = 0xB6, 0x01, 0x11;
8335 eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
8336 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF,
8337 0x99, 0xF9, 0xBB, 0xAF;
8338 stk500_devcode = 0x73;
8339 # avr910_devcode = 0x;
8340 signature = 0x1e 0x93 0x0a;
8343 chip_erase_delay = 9000;
8344 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
8345 "x x x x x x x x x x x x x x x x";
8347 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
8348 "x x x x x x x x x x x x x x x x";
8362 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
8363 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
8364 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
8365 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
8366 hventerstabdelay = 100;
8373 hvleavestabdelay = 15;
8375 chiperasepulsewidth = 0;
8376 chiperasepolltimeout = 10;
8377 programfusepulsewidth = 0;
8378 programfusepolltimeout = 5;
8379 programlockpulsewidth = 0;
8380 programlockpolltimeout = 5;
8386 min_write_delay = 3600;
8387 max_write_delay = 3600;
8390 read = " 1 0 1 0 0 0 0 0",
8391 " 0 0 0 x x x x a8",
8392 " a7 a6 a5 a4 a3 a2 a1 a0",
8395 write = " 1 1 0 0 0 0 0 0",
8396 " 0 0 0 x x x x a8",
8397 " a7 a6 a5 a4 a3 a2 a1 a0",
8400 loadpage_lo = " 1 1 0 0 0 0 0 1",
8402 " 0 0 0 0 0 0 a1 a0",
8405 writepage = " 1 1 0 0 0 0 1 0",
8406 " 0 0 x x x x x a8",
8407 " a7 a6 a5 a4 a3 a2 0 0",
8420 min_write_delay = 4500;
8421 max_write_delay = 4500;
8424 read_lo = " 0 0 1 0 0 0 0 0",
8425 " 0 0 0 0 a11 a10 a9 a8",
8426 " a7 a6 a5 a4 a3 a2 a1 a0",
8429 read_hi = " 0 0 1 0 1 0 0 0",
8430 " 0 0 0 0 a11 a10 a9 a8",
8431 " a7 a6 a5 a4 a3 a2 a1 a0",
8434 loadpage_lo = " 0 1 0 0 0 0 0 0",
8436 " x x x a4 a3 a2 a1 a0",
8439 loadpage_hi = " 0 1 0 0 1 0 0 0",
8441 " x x x a4 a3 a2 a1 a0",
8444 writepage = " 0 1 0 0 1 1 0 0",
8445 " 0 0 0 0 a11 a10 a9 a8",
8446 " a7 a6 a5 x x x x x",
8457 min_write_delay = 4500;
8458 max_write_delay = 4500;
8459 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
8460 "x x x x x x x x o o o o o o o o";
8462 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
8463 "x x x x x x x x i i i i i i i i";
8468 min_write_delay = 4500;
8469 max_write_delay = 4500;
8470 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
8471 "x x x x x x x x o o o o o o o o";
8473 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
8474 "x x x x x x x x i i i i i i i i";
8479 min_write_delay = 4500;
8480 max_write_delay = 4500;
8481 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
8482 "x x x x x x x x x x x x x o o o";
8484 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
8485 "x x x x x x x x x x x x x i i i";
8490 min_write_delay = 4500;
8491 max_write_delay = 4500;
8492 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
8493 "x x x x x x x x x x o o o o o o";
8495 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
8496 "x x x x x x x x 1 1 i i i i i i";
8499 memory "calibration"
8501 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
8502 "0 0 0 0 0 0 0 0 o o o o o o o o";
8507 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
8508 "x x x x x x a1 a0 o o o o o o o o";
8512 #------------------------------------------------------------
8514 #------------------------------------------------------------
8519 has_debugwire = yes;
8520 flash_instr = 0xB6, 0x01, 0x11;
8521 eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
8522 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF,
8523 0x99, 0xF9, 0xBB, 0xAF;
8524 stk500_devcode = 0x73;
8525 # avr910_devcode = 0x;
8526 signature = 0x1e 0x93 0x0f;
8529 chip_erase_delay = 9000;
8530 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
8531 "x x x x x x x x x x x x x x x x";
8533 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
8534 "x x x x x x x x x x x x x x x x";
8548 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
8549 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
8550 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
8551 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
8552 hventerstabdelay = 100;
8559 hvleavestabdelay = 15;
8561 chiperasepulsewidth = 0;
8562 chiperasepolltimeout = 10;
8563 programfusepulsewidth = 0;
8564 programfusepolltimeout = 5;
8565 programlockpulsewidth = 0;
8566 programlockpolltimeout = 5;
8572 min_write_delay = 3600;
8573 max_write_delay = 3600;
8576 read = " 1 0 1 0 0 0 0 0",
8577 " 0 0 0 x x x x a8",
8578 " a7 a6 a5 a4 a3 a2 a1 a0",
8581 write = " 1 1 0 0 0 0 0 0",
8582 " 0 0 0 x x x x a8",
8583 " a7 a6 a5 a4 a3 a2 a1 a0",
8586 loadpage_lo = " 1 1 0 0 0 0 0 1",
8588 " 0 0 0 0 0 0 a1 a0",
8591 writepage = " 1 1 0 0 0 0 1 0",
8592 " 0 0 x x x x x a8",
8593 " a7 a6 a5 a4 a3 a2 0 0",
8606 min_write_delay = 4500;
8607 max_write_delay = 4500;
8610 read_lo = " 0 0 1 0 0 0 0 0",
8611 " 0 0 0 0 a11 a10 a9 a8",
8612 " a7 a6 a5 a4 a3 a2 a1 a0",
8615 read_hi = " 0 0 1 0 1 0 0 0",
8616 " 0 0 0 0 a11 a10 a9 a8",
8617 " a7 a6 a5 a4 a3 a2 a1 a0",
8620 loadpage_lo = " 0 1 0 0 0 0 0 0",
8622 " x x x a4 a3 a2 a1 a0",
8625 loadpage_hi = " 0 1 0 0 1 0 0 0",
8627 " x x x a4 a3 a2 a1 a0",
8630 writepage = " 0 1 0 0 1 1 0 0",
8631 " 0 0 0 0 a11 a10 a9 a8",
8632 " a7 a6 a5 x x x x x",
8643 min_write_delay = 4500;
8644 max_write_delay = 4500;
8645 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
8646 "x x x x x x x x o o o o o o o o";
8648 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
8649 "x x x x x x x x i i i i i i i i";
8654 min_write_delay = 4500;
8655 max_write_delay = 4500;
8656 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
8657 "x x x x x x x x o o o o o o o o";
8659 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
8660 "x x x x x x x x i i i i i i i i";
8665 min_write_delay = 4500;
8666 max_write_delay = 4500;
8667 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
8668 "x x x x x x x x x x x x x o o o";
8670 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
8671 "x x x x x x x x x x x x x i i i";
8676 min_write_delay = 4500;
8677 max_write_delay = 4500;
8678 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
8679 "x x x x x x x x x x o o o o o o";
8681 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
8682 "x x x x x x x x 1 1 i i i i i i";
8685 memory "calibration"
8687 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
8688 "0 0 0 0 0 0 0 0 o o o o o o o o";
8693 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
8694 "x x x x x x a1 a0 o o o o o o o o";
8699 #------------------------------------------------------------
8701 #------------------------------------------------------------
8706 has_debugwire = yes;
8707 flash_instr = 0xB6, 0x01, 0x11;
8708 eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
8709 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF,
8710 0x99, 0xF9, 0xBB, 0xAF;
8711 stk500_devcode = 0x86;
8712 # avr910_devcode = 0x;
8713 signature = 0x1e 0x94 0x06;
8716 chip_erase_delay = 9000;
8717 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
8718 "x x x x x x x x x x x x x x x x";
8720 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
8721 "x x x x x x x x x x x x x x x x";
8735 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
8736 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
8737 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
8738 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
8739 hventerstabdelay = 100;
8746 hvleavestabdelay = 15;
8748 chiperasepulsewidth = 0;
8749 chiperasepolltimeout = 10;
8750 programfusepulsewidth = 0;
8751 programfusepolltimeout = 5;
8752 programlockpulsewidth = 0;
8753 programlockpolltimeout = 5;
8759 min_write_delay = 3600;
8760 max_write_delay = 3600;
8763 read = " 1 0 1 0 0 0 0 0",
8764 " 0 0 0 x x x x a8",
8765 " a7 a6 a5 a4 a3 a2 a1 a0",
8768 write = " 1 1 0 0 0 0 0 0",
8769 " 0 0 0 x x x x a8",
8770 " a7 a6 a5 a4 a3 a2 a1 a0",
8773 loadpage_lo = " 1 1 0 0 0 0 0 1",
8775 " 0 0 0 0 0 0 a1 a0",
8778 writepage = " 1 1 0 0 0 0 1 0",
8779 " 0 0 x x x x x a8",
8780 " a7 a6 a5 a4 a3 a2 0 0",
8794 min_write_delay = 4500;
8795 max_write_delay = 4500;
8798 read_lo = " 0 0 1 0 0 0 0 0",
8799 " 0 0 0 a12 a11 a10 a9 a8",
8800 " a7 a6 a5 a4 a3 a2 a1 a0",
8803 read_hi = " 0 0 1 0 1 0 0 0",
8804 " 0 0 0 a12 a11 a10 a9 a8",
8805 " a7 a6 a5 a4 a3 a2 a1 a0",
8808 loadpage_lo = " 0 1 0 0 0 0 0 0",
8810 " x x a5 a4 a3 a2 a1 a0",
8813 loadpage_hi = " 0 1 0 0 1 0 0 0",
8815 " x x a5 a4 a3 a2 a1 a0",
8818 writepage = " 0 1 0 0 1 1 0 0",
8819 " 0 0 0 a12 a11 a10 a9 a8",
8820 " a7 a6 x x x x x x",
8832 min_write_delay = 4500;
8833 max_write_delay = 4500;
8834 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
8835 "x x x x x x x x o o o o o o o o";
8837 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
8838 "x x x x x x x x i i i i i i i i";
8843 min_write_delay = 4500;
8844 max_write_delay = 4500;
8845 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
8846 "x x x x x x x x o o o o o o o o";
8848 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
8849 "x x x x x x x x i i i i i i i i";
8854 min_write_delay = 4500;
8855 max_write_delay = 4500;
8856 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
8857 "x x x x x x x x x x x x x o o o";
8859 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
8860 "x x x x x x x x x x x x x i i i";
8865 min_write_delay = 4500;
8866 max_write_delay = 4500;
8867 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
8868 "x x x x x x x x x x o o o o o o";
8870 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
8871 "x x x x x x x x 1 1 i i i i i i";
8874 memory "calibration"
8876 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
8877 "0 0 0 0 0 0 0 0 o o o o o o o o";
8882 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
8883 "x x x x x x a1 a0 o o o o o o o o";
8887 #------------------------------------------------------------
8889 #------------------------------------------------------------
8893 desc = "ATMEGA168P";
8894 has_debugwire = yes;
8895 flash_instr = 0xB6, 0x01, 0x11;
8896 eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
8897 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF,
8898 0x99, 0xF9, 0xBB, 0xAF;
8899 stk500_devcode = 0x86;
8900 # avr910_devcode = 0x;
8901 signature = 0x1e 0x94 0x0b;
8904 chip_erase_delay = 9000;
8905 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
8906 "x x x x x x x x x x x x x x x x";
8908 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
8909 "x x x x x x x x x x x x x x x x";
8923 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
8924 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
8925 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
8926 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
8927 hventerstabdelay = 100;
8934 hvleavestabdelay = 15;
8936 chiperasepulsewidth = 0;
8937 chiperasepolltimeout = 10;
8938 programfusepulsewidth = 0;
8939 programfusepolltimeout = 5;
8940 programlockpulsewidth = 0;
8941 programlockpolltimeout = 5;
8947 min_write_delay = 3600;
8948 max_write_delay = 3600;
8951 read = " 1 0 1 0 0 0 0 0",
8952 " 0 0 0 x x x x a8",
8953 " a7 a6 a5 a4 a3 a2 a1 a0",
8956 write = " 1 1 0 0 0 0 0 0",
8957 " 0 0 0 x x x x a8",
8958 " a7 a6 a5 a4 a3 a2 a1 a0",
8961 loadpage_lo = " 1 1 0 0 0 0 0 1",
8963 " 0 0 0 0 0 0 a1 a0",
8966 writepage = " 1 1 0 0 0 0 1 0",
8967 " 0 0 x x x x x a8",
8968 " a7 a6 a5 a4 a3 a2 0 0",
8982 min_write_delay = 4500;
8983 max_write_delay = 4500;
8986 read_lo = " 0 0 1 0 0 0 0 0",
8987 " 0 0 0 a12 a11 a10 a9 a8",
8988 " a7 a6 a5 a4 a3 a2 a1 a0",
8991 read_hi = " 0 0 1 0 1 0 0 0",
8992 " 0 0 0 a12 a11 a10 a9 a8",
8993 " a7 a6 a5 a4 a3 a2 a1 a0",
8996 loadpage_lo = " 0 1 0 0 0 0 0 0",
8998 " x x a5 a4 a3 a2 a1 a0",
9001 loadpage_hi = " 0 1 0 0 1 0 0 0",
9003 " x x a5 a4 a3 a2 a1 a0",
9006 writepage = " 0 1 0 0 1 1 0 0",
9007 " 0 0 0 a12 a11 a10 a9 a8",
9008 " a7 a6 x x x x x x",
9020 min_write_delay = 4500;
9021 max_write_delay = 4500;
9022 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
9023 "x x x x x x x x o o o o o o o o";
9025 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
9026 "x x x x x x x x i i i i i i i i";
9031 min_write_delay = 4500;
9032 max_write_delay = 4500;
9033 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
9034 "x x x x x x x x o o o o o o o o";
9036 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
9037 "x x x x x x x x i i i i i i i i";
9042 min_write_delay = 4500;
9043 max_write_delay = 4500;
9044 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
9045 "x x x x x x x x x x x x x o o o";
9047 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
9048 "x x x x x x x x x x x x x i i i";
9053 min_write_delay = 4500;
9054 max_write_delay = 4500;
9055 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
9056 "x x x x x x x x x x o o o o o o";
9058 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
9059 "x x x x x x x x 1 1 i i i i i i";
9062 memory "calibration"
9064 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
9065 "0 0 0 0 0 0 0 0 o o o o o o o o";
9070 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
9071 "x x x x x x a1 a0 o o o o o o o o";
9075 #------------------------------------------------------------
9077 #------------------------------------------------------------
9082 has_debugwire = yes;
9083 flash_instr = 0xB6, 0x01, 0x11;
9084 eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
9085 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF,
9086 0x99, 0xF9, 0xBB, 0xAF;
9087 stk500_devcode = 0x73;
9088 # avr910_devcode = 0x;
9089 signature = 0x1e 0x93 0x11;
9092 chip_erase_delay = 9000;
9093 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
9094 "x x x x x x x x x x x x x x x x";
9096 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
9097 "x x x x x x x x x x x x x x x x";
9111 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
9112 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
9113 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
9114 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
9115 hventerstabdelay = 100;
9122 hvleavestabdelay = 15;
9124 chiperasepulsewidth = 0;
9125 chiperasepolltimeout = 10;
9126 programfusepulsewidth = 0;
9127 programfusepolltimeout = 5;
9128 programlockpulsewidth = 0;
9129 programlockpolltimeout = 5;
9135 min_write_delay = 3600;
9136 max_write_delay = 3600;
9139 read = " 1 0 1 0 0 0 0 0",
9141 " x a6 a5 a4 a3 a2 a1 a0",
9144 write = " 1 1 0 0 0 0 0 0",
9146 " x a6 a5 a4 a3 a2 a1 a0",
9149 loadpage_lo = " 1 1 0 0 0 0 0 1",
9151 " 0 0 0 0 0 0 a1 a0",
9154 writepage = " 1 1 0 0 0 0 1 0",
9156 " x a6 a5 a4 a3 a2 0 0",
9169 min_write_delay = 4500;
9170 max_write_delay = 4500;
9173 read_lo = " 0 0 1 0 0 0 0 0",
9174 " 0 0 0 0 a11 a10 a9 a8",
9175 " a7 a6 a5 a4 a3 a2 a1 a0",
9178 read_hi = " 0 0 1 0 1 0 0 0",
9179 " 0 0 0 0 a11 a10 a9 a8",
9180 " a7 a6 a5 a4 a3 a2 a1 a0",
9183 loadpage_lo = " 0 1 0 0 0 0 0 0",
9185 " x x x a4 a3 a2 a1 a0",
9188 loadpage_hi = " 0 1 0 0 1 0 0 0",
9190 " x x x a4 a3 a2 a1 a0",
9193 writepage = " 0 1 0 0 1 1 0 0",
9194 " 0 0 0 0 a11 a10 a9 a8",
9195 " a7 a6 a5 x x x x x",
9206 min_write_delay = 4500;
9207 max_write_delay = 4500;
9208 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
9209 "x x x x x x x x o o o o o o o o";
9211 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
9212 "x x x x x x x x i i i i i i i i";
9217 min_write_delay = 4500;
9218 max_write_delay = 4500;
9219 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
9220 "x x x x x x x x o o o o o o o o";
9222 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
9223 "x x x x x x x x i i i i i i i i";
9228 min_write_delay = 4500;
9229 max_write_delay = 4500;
9230 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
9231 "x x x x x x x x x x x x x o o o";
9233 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
9234 "x x x x x x x x x x x x x x x i";
9239 min_write_delay = 4500;
9240 max_write_delay = 4500;
9241 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
9242 "x x x x x x x x x x o o o o o o";
9244 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
9245 "x x x x x x x x 1 1 i i i i i i";
9248 memory "calibration"
9250 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
9251 "0 0 0 0 0 0 0 0 o o o o o o o o";
9256 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
9257 "x x x x x x a1 a0 o o o o o o o o";
9261 #------------------------------------------------------------
9263 #------------------------------------------------------------
9267 desc = "ATMEGA328P";
9268 has_debugwire = yes;
9269 flash_instr = 0xB6, 0x01, 0x11;
9270 eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
9271 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF,
9272 0x99, 0xF9, 0xBB, 0xAF;
9273 stk500_devcode = 0x86;
9274 # avr910_devcode = 0x;
9275 signature = 0x1e 0x95 0x0F;
9278 chip_erase_delay = 9000;
9279 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
9280 "x x x x x x x x x x x x x x x x";
9282 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
9283 "x x x x x x x x x x x x x x x x";
9297 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
9298 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
9299 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
9300 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
9301 hventerstabdelay = 100;
9308 hvleavestabdelay = 15;
9310 chiperasepulsewidth = 0;
9311 chiperasepolltimeout = 10;
9312 programfusepulsewidth = 0;
9313 programfusepolltimeout = 5;
9314 programlockpulsewidth = 0;
9315 programlockpolltimeout = 5;
9321 min_write_delay = 3600;
9322 max_write_delay = 3600;
9325 read = " 1 0 1 0 0 0 0 0",
9326 " 0 0 0 x x x a9 a8",
9327 " a7 a6 a5 a4 a3 a2 a1 a0",
9330 write = " 1 1 0 0 0 0 0 0",
9331 " 0 0 0 x x x a9 a8",
9332 " a7 a6 a5 a4 a3 a2 a1 a0",
9335 loadpage_lo = " 1 1 0 0 0 0 0 1",
9337 " 0 0 0 0 0 0 a1 a0",
9340 writepage = " 1 1 0 0 0 0 1 0",
9341 " 0 0 x x x x a9 a8",
9342 " a7 a6 a5 a4 a3 a2 0 0",
9356 min_write_delay = 4500;
9357 max_write_delay = 4500;
9360 read_lo = " 0 0 1 0 0 0 0 0",
9361 " 0 0 a13 a12 a11 a10 a9 a8",
9362 " a7 a6 a5 a4 a3 a2 a1 a0",
9365 read_hi = " 0 0 1 0 1 0 0 0",
9366 " 0 0 a13 a12 a11 a10 a9 a8",
9367 " a7 a6 a5 a4 a3 a2 a1 a0",
9370 loadpage_lo = " 0 1 0 0 0 0 0 0",
9372 " x x a5 a4 a3 a2 a1 a0",
9375 loadpage_hi = " 0 1 0 0 1 0 0 0",
9377 " x x a5 a4 a3 a2 a1 a0",
9380 writepage = " 0 1 0 0 1 1 0 0",
9381 " 0 0 a13 a12 a11 a10 a9 a8",
9382 " a7 a6 x x x x x x",
9394 min_write_delay = 4500;
9395 max_write_delay = 4500;
9396 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
9397 "x x x x x x x x o o o o o o o o";
9399 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
9400 "x x x x x x x x i i i i i i i i";
9405 min_write_delay = 4500;
9406 max_write_delay = 4500;
9407 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
9408 "x x x x x x x x o o o o o o o o";
9410 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
9411 "x x x x x x x x i i i i i i i i";
9416 min_write_delay = 4500;
9417 max_write_delay = 4500;
9418 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
9419 "x x x x x x x x x x x x x o o o";
9421 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
9422 "x x x x x x x x x x x x x i i i";
9427 min_write_delay = 4500;
9428 max_write_delay = 4500;
9429 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
9430 "x x x x x x x x x x o o o o o o";
9432 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
9433 "x x x x x x x x 1 1 i i i i i i";
9436 memory "calibration"
9438 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
9439 "0 0 0 0 0 0 0 0 o o o o o o o o";
9444 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
9445 "x x x x x x a1 a0 o o o o o o o o";
9449 #------------------------------------------------------------
9451 #------------------------------------------------------------
9455 desc = "ATtiny2313";
9456 has_debugwire = yes;
9457 flash_instr = 0xB2, 0x0F, 0x1F;
9458 eeprom_instr = 0xBB, 0xFE, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
9459 0xBA, 0x0F, 0xB2, 0x0F, 0xBA, 0x0D, 0xBB, 0xBC,
9460 0x99, 0xE1, 0xBB, 0xAC;
9461 stk500_devcode = 0x23;
9462 ## Use the ATtiny26 devcode:
9463 avr910_devcode = 0x5e;
9464 signature = 0x1e 0x91 0x0a;
9468 chip_erase_delay = 9000;
9470 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
9471 "x x x x x x x x x x x x x x x x";
9473 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
9474 "x x x x x x x x x x x x x x x x";
9488 0x0E, 0x1E, 0x0E, 0x1E, 0x2E, 0x3E, 0x2E, 0x3E,
9489 0x4E, 0x5E, 0x4E, 0x5E, 0x6E, 0x7E, 0x6E, 0x7E,
9490 0x26, 0x36, 0x66, 0x76, 0x2A, 0x3A, 0x6A, 0x7A,
9491 0x2E, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
9492 hventerstabdelay = 100;
9499 hvleavestabdelay = 15;
9500 chiperasepulsewidth = 0;
9501 chiperasepolltimeout = 10;
9502 programfusepulsewidth = 0;
9503 programfusepolltimeout = 5;
9504 programlockpulsewidth = 0;
9505 programlockpolltimeout = 5;
9511 min_write_delay = 4000;
9512 max_write_delay = 4500;
9515 read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x",
9516 "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
9518 write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x",
9519 "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
9521 loadpage_lo = " 1 1 0 0 0 0 0 1",
9523 " 0 0 0 0 0 0 a1 a0",
9526 writepage = " 1 1 0 0 0 0 1 0",
9528 " x a6 a5 a4 a3 a2 0 0",
9541 min_write_delay = 4500;
9542 max_write_delay = 4500;
9545 read_lo = " 0 0 1 0 0 0 0 0",
9546 " 0 0 0 0 0 0 a9 a8",
9547 " a7 a6 a5 a4 a3 a2 a1 a0",
9550 read_hi = " 0 0 1 0 1 0 0 0",
9551 " 0 0 0 0 0 0 a9 a8",
9552 " a7 a6 a5 a4 a3 a2 a1 a0",
9555 # The information in the data sheet of April/2004 is wrong, this works:
9556 loadpage_lo = " 0 1 0 0 0 0 0 0",
9558 " x x x x a3 a2 a1 a0",
9561 # The information in the data sheet of April/2004 is wrong, this works:
9562 loadpage_hi = " 0 1 0 0 1 0 0 0",
9564 " x x x x a3 a2 a1 a0",
9567 # The information in the data sheet of April/2004 is wrong, this works:
9568 writepage = " 0 1 0 0 1 1 0 0",
9569 " 0 0 0 0 0 0 a9 a8",
9570 " a7 a6 a5 a4 x x x x",
9578 # ATtiny2313 has Signature Bytes: 0x1E 0x91 0x0A.
9581 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
9582 "x x x x x x a1 a0 o o o o o o o o";
9586 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
9587 "x x x x x x x x 1 1 i i i i i i";
9588 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
9589 "x x x x x x x x x x o o o o o o";
9590 min_write_delay = 9000;
9591 max_write_delay = 9000;
9596 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
9597 "x x x x x x x x i i i i i i i i";
9599 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
9600 "x x x x x x x x o o o o o o o o";
9601 min_write_delay = 9000;
9602 max_write_delay = 9000;
9607 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
9608 "x x x x x x x x i i i i i i i i";
9610 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
9611 "x x x x x x x x o o o o o o o o";
9612 min_write_delay = 9000;
9613 max_write_delay = 9000;
9618 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
9619 "x x x x x x x x x x x x x x x i";
9621 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
9622 "x x x x x x x x o o o o o o o o";
9623 min_write_delay = 9000;
9624 max_write_delay = 9000;
9626 # The Tiny2313 has calibration data for both 4 MHz and 8 MHz.
9627 # The information in the data sheet of April/2004 is wrong, this works:
9629 memory "calibration"
9631 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
9632 "0 0 0 0 0 0 0 a0 o o o o o o o o";
9636 #------------------------------------------------------------
9638 #------------------------------------------------------------
9642 desc = "ATtiny4313";
9643 has_debugwire = yes;
9644 flash_instr = 0xB2, 0x0F, 0x1F;
9645 eeprom_instr = 0xBB, 0xFE, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
9646 0xBA, 0x0F, 0xB2, 0x0F, 0xBA, 0x0D, 0xBB, 0xBC,
9647 0x99, 0xE1, 0xBB, 0xAC;
9648 stk500_devcode = 0x23;
9649 ## Use the ATtiny26 devcode:
9650 avr910_devcode = 0x5e;
9651 signature = 0x1e 0x92 0x0d;
9655 chip_erase_delay = 9000;
9657 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
9658 "x x x x x x x x x x x x x x x x";
9660 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
9661 "x x x x x x x x x x x x x x x x";
9675 0x0E, 0x1E, 0x0E, 0x1E, 0x2E, 0x3E, 0x2E, 0x3E,
9676 0x4E, 0x5E, 0x4E, 0x5E, 0x6E, 0x7E, 0x6E, 0x7E,
9677 0x26, 0x36, 0x66, 0x76, 0x2A, 0x3A, 0x6A, 0x7A,
9678 0x2E, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
9679 hventerstabdelay = 100;
9686 hvleavestabdelay = 15;
9687 chiperasepulsewidth = 0;
9688 chiperasepolltimeout = 10;
9689 programfusepulsewidth = 0;
9690 programfusepolltimeout = 5;
9691 programlockpulsewidth = 0;
9692 programlockpolltimeout = 5;
9698 min_write_delay = 4000;
9699 max_write_delay = 4500;
9702 read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x",
9703 "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
9705 write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x",
9706 "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
9708 loadpage_lo = " 1 1 0 0 0 0 0 1",
9710 " 0 0 0 0 0 0 a1 a0",
9713 writepage = " 1 1 0 0 0 0 1 0",
9715 " a7 a6 a5 a4 a3 a2 0 0",
9728 min_write_delay = 4500;
9729 max_write_delay = 4500;
9732 read_lo = " 0 0 1 0 0 0 0 0",
9733 " 0 0 0 0 0 a10 a9 a8",
9734 " a7 a6 a5 a4 a3 a2 a1 a0",
9737 read_hi = " 0 0 1 0 1 0 0 0",
9738 " 0 0 0 0 0 a10 a9 a8",
9739 " a7 a6 a5 a4 a3 a2 a1 a0",
9742 loadpage_lo = " 0 1 0 0 0 0 0 0",
9744 " x x x a4 a3 a2 a1 a0",
9747 loadpage_hi = " 0 1 0 0 1 0 0 0",
9749 " x x x a4 a3 a2 a1 a0",
9752 writepage = " 0 1 0 0 1 1 0 0",
9753 " 0 0 0 0 0 a10 a9 a8",
9754 " a7 a6 a5 x x x x x",
9762 # ATtiny4313 has Signature Bytes: 0x1E 0x92 0x0D.
9765 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
9766 "x x x x x x a1 a0 o o o o o o o o";
9770 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
9771 "x x x x x x x x 1 1 i i i i i i";
9772 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
9773 "x x x x x x x x x x o o o o o o";
9774 min_write_delay = 9000;
9775 max_write_delay = 9000;
9780 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
9781 "x x x x x x x x i i i i i i i i";
9783 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
9784 "x x x x x x x x o o o o o o o o";
9785 min_write_delay = 9000;
9786 max_write_delay = 9000;
9791 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
9792 "x x x x x x x x i i i i i i i i";
9794 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
9795 "x x x x x x x x o o o o o o o o";
9796 min_write_delay = 9000;
9797 max_write_delay = 9000;
9802 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
9803 "x x x x x x x x x x x x x x x i";
9805 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
9806 "x x x x x x x x o o o o o o o o";
9807 min_write_delay = 9000;
9808 max_write_delay = 9000;
9811 memory "calibration"
9813 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
9814 "0 0 0 0 0 0 0 a0 o o o o o o o o";
9818 #------------------------------------------------------------
9820 #------------------------------------------------------------
9825 has_debugwire = yes;
9826 flash_instr = 0xB6, 0x01, 0x11;
9827 eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
9828 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF,
9829 0x99, 0xF9, 0xBB, 0xAF;
9830 stk500_devcode = 0x65;
9831 ## avr910_devcode = ?;
9832 signature = 0x1e 0x93 0x81;
9836 chip_erase_delay = 9000;
9838 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
9839 "x x x x x x x x x x x x x x x x";
9841 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
9842 "x x x x x x x x x x x x x x x x";
9856 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
9857 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
9858 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
9859 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
9860 hventerstabdelay = 100;
9867 hvleavestabdelay = 15;
9868 chiperasepulsewidth = 0;
9869 chiperasepolltimeout = 10;
9870 programfusepulsewidth = 0;
9871 programfusepolltimeout = 5;
9872 programlockpulsewidth = 0;
9873 programlockpolltimeout = 5;
9879 min_write_delay = 4000;
9880 max_write_delay = 4500;
9883 read = "1 0 1 0 0 0 0 0 0 0 0 x x x x a8",
9884 "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
9886 write = "1 1 0 0 0 0 0 0 0 0 0 x x x x a8",
9887 "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
9889 loadpage_lo = " 1 1 0 0 0 0 0 1",
9891 " 0 0 0 0 0 0 a1 a0",
9894 writepage = " 1 1 0 0 0 0 1 0",
9896 " a7 a6 a5 a4 a3 a2 0 0",
9909 min_write_delay = 4500;
9910 max_write_delay = 4500;
9913 read_lo = " 0 0 1 0 0 0 0 0",
9914 " 0 0 0 0 a11 a10 a9 a8",
9915 " a7 a6 a5 a4 a3 a2 a1 a0",
9918 read_hi = " 0 0 1 0 1 0 0 0",
9919 " 0 0 0 0 a11 a10 a9 a8",
9920 " a7 a6 a5 a4 a3 a2 a1 a0",
9923 loadpage_lo = " 0 1 0 0 0 0 0 0",
9925 " x x x a4 a3 a2 a1 a0",
9928 loadpage_hi = " 0 1 0 0 1 0 0 0",
9930 " x x x a4 a3 a2 a1 a0",
9933 writepage = " 0 1 0 0 1 1 0 0",
9934 " 0 0 0 0 a11 a10 a9 a8",
9935 " a7 a6 a5 x x x x x",
9943 # AT90PWM2 has Signature Bytes: 0x1E 0x93 0x81.
9946 read = "0 0 1 1 0 0 0 0 0 0 x x x x x x",
9947 "x x x x x x a1 a0 o o o o o o o o";
9951 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
9952 "x x x x x x x x 1 1 i i i i i i";
9954 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
9955 "x x x x x x x x x x o o o o o o";
9956 min_write_delay = 9000;
9957 max_write_delay = 9000;
9962 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
9963 "x x x x x x x x i i i i i i i i";
9965 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
9966 "x x x x x x x x o o o o o o o o";
9967 min_write_delay = 9000;
9968 max_write_delay = 9000;
9973 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
9974 "x x x x x x x x i i i i i i i i";
9976 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
9977 "x x x x x x x x o o o o o o o o";
9978 min_write_delay = 9000;
9979 max_write_delay = 9000;
9984 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
9985 "x x x x x x x x x x x x x x x i";
9987 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
9988 "x x x x x x x x o o o o o o o o";
9989 min_write_delay = 9000;
9990 max_write_delay = 9000;
9993 memory "calibration"
9995 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
9996 "0 0 0 0 0 0 0 0 o o o o o o o o";
10000 #------------------------------------------------------------
10002 #------------------------------------------------------------
10004 # Completely identical to AT90PWM2 (including the signature!)
10009 has_debugwire = yes;
10010 flash_instr = 0xB6, 0x01, 0x11;
10011 eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
10012 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF,
10013 0x99, 0xF9, 0xBB, 0xAF;
10014 stk500_devcode = 0x65;
10015 ## avr910_devcode = ?;
10016 signature = 0x1e 0x93 0x81;
10020 chip_erase_delay = 9000;
10022 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
10023 "x x x x x x x x x x x x x x x x";
10025 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
10026 "x x x x x x x x x x x x x x x x";
10040 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
10041 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
10042 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
10043 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
10044 hventerstabdelay = 100;
10048 poweroffdelay = 15;
10051 hvleavestabdelay = 15;
10052 chiperasepulsewidth = 0;
10053 chiperasepolltimeout = 10;
10054 programfusepulsewidth = 0;
10055 programfusepolltimeout = 5;
10056 programlockpulsewidth = 0;
10057 programlockpolltimeout = 5;
10063 min_write_delay = 4000;
10064 max_write_delay = 4500;
10065 readback_p1 = 0xff;
10066 readback_p2 = 0xff;
10067 read = "1 0 1 0 0 0 0 0 0 0 0 x x x x a8",
10068 "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
10070 write = "1 1 0 0 0 0 0 0 0 0 0 x x x x a8",
10071 "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
10073 loadpage_lo = " 1 1 0 0 0 0 0 1",
10074 " 0 0 0 0 0 0 0 0",
10075 " 0 0 0 0 0 0 a1 a0",
10076 " i i i i i i i i";
10078 writepage = " 1 1 0 0 0 0 1 0",
10079 " 0 0 x x x x x x",
10080 " a7 a6 a5 a4 a3 a2 0 0",
10081 " x x x x x x x x";
10093 min_write_delay = 4500;
10094 max_write_delay = 4500;
10095 readback_p1 = 0xff;
10096 readback_p2 = 0xff;
10097 read_lo = " 0 0 1 0 0 0 0 0",
10098 " 0 0 0 0 a11 a10 a9 a8",
10099 " a7 a6 a5 a4 a3 a2 a1 a0",
10100 " o o o o o o o o";
10102 read_hi = " 0 0 1 0 1 0 0 0",
10103 " 0 0 0 0 a11 a10 a9 a8",
10104 " a7 a6 a5 a4 a3 a2 a1 a0",
10105 " o o o o o o o o";
10107 loadpage_lo = " 0 1 0 0 0 0 0 0",
10108 " 0 0 0 x x x x x",
10109 " x x x a4 a3 a2 a1 a0",
10110 " i i i i i i i i";
10112 loadpage_hi = " 0 1 0 0 1 0 0 0",
10113 " 0 0 0 x x x x x",
10114 " x x x a4 a3 a2 a1 a0",
10115 " i i i i i i i i";
10117 writepage = " 0 1 0 0 1 1 0 0",
10118 " 0 0 0 0 a11 a10 a9 a8",
10119 " a7 a6 a5 x x x x x",
10120 " x x x x x x x x";
10127 # AT90PWM2 has Signature Bytes: 0x1E 0x93 0x81.
10130 read = "0 0 1 1 0 0 0 0 0 0 x x x x x x",
10131 "x x x x x x a1 a0 o o o o o o o o";
10135 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
10136 "x x x x x x x x 1 1 i i i i i i";
10138 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
10139 "x x x x x x x x x x o o o o o o";
10140 min_write_delay = 9000;
10141 max_write_delay = 9000;
10146 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
10147 "x x x x x x x x i i i i i i i i";
10149 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
10150 "x x x x x x x x o o o o o o o o";
10151 min_write_delay = 9000;
10152 max_write_delay = 9000;
10157 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
10158 "x x x x x x x x i i i i i i i i";
10160 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
10161 "x x x x x x x x o o o o o o o o";
10162 min_write_delay = 9000;
10163 max_write_delay = 9000;
10168 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
10169 "x x x x x x x x x x x x x x x i";
10171 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
10172 "x x x x x x x x o o o o o o o o";
10173 min_write_delay = 9000;
10174 max_write_delay = 9000;
10177 memory "calibration"
10179 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
10180 "0 0 0 0 0 0 0 0 o o o o o o o o";
10184 #------------------------------------------------------------
10186 #------------------------------------------------------------
10187 # Same as AT90PWM2 but different signature.
10191 desc = "AT90PWM2B";
10192 has_debugwire = yes;
10193 flash_instr = 0xB6, 0x01, 0x11;
10194 eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
10195 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF,
10196 0x99, 0xF9, 0xBB, 0xAF;
10197 stk500_devcode = 0x65;
10198 ## avr910_devcode = ?;
10199 signature = 0x1e 0x93 0x83;
10203 chip_erase_delay = 9000;
10205 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
10206 "x x x x x x x x x x x x x x x x";
10208 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
10209 "x x x x x x x x x x x x x x x x";
10223 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
10224 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
10225 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
10226 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
10227 hventerstabdelay = 100;
10231 poweroffdelay = 15;
10234 hvleavestabdelay = 15;
10235 chiperasepulsewidth = 0;
10236 chiperasepolltimeout = 10;
10237 programfusepulsewidth = 0;
10238 programfusepolltimeout = 5;
10239 programlockpulsewidth = 0;
10240 programlockpolltimeout = 5;
10246 min_write_delay = 4000;
10247 max_write_delay = 4500;
10248 readback_p1 = 0xff;
10249 readback_p2 = 0xff;
10250 read = "1 0 1 0 0 0 0 0 0 0 0 x x x x a8",
10251 "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
10253 write = "1 1 0 0 0 0 0 0 0 0 0 x x x x a8",
10254 "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
10256 loadpage_lo = " 1 1 0 0 0 0 0 1",
10257 " 0 0 0 0 0 0 0 0",
10258 " 0 0 0 0 0 0 a1 a0",
10259 " i i i i i i i i";
10261 writepage = " 1 1 0 0 0 0 1 0",
10262 " 0 0 x x x x x x",
10263 " a7 a6 a5 a4 a3 a2 0 0",
10264 " x x x x x x x x";
10276 min_write_delay = 4500;
10277 max_write_delay = 4500;
10278 readback_p1 = 0xff;
10279 readback_p2 = 0xff;
10280 read_lo = " 0 0 1 0 0 0 0 0",
10281 " 0 0 0 0 a11 a10 a9 a8",
10282 " a7 a6 a5 a4 a3 a2 a1 a0",
10283 " o o o o o o o o";
10285 read_hi = " 0 0 1 0 1 0 0 0",
10286 " 0 0 0 0 a11 a10 a9 a8",
10287 " a7 a6 a5 a4 a3 a2 a1 a0",
10288 " o o o o o o o o";
10290 loadpage_lo = " 0 1 0 0 0 0 0 0",
10291 " 0 0 0 x x x x x",
10292 " x x x a4 a3 a2 a1 a0",
10293 " i i i i i i i i";
10295 loadpage_hi = " 0 1 0 0 1 0 0 0",
10296 " 0 0 0 x x x x x",
10297 " x x x a4 a3 a2 a1 a0",
10298 " i i i i i i i i";
10300 writepage = " 0 1 0 0 1 1 0 0",
10301 " 0 0 0 0 a11 a10 a9 a8",
10302 " a7 a6 a5 x x x x x",
10303 " x x x x x x x x";
10312 read = "0 0 1 1 0 0 0 0 0 0 x x x x x x",
10313 "x x x x x x a1 a0 o o o o o o o o";
10317 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
10318 "x x x x x x x x 1 1 i i i i i i";
10320 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
10321 "x x x x x x x x x x o o o o o o";
10322 min_write_delay = 9000;
10323 max_write_delay = 9000;
10328 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
10329 "x x x x x x x x i i i i i i i i";
10331 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
10332 "x x x x x x x x o o o o o o o o";
10333 min_write_delay = 9000;
10334 max_write_delay = 9000;
10339 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
10340 "x x x x x x x x i i i i i i i i";
10342 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
10343 "x x x x x x x x o o o o o o o o";
10344 min_write_delay = 9000;
10345 max_write_delay = 9000;
10350 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
10351 "x x x x x x x x x x x x x x x i";
10353 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
10354 "x x x x x x x x o o o o o o o o";
10355 min_write_delay = 9000;
10356 max_write_delay = 9000;
10359 memory "calibration"
10361 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
10362 "0 0 0 0 0 0 0 0 o o o o o o o o";
10366 #------------------------------------------------------------
10368 #------------------------------------------------------------
10370 # Completely identical to AT90PWM2B (including the signature!)
10374 desc = "AT90PWM3B";
10375 has_debugwire = yes;
10376 flash_instr = 0xB6, 0x01, 0x11;
10377 eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
10378 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF,
10379 0x99, 0xF9, 0xBB, 0xAF;
10380 stk500_devcode = 0x65;
10381 ## avr910_devcode = ?;
10382 signature = 0x1e 0x93 0x83;
10386 chip_erase_delay = 9000;
10388 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
10389 "x x x x x x x x x x x x x x x x";
10391 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
10392 "x x x x x x x x x x x x x x x x";
10406 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
10407 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
10408 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
10409 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
10410 hventerstabdelay = 100;
10414 poweroffdelay = 15;
10417 hvleavestabdelay = 15;
10418 chiperasepulsewidth = 0;
10419 chiperasepolltimeout = 10;
10420 programfusepulsewidth = 0;
10421 programfusepolltimeout = 5;
10422 programlockpulsewidth = 0;
10423 programlockpolltimeout = 5;
10429 min_write_delay = 4000;
10430 max_write_delay = 4500;
10431 readback_p1 = 0xff;
10432 readback_p2 = 0xff;
10433 read = "1 0 1 0 0 0 0 0 0 0 0 x x x x a8",
10434 "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
10436 write = "1 1 0 0 0 0 0 0 0 0 0 x x x x a8",
10437 "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
10439 loadpage_lo = " 1 1 0 0 0 0 0 1",
10440 " 0 0 0 0 0 0 0 0",
10441 " 0 0 0 0 0 0 a1 a0",
10442 " i i i i i i i i";
10444 writepage = " 1 1 0 0 0 0 1 0",
10445 " 0 0 x x x x x x",
10446 " a7 a6 a5 a4 a3 a2 0 0",
10447 " x x x x x x x x";
10459 min_write_delay = 4500;
10460 max_write_delay = 4500;
10461 readback_p1 = 0xff;
10462 readback_p2 = 0xff;
10463 read_lo = " 0 0 1 0 0 0 0 0",
10464 " 0 0 0 0 a11 a10 a9 a8",
10465 " a7 a6 a5 a4 a3 a2 a1 a0",
10466 " o o o o o o o o";
10468 read_hi = " 0 0 1 0 1 0 0 0",
10469 " 0 0 0 0 a11 a10 a9 a8",
10470 " a7 a6 a5 a4 a3 a2 a1 a0",
10471 " o o o o o o o o";
10473 loadpage_lo = " 0 1 0 0 0 0 0 0",
10474 " 0 0 0 x x x x x",
10475 " x x x a4 a3 a2 a1 a0",
10476 " i i i i i i i i";
10478 loadpage_hi = " 0 1 0 0 1 0 0 0",
10479 " 0 0 0 x x x x x",
10480 " x x x a4 a3 a2 a1 a0",
10481 " i i i i i i i i";
10483 writepage = " 0 1 0 0 1 1 0 0",
10484 " 0 0 0 0 a11 a10 a9 a8",
10485 " a7 a6 a5 x x x x x",
10486 " x x x x x x x x";
10495 read = "0 0 1 1 0 0 0 0 0 0 x x x x x x",
10496 "x x x x x x a1 a0 o o o o o o o o";
10500 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
10501 "x x x x x x x x 1 1 i i i i i i";
10503 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
10504 "x x x x x x x x x x o o o o o o";
10505 min_write_delay = 9000;
10506 max_write_delay = 9000;
10511 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
10512 "x x x x x x x x i i i i i i i i";
10514 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
10515 "x x x x x x x x o o o o o o o o";
10516 min_write_delay = 9000;
10517 max_write_delay = 9000;
10522 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
10523 "x x x x x x x x i i i i i i i i";
10525 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
10526 "x x x x x x x x o o o o o o o o";
10527 min_write_delay = 9000;
10528 max_write_delay = 9000;
10533 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
10534 "x x x x x x x x x x x x x x x i";
10536 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
10537 "x x x x x x x x o o o o o o o o";
10538 min_write_delay = 9000;
10539 max_write_delay = 9000;
10542 memory "calibration"
10544 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
10545 "0 0 0 0 0 0 0 0 o o o o o o o o";
10549 #------------------------------------------------------------
10551 #------------------------------------------------------------
10556 has_debugwire = yes;
10557 flash_instr = 0xB4, 0x02, 0x12;
10558 eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
10559 0xBC, 0x02, 0xB4, 0x02, 0xBA, 0x0D, 0xBB, 0xBC,
10560 0x99, 0xE1, 0xBB, 0xAC;
10561 ## no STK500 devcode in XML file, use the ATtiny45 one
10562 stk500_devcode = 0x14;
10563 ## avr910_devcode = ?;
10564 ## Try the AT90S2313 devcode:
10565 avr910_devcode = 0x20;
10566 signature = 0x1e 0x91 0x08;
10568 chip_erase_delay = 4500;
10570 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
10571 "x x x x x x x x x x x x x x x x";
10573 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
10574 "x x x x x x x x x x x x x x x x";
10587 hvsp_controlstack =
10588 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66,
10589 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78,
10590 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
10591 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00;
10592 hventerstabdelay = 100;
10593 hvspcmdexedelay = 0;
10597 poweroffdelay = 25;
10600 hvleavestabdelay = 100;
10602 chiperasepolltimeout = 40;
10604 programfusepolltimeout = 25;
10605 programlockpolltimeout = 25;
10611 min_write_delay = 4000;
10612 max_write_delay = 4500;
10613 readback_p1 = 0xff;
10614 readback_p2 = 0xff;
10615 read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x",
10616 "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
10618 write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x",
10619 "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
10621 loadpage_lo = " 1 1 0 0 0 0 0 1",
10622 " 0 0 0 0 0 0 0 0",
10623 " 0 0 0 0 0 0 a1 a0",
10624 " i i i i i i i i";
10626 writepage = " 1 1 0 0 0 0 1 0",
10627 " 0 0 x x x x x x",
10628 " x a6 a5 a4 a3 a2 0 0",
10629 " x x x x x x x x";
10641 min_write_delay = 4500;
10642 max_write_delay = 4500;
10643 readback_p1 = 0xff;
10644 readback_p2 = 0xff;
10645 read_lo = " 0 0 1 0 0 0 0 0",
10646 " 0 0 0 0 0 0 a9 a8",
10647 " a7 a6 a5 a4 a3 a2 a1 a0",
10648 " o o o o o o o o";
10650 read_hi = " 0 0 1 0 1 0 0 0",
10651 " 0 0 0 0 0 0 a9 a8",
10652 " a7 a6 a5 a4 a3 a2 a1 a0",
10653 " o o o o o o o o";
10655 loadpage_lo = " 0 1 0 0 0 0 0 0",
10656 " 0 0 0 x x x x x",
10657 " x x x x a3 a2 a1 a0",
10658 " i i i i i i i i";
10660 loadpage_hi = " 0 1 0 0 1 0 0 0",
10661 " 0 0 0 x x x x x",
10662 " x x x x a3 a2 a1 a0",
10663 " i i i i i i i i";
10665 writepage = " 0 1 0 0 1 1 0 0",
10666 " 0 0 0 0 0 0 a9 a8",
10667 " a7 a6 a5 a4 x x x x",
10668 " x x x x x x x x";
10675 # ATtiny25 has Signature Bytes: 0x1E 0x91 0x08.
10678 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
10679 "x x x x x x a1 a0 o o o o o o o o";
10683 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
10684 "x x x x x x x x 1 1 i i i i i i";
10685 min_write_delay = 9000;
10686 max_write_delay = 9000;
10691 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
10692 "x x x x x x x x i i i i i i i i";
10694 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
10695 "x x x x x x x x o o o o o o o o";
10696 min_write_delay = 9000;
10697 max_write_delay = 9000;
10702 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
10703 "x x x x x x x x i i i i i i i i";
10705 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
10706 "x x x x x x x x o o o o o o o o";
10707 min_write_delay = 9000;
10708 max_write_delay = 9000;
10713 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
10714 "x x x x x x x x x x x x x x x i";
10716 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
10717 "x x x x x x x x o o o o o o o o";
10718 min_write_delay = 9000;
10719 max_write_delay = 9000;
10722 memory "calibration"
10724 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
10725 "0 0 0 0 0 0 0 a0 o o o o o o o o";
10729 #------------------------------------------------------------
10731 #------------------------------------------------------------
10736 has_debugwire = yes;
10737 flash_instr = 0xB4, 0x02, 0x12;
10738 eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
10739 0xBC, 0x02, 0xB4, 0x02, 0xBA, 0x0D, 0xBB, 0xBC,
10740 0x99, 0xE1, 0xBB, 0xAC;
10741 stk500_devcode = 0x14;
10742 ## avr910_devcode = ?;
10743 ## Try the AT90S2313 devcode:
10744 avr910_devcode = 0x20;
10745 signature = 0x1e 0x92 0x06;
10747 chip_erase_delay = 4500;
10749 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
10750 "x x x x x x x x x x x x x x x x";
10752 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
10753 "x x x x x x x x x x x x x x x x";
10766 hvsp_controlstack =
10767 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66,
10768 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78,
10769 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
10770 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00;
10771 hventerstabdelay = 100;
10773 hvspcmdexedelay = 0;
10777 poweroffdelay = 25;
10780 hvleavestabdelay = 100;
10782 chiperasepolltimeout = 40;
10784 programfusepolltimeout = 25;
10785 programlockpolltimeout = 25;
10790 min_write_delay = 4000;
10791 max_write_delay = 4500;
10792 readback_p1 = 0xff;
10793 readback_p2 = 0xff;
10794 read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x",
10795 "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
10797 write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x",
10798 "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
10800 loadpage_lo = " 1 1 0 0 0 0 0 1",
10801 " 0 0 0 0 0 0 0 0",
10802 " 0 0 0 0 0 0 a1 a0",
10803 " i i i i i i i i";
10805 writepage = " 1 1 0 0 0 0 1 0",
10806 " 0 0 x x x x x x",
10807 " a7 a6 a5 a4 a3 a2 0 0",
10808 " x x x x x x x x";
10820 min_write_delay = 4500;
10821 max_write_delay = 4500;
10822 readback_p1 = 0xff;
10823 readback_p2 = 0xff;
10824 read_lo = " 0 0 1 0 0 0 0 0",
10825 " 0 0 0 0 0 a10 a9 a8",
10826 " a7 a6 a5 a4 a3 a2 a1 a0",
10827 " o o o o o o o o";
10829 read_hi = " 0 0 1 0 1 0 0 0",
10830 " 0 0 0 0 0 a10 a9 a8",
10831 " a7 a6 a5 a4 a3 a2 a1 a0",
10832 " o o o o o o o o";
10834 loadpage_lo = " 0 1 0 0 0 0 0 0",
10835 " 0 0 0 x x x x x",
10836 " x x x a4 a3 a2 a1 a0",
10837 " i i i i i i i i";
10839 loadpage_hi = " 0 1 0 0 1 0 0 0",
10840 " 0 0 0 x x x x x",
10841 " x x x a4 a3 a2 a1 a0",
10842 " i i i i i i i i";
10844 writepage = " 0 1 0 0 1 1 0 0",
10845 " 0 0 0 0 0 a10 a9 a8",
10846 " a7 a6 a5 x x x x x",
10847 " x x x x x x x x";
10854 # ATtiny45 has Signature Bytes: 0x1E 0x92 0x08. (Data sheet 2586C-AVR-06/05 (doc2586.pdf) indicates otherwise!)
10857 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
10858 "x x x x x x a1 a0 o o o o o o o o";
10862 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
10863 "x x x x x x x x 1 1 i i i i i i";
10864 min_write_delay = 9000;
10865 max_write_delay = 9000;
10870 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
10871 "x x x x x x x x i i i i i i i i";
10873 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
10874 "x x x x x x x x o o o o o o o o";
10875 min_write_delay = 9000;
10876 max_write_delay = 9000;
10881 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
10882 "x x x x x x x x i i i i i i i i";
10884 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
10885 "x x x x x x x x o o o o o o o o";
10886 min_write_delay = 9000;
10887 max_write_delay = 9000;
10892 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
10893 "x x x x x x x x x x x x x x x i";
10895 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
10896 "x x x x x x x x o o o o o o o o";
10897 min_write_delay = 9000;
10898 max_write_delay = 9000;
10901 memory "calibration"
10903 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
10904 "0 0 0 0 0 0 0 a0 o o o o o o o o";
10908 #------------------------------------------------------------
10910 #------------------------------------------------------------
10915 has_debugwire = yes;
10916 flash_instr = 0xB4, 0x02, 0x12;
10917 eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
10918 0xBC, 0x02, 0xB4, 0x02, 0xBA, 0x0D, 0xBB, 0xBC,
10919 0x99, 0xE1, 0xBB, 0xAC;
10920 ## no STK500 devcode in XML file, use the ATtiny45 one
10921 stk500_devcode = 0x14;
10922 ## avr910_devcode = ?;
10923 ## Try the AT90S2313 devcode:
10924 avr910_devcode = 0x20;
10925 signature = 0x1e 0x93 0x0b;
10927 chip_erase_delay = 4500;
10929 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
10930 "x x x x x x x x x x x x x x x x";
10932 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
10933 "x x x x x x x x x x x x x x x x";
10946 hvsp_controlstack =
10947 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66,
10948 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78,
10949 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
10950 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00;
10951 hventerstabdelay = 100;
10952 hvspcmdexedelay = 0;
10956 poweroffdelay = 25;
10959 hvleavestabdelay = 100;
10961 chiperasepolltimeout = 40;
10963 programfusepolltimeout = 25;
10964 programlockpolltimeout = 25;
10970 min_write_delay = 4000;
10971 max_write_delay = 4500;
10972 readback_p1 = 0xff;
10973 readback_p2 = 0xff;
10974 read = "1 0 1 0 0 0 0 0 0 0 0 x x x x a8",
10975 "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
10977 write = "1 1 0 0 0 0 0 0 0 0 0 x x x x a8",
10978 "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
10980 loadpage_lo = " 1 1 0 0 0 0 0 1",
10981 " 0 0 0 0 0 0 0 0",
10982 " 0 0 0 0 0 0 a1 a0",
10983 " i i i i i i i i";
10985 writepage = " 1 1 0 0 0 0 1 0",
10986 " 0 0 x x x x x a8",
10987 " a7 a6 a5 a4 a3 a2 0 0",
10988 " x x x x x x x x";
11000 min_write_delay = 4500;
11001 max_write_delay = 4500;
11002 readback_p1 = 0xff;
11003 readback_p2 = 0xff;
11004 read_lo = " 0 0 1 0 0 0 0 0",
11005 " 0 0 0 0 a11 a10 a9 a8",
11006 " a7 a6 a5 a4 a3 a2 a1 a0",
11007 " o o o o o o o o";
11009 read_hi = " 0 0 1 0 1 0 0 0",
11010 " 0 0 0 0 a11 a10 a9 a8",
11011 " a7 a6 a5 a4 a3 a2 a1 a0",
11012 " o o o o o o o o";
11014 loadpage_lo = " 0 1 0 0 0 0 0 0",
11015 " 0 0 0 x x x x x",
11016 " x x x a4 a3 a2 a1 a0",
11017 " i i i i i i i i";
11019 loadpage_hi = " 0 1 0 0 1 0 0 0",
11020 " 0 0 0 x x x x x",
11021 " x x x a4 a3 a2 a1 a0",
11022 " i i i i i i i i";
11024 writepage = " 0 1 0 0 1 1 0 0",
11025 " 0 0 0 0 a11 a10 a9 a8",
11026 " a7 a6 a5 x x x x x",
11027 " x x x x x x x x";
11034 # ATtiny85 has Signature Bytes: 0x1E 0x93 0x08.
11037 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
11038 "x x x x x x a1 a0 o o o o o o o o";
11042 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
11043 "x x x x x x x x 1 1 i i i i i i";
11044 min_write_delay = 9000;
11045 max_write_delay = 9000;
11050 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
11051 "x x x x x x x x i i i i i i i i";
11053 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
11054 "x x x x x x x x o o o o o o o o";
11055 min_write_delay = 9000;
11056 max_write_delay = 9000;
11061 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
11062 "x x x x x x x x i i i i i i i i";
11064 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
11065 "x x x x x x x x o o o o o o o o";
11066 min_write_delay = 9000;
11067 max_write_delay = 9000;
11072 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
11073 "x x x x x x x x x x x x x x x i";
11075 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
11076 "x x x x x x x x o o o o o o o o";
11077 min_write_delay = 9000;
11078 max_write_delay = 9000;
11081 memory "calibration"
11083 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
11084 "0 0 0 0 0 0 0 a0 o o o o o o o o";
11088 #------------------------------------------------------------
11090 #------------------------------------------------------------
11091 # Almost same as ATmega1280, except for different memory sizes
11095 desc = "ATMEGA640";
11096 signature = 0x1e 0x96 0x08;
11098 # stk500_devcode = 0xB2;
11099 # avr910_devcode = 0x43;
11100 chip_erase_delay = 9000;
11104 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
11105 "x x x x x x x x x x x x x x x x";
11107 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
11108 "x x x x x x x x x x x x x x x x";
11122 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
11123 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
11124 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
11125 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
11126 hventerstabdelay = 100;
11130 poweroffdelay = 15;
11133 hvleavestabdelay = 15;
11134 chiperasepulsewidth = 0;
11135 chiperasepolltimeout = 10;
11136 programfusepulsewidth = 0;
11137 programfusepolltimeout = 5;
11138 programlockpulsewidth = 0;
11139 programlockpolltimeout = 5;
11144 allowfullpagebitstream = no;
11147 paged = no; /* leave this "no" */
11148 page_size = 8; /* for parallel programming */
11150 min_write_delay = 9000;
11151 max_write_delay = 9000;
11152 readback_p1 = 0x00;
11153 readback_p2 = 0x00;
11154 read = " 1 0 1 0 0 0 0 0",
11155 " x x x x a11 a10 a9 a8",
11156 " a7 a6 a5 a4 a3 a2 a1 a0",
11157 " o o o o o o o o";
11159 write = " 1 1 0 0 0 0 0 0",
11160 " x x x x a11 a10 a9 a8",
11161 " a7 a6 a5 a4 a3 a2 a1 a0",
11162 " i i i i i i i i";
11164 loadpage_lo = " 1 1 0 0 0 0 0 1",
11165 " 0 0 0 0 0 0 0 0",
11166 " 0 0 0 0 0 a2 a1 a0",
11167 " i i i i i i i i";
11169 writepage = " 1 1 0 0 0 0 1 0",
11170 " 0 0 x x a11 a10 a9 a8",
11171 " a7 a6 a5 a4 a3 0 0 0",
11172 " x x x x x x x x";
11185 min_write_delay = 4500;
11186 max_write_delay = 4500;
11187 readback_p1 = 0x00;
11188 readback_p2 = 0x00;
11189 read_lo = " 0 0 1 0 0 0 0 0",
11190 " 0 a14 a13 a12 a11 a10 a9 a8",
11191 " a7 a6 a5 a4 a3 a2 a1 a0",
11192 " o o o o o o o o";
11194 read_hi = " 0 0 1 0 1 0 0 0",
11195 " 0 a14 a13 a12 a11 a10 a9 a8",
11196 " a7 a6 a5 a4 a3 a2 a1 a0",
11197 " o o o o o o o o";
11199 loadpage_lo = " 0 1 0 0 0 0 0 0",
11200 " x x x x x x x x",
11201 " x a6 a5 a4 a3 a2 a1 a0",
11202 " i i i i i i i i";
11204 loadpage_hi = " 0 1 0 0 1 0 0 0",
11205 " x x x x x x x x",
11206 " x a6 a5 a4 a3 a2 a1 a0",
11207 " i i i i i i i i";
11209 writepage = " 0 1 0 0 1 1 0 0",
11210 " 0 a14 a13 a12 a11 a10 a9 a8",
11211 " a7 x x x x x x x",
11212 " x x x x x x x x";
11222 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
11223 "x x x x x x x x i i i i i i i i";
11225 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
11226 "x x x x x x x x o o o o o o o o";
11227 min_write_delay = 9000;
11228 max_write_delay = 9000;
11233 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
11234 "x x x x x x x x i i i i i i i i";
11236 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
11237 "x x x x x x x x o o o o o o o o";
11238 min_write_delay = 9000;
11239 max_write_delay = 9000;
11244 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
11245 "x x x x x x x x x x x x x i i i";
11247 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
11248 "x x x x x x x x o o o o o o o o";
11249 min_write_delay = 9000;
11250 max_write_delay = 9000;
11255 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
11256 "x x x x x x x x x x o o o o o o";
11258 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
11259 "x x x x x x x x 1 1 i i i i i i";
11260 min_write_delay = 9000;
11261 max_write_delay = 9000;
11264 memory "calibration"
11266 read = "0 0 1 1 1 0 0 0 x x x x x x x x",
11267 "0 0 0 0 0 0 0 0 o o o o o o o o";
11272 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
11273 "x x x x x x a1 a0 o o o o o o o o";
11277 #------------------------------------------------------------
11279 #------------------------------------------------------------
11283 desc = "ATMEGA1280";
11284 signature = 0x1e 0x97 0x03;
11286 # stk500_devcode = 0xB2;
11287 # avr910_devcode = 0x43;
11288 chip_erase_delay = 9000;
11292 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
11293 "x x x x x x x x x x x x x x x x";
11295 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
11296 "x x x x x x x x x x x x x x x x";
11310 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
11311 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
11312 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
11313 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
11314 hventerstabdelay = 100;
11318 poweroffdelay = 15;
11321 hvleavestabdelay = 15;
11322 chiperasepulsewidth = 0;
11323 chiperasepolltimeout = 10;
11324 programfusepulsewidth = 0;
11325 programfusepolltimeout = 5;
11326 programlockpulsewidth = 0;
11327 programlockpolltimeout = 5;
11332 allowfullpagebitstream = no;
11335 paged = no; /* leave this "no" */
11336 page_size = 8; /* for parallel programming */
11338 min_write_delay = 9000;
11339 max_write_delay = 9000;
11340 readback_p1 = 0x00;
11341 readback_p2 = 0x00;
11342 read = " 1 0 1 0 0 0 0 0",
11343 " x x x x a11 a10 a9 a8",
11344 " a7 a6 a5 a4 a3 a2 a1 a0",
11345 " o o o o o o o o";
11347 write = " 1 1 0 0 0 0 0 0",
11348 " x x x x a11 a10 a9 a8",
11349 " a7 a6 a5 a4 a3 a2 a1 a0",
11350 " i i i i i i i i";
11352 loadpage_lo = " 1 1 0 0 0 0 0 1",
11353 " 0 0 0 0 0 0 0 0",
11354 " 0 0 0 0 0 a2 a1 a0",
11355 " i i i i i i i i";
11357 writepage = " 1 1 0 0 0 0 1 0",
11358 " 0 0 x x a11 a10 a9 a8",
11359 " a7 a6 a5 a4 a3 0 0 0",
11360 " x x x x x x x x";
11373 min_write_delay = 4500;
11374 max_write_delay = 4500;
11375 readback_p1 = 0x00;
11376 readback_p2 = 0x00;
11377 read_lo = " 0 0 1 0 0 0 0 0",
11378 "a15 a14 a13 a12 a11 a10 a9 a8",
11379 " a7 a6 a5 a4 a3 a2 a1 a0",
11380 " o o o o o o o o";
11382 read_hi = " 0 0 1 0 1 0 0 0",
11383 "a15 a14 a13 a12 a11 a10 a9 a8",
11384 " a7 a6 a5 a4 a3 a2 a1 a0",
11385 " o o o o o o o o";
11387 loadpage_lo = " 0 1 0 0 0 0 0 0",
11388 " x x x x x x x x",
11389 " x a6 a5 a4 a3 a2 a1 a0",
11390 " i i i i i i i i";
11392 loadpage_hi = " 0 1 0 0 1 0 0 0",
11393 " x x x x x x x x",
11394 " x a6 a5 a4 a3 a2 a1 a0",
11395 " i i i i i i i i";
11397 writepage = " 0 1 0 0 1 1 0 0",
11398 "a15 a14 a13 a12 a11 a10 a9 a8",
11399 " a7 x x x x x x x",
11400 " x x x x x x x x";
11410 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
11411 "x x x x x x x x i i i i i i i i";
11413 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
11414 "x x x x x x x x o o o o o o o o";
11415 min_write_delay = 9000;
11416 max_write_delay = 9000;
11421 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
11422 "x x x x x x x x i i i i i i i i";
11424 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
11425 "x x x x x x x x o o o o o o o o";
11426 min_write_delay = 9000;
11427 max_write_delay = 9000;
11432 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
11433 "x x x x x x x x x x x x x i i i";
11435 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
11436 "x x x x x x x x o o o o o o o o";
11437 min_write_delay = 9000;
11438 max_write_delay = 9000;
11443 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
11444 "x x x x x x x x x x o o o o o o";
11446 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
11447 "x x x x x x x x 1 1 i i i i i i";
11448 min_write_delay = 9000;
11449 max_write_delay = 9000;
11452 memory "calibration"
11454 read = "0 0 1 1 1 0 0 0 x x x x x x x x",
11455 "0 0 0 0 0 0 0 0 o o o o o o o o";
11460 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
11461 "x x x x x x a1 a0 o o o o o o o o";
11465 #------------------------------------------------------------
11467 #------------------------------------------------------------
11468 # Identical to ATmega1280
11472 desc = "ATMEGA1281";
11473 signature = 0x1e 0x97 0x04;
11475 # stk500_devcode = 0xB2;
11476 # avr910_devcode = 0x43;
11477 chip_erase_delay = 9000;
11481 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
11482 "x x x x x x x x x x x x x x x x";
11484 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
11485 "x x x x x x x x x x x x x x x x";
11499 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
11500 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
11501 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
11502 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
11503 hventerstabdelay = 100;
11507 poweroffdelay = 15;
11510 hvleavestabdelay = 15;
11511 chiperasepulsewidth = 0;
11512 chiperasepolltimeout = 10;
11513 programfusepulsewidth = 0;
11514 programfusepolltimeout = 5;
11515 programlockpulsewidth = 0;
11516 programlockpolltimeout = 5;
11521 allowfullpagebitstream = no;
11524 paged = no; /* leave this "no" */
11525 page_size = 8; /* for parallel programming */
11527 min_write_delay = 9000;
11528 max_write_delay = 9000;
11529 readback_p1 = 0x00;
11530 readback_p2 = 0x00;
11531 read = " 1 0 1 0 0 0 0 0",
11532 " x x x x a11 a10 a9 a8",
11533 " a7 a6 a5 a4 a3 a2 a1 a0",
11534 " o o o o o o o o";
11536 write = " 1 1 0 0 0 0 0 0",
11537 " x x x x a11 a10 a9 a8",
11538 " a7 a6 a5 a4 a3 a2 a1 a0",
11539 " i i i i i i i i";
11541 loadpage_lo = " 1 1 0 0 0 0 0 1",
11542 " 0 0 0 0 0 0 0 0",
11543 " 0 0 0 0 0 a2 a1 a0",
11544 " i i i i i i i i";
11546 writepage = " 1 1 0 0 0 0 1 0",
11547 " 0 0 x x a11 a10 a9 a8",
11548 " a7 a6 a5 a4 a3 0 0 0",
11549 " x x x x x x x x";
11562 min_write_delay = 4500;
11563 max_write_delay = 4500;
11564 readback_p1 = 0x00;
11565 readback_p2 = 0x00;
11566 read_lo = " 0 0 1 0 0 0 0 0",
11567 "a15 a14 a13 a12 a11 a10 a9 a8",
11568 " a7 a6 a5 a4 a3 a2 a1 a0",
11569 " o o o o o o o o";
11571 read_hi = " 0 0 1 0 1 0 0 0",
11572 "a15 a14 a13 a12 a11 a10 a9 a8",
11573 " a7 a6 a5 a4 a3 a2 a1 a0",
11574 " o o o o o o o o";
11576 loadpage_lo = " 0 1 0 0 0 0 0 0",
11577 " x x x x x x x x",
11578 " x a6 a5 a4 a3 a2 a1 a0",
11579 " i i i i i i i i";
11581 loadpage_hi = " 0 1 0 0 1 0 0 0",
11582 " x x x x x x x x",
11583 " x a6 a5 a4 a3 a2 a1 a0",
11584 " i i i i i i i i";
11586 writepage = " 0 1 0 0 1 1 0 0",
11587 "a15 a14 a13 a12 a11 a10 a9 a8",
11588 " a7 x x x x x x x",
11589 " x x x x x x x x";
11599 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
11600 "x x x x x x x x i i i i i i i i";
11602 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
11603 "x x x x x x x x o o o o o o o o";
11604 min_write_delay = 9000;
11605 max_write_delay = 9000;
11610 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
11611 "x x x x x x x x i i i i i i i i";
11613 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
11614 "x x x x x x x x o o o o o o o o";
11615 min_write_delay = 9000;
11616 max_write_delay = 9000;
11621 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
11622 "x x x x x x x x x x x x x i i i";
11624 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
11625 "x x x x x x x x o o o o o o o o";
11626 min_write_delay = 9000;
11627 max_write_delay = 9000;
11632 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
11633 "x x x x x x x x x x o o o o o o";
11635 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
11636 "x x x x x x x x 1 1 i i i i i i";
11637 min_write_delay = 9000;
11638 max_write_delay = 9000;
11641 memory "calibration"
11643 read = "0 0 1 1 1 0 0 0 x x x x x x x x",
11644 "0 0 0 0 0 0 0 0 o o o o o o o o";
11649 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
11650 "x x x x x x a1 a0 o o o o o o o o";
11654 #------------------------------------------------------------
11656 #------------------------------------------------------------
11660 desc = "ATMEGA2560";
11661 signature = 0x1e 0x98 0x01;
11663 # stk500_devcode = 0xB2;
11664 # avr910_devcode = 0x43;
11665 chip_erase_delay = 9000;
11669 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
11670 "x x x x x x x x x x x x x x x x";
11672 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
11673 "x x x x x x x x x x x x x x x x";
11687 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
11688 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
11689 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
11690 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02;
11691 hventerstabdelay = 100;
11695 poweroffdelay = 15;
11698 hvleavestabdelay = 15;
11699 chiperasepulsewidth = 0;
11700 chiperasepolltimeout = 10;
11701 programfusepulsewidth = 0;
11702 programfusepolltimeout = 5;
11703 programlockpulsewidth = 0;
11704 programlockpolltimeout = 5;
11709 allowfullpagebitstream = no;
11712 paged = no; /* leave this "no" */
11713 page_size = 8; /* for parallel programming */
11715 min_write_delay = 9000;
11716 max_write_delay = 9000;
11717 readback_p1 = 0x00;
11718 readback_p2 = 0x00;
11719 read = " 1 0 1 0 0 0 0 0",
11720 " x x x x a11 a10 a9 a8",
11721 " a7 a6 a5 a4 a3 a2 a1 a0",
11722 " o o o o o o o o";
11724 write = " 1 1 0 0 0 0 0 0",
11725 " x x x x a11 a10 a9 a8",
11726 " a7 a6 a5 a4 a3 a2 a1 a0",
11727 " i i i i i i i i";
11729 loadpage_lo = " 1 1 0 0 0 0 0 1",
11730 " 0 0 0 0 0 0 0 0",
11731 " 0 0 0 0 0 a2 a1 a0",
11732 " i i i i i i i i";
11734 writepage = " 1 1 0 0 0 0 1 0",
11735 " 0 0 x x a11 a10 a9 a8",
11736 " a7 a6 a5 a4 a3 0 0 0",
11737 " x x x x x x x x";
11750 min_write_delay = 4500;
11751 max_write_delay = 4500;
11752 readback_p1 = 0x00;
11753 readback_p2 = 0x00;
11754 read_lo = " 0 0 1 0 0 0 0 0",
11755 "a15 a14 a13 a12 a11 a10 a9 a8",
11756 " a7 a6 a5 a4 a3 a2 a1 a0",
11757 " o o o o o o o o";
11759 read_hi = " 0 0 1 0 1 0 0 0",
11760 "a15 a14 a13 a12 a11 a10 a9 a8",
11761 " a7 a6 a5 a4 a3 a2 a1 a0",
11762 " o o o o o o o o";
11764 loadpage_lo = " 0 1 0 0 0 0 0 0",
11765 " x x x x x x x x",
11766 " x a6 a5 a4 a3 a2 a1 a0",
11767 " i i i i i i i i";
11769 loadpage_hi = " 0 1 0 0 1 0 0 0",
11770 " x x x x x x x x",
11771 " x a6 a5 a4 a3 a2 a1 a0",
11772 " i i i i i i i i";
11774 writepage = " 0 1 0 0 1 1 0 0",
11775 "a15 a14 a13 a12 a11 a10 a9 a8",
11776 " a7 x x x x x x x",
11777 " x x x x x x x x";
11779 load_ext_addr = " 0 1 0 0 1 1 0 1",
11780 " 0 0 0 0 0 0 0 0",
11781 " 0 0 0 0 0 0 0 a16",
11782 " 0 0 0 0 0 0 0 0";
11792 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
11793 "x x x x x x x x i i i i i i i i";
11795 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
11796 "x x x x x x x x o o o o o o o o";
11797 min_write_delay = 9000;
11798 max_write_delay = 9000;
11803 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
11804 "x x x x x x x x i i i i i i i i";
11806 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
11807 "x x x x x x x x o o o o o o o o";
11808 min_write_delay = 9000;
11809 max_write_delay = 9000;
11814 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
11815 "x x x x x x x x x x x x x i i i";
11817 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
11818 "x x x x x x x x o o o o o o o o";
11819 min_write_delay = 9000;
11820 max_write_delay = 9000;
11825 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
11826 "x x x x x x x x x x o o o o o o";
11828 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
11829 "x x x x x x x x 1 1 i i i i i i";
11830 min_write_delay = 9000;
11831 max_write_delay = 9000;
11834 memory "calibration"
11836 read = "0 0 1 1 1 0 0 0 x x x x x x x x",
11837 "0 0 0 0 0 0 0 0 o o o o o o o o";
11842 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
11843 "x x x x x x a1 a0 o o o o o o o o";
11847 #------------------------------------------------------------
11849 #------------------------------------------------------------
11853 desc = "ATMEGA2561";
11854 signature = 0x1e 0x98 0x02;
11856 # stk500_devcode = 0xB2;
11857 # avr910_devcode = 0x43;
11858 chip_erase_delay = 9000;
11862 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
11863 "x x x x x x x x x x x x x x x x";
11865 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
11866 "x x x x x x x x x x x x x x x x";
11880 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
11881 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
11882 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
11883 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02;
11884 hventerstabdelay = 100;
11888 poweroffdelay = 15;
11891 hvleavestabdelay = 15;
11892 chiperasepulsewidth = 0;
11893 chiperasepolltimeout = 10;
11894 programfusepulsewidth = 0;
11895 programfusepolltimeout = 5;
11896 programlockpulsewidth = 0;
11897 programlockpolltimeout = 5;
11902 allowfullpagebitstream = no;
11905 paged = no; /* leave this "no" */
11906 page_size = 8; /* for parallel programming */
11908 min_write_delay = 9000;
11909 max_write_delay = 9000;
11910 readback_p1 = 0x00;
11911 readback_p2 = 0x00;
11912 read = " 1 0 1 0 0 0 0 0",
11913 " x x x x a11 a10 a9 a8",
11914 " a7 a6 a5 a4 a3 a2 a1 a0",
11915 " o o o o o o o o";
11917 write = " 1 1 0 0 0 0 0 0",
11918 " x x x x a11 a10 a9 a8",
11919 " a7 a6 a5 a4 a3 a2 a1 a0",
11920 " i i i i i i i i";
11922 loadpage_lo = " 1 1 0 0 0 0 0 1",
11923 " 0 0 0 0 0 0 0 0",
11924 " 0 0 0 0 0 a2 a1 a0",
11925 " i i i i i i i i";
11927 writepage = " 1 1 0 0 0 0 1 0",
11928 " 0 0 x x a11 a10 a9 a8",
11929 " a7 a6 a5 a4 a3 0 0 0",
11930 " x x x x x x x x";
11943 min_write_delay = 4500;
11944 max_write_delay = 4500;
11945 readback_p1 = 0x00;
11946 readback_p2 = 0x00;
11947 read_lo = " 0 0 1 0 0 0 0 0",
11948 "a15 a14 a13 a12 a11 a10 a9 a8",
11949 " a7 a6 a5 a4 a3 a2 a1 a0",
11950 " o o o o o o o o";
11952 read_hi = " 0 0 1 0 1 0 0 0",
11953 "a15 a14 a13 a12 a11 a10 a9 a8",
11954 " a7 a6 a5 a4 a3 a2 a1 a0",
11955 " o o o o o o o o";
11957 loadpage_lo = " 0 1 0 0 0 0 0 0",
11958 " x x x x x x x x",
11959 " x a6 a5 a4 a3 a2 a1 a0",
11960 " i i i i i i i i";
11962 loadpage_hi = " 0 1 0 0 1 0 0 0",
11963 " x x x x x x x x",
11964 " x a6 a5 a4 a3 a2 a1 a0",
11965 " i i i i i i i i";
11967 writepage = " 0 1 0 0 1 1 0 0",
11968 "a15 a14 a13 a12 a11 a10 a9 a8",
11969 " a7 x x x x x x x",
11970 " x x x x x x x x";
11972 load_ext_addr = " 0 1 0 0 1 1 0 1",
11973 " 0 0 0 0 0 0 0 0",
11974 " 0 0 0 0 0 0 0 a16",
11975 " 0 0 0 0 0 0 0 0";
11985 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
11986 "x x x x x x x x i i i i i i i i";
11988 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
11989 "x x x x x x x x o o o o o o o o";
11990 min_write_delay = 9000;
11991 max_write_delay = 9000;
11996 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
11997 "x x x x x x x x i i i i i i i i";
11999 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
12000 "x x x x x x x x o o o o o o o o";
12001 min_write_delay = 9000;
12002 max_write_delay = 9000;
12007 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
12008 "x x x x x x x x x x x x x i i i";
12010 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
12011 "x x x x x x x x o o o o o o o o";
12012 min_write_delay = 9000;
12013 max_write_delay = 9000;
12018 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
12019 "x x x x x x x x x x o o o o o o";
12021 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
12022 "x x x x x x x x 1 1 i i i i i i";
12023 min_write_delay = 9000;
12024 max_write_delay = 9000;
12027 memory "calibration"
12029 read = "0 0 1 1 1 0 0 0 x x x x x x x x",
12030 "0 0 0 0 0 0 0 0 o o o o o o o o";
12035 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
12036 "x x x x x x a1 a0 o o o o o o o o";
12040 #------------------------------------------------------------
12042 #------------------------------------------------------------
12043 # Identical to ATmega2561 but half the ROM
12047 desc = "ATMEGA128RFA1";
12048 signature = 0x1e 0xa7 0x01;
12050 # stk500_devcode = 0xB2;
12051 # avr910_devcode = 0x43;
12052 chip_erase_delay = 55000;
12056 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
12057 "x x x x x x x x x x x x x x x x";
12059 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
12060 "x x x x x x x x x x x x x x x x";
12074 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
12075 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
12076 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
12077 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02;
12078 hventerstabdelay = 100;
12082 poweroffdelay = 15;
12085 hvleavestabdelay = 15;
12086 chiperasepulsewidth = 0;
12087 chiperasepolltimeout = 10;
12088 programfusepulsewidth = 0;
12089 programfusepolltimeout = 5;
12090 programlockpulsewidth = 0;
12091 programlockpolltimeout = 5;
12096 allowfullpagebitstream = no;
12099 paged = no; /* leave this "no" */
12100 page_size = 8; /* for parallel programming */
12102 min_write_delay = 50000;
12103 max_write_delay = 50000;
12104 readback_p1 = 0x00;
12105 readback_p2 = 0x00;
12106 read = " 1 0 1 0 0 0 0 0",
12107 " x x x x a11 a10 a9 a8",
12108 " a7 a6 a5 a4 a3 a2 a1 a0",
12109 " o o o o o o o o";
12111 write = " 1 1 0 0 0 0 0 0",
12112 " x x x x a11 a10 a9 a8",
12113 " a7 a6 a5 a4 a3 a2 a1 a0",
12114 " i i i i i i i i";
12116 loadpage_lo = " 1 1 0 0 0 0 0 1",
12117 " 0 0 0 0 0 0 0 0",
12118 " 0 0 0 0 0 a2 a1 a0",
12119 " i i i i i i i i";
12121 writepage = " 1 1 0 0 0 0 1 0",
12122 " 0 0 x x a11 a10 a9 a8",
12123 " a7 a6 a5 a4 a3 0 0 0",
12124 " x x x x x x x x";
12137 min_write_delay = 50000;
12138 max_write_delay = 50000;
12139 readback_p1 = 0x00;
12140 readback_p2 = 0x00;
12141 read_lo = " 0 0 1 0 0 0 0 0",
12142 "a15 a14 a13 a12 a11 a10 a9 a8",
12143 " a7 a6 a5 a4 a3 a2 a1 a0",
12144 " o o o o o o o o";
12146 read_hi = " 0 0 1 0 1 0 0 0",
12147 "a15 a14 a13 a12 a11 a10 a9 a8",
12148 " a7 a6 a5 a4 a3 a2 a1 a0",
12149 " o o o o o o o o";
12151 loadpage_lo = " 0 1 0 0 0 0 0 0",
12152 " x x x x x x x x",
12153 " x a6 a5 a4 a3 a2 a1 a0",
12154 " i i i i i i i i";
12156 loadpage_hi = " 0 1 0 0 1 0 0 0",
12157 " x x x x x x x x",
12158 " x a6 a5 a4 a3 a2 a1 a0",
12159 " i i i i i i i i";
12161 writepage = " 0 1 0 0 1 1 0 0",
12162 "a15 a14 a13 a12 a11 a10 a9 a8",
12163 " a7 x x x x x x x",
12164 " x x x x x x x x";
12174 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
12175 "x x x x x x x x i i i i i i i i";
12177 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
12178 "x x x x x x x x o o o o o o o o";
12179 min_write_delay = 9000;
12180 max_write_delay = 9000;
12185 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
12186 "x x x x x x x x i i i i i i i i";
12188 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
12189 "x x x x x x x x o o o o o o o o";
12190 min_write_delay = 9000;
12191 max_write_delay = 9000;
12196 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
12197 "x x x x x x x x x x x x x i i i";
12199 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
12200 "x x x x x x x x o o o o o o o o";
12201 min_write_delay = 9000;
12202 max_write_delay = 9000;
12207 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
12208 "x x x x x x x x x x o o o o o o";
12210 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
12211 "x x x x x x x x 1 1 i i i i i i";
12212 min_write_delay = 9000;
12213 max_write_delay = 9000;
12216 memory "calibration"
12218 read = "0 0 1 1 1 0 0 0 x x x x x x x x",
12219 "0 0 0 0 0 0 0 0 o o o o o o o o";
12224 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
12225 "x x x x x x a1 a0 o o o o o o o o";
12229 #------------------------------------------------------------
12231 #------------------------------------------------------------
12236 has_debugwire = yes;
12237 flash_instr = 0xB4, 0x07, 0x17;
12238 eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
12239 0xBC, 0x07, 0xB4, 0x07, 0xBA, 0x0D, 0xBB, 0xBC,
12240 0x99, 0xE1, 0xBB, 0xAC;
12241 ## no STK500 devcode in XML file, use the ATtiny45 one
12242 stk500_devcode = 0x14;
12243 ## avr910_devcode = ?;
12244 ## Try the AT90S2313 devcode:
12245 avr910_devcode = 0x20;
12246 signature = 0x1e 0x91 0x0b;
12248 chip_erase_delay = 4500;
12250 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
12251 "x x x x x x x x x x x x x x x x";
12253 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
12254 "x x x x x x x x x x x x x x x x";
12267 hvsp_controlstack =
12268 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66,
12269 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78,
12270 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
12271 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0F;
12272 hventerstabdelay = 100;
12273 hvspcmdexedelay = 0;
12277 poweroffdelay = 25;
12280 hvleavestabdelay = 100;
12282 chiperasepolltimeout = 40;
12284 programfusepolltimeout = 25;
12285 programlockpolltimeout = 25;
12291 min_write_delay = 4000;
12292 max_write_delay = 4500;
12293 readback_p1 = 0xff;
12294 readback_p2 = 0xff;
12295 read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x",
12296 "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
12298 write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x",
12299 "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
12301 loadpage_lo = " 1 1 0 0 0 0 0 1",
12302 " 0 0 0 0 0 0 0 0",
12303 " 0 0 0 0 0 0 a1 a0",
12304 " i i i i i i i i";
12306 writepage = " 1 1 0 0 0 0 1 0",
12307 " 0 0 x x x x x x",
12308 " x a6 a5 a4 a3 a2 0 0",
12309 " x x x x x x x x";
12321 min_write_delay = 4500;
12322 max_write_delay = 4500;
12323 readback_p1 = 0xff;
12324 readback_p2 = 0xff;
12325 read_lo = " 0 0 1 0 0 0 0 0",
12326 " 0 0 0 0 0 0 a9 a8",
12327 " a7 a6 a5 a4 a3 a2 a1 a0",
12328 " o o o o o o o o";
12330 read_hi = " 0 0 1 0 1 0 0 0",
12331 " 0 0 0 0 0 0 a9 a8",
12332 " a7 a6 a5 a4 a3 a2 a1 a0",
12333 " o o o o o o o o";
12335 loadpage_lo = " 0 1 0 0 0 0 0 0",
12336 " 0 0 0 x x x x x",
12337 " x x x x a3 a2 a1 a0",
12338 " i i i i i i i i";
12340 loadpage_hi = " 0 1 0 0 1 0 0 0",
12341 " 0 0 0 x x x x x",
12342 " x x x x a3 a2 a1 a0",
12343 " i i i i i i i i";
12345 writepage = " 0 1 0 0 1 1 0 0",
12346 " 0 0 0 0 0 0 a9 a8",
12347 " a7 a6 a5 a4 x x x x",
12348 " x x x x x x x x";
12355 # ATtiny24 has Signature Bytes: 0x1E 0x91 0x0B.
12358 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
12359 "x x x x x x a1 a0 o o o o o o o o";
12363 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
12364 "x x x x x x x x x x x x x x i i";
12365 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
12366 "0 0 0 0 0 0 0 0 o o o o o o o o";
12367 min_write_delay = 9000;
12368 max_write_delay = 9000;
12373 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
12374 "x x x x x x x x i i i i i i i i";
12376 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
12377 "x x x x x x x x o o o o o o o o";
12378 min_write_delay = 9000;
12379 max_write_delay = 9000;
12384 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
12385 "x x x x x x x x i i i i i i i i";
12387 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
12388 "x x x x x x x x o o o o o o o o";
12389 min_write_delay = 9000;
12390 max_write_delay = 9000;
12395 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
12396 "x x x x x x x x x x x x x x x i";
12398 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
12399 "x x x x x x x x o o o o o o o o";
12400 min_write_delay = 9000;
12401 max_write_delay = 9000;
12404 memory "calibration"
12406 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
12407 "0 0 0 0 0 0 0 a0 o o o o o o o o";
12411 #------------------------------------------------------------
12413 #------------------------------------------------------------
12418 has_debugwire = yes;
12419 flash_instr = 0xB4, 0x07, 0x17;
12420 eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
12421 0xBC, 0x07, 0xB4, 0x07, 0xBA, 0x0D, 0xBB, 0xBC,
12422 0x99, 0xE1, 0xBB, 0xAC;
12423 ## no STK500 devcode in XML file, use the ATtiny45 one
12424 stk500_devcode = 0x14;
12425 ## avr910_devcode = ?;
12426 ## Try the AT90S2313 devcode:
12427 avr910_devcode = 0x20;
12428 signature = 0x1e 0x92 0x07;
12430 chip_erase_delay = 4500;
12432 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
12433 "x x x x x x x x x x x x x x x x";
12435 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
12436 "x x x x x x x x x x x x x x x x";
12449 hvsp_controlstack =
12450 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66,
12451 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78,
12452 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
12453 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0F;
12454 hventerstabdelay = 100;
12455 hvspcmdexedelay = 0;
12459 poweroffdelay = 25;
12462 hvleavestabdelay = 100;
12464 chiperasepolltimeout = 40;
12466 programfusepolltimeout = 25;
12467 programlockpolltimeout = 25;
12473 min_write_delay = 4000;
12474 max_write_delay = 4500;
12475 readback_p1 = 0xff;
12476 readback_p2 = 0xff;
12477 read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x",
12478 "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
12480 write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x",
12481 "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
12483 loadpage_lo = " 1 1 0 0 0 0 0 1",
12484 " 0 0 0 0 0 0 0 0",
12485 " 0 0 0 0 0 0 a1 a0",
12486 " i i i i i i i i";
12488 writepage = " 1 1 0 0 0 0 1 0",
12489 " 0 0 x x x x x x",
12490 " x a6 a5 a4 a3 a2 0 0",
12491 " x x x x x x x x";
12503 min_write_delay = 4500;
12504 max_write_delay = 4500;
12505 readback_p1 = 0xff;
12506 readback_p2 = 0xff;
12507 read_lo = " 0 0 1 0 0 0 0 0",
12508 " 0 0 0 0 0 a10 a9 a8",
12509 " a7 a6 a5 a4 a3 a2 a1 a0",
12510 " o o o o o o o o";
12512 read_hi = " 0 0 1 0 1 0 0 0",
12513 " 0 0 0 0 0 a10 a9 a8",
12514 " a7 a6 a5 a4 a3 a2 a1 a0",
12515 " o o o o o o o o";
12517 loadpage_lo = " 0 1 0 0 0 0 0 0",
12518 " 0 0 0 x x x x x",
12519 " x x x a4 a3 a2 a1 a0",
12520 " i i i i i i i i";
12522 loadpage_hi = " 0 1 0 0 1 0 0 0",
12523 " 0 0 0 x x x x x",
12524 " x x x a4 a3 a2 a1 a0",
12525 " i i i i i i i i";
12527 writepage = " 0 1 0 0 1 1 0 0",
12528 " 0 0 0 0 0 a10 a9 a8",
12529 " a7 a6 a5 x x x x x",
12530 " x x x x x x x x";
12537 # ATtiny44 has Signature Bytes: 0x1E 0x92 0x07.
12540 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
12541 "x x x x x x a1 a0 o o o o o o o o";
12545 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
12546 "x x x x x x x x x x x x x x i i";
12547 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
12548 "0 0 0 0 0 0 0 0 o o o o o o o o";
12549 min_write_delay = 9000;
12550 max_write_delay = 9000;
12555 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
12556 "x x x x x x x x i i i i i i i i";
12558 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
12559 "x x x x x x x x o o o o o o o o";
12560 min_write_delay = 9000;
12561 max_write_delay = 9000;
12566 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
12567 "x x x x x x x x i i i i i i i i";
12569 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
12570 "x x x x x x x x o o o o o o o o";
12571 min_write_delay = 9000;
12572 max_write_delay = 9000;
12577 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
12578 "x x x x x x x x x x x x x x x i";
12580 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
12581 "x x x x x x x x o o o o o o o o";
12582 min_write_delay = 9000;
12583 max_write_delay = 9000;
12586 memory "calibration"
12588 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
12589 "0 0 0 0 0 0 0 a0 o o o o o o o o";
12593 #------------------------------------------------------------
12595 #------------------------------------------------------------
12600 has_debugwire = yes;
12601 flash_instr = 0xB4, 0x07, 0x17;
12602 eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
12603 0xBC, 0x07, 0xB4, 0x07, 0xBA, 0x0D, 0xBB, 0xBC,
12604 0x99, 0xE1, 0xBB, 0xAC;
12605 ## no STK500 devcode in XML file, use the ATtiny45 one
12606 stk500_devcode = 0x14;
12607 ## avr910_devcode = ?;
12608 ## Try the AT90S2313 devcode:
12609 avr910_devcode = 0x20;
12610 signature = 0x1e 0x93 0x0c;
12612 chip_erase_delay = 4500;
12614 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
12615 "x x x x x x x x x x x x x x x x";
12617 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
12618 "x x x x x x x x x x x x x x x x";
12631 hvsp_controlstack =
12632 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66,
12633 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78,
12634 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
12635 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0F;
12636 hventerstabdelay = 100;
12637 hvspcmdexedelay = 0;
12641 poweroffdelay = 25;
12644 hvleavestabdelay = 100;
12646 chiperasepolltimeout = 40;
12648 programfusepolltimeout = 25;
12649 programlockpolltimeout = 25;
12655 min_write_delay = 4000;
12656 max_write_delay = 4500;
12657 readback_p1 = 0xff;
12658 readback_p2 = 0xff;
12659 read = "1 0 1 0 0 0 0 0 0 0 0 x x x x a8",
12660 "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
12662 write = "1 1 0 0 0 0 0 0 0 0 0 x x x x a8",
12663 "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
12665 loadpage_lo = " 1 1 0 0 0 0 0 1",
12666 " 0 0 0 0 0 0 0 0",
12667 " 0 0 0 0 0 0 a1 a0",
12668 " i i i i i i i i";
12670 writepage = " 1 1 0 0 0 0 1 0",
12671 " 0 0 x x x x x x",
12672 " x a6 a5 a4 a3 a2 0 0",
12673 " x x x x x x x x";
12685 min_write_delay = 4500;
12686 max_write_delay = 4500;
12687 readback_p1 = 0xff;
12688 readback_p2 = 0xff;
12689 read_lo = " 0 0 1 0 0 0 0 0",
12690 " 0 0 0 0 a11 a10 a9 a8",
12691 " a7 a6 a5 a4 a3 a2 a1 a0",
12692 " o o o o o o o o";
12694 read_hi = " 0 0 1 0 1 0 0 0",
12695 " 0 0 0 0 a11 a10 a9 a8",
12696 " a7 a6 a5 a4 a3 a2 a1 a0",
12697 " o o o o o o o o";
12699 loadpage_lo = " 0 1 0 0 0 0 0 0",
12700 " 0 0 0 x x x x x",
12701 " x x x a4 a3 a2 a1 a0",
12702 " i i i i i i i i";
12704 loadpage_hi = " 0 1 0 0 1 0 0 0",
12705 " 0 0 0 x x x x x",
12706 " x x x a4 a3 a2 a1 a0",
12707 " i i i i i i i i";
12709 writepage = " 0 1 0 0 1 1 0 0",
12710 " 0 0 0 0 a11 a10 a9 a8",
12711 " a7 a6 a5 x x x x x",
12712 " x x x x x x x x";
12719 # ATtiny84 has Signature Bytes: 0x1E 0x93 0x0C.
12722 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
12723 "x x x x x x a1 a0 o o o o o o o o";
12728 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
12729 "x x x x x x x x x x x x x x i i";
12730 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
12731 "0 0 0 0 0 0 0 0 o o o o o o o o";
12732 min_write_delay = 9000;
12733 max_write_delay = 9000;
12738 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
12739 "x x x x x x x x i i i i i i i i";
12741 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
12742 "x x x x x x x x o o o o o o o o";
12743 min_write_delay = 9000;
12744 max_write_delay = 9000;
12749 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
12750 "x x x x x x x x i i i i i i i i";
12752 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
12753 "x x x x x x x x o o o o o o o o";
12754 min_write_delay = 9000;
12755 max_write_delay = 9000;
12760 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
12761 "x x x x x x x x x x x x x x x i";
12763 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
12764 "x x x x x x x x o o o o o o o o";
12765 min_write_delay = 9000;
12766 max_write_delay = 9000;
12769 memory "calibration"
12771 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
12772 "0 0 0 0 0 0 0 a0 o o o o o o o o";
12776 #------------------------------------------------------------
12778 #------------------------------------------------------------
12782 desc = "ATmega32U4";
12783 signature = 0x1e 0x95 0x87;
12785 # stk500_devcode = 0xB2;
12786 # avr910_devcode = 0x43;
12787 chip_erase_delay = 9000;
12791 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
12792 "x x x x x x x x x x x x x x x x";
12794 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
12795 "x x x x x x x x x x x x x x x x";
12809 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
12810 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
12811 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
12812 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
12813 hventerstabdelay = 100;
12817 poweroffdelay = 15;
12820 hvleavestabdelay = 15;
12821 chiperasepulsewidth = 0;
12822 chiperasepolltimeout = 10;
12823 programfusepulsewidth = 0;
12824 programfusepolltimeout = 5;
12825 programlockpulsewidth = 0;
12826 programlockpolltimeout = 5;
12831 allowfullpagebitstream = no;
12834 paged = no; /* leave this "no" */
12835 page_size = 8; /* for parallel programming */
12837 min_write_delay = 9000;
12838 max_write_delay = 9000;
12839 readback_p1 = 0x00;
12840 readback_p2 = 0x00;
12841 read = " 1 0 1 0 0 0 0 0",
12842 " x x x x x a10 a9 a8",
12843 " a7 a6 a5 a4 a3 a2 a1 a0",
12844 " o o o o o o o o";
12846 write = " 1 1 0 0 0 0 0 0",
12847 " x x x x x a10 a9 a8",
12848 " a7 a6 a5 a4 a3 a2 a1 a0",
12849 " i i i i i i i i";
12851 loadpage_lo = " 1 1 0 0 0 0 0 1",
12852 " 0 0 0 0 0 0 0 0",
12853 " 0 0 0 0 0 a2 a1 a0",
12854 " i i i i i i i i";
12856 writepage = " 1 1 0 0 0 0 1 0",
12857 " 0 0 x x x a10 a9 a8",
12858 " a7 a6 a5 a4 a3 0 0 0",
12859 " x x x x x x x x";
12872 min_write_delay = 4500;
12873 max_write_delay = 4500;
12874 readback_p1 = 0x00;
12875 readback_p2 = 0x00;
12876 read_lo = " 0 0 1 0 0 0 0 0",
12877 " 0 a14 a13 a12 a11 a10 a9 a8",
12878 " a7 a6 a5 a4 a3 a2 a1 a0",
12879 " o o o o o o o o";
12881 read_hi = " 0 0 1 0 1 0 0 0",
12882 " 0 a14 a13 a12 a11 a10 a9 a8",
12883 " a7 a6 a5 a4 a3 a2 a1 a0",
12884 " o o o o o o o o";
12886 loadpage_lo = " 0 1 0 0 0 0 0 0",
12887 " x x x x x x x x",
12888 " x x a5 a4 a3 a2 a1 a0",
12889 " i i i i i i i i";
12891 loadpage_hi = " 0 1 0 0 1 0 0 0",
12892 " x x x x x x x x",
12893 " x x a5 a4 a3 a2 a1 a0",
12894 " i i i i i i i i";
12896 writepage = " 0 1 0 0 1 1 0 0",
12897 " a15 a14 a13 a12 a11 a10 a9 a8",
12898 " a7 a6 x x x x x x",
12899 " x x x x x x x x";
12909 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
12910 "x x x x x x x x i i i i i i i i";
12912 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
12913 "x x x x x x x x o o o o o o o o";
12914 min_write_delay = 9000;
12915 max_write_delay = 9000;
12920 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
12921 "x x x x x x x x i i i i i i i i";
12923 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
12924 "x x x x x x x x o o o o o o o o";
12925 min_write_delay = 9000;
12926 max_write_delay = 9000;
12931 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
12932 "x x x x x x x x x x x x i i i i";
12934 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
12935 "x x x x x x x x o o o o o o o o";
12936 min_write_delay = 9000;
12937 max_write_delay = 9000;
12942 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
12943 "x x x x x x x x x x o o o o o o";
12945 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
12946 "x x x x x x x x 1 1 i i i i i i";
12947 min_write_delay = 9000;
12948 max_write_delay = 9000;
12951 memory "calibration"
12953 read = "0 0 1 1 1 0 0 0 x x x x x x x x",
12954 "0 0 0 0 0 0 0 0 o o o o o o o o";
12959 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
12960 "x x x x x x a1 a0 o o o o o o o o";
12964 #------------------------------------------------------------
12966 #------------------------------------------------------------
12970 desc = "AT90USB646";
12971 signature = 0x1e 0x96 0x82;
12973 # stk500_devcode = 0xB2;
12974 # avr910_devcode = 0x43;
12975 chip_erase_delay = 9000;
12979 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
12980 "x x x x x x x x x x x x x x x x";
12982 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
12983 "x x x x x x x x x x x x x x x x";
12997 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
12998 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
12999 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
13000 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
13001 hventerstabdelay = 100;
13005 poweroffdelay = 15;
13008 hvleavestabdelay = 15;
13009 chiperasepulsewidth = 0;
13010 chiperasepolltimeout = 10;
13011 programfusepulsewidth = 0;
13012 programfusepolltimeout = 5;
13013 programlockpulsewidth = 0;
13014 programlockpolltimeout = 5;
13019 allowfullpagebitstream = no;
13022 paged = no; /* leave this "no" */
13023 page_size = 8; /* for parallel programming */
13025 min_write_delay = 9000;
13026 max_write_delay = 9000;
13027 readback_p1 = 0x00;
13028 readback_p2 = 0x00;
13029 read = " 1 0 1 0 0 0 0 0",
13030 " x x x x x a10 a9 a8",
13031 " a7 a6 a5 a4 a3 a2 a1 a0",
13032 " o o o o o o o o";
13034 write = " 1 1 0 0 0 0 0 0",
13035 " x x x x x a10 a9 a8",
13036 " a7 a6 a5 a4 a3 a2 a1 a0",
13037 " i i i i i i i i";
13039 loadpage_lo = " 1 1 0 0 0 0 0 1",
13040 " 0 0 0 0 0 0 0 0",
13041 " 0 0 0 0 0 a2 a1 a0",
13042 " i i i i i i i i";
13044 writepage = " 1 1 0 0 0 0 1 0",
13045 " 0 0 x x x a10 a9 a8",
13046 " a7 a6 a5 a4 a3 0 0 0",
13047 " x x x x x x x x";
13060 min_write_delay = 4500;
13061 max_write_delay = 4500;
13062 readback_p1 = 0x00;
13063 readback_p2 = 0x00;
13064 read_lo = " 0 0 1 0 0 0 0 0",
13065 " 0 a14 a13 a12 a11 a10 a9 a8",
13066 " a7 a6 a5 a4 a3 a2 a1 a0",
13067 " o o o o o o o o";
13069 read_hi = " 0 0 1 0 1 0 0 0",
13070 " 0 a14 a13 a12 a11 a10 a9 a8",
13071 " a7 a6 a5 a4 a3 a2 a1 a0",
13072 " o o o o o o o o";
13074 loadpage_lo = " 0 1 0 0 0 0 0 0",
13075 " x x x x x x x x",
13076 " x a6 a5 a4 a3 a2 a1 a0",
13077 " i i i i i i i i";
13079 loadpage_hi = " 0 1 0 0 1 0 0 0",
13080 " x x x x x x x x",
13081 " x a6 a5 a4 a3 a2 a1 a0",
13082 " i i i i i i i i";
13084 writepage = " 0 1 0 0 1 1 0 0",
13085 " 0 a14 a13 a12 a11 a10 a9 a8",
13086 " a7 x x x x x x x",
13087 " x x x x x x x x";
13097 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
13098 "x x x x x x x x i i i i i i i i";
13100 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
13101 "x x x x x x x x o o o o o o o o";
13102 min_write_delay = 9000;
13103 max_write_delay = 9000;
13108 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
13109 "x x x x x x x x i i i i i i i i";
13111 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
13112 "x x x x x x x x o o o o o o o o";
13113 min_write_delay = 9000;
13114 max_write_delay = 9000;
13119 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
13120 "x x x x x x x x x x x x i i i i";
13122 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
13123 "x x x x x x x x o o o o o o o o";
13124 min_write_delay = 9000;
13125 max_write_delay = 9000;
13130 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
13131 "x x x x x x x x x x o o o o o o";
13133 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
13134 "x x x x x x x x 1 1 i i i i i i";
13135 min_write_delay = 9000;
13136 max_write_delay = 9000;
13139 memory "calibration"
13141 read = "0 0 1 1 1 0 0 0 x x x x x x x x",
13142 "0 0 0 0 0 0 0 0 o o o o o o o o";
13147 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
13148 "x x x x x x a1 a0 o o o o o o o o";
13152 #------------------------------------------------------------
13154 #------------------------------------------------------------
13155 # identical to AT90USB646
13159 desc = "AT90USB647";
13160 signature = 0x1e 0x96 0x82;
13162 # stk500_devcode = 0xB2;
13163 # avr910_devcode = 0x43;
13164 chip_erase_delay = 9000;
13168 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
13169 "x x x x x x x x x x x x x x x x";
13171 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
13172 "x x x x x x x x x x x x x x x x";
13186 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
13187 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
13188 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
13189 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
13190 hventerstabdelay = 100;
13194 poweroffdelay = 15;
13197 hvleavestabdelay = 15;
13198 chiperasepulsewidth = 0;
13199 chiperasepolltimeout = 10;
13200 programfusepulsewidth = 0;
13201 programfusepolltimeout = 5;
13202 programlockpulsewidth = 0;
13203 programlockpolltimeout = 5;
13208 allowfullpagebitstream = no;
13211 paged = no; /* leave this "no" */
13212 page_size = 8; /* for parallel programming */
13214 min_write_delay = 9000;
13215 max_write_delay = 9000;
13216 readback_p1 = 0x00;
13217 readback_p2 = 0x00;
13218 read = " 1 0 1 0 0 0 0 0",
13219 " x x x x x a10 a9 a8",
13220 " a7 a6 a5 a4 a3 a2 a1 a0",
13221 " o o o o o o o o";
13223 write = " 1 1 0 0 0 0 0 0",
13224 " x x x x x a10 a9 a8",
13225 " a7 a6 a5 a4 a3 a2 a1 a0",
13226 " i i i i i i i i";
13228 loadpage_lo = " 1 1 0 0 0 0 0 1",
13229 " 0 0 0 0 0 0 0 0",
13230 " 0 0 0 0 0 a2 a1 a0",
13231 " i i i i i i i i";
13233 writepage = " 1 1 0 0 0 0 1 0",
13234 " 0 0 x x x a10 a9 a8",
13235 " a7 a6 a5 a4 a3 0 0 0",
13236 " x x x x x x x x";
13249 min_write_delay = 4500;
13250 max_write_delay = 4500;
13251 readback_p1 = 0x00;
13252 readback_p2 = 0x00;
13253 read_lo = " 0 0 1 0 0 0 0 0",
13254 " 0 a14 a13 a12 a11 a10 a9 a8",
13255 " a7 a6 a5 a4 a3 a2 a1 a0",
13256 " o o o o o o o o";
13258 read_hi = " 0 0 1 0 1 0 0 0",
13259 " 0 a14 a13 a12 a11 a10 a9 a8",
13260 " a7 a6 a5 a4 a3 a2 a1 a0",
13261 " o o o o o o o o";
13263 loadpage_lo = " 0 1 0 0 0 0 0 0",
13264 " x x x x x x x x",
13265 " x a6 a5 a4 a3 a2 a1 a0",
13266 " i i i i i i i i";
13268 loadpage_hi = " 0 1 0 0 1 0 0 0",
13269 " x x x x x x x x",
13270 " x a6 a5 a4 a3 a2 a1 a0",
13271 " i i i i i i i i";
13273 writepage = " 0 1 0 0 1 1 0 0",
13274 " 0 a14 a13 a12 a11 a10 a9 a8",
13275 " a7 x x x x x x x",
13276 " x x x x x x x x";
13286 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
13287 "x x x x x x x x i i i i i i i i";
13289 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
13290 "x x x x x x x x o o o o o o o o";
13291 min_write_delay = 9000;
13292 max_write_delay = 9000;
13297 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
13298 "x x x x x x x x i i i i i i i i";
13300 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
13301 "x x x x x x x x o o o o o o o o";
13302 min_write_delay = 9000;
13303 max_write_delay = 9000;
13308 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
13309 "x x x x x x x x x x x x i i i i";
13311 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
13312 "x x x x x x x x o o o o o o o o";
13313 min_write_delay = 9000;
13314 max_write_delay = 9000;
13319 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
13320 "x x x x x x x x x x o o o o o o";
13322 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
13323 "x x x x x x x x 1 1 i i i i i i";
13324 min_write_delay = 9000;
13325 max_write_delay = 9000;
13328 memory "calibration"
13330 read = "0 0 1 1 1 0 0 0 x x x x x x x x",
13331 "0 0 0 0 0 0 0 0 o o o o o o o o";
13336 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
13337 "x x x x x x a1 a0 o o o o o o o o";
13341 #------------------------------------------------------------
13343 #------------------------------------------------------------
13347 desc = "AT90USB1286";
13348 signature = 0x1e 0x97 0x82;
13350 # stk500_devcode = 0xB2;
13351 # avr910_devcode = 0x43;
13352 chip_erase_delay = 9000;
13356 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
13357 "x x x x x x x x x x x x x x x x";
13359 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
13360 "x x x x x x x x x x x x x x x x";
13374 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
13375 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
13376 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
13377 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
13378 hventerstabdelay = 100;
13382 poweroffdelay = 15;
13385 hvleavestabdelay = 15;
13386 chiperasepulsewidth = 0;
13387 chiperasepolltimeout = 10;
13388 programfusepulsewidth = 0;
13389 programfusepolltimeout = 5;
13390 programlockpulsewidth = 0;
13391 programlockpolltimeout = 5;
13396 allowfullpagebitstream = no;
13399 paged = no; /* leave this "no" */
13400 page_size = 8; /* for parallel programming */
13402 min_write_delay = 9000;
13403 max_write_delay = 9000;
13404 readback_p1 = 0x00;
13405 readback_p2 = 0x00;
13406 read = " 1 0 1 0 0 0 0 0",
13407 " x x x x a11 a10 a9 a8",
13408 " a7 a6 a5 a4 a3 a2 a1 a0",
13409 " o o o o o o o o";
13411 write = " 1 1 0 0 0 0 0 0",
13412 " x x x x a11 a10 a9 a8",
13413 " a7 a6 a5 a4 a3 a2 a1 a0",
13414 " i i i i i i i i";
13416 loadpage_lo = " 1 1 0 0 0 0 0 1",
13417 " 0 0 0 0 0 0 0 0",
13418 " 0 0 0 0 0 a2 a1 a0",
13419 " i i i i i i i i";
13421 writepage = " 1 1 0 0 0 0 1 0",
13422 " 0 0 x x x a10 a9 a8",
13423 " a7 a6 a5 a4 a3 0 0 0",
13424 " x x x x x x x x";
13437 min_write_delay = 4500;
13438 max_write_delay = 4500;
13439 readback_p1 = 0x00;
13440 readback_p2 = 0x00;
13441 read_lo = " 0 0 1 0 0 0 0 0",
13442 "a15 a14 a13 a12 a11 a10 a9 a8",
13443 " a7 a6 a5 a4 a3 a2 a1 a0",
13444 " o o o o o o o o";
13446 read_hi = " 0 0 1 0 1 0 0 0",
13447 "a15 a14 a13 a12 a11 a10 a9 a8",
13448 " a7 a6 a5 a4 a3 a2 a1 a0",
13449 " o o o o o o o o";
13451 loadpage_lo = " 0 1 0 0 0 0 0 0",
13452 " x x x x x x x x",
13453 " x a6 a5 a4 a3 a2 a1 a0",
13454 " i i i i i i i i";
13456 loadpage_hi = " 0 1 0 0 1 0 0 0",
13457 " x x x x x x x x",
13458 " x a6 a5 a4 a3 a2 a1 a0",
13459 " i i i i i i i i";
13461 writepage = " 0 1 0 0 1 1 0 0",
13462 "a15 a14 a13 a12 a11 a10 a9 a8",
13463 " a7 x x x x x x x",
13464 " x x x x x x x x";
13474 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
13475 "x x x x x x x x i i i i i i i i";
13477 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
13478 "x x x x x x x x o o o o o o o o";
13479 min_write_delay = 9000;
13480 max_write_delay = 9000;
13485 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
13486 "x x x x x x x x i i i i i i i i";
13488 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
13489 "x x x x x x x x o o o o o o o o";
13490 min_write_delay = 9000;
13491 max_write_delay = 9000;
13496 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
13497 "x x x x x x x x x x x x i i i i";
13499 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
13500 "x x x x x x x x o o o o o o o o";
13501 min_write_delay = 9000;
13502 max_write_delay = 9000;
13507 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
13508 "x x x x x x x x x x o o o o o o";
13510 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
13511 "x x x x x x x x 1 1 i i i i i i";
13512 min_write_delay = 9000;
13513 max_write_delay = 9000;
13516 memory "calibration"
13518 read = "0 0 1 1 1 0 0 0 x x x x x x x x",
13519 "0 0 0 0 0 0 0 0 o o o o o o o o";
13524 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
13525 "x x x x x x a1 a0 o o o o o o o o";
13529 #------------------------------------------------------------
13531 #------------------------------------------------------------
13532 # identical to AT90USB1286
13536 desc = "AT90USB1287";
13537 signature = 0x1e 0x97 0x82;
13539 # stk500_devcode = 0xB2;
13540 # avr910_devcode = 0x43;
13541 chip_erase_delay = 9000;
13545 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
13546 "x x x x x x x x x x x x x x x x";
13548 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
13549 "x x x x x x x x x x x x x x x x";
13563 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
13564 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
13565 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
13566 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
13567 hventerstabdelay = 100;
13571 poweroffdelay = 15;
13574 hvleavestabdelay = 15;
13575 chiperasepulsewidth = 0;
13576 chiperasepolltimeout = 10;
13577 programfusepulsewidth = 0;
13578 programfusepolltimeout = 5;
13579 programlockpulsewidth = 0;
13580 programlockpolltimeout = 5;
13585 allowfullpagebitstream = no;
13588 paged = no; /* leave this "no" */
13589 page_size = 8; /* for parallel programming */
13591 min_write_delay = 9000;
13592 max_write_delay = 9000;
13593 readback_p1 = 0x00;
13594 readback_p2 = 0x00;
13595 read = " 1 0 1 0 0 0 0 0",
13596 " x x x x a11 a10 a9 a8",
13597 " a7 a6 a5 a4 a3 a2 a1 a0",
13598 " o o o o o o o o";
13600 write = " 1 1 0 0 0 0 0 0",
13601 " x x x x a11 a10 a9 a8",
13602 " a7 a6 a5 a4 a3 a2 a1 a0",
13603 " i i i i i i i i";
13605 loadpage_lo = " 1 1 0 0 0 0 0 1",
13606 " 0 0 0 0 0 0 0 0",
13607 " 0 0 0 0 0 a2 a1 a0",
13608 " i i i i i i i i";
13610 writepage = " 1 1 0 0 0 0 1 0",
13611 " 0 0 x x x a10 a9 a8",
13612 " a7 a6 a5 a4 a3 0 0 0",
13613 " x x x x x x x x";
13626 min_write_delay = 4500;
13627 max_write_delay = 4500;
13628 readback_p1 = 0x00;
13629 readback_p2 = 0x00;
13630 read_lo = " 0 0 1 0 0 0 0 0",
13631 "a15 a14 a13 a12 a11 a10 a9 a8",
13632 " a7 a6 a5 a4 a3 a2 a1 a0",
13633 " o o o o o o o o";
13635 read_hi = " 0 0 1 0 1 0 0 0",
13636 "a15 a14 a13 a12 a11 a10 a9 a8",
13637 " a7 a6 a5 a4 a3 a2 a1 a0",
13638 " o o o o o o o o";
13640 loadpage_lo = " 0 1 0 0 0 0 0 0",
13641 " x x x x x x x x",
13642 " x a6 a5 a4 a3 a2 a1 a0",
13643 " i i i i i i i i";
13645 loadpage_hi = " 0 1 0 0 1 0 0 0",
13646 " x x x x x x x x",
13647 " x a6 a5 a4 a3 a2 a1 a0",
13648 " i i i i i i i i";
13650 writepage = " 0 1 0 0 1 1 0 0",
13651 "a15 a14 a13 a12 a11 a10 a9 a8",
13652 " a7 x x x x x x x",
13653 " x x x x x x x x";
13663 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
13664 "x x x x x x x x i i i i i i i i";
13666 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
13667 "x x x x x x x x o o o o o o o o";
13668 min_write_delay = 9000;
13669 max_write_delay = 9000;
13674 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
13675 "x x x x x x x x i i i i i i i i";
13677 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
13678 "x x x x x x x x o o o o o o o o";
13679 min_write_delay = 9000;
13680 max_write_delay = 9000;
13685 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
13686 "x x x x x x x x x x x x i i i i";
13688 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
13689 "x x x x x x x x o o o o o o o o";
13690 min_write_delay = 9000;
13691 max_write_delay = 9000;
13696 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
13697 "x x x x x x x x x x o o o o o o";
13699 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
13700 "x x x x x x x x 1 1 i i i i i i";
13701 min_write_delay = 9000;
13702 max_write_delay = 9000;
13705 memory "calibration"
13707 read = "0 0 1 1 1 0 0 0 x x x x x x x x",
13708 "0 0 0 0 0 0 0 0 o o o o o o o o";
13713 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
13714 "x x x x x x a1 a0 o o o o o o o o";
13719 #------------------------------------------------------------
13721 #------------------------------------------------------------
13725 desc = "AT90USB162";
13727 has_debugwire = yes;
13728 signature = 0x1e 0x94 0x82;
13729 chip_erase_delay = 9000;
13731 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
13732 "x x x x x x x x x x x x x x x x";
13733 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
13734 "x x x x x x x x x x x x x x x x";
13749 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
13750 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
13751 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
13752 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
13753 hventerstabdelay = 100;
13757 poweroffdelay = 15;
13760 hvleavestabdelay = 15;
13761 chiperasepulsewidth = 0;
13762 chiperasepolltimeout = 10;
13763 programfusepulsewidth = 0;
13764 programfusepolltimeout = 5;
13765 programlockpulsewidth = 0;
13766 programlockpolltimeout = 5;
13769 paged = no; /* leave this "no" */
13770 page_size = 4; /* for parallel programming */
13773 min_write_delay = 9000;
13774 max_write_delay = 9000;
13775 readback_p1 = 0x00;
13776 readback_p2 = 0x00;
13777 read = " 1 0 1 0 0 0 0 0",
13778 " 0 0 0 0 a11 a10 a9 a8",
13779 " a7 a6 a5 a4 a3 a2 a1 a0",
13780 " o o o o o o o o";
13782 write = " 1 1 0 0 0 0 0 0",
13783 " 0 0 0 0 a11 a10 a9 a8",
13784 " a7 a6 a5 a4 a3 a2 a1 a0",
13785 " i i i i i i i i";
13787 loadpage_lo = " 1 1 0 0 0 0 0 1",
13788 " 0 0 0 0 0 0 0 0",
13789 " 0 0 0 0 0 0 a1 a0",
13790 " i i i i i i i i";
13792 writepage = " 1 1 0 0 0 0 1 0",
13793 " 0 0 0 0 a11 a10 a9 a8",
13794 " a7 a6 a5 a4 a3 a2 0 0",
13795 " x x x x x x x x";
13808 min_write_delay = 4500;
13809 max_write_delay = 4500;
13810 readback_p1 = 0x00;
13811 readback_p2 = 0x00;
13812 read_lo = " 0 0 1 0 0 0 0 0",
13813 "a15 a14 a13 a12 a11 a10 a9 a8",
13814 " a7 a6 a5 a4 a3 a2 a1 a0",
13815 " o o o o o o o o";
13817 read_hi = " 0 0 1 0 1 0 0 0",
13818 "a15 a14 a13 a12 a11 a10 a9 a8",
13819 " a7 a6 a5 a4 a3 a2 a1 a0",
13820 " o o o o o o o o";
13822 loadpage_lo = " 0 1 0 0 0 0 0 0",
13823 " x x x x x x x x",
13824 " x x a5 a4 a3 a2 a1 a0",
13825 " i i i i i i i i";
13827 loadpage_hi = " 0 1 0 0 1 0 0 0",
13828 " x x x x x x x x",
13829 " x x a5 a4 a3 a2 a1 a0",
13830 " i i i i i i i i";
13832 writepage = " 0 1 0 0 1 1 0 0",
13833 "a15 a14 a13 a12 a11 a10 a9 a8",
13834 " a7 a6 x x x x x x",
13835 " x x x x x x x x";
13845 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
13846 "x x x x x x x x i i i i i i i i";
13848 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
13849 "x x x x x x x x o o o o o o o o";
13850 min_write_delay = 9000;
13851 max_write_delay = 9000;
13856 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
13857 "x x x x x x x x i i i i i i i i";
13859 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
13860 "x x x x x x x x o o o o o o o o";
13861 min_write_delay = 9000;
13862 max_write_delay = 9000;
13867 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
13868 "x x x x x x x x i i i i i i i i";
13870 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
13871 "x x x x x x x x o o o o o o o o";
13872 min_write_delay = 9000;
13873 max_write_delay = 9000;
13878 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
13879 "x x x x x x x x x x o o o o o o";
13881 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
13882 "x x x x x x x x 1 1 i i i i i i";
13883 min_write_delay = 9000;
13884 max_write_delay = 9000;
13887 memory "calibration"
13889 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
13890 "0 0 0 0 0 0 0 0 o o o o o o o o";
13894 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
13895 "x x x x x x a1 a0 o o o o o o o o";
13899 #------------------------------------------------------------
13901 #------------------------------------------------------------
13902 # Changes against AT90USB162 (beside IDs)
13909 desc = "AT90USB82";
13911 has_debugwire = yes;
13912 signature = 0x1e 0x93 0x82;
13913 chip_erase_delay = 9000;
13915 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
13916 "x x x x x x x x x x x x x x x x";
13917 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
13918 "x x x x x x x x x x x x x x x x";
13933 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
13934 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
13935 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
13936 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
13937 hventerstabdelay = 100;
13941 poweroffdelay = 15;
13944 hvleavestabdelay = 15;
13945 chiperasepulsewidth = 0;
13946 chiperasepolltimeout = 10;
13947 programfusepulsewidth = 0;
13948 programfusepolltimeout = 5;
13949 programlockpulsewidth = 0;
13950 programlockpolltimeout = 5;
13953 paged = no; /* leave this "no" */
13954 page_size = 4; /* for parallel programming */
13957 min_write_delay = 9000;
13958 max_write_delay = 9000;
13959 readback_p1 = 0x00;
13960 readback_p2 = 0x00;
13961 read = " 1 0 1 0 0 0 0 0",
13962 " 0 0 0 0 a11 a10 a9 a8",
13963 " a7 a6 a5 a4 a3 a2 a1 a0",
13964 " o o o o o o o o";
13966 write = " 1 1 0 0 0 0 0 0",
13967 " 0 0 0 0 a11 a10 a9 a8",
13968 " a7 a6 a5 a4 a3 a2 a1 a0",
13969 " i i i i i i i i";
13971 loadpage_lo = " 1 1 0 0 0 0 0 1",
13972 " 0 0 0 0 0 0 0 0",
13973 " 0 0 0 0 0 0 a1 a0",
13974 " i i i i i i i i";
13976 writepage = " 1 1 0 0 0 0 1 0",
13977 " 0 0 0 0 a11 a10 a9 a8",
13978 " a7 a6 a5 a4 a3 a2 0 0",
13979 " x x x x x x x x";
13992 min_write_delay = 4500;
13993 max_write_delay = 4500;
13994 readback_p1 = 0x00;
13995 readback_p2 = 0x00;
13996 read_lo = " 0 0 1 0 0 0 0 0",
13997 "a15 a14 a13 a12 a11 a10 a9 a8",
13998 " a7 a6 a5 a4 a3 a2 a1 a0",
13999 " o o o o o o o o";
14001 read_hi = " 0 0 1 0 1 0 0 0",
14002 "a15 a14 a13 a12 a11 a10 a9 a8",
14003 " a7 a6 a5 a4 a3 a2 a1 a0",
14004 " o o o o o o o o";
14006 loadpage_lo = " 0 1 0 0 0 0 0 0",
14007 " x x x x x x x x",
14008 " x x a5 a4 a3 a2 a1 a0",
14009 " i i i i i i i i";
14011 loadpage_hi = " 0 1 0 0 1 0 0 0",
14012 " x x x x x x x x",
14013 " x x a5 a4 a3 a2 a1 a0",
14014 " i i i i i i i i";
14016 writepage = " 0 1 0 0 1 1 0 0",
14017 "a15 a14 a13 a12 a11 a10 a9 a8",
14018 " a7 a6 x x x x x x",
14019 " x x x x x x x x";
14029 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
14030 "x x x x x x x x i i i i i i i i";
14032 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
14033 "x x x x x x x x o o o o o o o o";
14034 min_write_delay = 9000;
14035 max_write_delay = 9000;
14040 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
14041 "x x x x x x x x i i i i i i i i";
14043 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
14044 "x x x x x x x x o o o o o o o o";
14045 min_write_delay = 9000;
14046 max_write_delay = 9000;
14051 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
14052 "x x x x x x x x i i i i i i i i";
14054 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
14055 "x x x x x x x x o o o o o o o o";
14056 min_write_delay = 9000;
14057 max_write_delay = 9000;
14062 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
14063 "x x x x x x x x x x o o o o o o";
14065 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
14066 "x x x x x x x x 1 1 i i i i i i";
14067 min_write_delay = 9000;
14068 max_write_delay = 9000;
14071 memory "calibration"
14073 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
14074 "0 0 0 0 0 0 0 0 o o o o o o o o";
14078 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
14079 "x x x x x x a1 a0 o o o o o o o o";
14083 #------------------------------------------------------------
14085 #------------------------------------------------------------
14086 # Changes against AT90USB162 (beside IDs)
14095 desc = "ATmega32U2";
14097 has_debugwire = yes;
14098 signature = 0x1e 0x95 0x8a;
14099 chip_erase_delay = 9000;
14101 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
14102 "x x x x x x x x x x x x x x x x";
14103 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
14104 "x x x x x x x x x x x x x x x x";
14119 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
14120 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
14121 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
14122 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
14123 hventerstabdelay = 100;
14127 poweroffdelay = 15;
14130 hvleavestabdelay = 15;
14131 chiperasepulsewidth = 0;
14132 chiperasepolltimeout = 10;
14133 programfusepulsewidth = 0;
14134 programfusepolltimeout = 5;
14135 programlockpulsewidth = 0;
14136 programlockpolltimeout = 5;
14139 paged = no; /* leave this "no" */
14140 page_size = 4; /* for parallel programming */
14143 min_write_delay = 9000;
14144 max_write_delay = 9000;
14145 readback_p1 = 0x00;
14146 readback_p2 = 0x00;
14147 read = " 1 0 1 0 0 0 0 0",
14148 " 0 0 0 0 a11 a10 a9 a8",
14149 " a7 a6 a5 a4 a3 a2 a1 a0",
14150 " o o o o o o o o";
14152 write = " 1 1 0 0 0 0 0 0",
14153 " 0 0 0 0 a11 a10 a9 a8",
14154 " a7 a6 a5 a4 a3 a2 a1 a0",
14155 " i i i i i i i i";
14157 loadpage_lo = " 1 1 0 0 0 0 0 1",
14158 " 0 0 0 0 0 0 0 0",
14159 " 0 0 0 0 0 0 a1 a0",
14160 " i i i i i i i i";
14162 writepage = " 1 1 0 0 0 0 1 0",
14163 " 0 0 0 0 a11 a10 a9 a8",
14164 " a7 a6 a5 a4 a3 a2 0 0",
14165 " x x x x x x x x";
14178 min_write_delay = 4500;
14179 max_write_delay = 4500;
14180 readback_p1 = 0x00;
14181 readback_p2 = 0x00;
14182 read_lo = " 0 0 1 0 0 0 0 0",
14183 "a15 a14 a13 a12 a11 a10 a9 a8",
14184 " a7 a6 a5 a4 a3 a2 a1 a0",
14185 " o o o o o o o o";
14187 read_hi = " 0 0 1 0 1 0 0 0",
14188 "a15 a14 a13 a12 a11 a10 a9 a8",
14189 " a7 a6 a5 a4 a3 a2 a1 a0",
14190 " o o o o o o o o";
14192 loadpage_lo = " 0 1 0 0 0 0 0 0",
14193 " x x x x x x x x",
14194 " x x a5 a4 a3 a2 a1 a0",
14195 " i i i i i i i i";
14197 loadpage_hi = " 0 1 0 0 1 0 0 0",
14198 " x x x x x x x x",
14199 " x x a5 a4 a3 a2 a1 a0",
14200 " i i i i i i i i";
14202 writepage = " 0 1 0 0 1 1 0 0",
14203 "a15 a14 a13 a12 a11 a10 a9 a8",
14204 " a7 a6 x x x x x x",
14205 " x x x x x x x x";
14215 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
14216 "x x x x x x x x i i i i i i i i";
14218 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
14219 "x x x x x x x x o o o o o o o o";
14220 min_write_delay = 9000;
14221 max_write_delay = 9000;
14226 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
14227 "x x x x x x x x i i i i i i i i";
14229 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
14230 "x x x x x x x x o o o o o o o o";
14231 min_write_delay = 9000;
14232 max_write_delay = 9000;
14237 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
14238 "x x x x x x x x i i i i i i i i";
14240 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
14241 "x x x x x x x x o o o o o o o o";
14242 min_write_delay = 9000;
14243 max_write_delay = 9000;
14248 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
14249 "x x x x x x x x x x o o o o o o";
14251 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
14252 "x x x x x x x x 1 1 i i i i i i";
14253 min_write_delay = 9000;
14254 max_write_delay = 9000;
14257 memory "calibration"
14259 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
14260 "0 0 0 0 0 0 0 0 o o o o o o o o";
14264 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
14265 "x x x x x x a1 a0 o o o o o o o o";
14268 #------------------------------------------------------------
14270 #------------------------------------------------------------
14271 # Changes against ATmega32U2 (beside IDs)
14280 desc = "ATmega16U2";
14282 has_debugwire = yes;
14283 signature = 0x1e 0x94 0x89;
14284 chip_erase_delay = 9000;
14286 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
14287 "x x x x x x x x x x x x x x x x";
14288 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
14289 "x x x x x x x x x x x x x x x x";
14304 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
14305 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
14306 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
14307 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
14308 hventerstabdelay = 100;
14312 poweroffdelay = 15;
14315 hvleavestabdelay = 15;
14316 chiperasepulsewidth = 0;
14317 chiperasepolltimeout = 10;
14318 programfusepulsewidth = 0;
14319 programfusepolltimeout = 5;
14320 programlockpulsewidth = 0;
14321 programlockpolltimeout = 5;
14324 paged = no; /* leave this "no" */
14325 page_size = 4; /* for parallel programming */
14328 min_write_delay = 9000;
14329 max_write_delay = 9000;
14330 readback_p1 = 0x00;
14331 readback_p2 = 0x00;
14332 read = " 1 0 1 0 0 0 0 0",
14333 " 0 0 0 0 a11 a10 a9 a8",
14334 " a7 a6 a5 a4 a3 a2 a1 a0",
14335 " o o o o o o o o";
14337 write = " 1 1 0 0 0 0 0 0",
14338 " 0 0 0 0 a11 a10 a9 a8",
14339 " a7 a6 a5 a4 a3 a2 a1 a0",
14340 " i i i i i i i i";
14342 loadpage_lo = " 1 1 0 0 0 0 0 1",
14343 " 0 0 0 0 0 0 0 0",
14344 " 0 0 0 0 0 0 a1 a0",
14345 " i i i i i i i i";
14347 writepage = " 1 1 0 0 0 0 1 0",
14348 " 0 0 0 0 a11 a10 a9 a8",
14349 " a7 a6 a5 a4 a3 a2 0 0",
14350 " x x x x x x x x";
14363 min_write_delay = 4500;
14364 max_write_delay = 4500;
14365 readback_p1 = 0x00;
14366 readback_p2 = 0x00;
14367 read_lo = " 0 0 1 0 0 0 0 0",
14368 "a15 a14 a13 a12 a11 a10 a9 a8",
14369 " a7 a6 a5 a4 a3 a2 a1 a0",
14370 " o o o o o o o o";
14372 read_hi = " 0 0 1 0 1 0 0 0",
14373 "a15 a14 a13 a12 a11 a10 a9 a8",
14374 " a7 a6 a5 a4 a3 a2 a1 a0",
14375 " o o o o o o o o";
14377 loadpage_lo = " 0 1 0 0 0 0 0 0",
14378 " x x x x x x x x",
14379 " x x a5 a4 a3 a2 a1 a0",
14380 " i i i i i i i i";
14382 loadpage_hi = " 0 1 0 0 1 0 0 0",
14383 " x x x x x x x x",
14384 " x x a5 a4 a3 a2 a1 a0",
14385 " i i i i i i i i";
14387 writepage = " 0 1 0 0 1 1 0 0",
14388 "a15 a14 a13 a12 a11 a10 a9 a8",
14389 " a7 a6 x x x x x x",
14390 " x x x x x x x x";
14400 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
14401 "x x x x x x x x i i i i i i i i";
14403 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
14404 "x x x x x x x x o o o o o o o o";
14405 min_write_delay = 9000;
14406 max_write_delay = 9000;
14411 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
14412 "x x x x x x x x i i i i i i i i";
14414 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
14415 "x x x x x x x x o o o o o o o o";
14416 min_write_delay = 9000;
14417 max_write_delay = 9000;
14422 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
14423 "x x x x x x x x i i i i i i i i";
14425 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
14426 "x x x x x x x x o o o o o o o o";
14427 min_write_delay = 9000;
14428 max_write_delay = 9000;
14433 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
14434 "x x x x x x x x x x o o o o o o";
14436 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
14437 "x x x x x x x x 1 1 i i i i i i";
14438 min_write_delay = 9000;
14439 max_write_delay = 9000;
14442 memory "calibration"
14444 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
14445 "0 0 0 0 0 0 0 0 o o o o o o o o";
14449 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
14450 "x x x x x x a1 a0 o o o o o o o o";
14454 #------------------------------------------------------------
14456 #------------------------------------------------------------
14457 # Changes against ATmega16U2 (beside IDs)
14465 desc = "ATmega8U2";
14467 has_debugwire = yes;
14468 signature = 0x1e 0x93 0x89;
14469 chip_erase_delay = 9000;
14471 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
14472 "x x x x x x x x x x x x x x x x";
14473 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
14474 "x x x x x x x x x x x x x x x x";
14489 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
14490 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
14491 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
14492 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
14493 hventerstabdelay = 100;
14497 poweroffdelay = 15;
14500 hvleavestabdelay = 15;
14501 chiperasepulsewidth = 0;
14502 chiperasepolltimeout = 10;
14503 programfusepulsewidth = 0;
14504 programfusepolltimeout = 5;
14505 programlockpulsewidth = 0;
14506 programlockpolltimeout = 5;
14509 paged = no; /* leave this "no" */
14510 page_size = 4; /* for parallel programming */
14513 min_write_delay = 9000;
14514 max_write_delay = 9000;
14515 readback_p1 = 0x00;
14516 readback_p2 = 0x00;
14517 read = " 1 0 1 0 0 0 0 0",
14518 " 0 0 0 0 a11 a10 a9 a8",
14519 " a7 a6 a5 a4 a3 a2 a1 a0",
14520 " o o o o o o o o";
14522 write = " 1 1 0 0 0 0 0 0",
14523 " 0 0 0 0 a11 a10 a9 a8",
14524 " a7 a6 a5 a4 a3 a2 a1 a0",
14525 " i i i i i i i i";
14527 loadpage_lo = " 1 1 0 0 0 0 0 1",
14528 " 0 0 0 0 0 0 0 0",
14529 " 0 0 0 0 0 0 a1 a0",
14530 " i i i i i i i i";
14532 writepage = " 1 1 0 0 0 0 1 0",
14533 " 0 0 0 0 a11 a10 a9 a8",
14534 " a7 a6 a5 a4 a3 a2 0 0",
14535 " x x x x x x x x";
14548 min_write_delay = 4500;
14549 max_write_delay = 4500;
14550 readback_p1 = 0x00;
14551 readback_p2 = 0x00;
14552 read_lo = " 0 0 1 0 0 0 0 0",
14553 "a15 a14 a13 a12 a11 a10 a9 a8",
14554 " a7 a6 a5 a4 a3 a2 a1 a0",
14555 " o o o o o o o o";
14557 read_hi = " 0 0 1 0 1 0 0 0",
14558 "a15 a14 a13 a12 a11 a10 a9 a8",
14559 " a7 a6 a5 a4 a3 a2 a1 a0",
14560 " o o o o o o o o";
14562 loadpage_lo = " 0 1 0 0 0 0 0 0",
14563 " x x x x x x x x",
14564 " x x a5 a4 a3 a2 a1 a0",
14565 " i i i i i i i i";
14567 loadpage_hi = " 0 1 0 0 1 0 0 0",
14568 " x x x x x x x x",
14569 " x x a5 a4 a3 a2 a1 a0",
14570 " i i i i i i i i";
14572 writepage = " 0 1 0 0 1 1 0 0",
14573 "a15 a14 a13 a12 a11 a10 a9 a8",
14574 " a7 a6 x x x x x x",
14575 " x x x x x x x x";
14585 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
14586 "x x x x x x x x i i i i i i i i";
14588 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
14589 "x x x x x x x x o o o o o o o o";
14590 min_write_delay = 9000;
14591 max_write_delay = 9000;
14596 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
14597 "x x x x x x x x i i i i i i i i";
14599 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
14600 "x x x x x x x x o o o o o o o o";
14601 min_write_delay = 9000;
14602 max_write_delay = 9000;
14607 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
14608 "x x x x x x x x i i i i i i i i";
14610 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
14611 "x x x x x x x x o o o o o o o o";
14612 min_write_delay = 9000;
14613 max_write_delay = 9000;
14618 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
14619 "x x x x x x x x x x o o o o o o";
14621 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
14622 "x x x x x x x x 1 1 i i i i i i";
14623 min_write_delay = 9000;
14624 max_write_delay = 9000;
14627 memory "calibration"
14629 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
14630 "0 0 0 0 0 0 0 0 o o o o o o o o";
14634 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
14635 "x x x x x x a1 a0 o o o o o o o o";
14638 #------------------------------------------------------------
14640 #------------------------------------------------------------
14644 desc = "ATMEGA325";
14645 signature = 0x1e 0x95 0x05;
14647 # stk500_devcode = 0x??; # No STK500v1 support?
14648 # avr910_devcode = 0x??; # Try the ATmega16 one
14649 avr910_devcode = 0x74;
14652 chip_erase_delay = 9000;
14653 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
14654 "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0";
14656 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
14657 "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0";
14671 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
14672 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
14673 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
14674 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
14675 hventerstabdelay = 100;
14679 poweroffdelay = 15;
14682 hvleavestabdelay = 15;
14683 chiperasepulsewidth = 0;
14684 chiperasepolltimeout = 10;
14685 programfusepulsewidth = 0;
14686 programfusepolltimeout = 5;
14687 programlockpulsewidth = 0;
14688 programlockpolltimeout = 5;
14692 allowfullpagebitstream = no;
14695 paged = no; /* leave this "no" */
14696 page_size = 4; /* for parallel programming */
14698 min_write_delay = 9000;
14699 max_write_delay = 9000;
14700 readback_p1 = 0xff;
14701 readback_p2 = 0xff;
14702 read = " 1 0 1 0 0 0 0 0",
14703 " 0 0 0 0 0 0 a9 a8",
14704 " a7 a6 a5 a4 a3 a2 a1 a0",
14705 " o o o o o o o o";
14707 write = " 1 1 0 0 0 0 0 0",
14708 " 0 0 0 0 0 0 a9 a8",
14709 " a7 a6 a5 a4 a3 a2 a1 a0",
14710 " i i i i i i i i";
14712 loadpage_lo = " 1 1 0 0 0 0 0 1",
14713 " 0 0 0 0 0 0 0 0",
14714 " 0 0 0 0 0 0 a1 a0",
14715 " i i i i i i i i";
14717 writepage = " 1 1 0 0 0 0 1 0",
14718 " 0 0 0 0 0 0 a9 a8",
14719 " a7 a6 a5 a4 a3 a2 0 0",
14720 " x x x x x x x x";
14733 min_write_delay = 4500;
14734 max_write_delay = 4500;
14735 readback_p1 = 0xff;
14736 readback_p2 = 0xff;
14737 read_lo = " 0 0 1 0 0 0 0 0",
14738 " 0 a14 a13 a12 a11 a10 a9 a8",
14739 " a7 a6 a5 a4 a3 a2 a1 a0",
14740 " o o o o o o o o";
14742 read_hi = " 0 0 1 0 1 0 0 0",
14743 " 0 a14 a13 a12 a11 a10 a9 a8",
14744 " a7 a6 a5 a4 a3 a2 a1 a0",
14745 " o o o o o o o o";
14747 loadpage_lo = " 0 1 0 0 0 0 0 0",
14748 " 0 0 0 0 0 0 0 0",
14749 " a7 a6 a5 a4 a3 a2 a1 a0",
14750 " i i i i i i i i";
14752 loadpage_hi = " 0 1 0 0 1 0 0 0",
14753 " 0 0 0 0 0 0 0 0",
14754 " a7 a6 a5 a4 a3 a2 a1 a0",
14755 " i i i i i i i i";
14757 writepage = " 0 1 0 0 1 1 0 0",
14758 " 0 a14 a13 a12 a11 a10 a9 a8",
14759 " a7 a6 a5 a4 a3 a2 a1 a0",
14760 " x x x x x x x x";
14770 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
14771 "x x x x x x x x x x o o o o o o";
14773 write = "1 0 1 0 1 1 0 0 1 1 1 0 0 0 0 0",
14774 "0 0 0 0 0 0 0 0 1 1 i i i i i i";
14775 min_write_delay = 9000;
14776 max_write_delay = 9000;
14781 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
14782 "0 0 0 0 0 0 0 0 o o o o o o o o";
14784 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
14785 "0 0 0 0 0 0 0 0 i i i i i i i i";
14786 min_write_delay = 9000;
14787 max_write_delay = 9000;
14792 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
14793 "0 0 0 0 0 0 0 0 o o o o o o o o";
14795 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
14796 "0 0 0 0 0 0 0 0 i i i i i i i i";
14797 min_write_delay = 9000;
14798 max_write_delay = 9000;
14804 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
14805 "0 0 0 0 0 0 0 0 o o o o o o o o";
14807 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
14808 "0 0 0 0 0 0 0 0 1 1 1 1 1 i i i";
14809 min_write_delay = 9000;
14810 max_write_delay = 9000;
14815 read = "0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0",
14816 "0 0 0 0 0 0 a1 a0 o o o o o o o o";
14819 memory "calibration"
14822 read = "0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0",
14823 "0 0 0 0 0 0 0 0 o o o o o o o o";
14827 #------------------------------------------------------------
14829 #------------------------------------------------------------
14833 desc = "ATMEGA645";
14834 signature = 0x1E 0x96 0x05;
14836 # stk500_devcode = 0x??; # No STK500v1 support?
14837 # avr910_devcode = 0x??; # Try the ATmega16 one
14838 avr910_devcode = 0x74;
14841 chip_erase_delay = 9000;
14842 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
14843 "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0";
14845 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
14846 "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0";
14860 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
14861 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
14862 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
14863 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
14864 hventerstabdelay = 100;
14868 poweroffdelay = 15;
14871 hvleavestabdelay = 15;
14872 chiperasepulsewidth = 0;
14873 chiperasepolltimeout = 10;
14874 programfusepulsewidth = 0;
14875 programfusepolltimeout = 5;
14876 programlockpulsewidth = 0;
14877 programlockpolltimeout = 5;
14881 allowfullpagebitstream = no;
14884 paged = no; /* leave this "no" */
14885 page_size = 8; /* for parallel programming */
14887 min_write_delay = 9000;
14888 max_write_delay = 9000;
14889 readback_p1 = 0xff;
14890 readback_p2 = 0xff;
14891 read = " 1 0 1 0 0 0 0 0",
14892 " 0 0 0 0 0 a10 a9 a8",
14893 " a7 a6 a5 a4 a3 a2 a1 a0",
14894 " o o o o o o o o";
14896 write = " 1 1 0 0 0 0 0 0",
14897 " 0 0 0 0 0 a10 a9 a8",
14898 " a7 a6 a5 a4 a3 a2 a1 a0",
14899 " i i i i i i i i";
14901 loadpage_lo = " 1 1 0 0 0 0 0 1",
14902 " 0 0 0 0 0 0 0 0",
14903 " 0 0 0 0 0 a2 a1 a0",
14904 " i i i i i i i i";
14906 writepage = " 1 1 0 0 0 0 1 0",
14907 " 0 0 0 0 0 a10 a9 a8",
14908 " a7 a6 a5 a4 a3 0 0 0",
14909 " x x x x x x x x";
14922 min_write_delay = 4500;
14923 max_write_delay = 4500;
14924 readback_p1 = 0xff;
14925 readback_p2 = 0xff;
14926 read_lo = " 0 0 1 0 0 0 0 0",
14927 " a15 a14 a13 a12 a11 a10 a9 a8",
14928 " a7 a6 a5 a4 a3 a2 a1 a0",
14929 " o o o o o o o o";
14931 read_hi = " 0 0 1 0 1 0 0 0",
14932 " a15 a14 a13 a12 a11 a10 a9 a8",
14933 " a7 a6 a5 a4 a3 a2 a1 a0",
14934 " o o o o o o o o";
14936 loadpage_lo = " 0 1 0 0 0 0 0 0",
14937 " 0 0 0 0 0 0 0 0",
14938 " a7 a6 a5 a4 a3 a2 a1 a0",
14939 " i i i i i i i i";
14941 loadpage_hi = " 0 1 0 0 1 0 0 0",
14942 " 0 0 0 0 0 0 0 0",
14943 " a7 a6 a5 a4 a3 a2 a1 a0",
14944 " i i i i i i i i";
14946 writepage = " 0 1 0 0 1 1 0 0",
14947 " a15 a14 a13 a12 a11 a10 a9 a8",
14948 " a7 a6 a5 a4 a3 a2 a1 a0",
14949 " 0 0 0 0 0 0 0 0";
14959 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
14960 "x x x x x x x x x x o o o o o o";
14962 write = "1 0 1 0 1 1 0 0 1 1 1 0 0 0 0 0",
14963 "0 0 0 0 0 0 0 0 1 1 i i i i i i";
14964 min_write_delay = 9000;
14965 max_write_delay = 9000;
14970 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
14971 "0 0 0 0 0 0 0 0 o o o o o o o o";
14973 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
14974 "0 0 0 0 0 0 0 0 i i i i i i i i";
14975 min_write_delay = 9000;
14976 max_write_delay = 9000;
14981 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
14982 "0 0 0 0 0 0 0 0 o o o o o o o o";
14984 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
14985 "0 0 0 0 0 0 0 0 i i i i i i i i";
14986 min_write_delay = 9000;
14987 max_write_delay = 9000;
14993 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
14994 "0 0 0 0 0 0 0 0 o o o o o o o o";
14996 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
14997 "0 0 0 0 0 0 0 0 1 1 1 1 1 i i i";
14998 min_write_delay = 9000;
14999 max_write_delay = 9000;
15004 read = "0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0",
15005 "0 0 0 0 0 0 a1 a0 o o o o o o o o";
15008 memory "calibration"
15011 read = "0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0",
15012 "0 0 0 0 0 0 0 0 o o o o o o o o";
15016 #------------------------------------------------------------
15018 #------------------------------------------------------------
15022 desc = "ATMEGA3250";
15023 signature = 0x1E 0x95 0x06;
15025 # stk500_devcode = 0x??; # No STK500v1 support?
15026 # avr910_devcode = 0x??; # Try the ATmega16 one
15027 avr910_devcode = 0x74;
15030 chip_erase_delay = 9000;
15031 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
15032 "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0";
15034 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
15035 "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0";
15049 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
15050 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
15051 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
15052 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
15053 hventerstabdelay = 100;
15057 poweroffdelay = 15;
15060 hvleavestabdelay = 15;
15061 chiperasepulsewidth = 0;
15062 chiperasepolltimeout = 10;
15063 programfusepulsewidth = 0;
15064 programfusepolltimeout = 5;
15065 programlockpulsewidth = 0;
15066 programlockpolltimeout = 5;
15070 allowfullpagebitstream = no;
15073 paged = no; /* leave this "no" */
15074 page_size = 4; /* for parallel programming */
15076 min_write_delay = 9000;
15077 max_write_delay = 9000;
15078 readback_p1 = 0xff;
15079 readback_p2 = 0xff;
15080 read = " 1 0 1 0 0 0 0 0",
15081 " 0 0 0 0 0 0 a9 a8",
15082 " a7 a6 a5 a4 a3 a2 a1 a0",
15083 " o o o o o o o o";
15085 write = " 1 1 0 0 0 0 0 0",
15086 " 0 0 0 0 0 0 a9 a8",
15087 " a7 a6 a5 a4 a3 a2 a1 a0",
15088 " i i i i i i i i";
15090 loadpage_lo = " 1 1 0 0 0 0 0 1",
15091 " 0 0 0 0 0 0 0 0",
15092 " 0 0 0 0 0 0 a1 a0",
15093 " i i i i i i i i";
15095 writepage = " 1 1 0 0 0 0 1 0",
15096 " 0 0 0 0 0 0 a9 a8",
15097 " a7 a6 a5 a4 a3 a2 0 0",
15098 " x x x x x x x x";
15111 min_write_delay = 4500;
15112 max_write_delay = 4500;
15113 readback_p1 = 0xff;
15114 readback_p2 = 0xff;
15115 read_lo = " 0 0 1 0 0 0 0 0",
15116 " 0 a14 a13 a12 a11 a10 a9 a8",
15117 " a7 a6 a5 a4 a3 a2 a1 a0",
15118 " o o o o o o o o";
15120 read_hi = " 0 0 1 0 1 0 0 0",
15121 " 0 a14 a13 a12 a11 a10 a9 a8",
15122 " a7 a6 a5 a4 a3 a2 a1 a0",
15123 " o o o o o o o o";
15125 loadpage_lo = " 0 1 0 0 0 0 0 0",
15126 " 0 0 0 0 0 0 0 0",
15127 " a7 a6 a5 a4 a3 a2 a1 a0",
15128 " i i i i i i i i";
15130 loadpage_hi = " 0 1 0 0 1 0 0 0",
15131 " 0 0 0 0 0 0 0 0",
15132 " a7 a6 a5 a4 a3 a2 a1 a0",
15133 " i i i i i i i i";
15135 writepage = " 0 1 0 0 1 1 0 0",
15136 " 0 a14 a13 a12 a11 a10 a9 a8",
15137 " a7 a6 a5 a4 a3 a2 a1 a0",
15138 " x x x x x x x x";
15148 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
15149 "x x x x x x x x x x o o o o o o";
15151 write = "1 0 1 0 1 1 0 0 1 1 1 0 0 0 0 0",
15152 "0 0 0 0 0 0 0 0 1 1 i i i i i i";
15153 min_write_delay = 9000;
15154 max_write_delay = 9000;
15159 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
15160 "0 0 0 0 0 0 0 0 o o o o o o o o";
15162 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
15163 "0 0 0 0 0 0 0 0 i i i i i i i i";
15164 min_write_delay = 9000;
15165 max_write_delay = 9000;
15170 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
15171 "0 0 0 0 0 0 0 0 o o o o o o o o";
15173 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
15174 "0 0 0 0 0 0 0 0 i i i i i i i i";
15175 min_write_delay = 9000;
15176 max_write_delay = 9000;
15182 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
15183 "0 0 0 0 0 0 0 0 o o o o o o o o";
15185 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
15186 "0 0 0 0 0 0 0 0 1 1 1 1 1 i i i";
15187 min_write_delay = 9000;
15188 max_write_delay = 9000;
15193 read = "0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0",
15194 "0 0 0 0 0 0 a1 a0 o o o o o o o o";
15197 memory "calibration"
15200 read = "0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0",
15201 "0 0 0 0 0 0 0 0 o o o o o o o o";
15205 #------------------------------------------------------------
15207 #------------------------------------------------------------
15211 desc = "ATMEGA6450";
15212 signature = 0x1E 0x96 0x06;
15214 # stk500_devcode = 0x??; # No STK500v1 support?
15215 # avr910_devcode = 0x??; # Try the ATmega16 one
15216 avr910_devcode = 0x74;
15219 chip_erase_delay = 9000;
15220 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
15221 "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0";
15223 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
15224 "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0";
15238 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
15239 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
15240 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
15241 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
15242 hventerstabdelay = 100;
15246 poweroffdelay = 15;
15249 hvleavestabdelay = 15;
15250 chiperasepulsewidth = 0;
15251 chiperasepolltimeout = 10;
15252 programfusepulsewidth = 0;
15253 programfusepolltimeout = 5;
15254 programlockpulsewidth = 0;
15255 programlockpolltimeout = 5;
15259 allowfullpagebitstream = no;
15262 paged = no; /* leave this "no" */
15263 page_size = 8; /* for parallel programming */
15265 min_write_delay = 9000;
15266 max_write_delay = 9000;
15267 readback_p1 = 0xff;
15268 readback_p2 = 0xff;
15269 read = " 1 0 1 0 0 0 0 0",
15270 " 0 0 0 0 0 a10 a9 a8",
15271 " a7 a6 a5 a4 a3 a2 a1 a0",
15272 " o o o o o o o o";
15274 write = " 1 1 0 0 0 0 0 0",
15275 " 0 0 0 0 0 a10 a9 a8",
15276 " a7 a6 a5 a4 a3 a2 a1 a0",
15277 " i i i i i i i i";
15279 loadpage_lo = " 1 1 0 0 0 0 0 1",
15280 " 0 0 0 0 0 0 0 0",
15281 " 0 0 0 0 0 a2 a1 a0",
15282 " i i i i i i i i";
15284 writepage = " 1 1 0 0 0 0 1 0",
15285 " 0 0 0 0 0 a10 a9 a8",
15286 " a7 a6 a5 a4 a3 0 0 0",
15287 " x x x x x x x x";
15300 min_write_delay = 4500;
15301 max_write_delay = 4500;
15302 readback_p1 = 0xff;
15303 readback_p2 = 0xff;
15304 read_lo = " 0 0 1 0 0 0 0 0",
15305 " a15 a14 a13 a12 a11 a10 a9 a8",
15306 " a7 a6 a5 a4 a3 a2 a1 a0",
15307 " o o o o o o o o";
15309 read_hi = " 0 0 1 0 1 0 0 0",
15310 " a15 a14 a13 a12 a11 a10 a9 a8",
15311 " a7 a6 a5 a4 a3 a2 a1 a0",
15312 " o o o o o o o o";
15314 loadpage_lo = " 0 1 0 0 0 0 0 0",
15315 " 0 0 0 0 0 0 0 0",
15316 " a7 a6 a5 a4 a3 a2 a1 a0",
15317 " i i i i i i i i";
15319 loadpage_hi = " 0 1 0 0 1 0 0 0",
15320 " 0 0 0 0 0 0 0 0",
15321 " a7 a6 a5 a4 a3 a2 a1 a0",
15322 " i i i i i i i i";
15324 writepage = " 0 1 0 0 1 1 0 0",
15325 " a15 a14 a13 a12 a11 a10 a9 a8",
15326 " a7 a6 a5 a4 a3 a2 a1 a0",
15327 " 0 0 0 0 0 0 0 0";
15337 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
15338 "x x x x x x x x x x o o o o o o";
15340 write = "1 0 1 0 1 1 0 0 1 1 1 0 0 0 0 0",
15341 "0 0 0 0 0 0 0 0 1 1 i i i i i i";
15342 min_write_delay = 9000;
15343 max_write_delay = 9000;
15348 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
15349 "0 0 0 0 0 0 0 0 o o o o o o o o";
15351 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
15352 "0 0 0 0 0 0 0 0 i i i i i i i i";
15353 min_write_delay = 9000;
15354 max_write_delay = 9000;
15359 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
15360 "0 0 0 0 0 0 0 0 o o o o o o o o";
15362 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
15363 "0 0 0 0 0 0 0 0 i i i i i i i i";
15364 min_write_delay = 9000;
15365 max_write_delay = 9000;
15371 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
15372 "0 0 0 0 0 0 0 0 o o o o o o o o";
15374 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
15375 "0 0 0 0 0 0 0 0 1 1 1 1 1 i i i";
15376 min_write_delay = 9000;
15377 max_write_delay = 9000;
15382 read = "0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0",
15383 "0 0 0 0 0 0 a1 a0 o o o o o o o o";
15386 memory "calibration"
15389 read = "0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0",
15390 "0 0 0 0 0 0 0 0 o o o o o o o o";
15394 #------------------------------------------------------------
15396 #------------------------------------------------------------
15400 desc = "ATXMEGA64A1";
15401 signature = 0x1e 0x96 0x4e;
15408 offset = 0x08c0000;
15413 memory "application"
15415 offset = 0x0800000;
15422 offset = 0x0080f000;
15429 offset = 0x00810000;
15436 offset = 0x0800000;
15457 offset = 0x1000090;
15491 #------------------------------------------------------------
15493 #------------------------------------------------------------
15497 desc = "ATXMEGA128A1";
15498 signature = 0x1e 0x97 0x4c;
15505 offset = 0x08c0000;
15510 memory "application"
15512 offset = 0x0800000;
15519 offset = 0x0081e000;
15526 offset = 0x00820000;
15533 offset = 0x0800000;
15554 offset = 0x1000090;
15588 #------------------------------------------------------------
15590 #------------------------------------------------------------
15594 desc = "ATXMEGA128A1REVD";
15595 signature = 0x1e 0x97 0x41;
15602 offset = 0x08c0000;
15607 memory "application"
15609 offset = 0x0800000;
15616 offset = 0x0081e000;
15623 offset = 0x00820000;
15630 offset = 0x0800000;
15651 offset = 0x1000090;
15685 #------------------------------------------------------------
15687 #------------------------------------------------------------
15691 desc = "ATXMEGA192A1";
15692 signature = 0x1e 0x97 0x4e;
15699 offset = 0x08c0000;
15704 memory "application"
15706 offset = 0x0800000;
15713 offset = 0x0082e000;
15720 offset = 0x00830000;
15727 offset = 0x0800000;
15748 offset = 0x1000090;
15782 #------------------------------------------------------------
15784 #------------------------------------------------------------
15788 desc = "ATXMEGA256A1";
15789 signature = 0x1e 0x98 0x46;
15796 offset = 0x08c0000;
15801 memory "application"
15803 offset = 0x0800000;
15810 offset = 0x0083e000;
15817 offset = 0x00840000;
15824 offset = 0x0800000;
15845 offset = 0x1000090;
15879 #------------------------------------------------------------
15881 #------------------------------------------------------------
15885 desc = "ATXMEGA64A3";
15886 signature = 0x1e 0x96 0x42;
15893 offset = 0x08c0000;
15898 memory "application"
15900 offset = 0x0800000;
15907 offset = 0x0080f000;
15914 offset = 0x00810000;
15921 offset = 0x0800000;
15942 offset = 0x1000090;
15976 #------------------------------------------------------------
15978 #------------------------------------------------------------
15982 desc = "ATXMEGA128A3";
15983 signature = 0x1e 0x97 0x42;
15990 offset = 0x08c0000;
15995 memory "application"
15997 offset = 0x0800000;
16004 offset = 0x0081e000;
16011 offset = 0x00820000;
16018 offset = 0x0800000;
16039 offset = 0x1000090;
16073 #------------------------------------------------------------
16075 #------------------------------------------------------------
16079 desc = "ATXMEGA192A3";
16080 signature = 0x1e 0x97 0x44;
16087 offset = 0x08c0000;
16092 memory "application"
16094 offset = 0x0800000;
16101 offset = 0x0082e000;
16108 offset = 0x00830000;
16115 offset = 0x0800000;
16136 offset = 0x1000090;
16170 #------------------------------------------------------------
16172 #------------------------------------------------------------
16176 desc = "ATXMEGA256A3";
16177 signature = 0x1e 0x98 0x42;
16184 offset = 0x08c0000;
16189 memory "application"
16191 offset = 0x0800000;
16198 offset = 0x0083e000;
16205 offset = 0x00840000;
16212 offset = 0x0800000;
16233 offset = 0x1000090;
16267 #------------------------------------------------------------
16269 #------------------------------------------------------------
16273 desc = "ATXMEGA256A3B";
16274 signature = 0x1e 0x98 0x43;
16281 offset = 0x08c0000;
16286 memory "application"
16288 offset = 0x0800000;
16295 offset = 0x0083e000;
16302 offset = 0x00840000;
16309 offset = 0x0800000;
16330 offset = 0x1000090;
16364 #------------------------------------------------------------
16366 #------------------------------------------------------------
16370 desc = "ATXMEGA16A4";
16371 signature = 0x1e 0x94 0x41;
16378 offset = 0x08c0000;
16383 memory "application"
16385 offset = 0x0800000;
16392 offset = 0x00803000;
16399 offset = 0x00804000;
16406 offset = 0x0800000;
16427 offset = 0x1000090;
16461 #------------------------------------------------------------
16463 #------------------------------------------------------------
16467 desc = "ATXMEGA32A4";
16468 signature = 0x1e 0x95 0x41;
16475 offset = 0x08c0000;
16480 memory "application"
16482 offset = 0x0800000;
16489 offset = 0x00807000;
16496 offset = 0x00808000;
16503 offset = 0x0800000;
16524 offset = 0x1000090;
16558 #------------------------------------------------------------
16560 #------------------------------------------------------------
16564 desc = "ATXMEGA64A4";
16565 signature = 0x1e 0x96 0x46;
16572 offset = 0x08c0000;
16577 memory "application"
16579 offset = 0x0800000;
16586 offset = 0x0080f000;
16593 offset = 0x00810000;
16600 offset = 0x0800000;
16621 offset = 0x1000090;
16655 #------------------------------------------------------------
16657 #------------------------------------------------------------
16661 desc = "ATXMEGA128A4";
16662 signature = 0x1e 0x97 0x46;
16669 offset = 0x08c0000;
16674 memory "application"
16676 offset = 0x0800000;
16683 offset = 0x0081e000;
16690 offset = 0x00820000;
16697 offset = 0x0800000;
16718 offset = 0x1000090;
16753 #------------------------------------------------------------
16755 #------------------------------------------------------------
16759 desc = "32UC3A0512";
16760 signature = 0xED 0xC0 0x3F;
16766 page_size = 512; # bytes
16767 readsize = 512; # bytes
16768 num_pages = 1024; # could be set dynamicly
16769 size = 0x00080000; # could be set dynamicly
16770 offset = 0x80000000;
16774 #------------------------------------------------------------
16776 #------------------------------------------------------------
16781 signature = 0x1e 0x8f 0x0a;
16804 memory "calibration"
16818 #------------------------------------------------------------
16820 #------------------------------------------------------------
16825 signature = 0x1e 0x8f 0x09;
16848 memory "calibration"
16862 #------------------------------------------------------------
16864 #------------------------------------------------------------
16869 signature = 0x1e 0x90 0x08;
16892 memory "calibration"
16906 #------------------------------------------------------------
16908 #------------------------------------------------------------
16913 signature = 0x1e 0x90 0x03;
16936 memory "calibration"