1 # $Id: avrdude.conf.in 1371 2016-02-15 20:15:07Z 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 # DO NOT MODIFY THIS FILE. Modifications will be overwritten the next
14 # time a "make install" is run. For user-specific additions, use the
15 # "-C +filename" commandline option.
17 # Possible entry formats are:
20 # parent <id> # optional parent
21 # id = <id1> [, <id2> [, <id3>] ...] ; # <idN> are quoted strings
22 # desc = <description> ; # quoted string
23 # type = <type>; # programmer type, quoted string
24 # # supported programmer types can be listed by "-c ?type"
25 # connection_type = parallel | serial | usb
26 # baudrate = <num> ; # baudrate for avr910-programmer
27 # vcc = <num1> [, <num2> ... ] ; # pin number(s)
28 # buff = <num1> [, <num2> ... ] ; # pin number(s)
29 # reset = <num> ; # pin number
30 # sck = <num> ; # pin number
31 # mosi = <num> ; # pin number
32 # miso = <num> ; # pin number
33 # errled = <num> ; # pin number
34 # rdyled = <num> ; # pin number
35 # pgmled = <num> ; # pin number
36 # vfyled = <num> ; # pin number
37 # usbvid = <hexnum>; # USB VID (Vendor ID)
38 # usbpid = <hexnum> [, <hexnum> ...] # USB PID (Product ID) (1)
39 # usbdev = <interface>; # USB interface or other device info
40 # usbvendor = <vendorname>; # USB Vendor Name
41 # usbproduct = <productname>; # USB Product Name
42 # usbsn = <serialno>; # USB Serial Number
44 # To invert a bit, use = ~ <num>, the spaces are important.
45 # For a pin list all pins must be inverted.
46 # A single pin can be specified as usual = ~ <num>, for lists
47 # specify it as follows = ~ ( <num> [, <num2> ... ] ) .
49 # (1) Not all programmer types can process a list of PIDs.
53 # id = <id> ; # quoted string
54 # desc = <description> ; # quoted string
55 # has_jtag = <yes/no> ; # part has JTAG i/f
56 # has_debugwire = <yes/no> ; # part has debugWire i/f
57 # has_pdi = <yes/no> ; # part has PDI i/f
58 # has_tpi = <yes/no> ; # part has TPI i/f
59 # devicecode = <num> ; # deprecated, use stk500_devcode
60 # stk500_devcode = <num> ; # numeric
61 # avr910_devcode = <num> ; # numeric
62 # signature = <num> <num> <num> ; # signature bytes
63 # usbpid = <num> ; # DFU USB PID
64 # chip_erase_delay = <num> ; # micro-seconds
65 # reset = dedicated | io;
66 # retry_pulse = reset | sck;
67 # pgm_enable = <instruction format> ;
68 # chip_erase = <instruction format> ;
69 # chip_erase_delay = <num> ; # chip erase delay (us)
70 # # STK500 parameters (parallel programming IO lines)
71 # pagel = <num> ; # pin name in hex, i.e., 0xD7
72 # bs2 = <num> ; # pin name in hex, i.e., 0xA0
73 # serial = <yes/no> ; # can use serial downloading
74 # parallel = <yes/no/pseudo>; # can use par. programming
75 # # STK500v2 parameters, to be taken from Atmel's XML files
78 # cmdexedelay = <num> ;
79 # synchloops = <num> ;
85 # pollmethod = <num> ;
90 # hvspcmdexedelay = <num> ;
91 # # STK500v2 HV programming parameters, from XML
92 # pp_controlstack = <num>, <num>, ...; # PP only
93 # hvsp_controlstack = <num>, <num>, ...; # HVSP only
94 # hventerstabdelay = <num>;
95 # progmodedelay = <num>; # PP only
96 # latchcycles = <num>;
98 # poweroffdelay = <num>;
99 # resetdelayms = <num>;
100 # resetdelayus = <num>;
101 # hvleavestabdelay = <num>;
102 # resetdelay = <num>;
103 # synchcycles = <num>; # HVSP only
104 # chiperasepulsewidth = <num>; # PP only
105 # chiperasepolltimeout = <num>;
106 # chiperasetime = <num>; # HVSP only
107 # programfusepulsewidth = <num>; # PP only
108 # programfusepolltimeout = <num>;
109 # programlockpulsewidth = <num>; # PP only
110 # programlockpolltimeout = <num>;
111 # # JTAG ICE mkII parameters, also from XML files
112 # allowfullpagebitstream = <yes/no> ;
113 # enablepageprogramming = <yes/no> ;
114 # idr = <num> ; # IO addr of IDR (OCD) reg.
115 # rampz = <num> ; # IO addr of RAMPZ reg.
116 # spmcr = <num> ; # mem addr of SPMC[S]R reg.
117 # eecr = <num> ; # mem addr of EECR reg.
118 # # (only when != 0x3c)
119 # is_at90s1200 = <yes/no> ; # AT90S1200 part
120 # is_avr32 = <yes/no> ; # AVR32 part
123 # paged = <yes/no> ; # yes / no
124 # size = <num> ; # bytes
125 # page_size = <num> ; # bytes
126 # num_pages = <num> ; # numeric
127 # min_write_delay = <num> ; # micro-seconds
128 # max_write_delay = <num> ; # micro-seconds
129 # readback_p1 = <num> ; # byte value
130 # readback_p2 = <num> ; # byte value
131 # pwroff_after_write = <yes/no> ; # yes / no
132 # read = <instruction format> ;
133 # write = <instruction format> ;
134 # read_lo = <instruction format> ;
135 # read_hi = <instruction format> ;
136 # write_lo = <instruction format> ;
137 # write_hi = <instruction format> ;
138 # loadpage_lo = <instruction format> ;
139 # loadpage_hi = <instruction format> ;
140 # writepage = <instruction format> ;
144 # If any of the above parameters are not specified, the default value
145 # of 0 is used for numerics or the empty string ("") for string
146 # values. If a required parameter is left empty, AVRDUDE will
149 # Parts can also inherit parameters from previously defined parts
150 # using the following syntax. In this case specified integer and
151 # string values override parameter values from the parent part. New
152 # memory definitions are added to the definitions inherited from the
155 # part parent <id> # quoted string
156 # id = <id> ; # quoted string
157 # <any set of other parameters from the list above>
161 # * 'devicecode' is the device code used by the STK500 (see codes
163 # * Not all memory types will implement all instructions.
164 # * AVR Fuse bits and Lock bits are implemented as a type of memory.
165 # * Example memory types are:
166 # "flash", "eeprom", "fuse", "lfuse" (low fuse), "hfuse" (high
167 # fuse), "signature", "calibration", "lock"
168 # * The memory type specified on the avrdude command line must match
169 # one of the memory types defined for the specified chip.
170 # * The pwroff_after_write flag causes avrdude to attempt to
171 # power the device off and back on after an unsuccessful write to
172 # the affected memory area if VCC programmer pins are defined. If
173 # VCC pins are not defined for the programmer, a message
174 # indicating that the device needs a power-cycle is printed out.
175 # This flag was added to work around a problem with the
176 # at90s4433/2333's; see the at90s4433 errata at:
178 # http://www.atmel.com/dyn/resources/prod_documents/doc1280.pdf
180 # INSTRUCTION FORMATS
182 # Instruction formats are specified as a comma seperated list of
183 # string values containing information (bit specifiers) about each
184 # of the 32 bits of the instruction. Bit specifiers may be one of
185 # the following formats:
187 # '1' = the bit is always set on input as well as output
189 # '0' = the bit is always clear on input as well as output
191 # 'x' = the bit is ignored on input and output
193 # 'a' = the bit is an address bit, the bit-number matches this bit
194 # specifier's position within the current instruction byte
196 # 'aN' = the bit is the Nth address bit, bit-number = N, i.e., a12
197 # is address bit 12 on input, a0 is address bit 0.
199 # 'i' = the bit is an input data bit
201 # 'o' = the bit is an output data bit
203 # Each instruction must be composed of 32 bit specifiers. The
204 # instruction specification closely follows the instruction data
205 # provided in Atmel's data sheets for their parts.
207 # See below for some examples.
210 # The following are STK500 part device codes to use for the
211 # "devicecode" field of the part. These came from Atmel's software
212 # section avr061.zip which accompanies the application note
213 # AVR061 available from:
215 # http://www.atmel.com/dyn/resources/prod_documents/doc2525.pdf
218 #define ATTINY10 0x10 /* the _old_ one that never existed! */
219 #define ATTINY11 0x11
220 #define ATTINY12 0x12
221 #define ATTINY15 0x13
222 #define ATTINY13 0x14
224 #define ATTINY22 0x20
225 #define ATTINY26 0x21
226 #define ATTINY28 0x22
227 #define ATTINY2313 0x23
229 #define AT90S1200 0x33
231 #define AT90S2313 0x40
232 #define AT90S2323 0x41
233 #define AT90S2333 0x42
234 #define AT90S2343 0x43
236 #define AT90S4414 0x50
237 #define AT90S4433 0x51
238 #define AT90S4434 0x52
239 #define ATMEGA48 0x59
241 #define AT90S8515 0x60
242 #define AT90S8535 0x61
243 #define AT90C8534 0x62
244 #define ATMEGA8515 0x63
245 #define ATMEGA8535 0x64
248 #define ATMEGA88 0x73
249 #define ATMEGA168 0x86
251 #define ATMEGA161 0x80
252 #define ATMEGA163 0x81
253 #define ATMEGA16 0x82
254 #define ATMEGA162 0x83
255 #define ATMEGA169 0x84
257 #define ATMEGA323 0x90
258 #define ATMEGA32 0x91
260 #define ATMEGA64 0xA0
262 #define ATMEGA103 0xB1
263 #define ATMEGA128 0xB2
264 #define AT90CAN128 0xB3
265 #define AT90CAN64 0xB3
266 #define AT90CAN32 0xB3
268 #define AT86RF401 0xD0
270 #define AT89START 0xE0
274 # The following table lists the devices in the original AVR910
276 # |Device |Signature | Code |
277 # +-------+----------+------+
278 # |tiny12 | 1E 90 05 | 0x55 |
279 # |tiny15 | 1E 90 06 | 0x56 |
281 # | S1200 | 1E 90 01 | 0x13 |
283 # | S2313 | 1E 91 01 | 0x20 |
284 # | S2323 | 1E 91 02 | 0x48 |
285 # | S2333 | 1E 91 05 | 0x34 |
286 # | S2343 | 1E 91 03 | 0x4C |
288 # | S4414 | 1E 92 01 | 0x28 |
289 # | S4433 | 1E 92 03 | 0x30 |
290 # | S4434 | 1E 92 02 | 0x6C |
292 # | S8515 | 1E 93 01 | 0x38 |
293 # | S8535 | 1E 93 03 | 0x68 |
295 # |mega32 | 1E 95 01 | 0x72 |
296 # |mega83 | 1E 93 05 | 0x65 |
297 # |mega103| 1E 97 01 | 0x41 |
298 # |mega161| 1E 94 01 | 0x60 |
299 # |mega163| 1E 94 02 | 0x64 |
301 # Appnote AVR109 also has a table of AVR910 device codes, which
303 # dev avr910 signature
304 # ATmega8 0x77 0x1E 0x93 0x07
305 # ATmega8515 0x3B 0x1E 0x93 0x06
306 # ATmega8535 0x6A 0x1E 0x93 0x08
307 # ATmega16 0x75 0x1E 0x94 0x03
308 # ATmega162 0x63 0x1E 0x94 0x04
309 # ATmega163 0x66 0x1E 0x94 0x02
310 # ATmega169 0x79 0x1E 0x94 0x05
311 # ATmega32 0x7F 0x1E 0x95 0x02
312 # ATmega323 0x73 0x1E 0x95 0x01
313 # ATmega64 0x46 0x1E 0x96 0x02
314 # ATmega128 0x44 0x1E 0x97 0x02
316 # These codes refer to "BOOT" device codes which are apparently
317 # different than standard device codes, for whatever reasons
318 # (often one above the standard code).
320 # There are several extended versions of AVR910 implementations around
321 # in the Internet. These add the following codes (only devices that
322 # actually exist are listed):
335 # Overall avrdude defaults; suitable for ~/.avrduderc
337 default_parallel = "lpt1";
338 default_serial = "com1";
339 # default_bitclock = 2.5;
341 # Turn off safemode by default
342 #default_safemode = no;
346 # PROGRAMMER DEFINITIONS
349 # http://wiring.org.co/
350 # Basically STK500v2 protocol, with some glue to trigger the
356 connection_type = serial;
363 connection_type = serial;
365 # this will interface with the chips on these programmers:
367 # http://real.kiev.ua/old/avreal/en/adapters
368 # http://www.amontec.com/jtagkey.shtml, jtagkey-tiny.shtml
369 # http://www.olimex.com/dev/arm-usb-ocd.html, arm-usb-tiny.html
370 # http://www.ethernut.de/en/hardware/turtelizer/index.html
371 # http://elk.informatik.fh-augsburg.de/hhweb/doc/openocd/usbjtag/usbjtag.html
372 # http://dangerousprototypes.com/docs/FT2232_breakout_board
373 # http://www.ftdichip.com/Products/Modules/DLPModules.htm,DLP-2232*,DLP-USB1232H
374 # http://flashrom.org/FT2232SPI_Programmer
376 # The drivers will look for a specific device and use the first one found.
377 # If you have mulitple devices, then look for unique information (like SN)
378 # And fill that in here.
380 # Note that the pin numbers for the main ISP signals (reset, sck,
381 # mosi, miso) are fixed and cannot be changed, since they must match
382 # the way the Multi-Protocol Synchronous Serial Engine (MPSSE) of
383 # these FTDI ICs has been designed.
387 desc = "FT2232D based generic programmer";
389 connection_type = usb;
396 #ISP-signals - lower ADBUS-Nibble (default)
401 #LED SIGNALs - higher ADBUS-Nibble
406 #Buffer Signal - ACBUS - Nibble
409 # This is an implementation of the above with a buffer IC (74AC244) and
410 # 4 LEDs directly attached, all active low.
413 desc = "FT2232H based generic programmer";
415 connection_type = usb;
417 # Note: This PID is reserved for generic H devices and
418 # should be programmed into the EEPROM
438 #The FT4232H can be treated as FT2232H, but it has a different USB
439 #device ID of 0x6011.
440 programmer parent "avrftdi"
442 desc = "FT4232H based generic programmer";
448 desc = "Amontec JTAGKey, JTAGKey-Tiny and JTAGKey2";
450 connection_type = usb;
452 # Note: This PID is used in all JTAGKey variants
458 #ISP-signals => 20 - Pin connector on JTAGKey
459 reset = 3; # TMS 7 violet
460 sck = 0; # TCK 9 white
461 mosi = 1; # TDI 5 green
462 miso = 2; # TDO 13 orange
464 # VTG VREF 1 brown with red tip
466 # The colors are on the 20 pin breakout cable
470 # UM232H module from FTDI and Glyn.com.au.
471 # See helix.air.net.au for detailed usage information.
472 # J1: Connect pin 2 and 3 for USB power.
473 # J2: Connect pin 2 and 3 for USB power.
479 # Use the -b flag to set the SPI clock rate eg -b 3750000 is the fastest I could get
480 # a 16MHz Atmega1280 to program reliably. The 232H is conveniently 5V tolerant.
483 desc = "FT232H based module from FTDI and Glyn.com.au";
486 # Note: This PID is reserved for generic 232H devices and
487 # should be programmed into the EEPROM
500 # C232HM module from FTDI and Glyn.com.au.
506 # Use the -b flag to set the SPI clock rate eg -b 3750000 is the fastest I could get
507 # a 16MHz Atmega1280 to program reliably. The 232H is conveniently 5V tolerant.
510 desc = "FT232H based module from FTDI and Glyn.com.au";
513 # Note: This PID is reserved for generic 232H devices and
514 # should be programmed into the EEPROM
528 # On the adapter you can read "O-Link". On the PCB is printed "OpenJTAG v3.1"
529 # You can find it as "OpenJTAG ARM JTAG USB" in the internet.
530 # (But there are also several projects called Open JTAG, eg.
531 # http://www.openjtag.org, which are completely different.)
532 # http://www.100ask.net/shop/english.html (website seems to be outdated)
533 # http://item.taobao.com/item.htm?id=1559277013
534 # http://www.micro4you.com/store/openjtag-arm-jtag-usb.html (schematics!)
535 # some other sources which call it O-Link
536 # http://www.andahammer.com/olink/
537 # http://www.developmentboard.net/31-o-link-debugger.html
538 # http://armwerks.com/catalog/o-link-debugger-copy/
539 # or just have a look at ebay ...
540 # It is basically the same entry as jtagkey with different usb ids.
541 programmer parent "jtagkey"
543 desc = "O-Link, OpenJTAG from www.100ask.net";
546 usbvendor = "www.100ask.net";
547 usbproduct = "USB<=>JTAG&RS232";
550 # http://wiki.openmoko.org/wiki/Debug_Board_v3
553 desc = "Openmoko debug board (v3)";
567 # Only Rev. A boards.
568 # Schematic and user manual: http://www.cs.put.poznan.pl/wswitala/download/pdf/811EVBK.pdf
571 desc = "Luminary Micro LM3S811 Eval Board (Rev. A)";
573 connection_type = usb;
577 usbproduct = "LM3S811 Evaluation Board";
580 #ISP-signals - lower ACBUS-Nibble (default)
585 # Enable correct buffers
589 # submitted as bug #46020
592 desc = "TIAO USB Multi-Protocol Adapter";
594 connection_type = usb;
609 desc = "Atmel AVR ISP";
611 connection_type = serial;
616 desc = "Atmel AVR ISP V2";
618 connection_type = serial;
623 desc = "Atmel AVR ISP mkII";
625 connection_type = usb;
628 programmer parent "avrispmkII"
634 desc = "The Bus Pirate";
636 connection_type = serial;
641 desc = "The Bus Pirate (bitbang interface, supports TPI)";
642 type = "buspirate_bb";
643 connection_type = serial;
644 # pins are bits in bitbang byte (numbers are 87654321)
645 # 1|POWER|PULLUP|AUX|MOSI|CLK|MISO|CS
650 #vcc = 7; This is internally set independent of this setting.
653 # This is supposed to be the "default" STK500 entry.
654 # Attempts to select the correct firmware version
655 # by probing for it. Better use one of the entries
659 desc = "Atmel STK500";
660 type = "stk500generic";
661 connection_type = serial;
666 desc = "Atmel STK500 Version 1.x firmware";
668 connection_type = serial;
673 desc = "Crossbow MIB510 programming board";
675 connection_type = serial;
680 desc = "Atmel STK500 Version 2.x firmware";
682 connection_type = serial;
687 desc = "Atmel STK500 V2 in parallel programming mode";
689 connection_type = serial;
694 desc = "Atmel STK500 V2 in high-voltage serial programming mode";
696 connection_type = serial;
701 desc = "Atmel STK600";
703 connection_type = usb;
708 desc = "Atmel STK600 in parallel programming mode";
710 connection_type = usb;
715 desc = "Atmel STK600 in high-voltage serial programming mode";
717 connection_type = usb;
722 desc = "Atmel Low Cost Serial Programmer";
724 connection_type = serial;
729 desc = "FT245R Synchronous BitBang";
730 type = "ftdi_syncbb";
731 connection_type = usb;
740 desc = "FT232R Synchronous BitBang";
741 type = "ftdi_syncbb";
742 connection_type = usb;
749 # see http://www.bitwizard.nl/wiki/index.php/FTDI_ATmega
752 desc = "BitWizard ftdi_atmega builtin programmer";
753 type = "ftdi_syncbb";
754 connection_type = usb;
761 # see http://www.geocities.jp/arduino_diecimila/bootloader/index_en.html
762 # Note: pins are numbered from 1!
764 id = "arduino-ft232r";
765 desc = "Arduino: FT232R connected to ISP";
766 type = "ftdi_syncbb";
767 connection_type = usb;
768 miso = 3; # CTS X3(1)
770 mosi = 6; # DCD X3(3)
771 reset = 7; # RI X3(4)
774 # website mentioned above uses this id
775 programmer parent "arduino-ft232r"
777 desc = "alias for arduino-ft232r";
780 # There is a ATmega328P kit PCB called "uncompatino".
781 # This board allows ISP via its on-board FT232R.
782 # This is designed like Arduino Duemilanove but has no standard ICPS header.
783 # Its 4 pairs of pins are shorted to enable ftdi_syncbb.
784 # http://akizukidenshi.com/catalog/g/gP-07487/
785 # http://akizukidenshi.com/download/ds/akizuki/k6096_manual_20130816.pdf
788 desc = "uncompatino with all pairs of pins shorted";
789 type = "ftdi_syncbb";
790 connection_type = usb;
797 # FTDI USB to serial cable TTL-232R-5V with a custom adapter for ICSP
798 # http://www.ftdichip.com/Products/Cables/USBTTLSerial.htm
799 # http://www.ftdichip.com/Support/Documents/DataSheets/Cables/DS_TTL-232R_CABLES.pdf
800 # For ICSP pinout see for example http://www.atmel.com/images/doc2562.pdf
801 # (Figure 1. ISP6PIN header pinout and Table 1. Connections required for ISP ...)
802 # TTL-232R GND 1 Black -> ICPS GND (pin 6)
803 # TTL-232R CTS 2 Brown -> ICPS MOSI (pin 4)
804 # TTL-232R VCC 3 Red -> ICPS VCC (pin 2)
805 # TTL-232R TXD 4 Orange -> ICPS RESET (pin 5)
806 # TTL-232R RXD 5 Yellow -> ICPS SCK (pin 3)
807 # TTL-232R RTS 6 Green -> ICPS MISO (pin 1)
808 # Except for VCC and GND, you can connect arbitual pairs as long as
809 # the following table is adjusted.
812 desc = "FTDI TTL232R-5V with ICSP adapter";
813 type = "ftdi_syncbb";
814 connection_type = usb;
823 desc = "USBasp, http://www.fischl.de/usbasp/";
825 connection_type = usb;
826 usbvid = 0x16C0; # VOTI
827 usbpid = 0x05DC; # Obdev's free shared PID
828 usbvendor = "www.fischl.de";
829 usbproduct = "USBasp";
831 # following variants are autodetected for id "usbasp"
833 # original usbasp from fischl.de
836 # old usbasp from fischl.de
837 #usbvid = 0x03EB; # ATMEL
838 #usbpid = 0xC7B4; # (unoffical) USBasp
839 #usbvendor = "www.fischl.de";
840 #usbproduct = "USBasp";
842 # NIBObee (only if -P nibobee is given on command line)
843 # see below "nibobee"
850 connection_type = usb;
851 usbvid = 0x16C0; # VOTI
852 usbpid = 0x092F; # NIBObee PID
853 usbvendor = "www.nicai-systems.com";
854 usbproduct = "NIBObee";
859 desc = "Any usbasp clone with correct VID/PID";
861 connection_type = usb;
862 usbvid = 0x16C0; # VOTI
863 usbpid = 0x05DC; # Obdev's free shared PID
870 desc = "USBtiny simple USB programmer, http://www.ladyada.net/make/usbtinyisp/";
872 connection_type = usb;
879 desc = "Atmel Butterfly Development Board";
881 connection_type = serial;
886 desc = "Atmel AppNote AVR109 Boot Loader";
888 connection_type = serial;
893 desc = "Atmel AppNote AVR911 AVROSP";
895 connection_type = serial;
898 # suggested in http://forum.mikrokopter.de/topic-post48317.html
901 desc = "Mikrokopter.de Butterfly";
902 type = "butterfly_mk";
903 connection_type = serial;
906 programmer parent "mkbutterfly"
912 desc = "Atmel JTAG ICE (mkI)";
913 baudrate = 115200; # default is 115200
915 connection_type = serial;
919 programmer parent "jtagmkI"
924 programmer parent "jtag1"
929 # The JTAG ICE mkII has both, serial and USB connectivity. As it is
930 # mostly used through USB these days (AVR Studio 5 only supporting it
931 # that way), we make connection_type = usb the default. Users are
932 # still free to use a serial port with the -P option.
936 desc = "Atmel JTAG ICE mkII";
937 baudrate = 19200; # default is 19200
939 connection_type = usb;
943 programmer parent "jtagmkII"
947 # JTAG ICE mkII @ 115200 Bd
948 programmer parent "jtag2slow"
953 # make the fast one the default, people will love that
954 programmer parent "jtag2fast"
958 # JTAG ICE mkII in ISP mode
961 desc = "Atmel JTAG ICE mkII in ISP mode";
963 type = "jtagmkii_isp";
964 connection_type = usb;
967 # JTAG ICE mkII in debugWire mode
970 desc = "Atmel JTAG ICE mkII in debugWire mode";
972 type = "jtagmkii_dw";
973 connection_type = usb;
976 # JTAG ICE mkII in AVR32 mode
978 id = "jtagmkII_avr32";
979 desc = "Atmel JTAG ICE mkII im AVR32 mode";
981 type = "jtagmkii_avr32";
982 connection_type = usb;
985 # JTAG ICE mkII in AVR32 mode
988 desc = "Atmel JTAG ICE mkII im AVR32 mode";
990 type = "jtagmkii_avr32";
991 connection_type = usb;
994 # JTAG ICE mkII in PDI mode
997 desc = "Atmel JTAG ICE mkII PDI mode";
999 type = "jtagmkii_pdi";
1000 connection_type = usb;
1003 # AVR Dragon in JTAG mode
1006 desc = "Atmel AVR Dragon in JTAG mode";
1008 type = "dragon_jtag";
1009 connection_type = usb;
1012 # AVR Dragon in ISP mode
1015 desc = "Atmel AVR Dragon in ISP mode";
1017 type = "dragon_isp";
1018 connection_type = usb;
1021 # AVR Dragon in PP mode
1024 desc = "Atmel AVR Dragon in PP mode";
1027 connection_type = usb;
1030 # AVR Dragon in HVSP mode
1033 desc = "Atmel AVR Dragon in HVSP mode";
1035 type = "dragon_hvsp";
1036 connection_type = usb;
1039 # AVR Dragon in debugWire mode
1042 desc = "Atmel AVR Dragon in debugWire mode";
1045 connection_type = usb;
1048 # AVR Dragon in PDI mode
1051 desc = "Atmel AVR Dragon in PDI mode";
1053 type = "dragon_pdi";
1054 connection_type = usb;
1059 desc = "Atmel AVR JTAGICE3 in JTAG mode";
1061 connection_type = usb;
1062 usbpid = 0x2110, 0x2140;
1067 desc = "Atmel AVR JTAGICE3 in PDI mode";
1068 type = "jtagice3_pdi";
1069 connection_type = usb;
1070 usbpid = 0x2110, 0x2140;
1075 desc = "Atmel AVR JTAGICE3 in debugWIRE mode";
1076 type = "jtagice3_dw";
1077 connection_type = usb;
1078 usbpid = 0x2110, 0x2140;
1083 desc = "Atmel AVR JTAGICE3 in ISP mode";
1084 type = "jtagice3_isp";
1085 connection_type = usb;
1086 usbpid = 0x2110, 0x2140;
1091 desc = "Atmel AVR XplainedPro in JTAG mode";
1093 connection_type = usb;
1098 id = "xplainedmini";
1099 desc = "Atmel AVR XplainedMini in ISP mode";
1100 type = "jtagice3_isp";
1101 connection_type = usb;
1106 id = "xplainedmini_dw";
1107 desc = "Atmel AVR XplainedMini in debugWIRE mode";
1108 type = "jtagice3_dw";
1109 connection_type = usb;
1115 desc = "Atmel-ICE (ARM/AVR) in JTAG mode";
1117 connection_type = usb;
1122 id = "atmelice_pdi";
1123 desc = "Atmel-ICE (ARM/AVR) in PDI mode";
1124 type = "jtagice3_pdi";
1125 connection_type = usb;
1131 desc = "Atmel-ICE (ARM/AVR) in debugWIRE mode";
1132 type = "jtagice3_dw";
1133 connection_type = usb;
1138 id = "atmelice_isp";
1139 desc = "Atmel-ICE (ARM/AVR) in ISP mode";
1140 type = "jtagice3_isp";
1141 connection_type = usb;
1148 desc = "Jason Kyle's pAVR Serial Programmer";
1150 connection_type = serial;
1155 desc = "MicroChip's PICkit2 Programmer";
1157 connection_type = usb;
1162 desc = "FLIP USB DFU protocol version 1 (doc7618)";
1164 connection_type = usb;
1169 desc = "FLIP USB DFU protocol version 2 (AVR4023)";
1171 connection_type = usb;
1174 # Parallel port programmers.
1178 desc = "Brian Dean's Programmer, http://www.bsdhome.com/avrdude/";
1180 connection_type = parallel;
1192 connection_type = parallel;
1200 # The programming dongle used by the popular Ponyprog
1201 # utility. It is almost similar to the STK200 one,
1202 # except that there is a LED indicating that the
1203 # programming is currently in progress.
1205 programmer parent "stk200"
1207 desc = "Pony Prog STK200";
1213 desc = "Dontronics DT006";
1215 connection_type = parallel;
1222 programmer parent "dt006"
1224 desc = "Bascom SAMPLE programming cable";
1229 desc = "Nightshade ALF-PgmAVR, http://nightshade.homeip.net/";
1231 connection_type = parallel;
1246 desc = "Steve Bolt's Programmer";
1248 connection_type = parallel;
1258 desc = "Picoweb Programming Cable, http://www.picoweb.net/";
1260 connection_type = parallel;
1269 desc = "ABCmini Board, aka Dick Smith HOTCHIP";
1271 connection_type = parallel;
1280 desc = "Futurlec.com programming cable.";
1282 connection_type = parallel;
1290 # From the contributor of the "xil" jtag cable:
1291 # The "vcc" definition isn't really vcc (the cable gets its power from
1292 # the programming circuit) but is necessary to switch one of the
1293 # buffer lines (trying to add it to the "buff" lines doesn't work in
1294 # avrdude versions before 5.5j).
1295 # With this, TMS connects to RESET, TDI to MOSI, TDO to MISO and TCK
1296 # to SCK (plus vcc/gnd of course)
1299 desc = "Xilinx JTAG cable";
1301 connection_type = parallel;
1313 desc = "Direct AVR Parallel Access cable";
1315 connection_type = parallel;
1325 desc = "AT-ISP V1.1 programming cable for AVR-SDK1 from <http://micro-research.co.th/> micro-research.co.th";
1327 connection_type = parallel;
1336 desc = "ERE ISP-AVR <http://www.ere.co.th/download/sch050713.pdf>";
1338 connection_type = parallel;
1347 desc = "Altera ByteBlaster";
1349 connection_type = parallel;
1357 # It is almost same as pony-stk200, except vcc on pin 5 to auto
1358 # disconnect port (download on http://electropol.free.fr/spip/spip.php?article27)
1359 programmer parent "pony-stk200"
1360 id = "frank-stk200";
1361 desc = "Frank STK200";
1362 buff = ; # delete buff pin assignment
1366 # The AT98ISP Cable is a simple parallel dongle for AT89 family.
1367 # http://www.atmel.com/dyn/products/tools_card.asp?tool_id=2877
1370 desc = "Atmel at89isp cable";
1372 connection_type = parallel;
1380 #This programmer bitbangs GPIO lines using the Linux sysfs GPIO interface
1382 #To enable it set the configuration below to match the GPIO lines connected to the
1383 #relevant ISP header pins and uncomment the entry definition. In case you don't
1384 #have the required permissions to edit this system wide config file put the
1385 #entry in a separate <your name>.conf file and use it with -C+<your name>.conf
1386 #on the command line.
1388 #To check if your avrdude build has support for the linuxgpio programmer compiled in,
1389 #use -c?type on the command line and look for linuxgpio in the list. If it's not available
1390 #you need pass the --enable-linuxgpio=yes option to configure and recompile avrdude.
1394 # desc = "Use the Linux sysfs interface to bitbang GPIO lines";
1395 # type = "linuxgpio";
1402 # some ultra cheap programmers use bitbanging on the
1405 # PC - DB9 - Pins for RS232:
1417 # Using RXD is currently not supported.
1418 # Using RI is not supported under Win32 but is supported under Posix.
1420 # serial ponyprog design (dasa2 in uisp)
1421 # reset=!txd sck=rts mosi=dtr miso=cts
1425 desc = "design ponyprog serial, reset=!txd sck=rts mosi=dtr miso=cts";
1427 connection_type = serial;
1434 # Same as above, different name
1435 # reset=!txd sck=rts mosi=dtr miso=cts
1437 programmer parent "ponyser"
1439 desc = "Lancos SI-Prog <http://www.lancos.com/siprogsch.html>";
1442 # unknown (dasa in uisp)
1443 # reset=rts sck=dtr mosi=txd miso=cts
1447 desc = "serial port banging, reset=rts sck=dtr mosi=txd miso=cts";
1449 connection_type = serial;
1456 # unknown (dasa3 in uisp)
1457 # reset=!dtr sck=rts mosi=txd miso=cts
1461 desc = "serial port banging, reset=!dtr sck=rts mosi=txd miso=cts";
1463 connection_type = serial;
1470 # C2N232i (jumper configuration "auto")
1471 # reset=dtr sck=!rts mosi=!txd miso=!cts
1475 desc = "serial port banging, reset=dtr sck=!rts mosi=!txd miso=!cts";
1477 connection_type = serial;
1488 #------------------------------------------------------------
1490 #------------------------------------------------------------
1492 # This is an HVSP-only device.
1497 stk500_devcode = 0x11;
1498 signature = 0x1e 0x90 0x04;
1499 chip_erase_delay = 20000;
1503 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x00,
1504 0x68, 0x78, 0x68, 0x68, 0x00, 0x00, 0x68, 0x78,
1505 0x78, 0x00, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
1506 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00;
1507 hventerstabdelay = 100;
1509 hvspcmdexedelay = 0;
1516 hvleavestabdelay = 100;
1518 chiperasepolltimeout = 40;
1520 programfusepolltimeout = 25;
1521 programlockpolltimeout = 25;
1545 memory "calibration"
1554 #------------------------------------------------------------
1556 #------------------------------------------------------------
1561 stk500_devcode = 0x12;
1562 avr910_devcode = 0x55;
1563 signature = 0x1e 0x90 0x05;
1564 chip_erase_delay = 20000;
1565 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
1566 "x x x x x x x x x x x x x x x x";
1568 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
1569 "x x x x x x x x x x x x x x x x";
1583 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x00,
1584 0x68, 0x78, 0x68, 0x68, 0x00, 0x00, 0x68, 0x78,
1585 0x78, 0x00, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
1586 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00;
1587 hventerstabdelay = 100;
1588 hvspcmdexedelay = 0;
1595 hvleavestabdelay = 100;
1597 chiperasepolltimeout = 40;
1599 programfusepolltimeout = 25;
1600 programlockpolltimeout = 25;
1604 min_write_delay = 9000;
1605 max_write_delay = 20000;
1608 read = "1 0 1 0 0 0 0 0 x x x x x x x x",
1609 "x x a5 a4 a3 a2 a1 a0 o o o o o o o o";
1611 write = "1 1 0 0 0 0 0 0 x x x x x x x x",
1612 "x x a5 a4 a3 a2 a1 a0 i i i i i i i i";
1622 min_write_delay = 4500;
1623 max_write_delay = 20000;
1626 read_lo = " 0 0 1 0 0 0 0 0",
1627 " x x x x x x x a8",
1628 " a7 a6 a5 a4 a3 a2 a1 a0",
1631 read_hi = " 0 0 1 0 1 0 0 0",
1632 " x x x x x x x a8",
1633 " a7 a6 a5 a4 a3 a2 a1 a0",
1636 write_lo = " 0 1 0 0 0 0 0 0",
1637 " x x x x x x x a8",
1638 " a7 a6 a5 a4 a3 a2 a1 a0",
1641 write_hi = " 0 1 0 0 1 0 0 0",
1642 " x x x x x x x a8",
1643 " a7 a6 a5 a4 a3 a2 a1 a0",
1654 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
1655 "0 0 0 0 0 0 a1 a0 o o o o o o o o";
1660 read = "0 1 0 1 1 0 0 0 x x x x x x x x",
1661 "x x x x x x x x x x x x x o o x";
1663 write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1",
1664 "x x x x x x x x x x x x x x x x";
1665 min_write_delay = 9000;
1666 max_write_delay = 9000;
1669 memory "calibration"
1671 read = "0 0 1 1 1 0 0 0 x x x x x x x x",
1672 "0 0 0 0 0 0 0 0 o o o o o o o o";
1677 read = "0 1 0 1 0 0 0 0 x x x x x x x x",
1678 "x x x x x x x x o o o o o o o o";
1680 write = "1 0 1 0 1 1 0 0 1 0 1 x x x x x",
1681 "x x x x x x x x i i i i i i i i";
1682 min_write_delay = 9000;
1683 max_write_delay = 9000;
1687 #------------------------------------------------------------
1689 #------------------------------------------------------------
1694 has_debugwire = yes;
1695 flash_instr = 0xB4, 0x0E, 0x1E;
1696 eeprom_instr = 0xBB, 0xFE, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
1697 0xBC, 0x0E, 0xB4, 0x0E, 0xBA, 0x0D, 0xBB, 0xBC,
1698 0x99, 0xE1, 0xBB, 0xAC;
1699 stk500_devcode = 0x14;
1700 signature = 0x1e 0x90 0x07;
1701 chip_erase_delay = 4000;
1702 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
1703 "x x x x x x x x x x x x x x x x";
1705 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
1706 "x x x x x x x x x x x x x x x x";
1720 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66,
1721 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78,
1722 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
1723 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00;
1724 hventerstabdelay = 100;
1726 hvspcmdexedelay = 0;
1733 hvleavestabdelay = 100;
1735 chiperasepolltimeout = 40;
1737 programfusepolltimeout = 25;
1738 programlockpolltimeout = 25;
1745 min_write_delay = 4000;
1746 max_write_delay = 4000;
1749 read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x",
1750 "x x a5 a4 a3 a2 a1 a0 o o o o o o o o";
1752 write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x",
1753 "x x a5 a4 a3 a2 a1 a0 i i i i i i i i";
1755 loadpage_lo = " 1 1 0 0 0 0 0 1",
1757 " 0 0 0 0 0 0 a1 a0",
1760 writepage = " 1 1 0 0 0 0 1 0",
1762 " x x a5 a4 a3 a2 0 0",
1776 min_write_delay = 4500;
1777 max_write_delay = 4500;
1780 read_lo = " 0 0 1 0 0 0 0 0",
1781 " 0 0 0 0 0 0 0 a8",
1782 " a7 a6 a5 a4 a3 a2 a1 a0",
1785 read_hi = " 0 0 1 0 1 0 0 0",
1786 " 0 0 0 0 0 0 0 a8",
1787 " a7 a6 a5 a4 a3 a2 a1 a0",
1790 loadpage_lo = " 0 1 0 0 0 0 0 0",
1792 " x x x x a3 a2 a1 a0",
1795 loadpage_hi = " 0 1 0 0 1 0 0 0",
1797 " x x x x a3 a2 a1 a0",
1800 writepage = " 0 1 0 0 1 1 0 0",
1801 " 0 0 0 0 0 0 0 a8",
1802 " a7 a6 a5 a4 x x x x",
1813 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
1814 "x x x x x x a1 a0 o o o o o o o o";
1819 min_write_delay = 4500;
1820 max_write_delay = 4500;
1822 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
1823 "x x x x x x x x x x o o o o o o";
1825 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
1826 "x x x x x x x x 1 1 i i i i i i";
1829 memory "calibration"
1831 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
1832 "0 0 0 0 0 0 0 a0 o o o o o o o o";
1837 min_write_delay = 4500;
1838 max_write_delay = 4500;
1840 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
1841 "x x x x x x x x i i i i i i i i";
1843 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
1844 "x x x x x x x x o o o o o o o o";
1849 min_write_delay = 4500;
1850 max_write_delay = 4500;
1852 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
1853 "x x x x x x x x i i i i i i i i";
1855 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
1856 "x x x x x x x x o o o o o o o o";
1862 #------------------------------------------------------------
1864 #------------------------------------------------------------
1869 stk500_devcode = 0x13;
1870 avr910_devcode = 0x56;
1871 signature = 0x1e 0x90 0x06;
1872 chip_erase_delay = 8200;
1873 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
1874 "x x x x x x x x x x x x x x x x";
1876 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
1877 "x x x x x x x x x x x x x x x x";
1891 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x00,
1892 0x68, 0x78, 0x68, 0x68, 0x00, 0x00, 0x68, 0x78,
1893 0x78, 0x00, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
1894 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00;
1895 hventerstabdelay = 100;
1896 hvspcmdexedelay = 5;
1903 hvleavestabdelay = 100;
1905 chiperasepolltimeout = 40;
1907 programfusepolltimeout = 25;
1908 programlockpolltimeout = 25;
1912 min_write_delay = 8200;
1913 max_write_delay = 8200;
1916 read = "1 0 1 0 0 0 0 0 x x x x x x x x",
1917 "x x a5 a4 a3 a2 a1 a0 o o o o o o o o";
1919 write = "1 1 0 0 0 0 0 0 x x x x x x x x",
1920 "x x a5 a4 a3 a2 a1 a0 i i i i i i i i";
1930 min_write_delay = 4100;
1931 max_write_delay = 4100;
1934 read_lo = " 0 0 1 0 0 0 0 0",
1935 " x x x x x x x a8",
1936 " a7 a6 a5 a4 a3 a2 a1 a0",
1939 read_hi = " 0 0 1 0 1 0 0 0",
1940 " x x x x x x x a8",
1941 " a7 a6 a5 a4 a3 a2 a1 a0",
1944 write_lo = " 0 1 0 0 0 0 0 0",
1945 " x x x x x x x a8",
1946 " a7 a6 a5 a4 a3 a2 a1 a0",
1949 write_hi = " 0 1 0 0 1 0 0 0",
1950 " x x x x x x x a8",
1951 " a7 a6 a5 a4 a3 a2 a1 a0",
1962 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
1963 "0 0 0 0 0 0 a1 a0 o o o o o o o o";
1968 read = "0 1 0 1 1 0 0 0 x x x x x x x x",
1969 "x x x x x x x x x x x x x o o x";
1971 write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1",
1972 "x x x x x x x x x x x x x x x x";
1973 min_write_delay = 9000;
1974 max_write_delay = 9000;
1977 memory "calibration"
1979 read = "0 0 1 1 1 0 0 0 x x x x x x x x",
1980 "0 0 0 0 0 0 0 0 o o o o o o o o";
1985 read = "0 1 0 1 0 0 0 0 x x x x x x x x",
1986 "x x x x x x x x o o o o x x o o";
1988 write = "1 0 1 0 1 1 0 0 1 0 1 x x x x x",
1989 "x x x x x x x x i i i i 1 1 i i";
1990 min_write_delay = 9000;
1991 max_write_delay = 9000;
1995 #------------------------------------------------------------
1997 #------------------------------------------------------------
2003 stk500_devcode = 0x33;
2004 avr910_devcode = 0x13;
2005 signature = 0x1e 0x90 0x01;
2008 chip_erase_delay = 20000;
2009 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
2010 "x x x x x x x x x x x x x x x x";
2012 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
2013 "x x x x x x x x x x x x x x x x";
2027 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
2028 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
2029 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
2030 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
2031 hventerstabdelay = 100;
2038 hvleavestabdelay = 15;
2039 chiperasepulsewidth = 15;
2040 chiperasepolltimeout = 0;
2041 programfusepulsewidth = 2;
2042 programfusepolltimeout = 0;
2043 programlockpulsewidth = 0;
2044 programlockpolltimeout = 1;
2048 min_write_delay = 4000;
2049 max_write_delay = 9000;
2052 read = "1 0 1 0 0 0 0 0 x x x x x x x x",
2053 "x x a5 a4 a3 a2 a1 a0 o o o o o o o o";
2055 write = "1 1 0 0 0 0 0 0 x x x x x x x x",
2056 "x x a5 a4 a3 a2 a1 a0 i i i i i i i i";
2065 min_write_delay = 4000;
2066 max_write_delay = 9000;
2069 read_lo = " 0 0 1 0 0 0 0 0",
2070 " x x x x x x x a8",
2071 " a7 a6 a5 a4 a3 a2 a1 a0",
2074 read_hi = " 0 0 1 0 1 0 0 0",
2075 " x x x x x x x a8",
2076 " a7 a6 a5 a4 a3 a2 a1 a0",
2079 write_lo = " 0 1 0 0 0 0 0 0",
2080 " x x x x x x x a8",
2081 " a7 a6 a5 a4 a3 a2 a1 a0",
2084 write_hi = " 0 1 0 0 1 0 0 0",
2085 " x x x x x x x a8",
2086 " a7 a6 a5 a4 a3 a2 a1 a0",
2096 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
2097 "x x x x x x a1 a0 o o o o o o o o";
2104 min_write_delay = 9000;
2105 max_write_delay = 20000;
2106 write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1",
2107 "x x x x x x x x x x x x x x x x";
2111 #------------------------------------------------------------
2113 #------------------------------------------------------------
2118 stk500_devcode = 0x50;
2119 avr910_devcode = 0x28;
2120 signature = 0x1e 0x92 0x01;
2121 chip_erase_delay = 20000;
2122 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
2123 "x x x x x x x x x x x x x x x x";
2125 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
2126 "x x x x x x x x x x x x x x x x";
2140 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
2141 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
2142 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
2143 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01;
2144 hventerstabdelay = 100;
2151 hvleavestabdelay = 15;
2152 chiperasepulsewidth = 15;
2153 chiperasepolltimeout = 0;
2154 programfusepulsewidth = 2;
2155 programfusepolltimeout = 0;
2156 programlockpulsewidth = 0;
2157 programlockpolltimeout = 1;
2161 min_write_delay = 9000;
2162 max_write_delay = 20000;
2165 read = " 1 0 1 0 0 0 0 0 x x x x x x x a8",
2166 "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
2168 write = " 1 1 0 0 0 0 0 0 x x x x x x x a8",
2169 "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
2178 min_write_delay = 9000;
2179 max_write_delay = 20000;
2182 read_lo = " 0 0 1 0 0 0 0 0",
2183 " x x x x a11 a10 a9 a8",
2184 " a7 a6 a5 a4 a3 a2 a1 a0",
2187 read_hi = " 0 0 1 0 1 0 0 0",
2188 " x x x x a11 a10 a9 a8",
2189 " a7 a6 a5 a4 a3 a2 a1 a0",
2192 write_lo = " 0 1 0 0 0 0 0 0",
2193 " x x x x a11 a10 a9 a8",
2194 " a7 a6 a5 a4 a3 a2 a1 a0",
2197 write_hi = " 0 1 0 0 1 0 0 0",
2198 " x x x x a11 a10 a9 a8",
2199 " a7 a6 a5 a4 a3 a2 a1 a0",
2209 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
2210 "x x x x x x a1 a0 o o o o o o o o";
2217 write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1",
2218 "x x x x x x x x x x x x x x x x";
2219 min_write_delay = 9000;
2220 max_write_delay = 9000;
2224 #------------------------------------------------------------
2226 #------------------------------------------------------------
2231 stk500_devcode = 0x40;
2232 avr910_devcode = 0x20;
2233 signature = 0x1e 0x91 0x01;
2234 chip_erase_delay = 20000;
2235 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
2236 "x x x x x x x x x x x x x x x x";
2238 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
2239 "x x x x x x x x x x x x x x x x";
2253 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
2254 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
2255 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
2256 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
2257 hventerstabdelay = 100;
2264 hvleavestabdelay = 15;
2265 chiperasepulsewidth = 15;
2266 chiperasepolltimeout = 0;
2267 programfusepulsewidth = 2;
2268 programfusepolltimeout = 0;
2269 programlockpulsewidth = 0;
2270 programlockpolltimeout = 1;
2274 min_write_delay = 4000;
2275 max_write_delay = 9000;
2278 read = "1 0 1 0 0 0 0 0 x x x x x x x x",
2279 "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
2281 write = "1 1 0 0 0 0 0 0 x x x x x x x x",
2282 "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
2291 min_write_delay = 4000;
2292 max_write_delay = 9000;
2295 read_lo = " 0 0 1 0 0 0 0 0",
2296 " x x x x x x a9 a8",
2297 " a7 a6 a5 a4 a3 a2 a1 a0",
2300 read_hi = " 0 0 1 0 1 0 0 0",
2301 " x x x x x x a9 a8",
2302 " a7 a6 a5 a4 a3 a2 a1 a0",
2305 write_lo = " 0 1 0 0 0 0 0 0",
2306 " x x x x x x a9 a8",
2307 " a7 a6 a5 a4 a3 a2 a1 a0",
2310 write_hi = " 0 1 0 0 1 0 0 0",
2311 " x x x x x x a9 a8",
2312 " 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";
2330 write = "1 0 1 0 1 1 0 0 1 1 1 x x i i x",
2331 "x x x x x x x x x x x x x x x x";
2332 min_write_delay = 9000;
2333 max_write_delay = 9000;
2337 #------------------------------------------------------------
2339 #------------------------------------------------------------
2343 ##### WARNING: No XML file for device 'AT90S2333'! #####
2345 stk500_devcode = 0x42;
2346 avr910_devcode = 0x34;
2347 signature = 0x1e 0x91 0x05;
2348 chip_erase_delay = 20000;
2349 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
2350 "x x x x x x x x x x x x x x x x";
2352 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
2353 "x x x x x x x x x x x x x x x x";
2367 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
2368 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
2369 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
2370 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
2371 hventerstabdelay = 100;
2378 hvleavestabdelay = 15;
2379 chiperasepulsewidth = 15;
2380 chiperasepolltimeout = 0;
2381 programfusepulsewidth = 2;
2382 programfusepolltimeout = 0;
2383 programlockpulsewidth = 0;
2384 programlockpolltimeout = 1;
2388 min_write_delay = 9000;
2389 max_write_delay = 20000;
2392 read = "1 0 1 0 0 0 0 0 x x x x x x x x",
2393 "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
2395 write = "1 1 0 0 0 0 0 0 x x x x x x x x",
2396 "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
2406 min_write_delay = 9000;
2407 max_write_delay = 20000;
2410 read_lo = " 0 0 1 0 0 0 0 0",
2411 " x x x x x x a9 a8",
2412 " a7 a6 a5 a4 a3 a2 a1 a0",
2415 read_hi = " 0 0 1 0 1 0 0 0",
2416 " x x x x x x a9 a8",
2417 " a7 a6 a5 a4 a3 a2 a1 a0",
2420 write_lo = " 0 1 0 0 0 0 0 0",
2421 " x x x x x x a9 a8",
2422 " a7 a6 a5 a4 a3 a2 a1 a0",
2425 write_hi = " 0 1 0 0 1 0 0 0",
2426 " x x x x x x a9 a8",
2427 " a7 a6 a5 a4 a3 a2 a1 a0",
2438 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
2439 "x x x x x x a1 a0 o o o o o o o o";
2443 min_write_delay = 9000;
2444 max_write_delay = 20000;
2445 pwroff_after_write = yes;
2446 read = "0 1 0 1 0 0 0 0 x x x x x x x x",
2447 "x x x x x x x x x x o o o o o o";
2449 write = "1 0 1 0 1 1 0 0 1 0 1 i i i i i",
2450 "x x x x x x x x x x x x x x x x";
2454 min_write_delay = 9000;
2455 max_write_delay = 20000;
2456 read = "0 1 0 1 1 0 0 0 x x x x x x x x",
2457 "x x x x x x x x x x x x x o o x";
2459 write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1",
2460 "x x x x x x x x x x x x x x x x";
2465 #------------------------------------------------------------
2466 # AT90s2343 (also AT90s2323 and ATtiny22)
2467 #------------------------------------------------------------
2472 stk500_devcode = 0x43;
2473 avr910_devcode = 0x4c;
2474 signature = 0x1e 0x91 0x03;
2475 chip_erase_delay = 18000;
2476 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
2477 "x x x x x x x x x x x x x x x x";
2479 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
2480 "x x x x x x x x x x x x x x x x";
2494 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x00,
2495 0x68, 0x78, 0x68, 0x68, 0x00, 0x00, 0x68, 0x78,
2496 0x78, 0x00, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
2497 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00;
2498 hventerstabdelay = 100;
2499 hvspcmdexedelay = 0;
2506 hvleavestabdelay = 100;
2508 chiperasepolltimeout = 40;
2510 programfusepolltimeout = 25;
2511 programlockpolltimeout = 25;
2515 min_write_delay = 9000;
2516 max_write_delay = 20000;
2519 read = "1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0",
2520 "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
2522 write = "1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0",
2523 "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
2532 min_write_delay = 9000;
2533 max_write_delay = 20000;
2536 read_lo = " 0 0 1 0 0 0 0 0",
2537 " x x x x x x a9 a8",
2538 " a7 a6 a5 a4 a3 a2 a1 a0",
2541 read_hi = " 0 0 1 0 1 0 0 0",
2542 " x x x x x x a9 a8",
2543 " a7 a6 a5 a4 a3 a2 a1 a0",
2546 write_lo = " 0 1 0 0 0 0 0 0",
2547 " x x x x x x a9 a8",
2548 " a7 a6 a5 a4 a3 a2 a1 a0",
2551 write_hi = " 0 1 0 0 1 0 0 0",
2552 " x x x x x x a9 a8",
2553 " a7 a6 a5 a4 a3 a2 a1 a0",
2563 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
2564 "x x x x x x a1 a0 o o o o o o o o";
2568 min_write_delay = 9000;
2569 max_write_delay = 20000;
2570 read = "0 1 0 1 1 0 0 0 x x x x x x x x",
2571 "x x x x x x x x o o o x x x x o";
2573 write = "1 0 1 0 1 1 0 0 1 0 1 1 1 1 1 i",
2574 "x x x x x x x x x x x x x x x x";
2578 min_write_delay = 9000;
2579 max_write_delay = 20000;
2580 read = "0 1 0 1 1 0 0 0 x x x x x x x x",
2581 "x x x x x x x x o o o x x x x o";
2583 write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1",
2584 "x x x x x x x x x x x x x x x x";
2589 #------------------------------------------------------------
2591 #------------------------------------------------------------
2596 stk500_devcode = 0x51;
2597 avr910_devcode = 0x30;
2598 signature = 0x1e 0x92 0x03;
2599 chip_erase_delay = 20000;
2600 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
2601 "x x x x x x x x x x x x x x x x";
2603 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
2604 "x x x x x x x x x x x x x x x x";
2618 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
2619 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
2620 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
2621 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
2622 hventerstabdelay = 100;
2629 hvleavestabdelay = 15;
2630 chiperasepulsewidth = 15;
2631 chiperasepolltimeout = 0;
2632 programfusepulsewidth = 2;
2633 programfusepolltimeout = 0;
2634 programlockpulsewidth = 0;
2635 programlockpolltimeout = 1;
2639 min_write_delay = 9000;
2640 max_write_delay = 20000;
2643 read = " 1 0 1 0 0 0 0 0 x x x x x x x x",
2644 "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
2646 write = " 1 1 0 0 0 0 0 0 x x x x x x x x",
2647 "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
2656 min_write_delay = 9000;
2657 max_write_delay = 20000;
2660 read_lo = " 0 0 1 0 0 0 0 0",
2661 " x x x x x a10 a9 a8",
2662 " a7 a6 a5 a4 a3 a2 a1 a0",
2665 read_hi = " 0 0 1 0 1 0 0 0",
2666 " x x x x x a10 a9 a8",
2667 " a7 a6 a5 a4 a3 a2 a1 a0",
2670 write_lo = " 0 1 0 0 0 0 0 0",
2671 " x x x x x a10 a9 a8",
2672 " a7 a6 a5 a4 a3 a2 a1 a0",
2675 write_hi = " 0 1 0 0 1 0 0 0",
2676 " x x x x x a10 a9 a8",
2677 " a7 a6 a5 a4 a3 a2 a1 a0",
2687 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
2688 "x x x x x x a1 a0 o o o o o o o o";
2692 min_write_delay = 9000;
2693 max_write_delay = 20000;
2694 pwroff_after_write = yes;
2695 read = "0 1 0 1 0 0 0 0 x x x x x x x x",
2696 "x x x x x x x x x x o o o o o o";
2698 write = "1 0 1 0 1 1 0 0 1 0 1 i i i i i",
2699 "x x x x x x x x x x x x x x x x";
2703 min_write_delay = 9000;
2704 max_write_delay = 20000;
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";
2713 #------------------------------------------------------------
2715 #------------------------------------------------------------
2719 ##### WARNING: No XML file for device 'AT90S4434'! #####
2721 stk500_devcode = 0x52;
2722 avr910_devcode = 0x6c;
2723 signature = 0x1e 0x92 0x02;
2724 chip_erase_delay = 20000;
2725 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
2726 "x x x x x x x x x x x x x x x x";
2728 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
2729 "x x x x x x x x x x x x x x x x";
2733 min_write_delay = 9000;
2734 max_write_delay = 20000;
2737 read = " 1 0 1 0 0 0 0 0 x x x x x x x x",
2738 "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
2740 write = " 1 1 0 0 0 0 0 0 x x x x x x x x",
2741 "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
2745 min_write_delay = 9000;
2746 max_write_delay = 20000;
2749 read_lo = " 0 0 1 0 0 0 0 0",
2750 " x x x x x a10 a9 a8",
2751 " a7 a6 a5 a4 a3 a2 a1 a0",
2754 read_hi = " 0 0 1 0 1 0 0 0",
2755 " x x x x x a10 a9 a8",
2756 " a7 a6 a5 a4 a3 a2 a1 a0",
2759 write_lo = " 0 1 0 0 0 0 0 0",
2760 " x x x x x a10 a9 a8",
2761 " a7 a6 a5 a4 a3 a2 a1 a0",
2764 write_hi = " 0 1 0 0 1 0 0 0",
2765 " x x x x x a10 a9 a8",
2766 " a7 a6 a5 a4 a3 a2 a1 a0",
2771 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
2772 "x x x x x x a1 a0 o o o o o o o o";
2776 min_write_delay = 9000;
2777 max_write_delay = 20000;
2778 read = "0 1 0 1 0 0 0 0 x x x x x x x x",
2779 "x x x x x x x x x x o o o o o o";
2781 write = "1 0 1 0 1 1 0 0 1 0 1 i i i i i",
2782 "x x x x x x x x x x x x x x x x";
2786 min_write_delay = 9000;
2787 max_write_delay = 20000;
2788 read = "0 1 0 1 1 0 0 0 x x x x x x x x",
2789 "x x x x x x x x x x x x x o o x";
2791 write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1",
2792 "x x x x x x x x x x x x x x x x";
2796 #------------------------------------------------------------
2798 #------------------------------------------------------------
2803 stk500_devcode = 0x60;
2804 avr910_devcode = 0x38;
2805 signature = 0x1e 0x93 0x01;
2806 chip_erase_delay = 20000;
2807 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
2808 "x x x x x x x x x x x x x x x x";
2810 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
2811 "x x x x x x x x x x x x x x x x";
2825 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
2826 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
2827 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
2828 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
2829 hventerstabdelay = 100;
2836 hvleavestabdelay = 15;
2838 chiperasepulsewidth = 15;
2839 chiperasepolltimeout = 0;
2840 programfusepulsewidth = 2;
2841 programfusepolltimeout = 0;
2842 programlockpulsewidth = 0;
2843 programlockpolltimeout = 1;
2847 min_write_delay = 4000;
2848 max_write_delay = 9000;
2851 read = " 1 0 1 0 0 0 0 0 x x x x x x x a8",
2852 "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
2854 write = " 1 1 0 0 0 0 0 0 x x x x x x x a8",
2855 "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
2864 min_write_delay = 4000;
2865 max_write_delay = 9000;
2868 read_lo = " 0 0 1 0 0 0 0 0",
2869 " x x x x a11 a10 a9 a8",
2870 " a7 a6 a5 a4 a3 a2 a1 a0",
2873 read_hi = " 0 0 1 0 1 0 0 0",
2874 " x x x x a11 a10 a9 a8",
2875 " a7 a6 a5 a4 a3 a2 a1 a0",
2878 write_lo = " 0 1 0 0 0 0 0 0",
2879 " x x x x a11 a10 a9 a8",
2880 " a7 a6 a5 a4 a3 a2 a1 a0",
2883 write_hi = " 0 1 0 0 1 0 0 0",
2884 " x x x x a11 a10 a9 a8",
2885 " a7 a6 a5 a4 a3 a2 a1 a0",
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 write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1",
2904 "x x x x x x x x x x x x x x x x";
2905 min_write_delay = 9000;
2906 max_write_delay = 9000;
2910 #------------------------------------------------------------
2912 #------------------------------------------------------------
2917 stk500_devcode = 0x61;
2918 avr910_devcode = 0x68;
2919 signature = 0x1e 0x93 0x03;
2920 chip_erase_delay = 20000;
2921 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
2922 "x x x x x x x x x x x x x x x x";
2924 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
2925 "x x x x x x x x x x x x x x x x";
2939 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
2940 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
2941 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
2942 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
2943 hventerstabdelay = 100;
2950 hvleavestabdelay = 15;
2951 chiperasepulsewidth = 15;
2952 chiperasepolltimeout = 0;
2953 programfusepulsewidth = 2;
2954 programfusepolltimeout = 0;
2955 programlockpulsewidth = 0;
2956 programlockpolltimeout = 1;
2960 min_write_delay = 9000;
2961 max_write_delay = 20000;
2964 read = " 1 0 1 0 0 0 0 0 x x x x x x x a8",
2965 "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
2967 write = " 1 1 0 0 0 0 0 0 x x x x x x x a8",
2968 "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
2977 min_write_delay = 9000;
2978 max_write_delay = 20000;
2981 read_lo = " 0 0 1 0 0 0 0 0",
2982 " x x x x a11 a10 a9 a8",
2983 " a7 a6 a5 a4 a3 a2 a1 a0",
2986 read_hi = " 0 0 1 0 1 0 0 0",
2987 " x x x x a11 a10 a9 a8",
2988 " a7 a6 a5 a4 a3 a2 a1 a0",
2991 write_lo = " 0 1 0 0 0 0 0 0",
2992 " x x x x a11 a10 a9 a8",
2993 " a7 a6 a5 a4 a3 a2 a1 a0",
2996 write_hi = " 0 1 0 0 1 0 0 0",
2997 " x x x x a11 a10 a9 a8",
2998 " a7 a6 a5 a4 a3 a2 a1 a0",
3008 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
3009 "x x x x x x a1 a0 o o o o o o o o";
3013 read = "0 1 0 1 1 0 0 0 x x x x x x x x",
3014 "x x x x x x x x x x x x x x x o";
3015 write = "1 0 1 0 1 1 0 0 1 0 1 1 1 1 1 i",
3016 "x x x x x x x x x x x x x x x x";
3017 min_write_delay = 9000;
3018 max_write_delay = 9000;
3022 read = "0 1 0 1 1 0 0 0 x x x x x x x x",
3023 "x x x x x x x x o o x x x x x x";
3024 write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1",
3025 "x x x x x x x x x x x x x x x x";
3026 min_write_delay = 9000;
3027 max_write_delay = 9000;
3031 #------------------------------------------------------------
3033 #------------------------------------------------------------
3038 stk500_devcode = 0xB1;
3039 avr910_devcode = 0x41;
3040 signature = 0x1e 0x97 0x01;
3041 chip_erase_delay = 112000;
3042 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
3043 "x x x x x x x x x x x x x x x x";
3045 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
3046 "x x x x x x x x x x x x x x x x";
3060 0x0E, 0x1E, 0x8E, 0x9E, 0x2E, 0x3E, 0xAE, 0xBE,
3061 0x4E, 0x5E, 0xCE, 0xDE, 0x6E, 0x7E, 0xEE, 0xDE,
3062 0x66, 0x76, 0xE6, 0xF6, 0x6A, 0x7A, 0xEA, 0x7A,
3063 0x7F, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
3064 hventerstabdelay = 100;
3071 hvleavestabdelay = 15;
3072 chiperasepulsewidth = 15;
3073 chiperasepolltimeout = 0;
3074 programfusepulsewidth = 2;
3075 programfusepolltimeout = 0;
3076 programlockpulsewidth = 0;
3077 programlockpolltimeout = 10;
3081 min_write_delay = 4000;
3082 max_write_delay = 9000;
3085 read = " 1 0 1 0 0 0 0 0",
3086 " x x x x a11 a10 a9 a8",
3087 " a7 a6 a5 a4 a3 a2 a1 a0",
3090 write = " 1 1 0 0 0 0 0 0",
3091 " x x x x a11 a10 a9 a8",
3092 " a7 a6 a5 a4 a3 a2 a1 a0",
3106 min_write_delay = 22000;
3107 max_write_delay = 56000;
3110 read_lo = " 0 0 1 0 0 0 0 0",
3111 "a15 a14 a13 a12 a11 a10 a9 a8",
3112 " a7 a6 a5 a4 a3 a2 a1 a0",
3115 read_hi = " 0 0 1 0 1 0 0 0",
3116 "a15 a14 a13 a12 a11 a10 a9 a8",
3117 " a7 a6 a5 a4 a3 a2 a1 a0",
3120 loadpage_lo = " 0 1 0 0 0 0 0 0",
3122 " x a6 a5 a4 a3 a2 a1 a0",
3125 loadpage_hi = " 0 1 0 0 1 0 0 0",
3127 " x a6 a5 a4 a3 a2 a1 a0",
3130 writepage = " 0 1 0 0 1 1 0 0",
3131 "a15 a14 a13 a12 a11 a10 a9 a8",
3132 " a7 x x x x x x x",
3143 read = "0 1 0 1 0 0 0 0 x x x x x x x x",
3144 "x x x x x x x x x x o x o 1 o o";
3146 write = "1 0 1 0 1 1 0 0 1 0 1 1 i 1 i i",
3147 "x x x x x x x x x x x x x x x x";
3148 min_write_delay = 9000;
3149 max_write_delay = 9000;
3154 read = "0 1 0 1 1 0 0 0 x x x x x x x x",
3155 "x x x x x x x x x x x x x o o x";
3157 write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1",
3158 "x x x x x x x x x x x x x x x x";
3159 min_write_delay = 9000;
3160 max_write_delay = 9000;
3165 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
3166 "x x x x x x a1 a0 o o o o o o o o";
3171 #------------------------------------------------------------
3173 #------------------------------------------------------------
3179 stk500_devcode = 0xA0;
3180 avr910_devcode = 0x45;
3181 signature = 0x1e 0x96 0x02;
3182 chip_erase_delay = 9000;
3186 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
3187 "x x x x x x x x x x x x x x x x";
3189 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
3190 "x x x x x x x x x x x x x x x x";
3204 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
3205 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
3206 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
3207 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
3208 hventerstabdelay = 100;
3215 hvleavestabdelay = 15;
3216 chiperasepulsewidth = 0;
3217 chiperasepolltimeout = 10;
3218 programfusepulsewidth = 0;
3219 programfusepolltimeout = 5;
3220 programlockpulsewidth = 0;
3221 programlockpolltimeout = 5;
3225 allowfullpagebitstream = yes;
3230 paged = no; /* leave this "no" */
3231 page_size = 8; /* for parallel programming */
3233 min_write_delay = 9000;
3234 max_write_delay = 9000;
3237 read = " 1 0 1 0 0 0 0 0",
3238 " x x x x a11 a10 a9 a8",
3239 " a7 a6 a5 a4 a3 a2 a1 a0",
3242 write = " 1 1 0 0 0 0 0 0",
3243 " x x x x a11 a10 a9 a8",
3244 " a7 a6 a5 a4 a3 a2 a1 a0",
3258 min_write_delay = 4500;
3259 max_write_delay = 4500;
3262 read_lo = " 0 0 1 0 0 0 0 0",
3263 " x a14 a13 a12 a11 a10 a9 a8",
3264 " a7 a6 a5 a4 a3 a2 a1 a0",
3267 read_hi = " 0 0 1 0 1 0 0 0",
3268 " x a14 a13 a12 a11 a10 a9 a8",
3269 " a7 a6 a5 a4 a3 a2 a1 a0",
3273 loadpage_lo = " 0 1 0 0 0 0 0 0",
3275 " x a6 a5 a4 a3 a2 a1 a0",
3278 loadpage_hi = " 0 1 0 0 1 0 0 0",
3280 " x a6 a5 a4 a3 a2 a1 a0",
3283 writepage = " 0 1 0 0 1 1 0 0",
3284 " x a14 a13 a12 a11 a10 a9 a8",
3285 " a7 x x x x x x x",
3296 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
3297 "x x x x x x x x i i i i i i i i";
3299 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
3300 "x x x x x x x x o o o o o o o o";
3301 min_write_delay = 9000;
3302 max_write_delay = 9000;
3307 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
3308 "x x x x x x x x i i i i i i i i";
3310 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
3311 "x x x x x x x x o o o o o o o o";
3312 min_write_delay = 9000;
3313 max_write_delay = 9000;
3318 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
3319 "x x x x x x x x x x x x x x i i";
3321 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
3322 "x x x x x x x x o o o o o o o o";
3323 min_write_delay = 9000;
3324 max_write_delay = 9000;
3329 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
3330 "x x x x x x x x x x o o o o o o";
3332 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
3333 "x x x x x x x x 1 1 i i i i i i";
3334 min_write_delay = 9000;
3335 max_write_delay = 9000;
3338 memory "calibration"
3340 read = "0 0 1 1 1 0 0 0 x x x x x x x x",
3341 "0 0 0 0 0 0 a1 a0 o o o o o o o o";
3346 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
3347 "x x x x x x a1 a0 o o o o o o o o";
3354 #------------------------------------------------------------
3356 #------------------------------------------------------------
3362 stk500_devcode = 0xB2;
3363 avr910_devcode = 0x43;
3364 signature = 0x1e 0x97 0x02;
3365 chip_erase_delay = 9000;
3369 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
3370 "x x x x x x x x x x x x x x x x";
3372 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
3373 "x x x x x x x x x x x x x x x x";
3387 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
3388 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
3389 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
3390 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
3391 hventerstabdelay = 100;
3398 hvleavestabdelay = 15;
3399 chiperasepulsewidth = 0;
3400 chiperasepolltimeout = 10;
3401 programfusepulsewidth = 0;
3402 programfusepolltimeout = 5;
3403 programlockpulsewidth = 0;
3404 programlockpolltimeout = 5;
3409 allowfullpagebitstream = yes;
3414 paged = no; /* leave this "no" */
3415 page_size = 8; /* for parallel programming */
3417 min_write_delay = 9000;
3418 max_write_delay = 9000;
3421 read = " 1 0 1 0 0 0 0 0",
3422 " x x x x a11 a10 a9 a8",
3423 " a7 a6 a5 a4 a3 a2 a1 a0",
3426 write = " 1 1 0 0 0 0 0 0",
3427 " x x x x a11 a10 a9 a8",
3428 " a7 a6 a5 a4 a3 a2 a1 a0",
3442 min_write_delay = 4500;
3443 max_write_delay = 4500;
3446 read_lo = " 0 0 1 0 0 0 0 0",
3447 "a15 a14 a13 a12 a11 a10 a9 a8",
3448 " a7 a6 a5 a4 a3 a2 a1 a0",
3451 read_hi = " 0 0 1 0 1 0 0 0",
3452 "a15 a14 a13 a12 a11 a10 a9 a8",
3453 " a7 a6 a5 a4 a3 a2 a1 a0",
3456 loadpage_lo = " 0 1 0 0 0 0 0 0",
3458 " x a6 a5 a4 a3 a2 a1 a0",
3461 loadpage_hi = " 0 1 0 0 1 0 0 0",
3463 " x a6 a5 a4 a3 a2 a1 a0",
3466 writepage = " 0 1 0 0 1 1 0 0",
3467 "a15 a14 a13 a12 a11 a10 a9 a8",
3468 " a7 x x x x x x x",
3479 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
3480 "x x x x x x x x i i i i i i i i";
3482 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
3483 "x x x x x x x x o o o o o o o o";
3484 min_write_delay = 9000;
3485 max_write_delay = 9000;
3490 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
3491 "x x x x x x x x i i i i i i i i";
3493 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
3494 "x x x x x x x x o o o o o o o o";
3495 min_write_delay = 9000;
3496 max_write_delay = 9000;
3501 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
3502 "x x x x x x x x x x x x x x i i";
3504 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
3505 "x x x x x x x x o o o o o o o o";
3506 min_write_delay = 9000;
3507 max_write_delay = 9000;
3512 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
3513 "x x x x x x x x x x o o o o o o";
3515 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
3516 "x x x x x x x x 1 1 i i i i i i";
3517 min_write_delay = 9000;
3518 max_write_delay = 9000;
3521 memory "calibration"
3523 read = "0 0 1 1 1 0 0 0 x x x x x x x x",
3524 "0 0 0 0 0 0 a1 a0 o o o o o o o o";
3529 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
3530 "x x x x x x a1 a0 o o o o o o o o";
3534 #------------------------------------------------------------
3536 #------------------------------------------------------------
3540 desc = "AT90CAN128";
3542 stk500_devcode = 0xB3;
3543 # avr910_devcode = 0x43;
3544 signature = 0x1e 0x97 0x81;
3545 chip_erase_delay = 9000;
3549 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
3550 "x x x x x x x x x x x x x x x x";
3552 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
3553 "x x x x x x x x x x x x x x x x";
3567 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
3568 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
3569 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
3570 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01;
3571 hventerstabdelay = 100;
3578 hvleavestabdelay = 15;
3579 chiperasepulsewidth = 0;
3580 chiperasepolltimeout = 10;
3581 programfusepulsewidth = 0;
3582 programfusepolltimeout = 5;
3583 programlockpulsewidth = 0;
3584 programlockpolltimeout = 5;
3590 allowfullpagebitstream = no;
3595 paged = no; /* leave this "no" */
3596 page_size = 8; /* for parallel programming */
3598 min_write_delay = 9000;
3599 max_write_delay = 9000;
3602 read = " 1 0 1 0 0 0 0 0",
3603 " 0 0 0 x a11 a10 a9 a8",
3604 " a7 a6 a5 a4 a3 a2 a1 a0",
3607 write = " 1 1 0 0 0 0 0 0",
3608 " 0 0 0 x a11 a10 a9 a8",
3609 " a7 a6 a5 a4 a3 a2 a1 a0",
3612 loadpage_lo = " 1 1 0 0 0 0 0 1",
3614 " 0 0 0 0 0 a2 a1 a0",
3617 writepage = " 1 1 0 0 0 0 1 0",
3618 " 0 0 x x a11 a10 a9 a8",
3619 " a7 a6 a5 a4 a3 0 0 0",
3634 min_write_delay = 4500;
3635 max_write_delay = 4500;
3638 read_lo = " 0 0 1 0 0 0 0 0",
3639 "a15 a14 a13 a12 a11 a10 a9 a8",
3640 " a7 a6 a5 a4 a3 a2 a1 a0",
3643 read_hi = " 0 0 1 0 1 0 0 0",
3644 "a15 a14 a13 a12 a11 a10 a9 a8",
3645 " a7 a6 a5 a4 a3 a2 a1 a0",
3648 loadpage_lo = " 0 1 0 0 0 0 0 0",
3650 " x a6 a5 a4 a3 a2 a1 a0",
3653 loadpage_hi = " 0 1 0 0 1 0 0 0",
3655 " x a6 a5 a4 a3 a2 a1 a0",
3658 writepage = " 0 1 0 0 1 1 0 0",
3659 "a15 a14 a13 a12 a11 a10 a9 a8",
3660 " a7 x x x x x x x",
3671 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
3672 "x x x x x x x x i i i i i i i i";
3674 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
3675 "x x x x x x x x o o o o o o o o";
3676 min_write_delay = 9000;
3677 max_write_delay = 9000;
3682 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
3683 "x x x x x x x x i i i i i i i i";
3685 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
3686 "x x x x x x x x o o o o o o o o";
3687 min_write_delay = 9000;
3688 max_write_delay = 9000;
3693 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
3694 "x x x x x x x x x x x x i i i i";
3696 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
3697 "x x x x x x x x o o o o o o o o";
3698 min_write_delay = 9000;
3699 max_write_delay = 9000;
3704 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
3705 "x x x x x x x x x x o o o o o o";
3707 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
3708 "x x x x x x x x 1 1 i i i i i i";
3709 min_write_delay = 9000;
3710 max_write_delay = 9000;
3713 memory "calibration"
3715 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
3716 "0 0 0 0 0 0 0 0 o o o o o o o o";
3721 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
3722 "x x x x x x a1 a0 o o o o o o o o";
3726 #------------------------------------------------------------
3728 #------------------------------------------------------------
3734 stk500_devcode = 0xB3;
3735 # avr910_devcode = 0x43;
3736 signature = 0x1e 0x96 0x81;
3737 chip_erase_delay = 9000;
3741 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
3742 "x x x x x x x x x x x x x x x x";
3744 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
3745 "x x x x x x x x x x x x x x x x";
3759 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
3760 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
3761 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
3762 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01;
3763 hventerstabdelay = 100;
3770 hvleavestabdelay = 15;
3771 chiperasepulsewidth = 0;
3772 chiperasepolltimeout = 10;
3773 programfusepulsewidth = 0;
3774 programfusepolltimeout = 5;
3775 programlockpulsewidth = 0;
3776 programlockpolltimeout = 5;
3782 allowfullpagebitstream = no;
3787 paged = no; /* leave this "no" */
3788 page_size = 8; /* for parallel programming */
3790 min_write_delay = 9000;
3791 max_write_delay = 9000;
3794 read = " 1 0 1 0 0 0 0 0",
3795 " 0 0 0 x x a10 a9 a8",
3796 " a7 a6 a5 a4 a3 a2 a1 a0",
3799 write = " 1 1 0 0 0 0 0 0",
3800 " 0 0 0 x x a10 a9 a8",
3801 " a7 a6 a5 a4 a3 a2 a1 a0",
3804 loadpage_lo = " 1 1 0 0 0 0 0 1",
3806 " 0 0 0 0 0 a2 a1 a0",
3809 writepage = " 1 1 0 0 0 0 1 0",
3810 " 0 0 x x x a10 a9 a8",
3811 " a7 a6 a5 a4 a3 0 0 0",
3826 min_write_delay = 4500;
3827 max_write_delay = 4500;
3830 read_lo = " 0 0 1 0 0 0 0 0",
3831 "a15 a14 a13 a12 a11 a10 a9 a8",
3832 " a7 a6 a5 a4 a3 a2 a1 a0",
3835 read_hi = " 0 0 1 0 1 0 0 0",
3836 "a15 a14 a13 a12 a11 a10 a9 a8",
3837 " a7 a6 a5 a4 a3 a2 a1 a0",
3840 loadpage_lo = " 0 1 0 0 0 0 0 0",
3842 " x a6 a5 a4 a3 a2 a1 a0",
3845 loadpage_hi = " 0 1 0 0 1 0 0 0",
3847 " x a6 a5 a4 a3 a2 a1 a0",
3850 writepage = " 0 1 0 0 1 1 0 0",
3851 "a15 a14 a13 a12 a11 a10 a9 a8",
3852 " a7 x x x x x x x",
3863 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
3864 "x x x x x x x x i i i i i i i i";
3866 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
3867 "x x x x x x x x o o o o o o o o";
3868 min_write_delay = 9000;
3869 max_write_delay = 9000;
3874 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
3875 "x x x x x x x x i i i i i i i i";
3877 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
3878 "x x x x x x x x o o o o o o o o";
3879 min_write_delay = 9000;
3880 max_write_delay = 9000;
3885 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
3886 "x x x x x x x x x x x x i i i i";
3888 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
3889 "x x x x x x x x o o o o o o o o";
3890 min_write_delay = 9000;
3891 max_write_delay = 9000;
3896 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
3897 "x x x x x x x x x x o o o o o o";
3899 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
3900 "x x x x x x x x 1 1 i i i i i i";
3901 min_write_delay = 9000;
3902 max_write_delay = 9000;
3905 memory "calibration"
3907 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
3908 "0 0 0 0 0 0 0 0 o o o o o o o o";
3913 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
3914 "x x x x x x a1 a0 o o o o o o o o";
3918 #------------------------------------------------------------
3920 #------------------------------------------------------------
3926 stk500_devcode = 0xB3;
3927 # avr910_devcode = 0x43;
3928 signature = 0x1e 0x95 0x81;
3929 chip_erase_delay = 9000;
3933 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
3934 "x x x x x x x x x x x x x x x x";
3936 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
3937 "x x x x x x x x x x x x x x x x";
3951 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
3952 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
3953 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
3954 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01;
3955 hventerstabdelay = 100;
3962 hvleavestabdelay = 15;
3963 chiperasepulsewidth = 0;
3964 chiperasepolltimeout = 10;
3965 programfusepulsewidth = 0;
3966 programfusepolltimeout = 5;
3967 programlockpulsewidth = 0;
3968 programlockpolltimeout = 5;
3974 allowfullpagebitstream = no;
3979 paged = no; /* leave this "no" */
3980 page_size = 8; /* for parallel programming */
3982 min_write_delay = 9000;
3983 max_write_delay = 9000;
3986 read = " 1 0 1 0 0 0 0 0",
3987 " 0 0 0 x x x a9 a8",
3988 " a7 a6 a5 a4 a3 a2 a1 a0",
3991 write = " 1 1 0 0 0 0 0 0",
3992 " 0 0 0 x x x a9 a8",
3993 " a7 a6 a5 a4 a3 a2 a1 a0",
3996 loadpage_lo = " 1 1 0 0 0 0 0 1",
3998 " 0 0 0 0 0 a2 a1 a0",
4001 writepage = " 1 1 0 0 0 0 1 0",
4002 " 0 0 x x x x a9 a8",
4003 " a7 a6 a5 a4 a3 0 0 0",
4018 min_write_delay = 4500;
4019 max_write_delay = 4500;
4022 read_lo = " 0 0 1 0 0 0 0 0",
4023 "a15 a14 a13 a12 a11 a10 a9 a8",
4024 " a7 a6 a5 a4 a3 a2 a1 a0",
4027 read_hi = " 0 0 1 0 1 0 0 0",
4028 "a15 a14 a13 a12 a11 a10 a9 a8",
4029 " a7 a6 a5 a4 a3 a2 a1 a0",
4032 loadpage_lo = " 0 1 0 0 0 0 0 0",
4034 " x a6 a5 a4 a3 a2 a1 a0",
4037 loadpage_hi = " 0 1 0 0 1 0 0 0",
4039 " x a6 a5 a4 a3 a2 a1 a0",
4042 writepage = " 0 1 0 0 1 1 0 0",
4043 "a15 a14 a13 a12 a11 a10 a9 a8",
4044 " a7 x x x x x x x",
4055 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
4056 "x x x x x x x x i i i i i i i i";
4058 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
4059 "x x x x x x x x o o o o o o o o";
4060 min_write_delay = 9000;
4061 max_write_delay = 9000;
4066 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
4067 "x x x x x x x x i i i i i i i i";
4069 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
4070 "x x x x x x x x o o o o o o o o";
4071 min_write_delay = 9000;
4072 max_write_delay = 9000;
4077 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
4078 "x x x x x x x x x x x x i i i i";
4080 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
4081 "x x x x x x x x o o o o o o o o";
4082 min_write_delay = 9000;
4083 max_write_delay = 9000;
4088 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
4089 "x x x x x x x x x x o o o o o o";
4091 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
4092 "x x x x x x x x 1 1 i i i i i i";
4093 min_write_delay = 9000;
4094 max_write_delay = 9000;
4097 memory "calibration"
4099 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
4100 "0 0 0 0 0 0 0 0 o o o o o o o o";
4105 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
4106 "x x x x x x a1 a0 o o o o o o o o";
4111 #------------------------------------------------------------
4113 #------------------------------------------------------------
4119 stk500_devcode = 0x82;
4120 avr910_devcode = 0x74;
4121 signature = 0x1e 0x94 0x03;
4124 chip_erase_delay = 9000;
4125 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
4126 "x x x x x x x x x x x x x x x x";
4128 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
4129 "x x x x x x x x x x x x x x x x";
4143 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
4144 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
4145 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
4146 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
4147 hventerstabdelay = 100;
4148 progmodedelay = 100;
4154 hvleavestabdelay = 15;
4156 chiperasepulsewidth = 0;
4157 chiperasepolltimeout = 10;
4158 programfusepulsewidth = 0;
4159 programfusepolltimeout = 5;
4160 programlockpulsewidth = 0;
4161 programlockpolltimeout = 5;
4165 allowfullpagebitstream = yes;
4170 paged = no; /* leave this "no" */
4171 page_size = 4; /* for parallel programming */
4173 min_write_delay = 9000;
4174 max_write_delay = 9000;
4177 read = " 1 0 1 0 0 0 0 0",
4178 " 0 0 x x x x a9 a8",
4179 " a7 a6 a5 a4 a3 a2 a1 a0",
4182 write = " 1 1 0 0 0 0 0 0",
4183 " 0 0 x x x x a9 a8",
4184 " a7 a6 a5 a4 a3 a2 a1 a0",
4187 loadpage_lo = " 1 1 0 0 0 0 0 1",
4189 " 0 0 0 0 0 0 a1 a0",
4192 writepage = " 1 1 0 0 0 0 1 0",
4193 " 0 0 x x x x a9 a8",
4194 " a7 a6 a5 a4 a3 a2 0 0",
4208 min_write_delay = 4500;
4209 max_write_delay = 4500;
4212 read_lo = " 0 0 1 0 0 0 0 0",
4213 " 0 0 a13 a12 a11 a10 a9 a8",
4214 " a7 a6 a5 a4 a3 a2 a1 a0",
4217 read_hi = " 0 0 1 0 1 0 0 0",
4218 " 0 0 a13 a12 a11 a10 a9 a8",
4219 " a7 a6 a5 a4 a3 a2 a1 a0",
4222 loadpage_lo = " 0 1 0 0 0 0 0 0",
4224 " x x a5 a4 a3 a2 a1 a0",
4227 loadpage_hi = " 0 1 0 0 1 0 0 0",
4229 " x x a5 a4 a3 a2 a1 a0",
4232 writepage = " 0 1 0 0 1 1 0 0",
4233 " 0 0 a13 a12 a11 a10 a9 a8",
4234 " a7 a6 x x x x x x",
4245 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
4246 "x x x x x x x x x x o o o o o o";
4248 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
4249 "x x x x x x x x 1 1 i i i i i i";
4250 min_write_delay = 9000;
4251 max_write_delay = 9000;
4256 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
4257 "x x x x x x x x o o o o o o o o";
4259 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
4260 "x x x x x x x x i i i i i i i i";
4261 min_write_delay = 9000;
4262 max_write_delay = 9000;
4267 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
4268 "x x x x x x x x o o o o o o o o";
4270 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
4271 "x x x x x x x x i i i i i i i i";
4272 min_write_delay = 9000;
4273 max_write_delay = 9000;
4277 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
4278 "x x x x x x a1 a0 o o o o o o o o";
4280 memory "calibration"
4283 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
4284 "0 0 0 0 0 0 a1 a0 o o o o o o o o";
4289 #------------------------------------------------------------
4291 #------------------------------------------------------------
4297 desc = "ATmega164P";
4298 signature = 0x1e 0x94 0x0a;
4305 allowfullpagebitstream = no;
4306 chip_erase_delay = 55000;
4312 #------------------------------------------------------------
4314 #------------------------------------------------------------
4316 # similar to ATmega164P
4320 desc = "ATmega324P";
4322 stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one
4323 avr910_devcode = 0x74;
4324 signature = 0x1e 0x95 0x08;
4327 chip_erase_delay = 55000;
4328 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
4329 "x x x x x x x x x x x x x x x x";
4331 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
4332 "x x x x x x x x x x x x x x x x";
4346 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
4347 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
4348 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
4349 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
4350 hventerstabdelay = 100;
4357 hvleavestabdelay = 15;
4358 chiperasepulsewidth = 0;
4359 chiperasepolltimeout = 10;
4360 programfusepulsewidth = 0;
4361 programfusepolltimeout = 5;
4362 programlockpulsewidth = 0;
4363 programlockpolltimeout = 5;
4367 allowfullpagebitstream = no;
4372 paged = no; /* leave this "no" */
4373 page_size = 4; /* for parallel programming */
4375 min_write_delay = 9000;
4376 max_write_delay = 9000;
4379 read = " 1 0 1 0 0 0 0 0",
4380 " 0 0 x x x a10 a9 a8",
4381 " a7 a6 a5 a4 a3 a2 a1 a0",
4384 write = " 1 1 0 0 0 0 0 0",
4385 " 0 0 x x x a10 a9 a8",
4386 " a7 a6 a5 a4 a3 a2 a1 a0",
4389 loadpage_lo = " 1 1 0 0 0 0 0 1",
4391 " 0 0 0 0 0 0 a1 a0",
4394 writepage = " 1 1 0 0 0 0 1 0",
4395 " 0 0 x x x a10 a9 a8",
4396 " a7 a6 a5 a4 a3 a2 0 0",
4410 min_write_delay = 4500;
4411 max_write_delay = 4500;
4414 read_lo = " 0 0 1 0 0 0 0 0",
4415 " 0 a14 a13 a12 a11 a10 a9 a8",
4416 " a7 a6 a5 a4 a3 a2 a1 a0",
4419 read_hi = " 0 0 1 0 1 0 0 0",
4420 " 0 a14 a13 a12 a11 a10 a9 a8",
4421 " a7 a6 a5 a4 a3 a2 a1 a0",
4424 loadpage_lo = " 0 1 0 0 0 0 0 0",
4426 " x x a5 a4 a3 a2 a1 a0",
4429 loadpage_hi = " 0 1 0 0 1 0 0 0",
4431 " x x a5 a4 a3 a2 a1 a0",
4434 writepage = " 0 1 0 0 1 1 0 0",
4435 " 0 a14 a13 a12 a11 a10 a9 a8",
4436 " a7 a6 x x x x x x",
4447 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
4448 "x x x x x x x x x x o o o o o o";
4450 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
4451 "x x x x x x x x 1 1 i i i i i i";
4452 min_write_delay = 9000;
4453 max_write_delay = 9000;
4458 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
4459 "x x x x x x x x o o o o o o o o";
4461 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
4462 "x x x x x x x x i i i i i i i i";
4463 min_write_delay = 9000;
4464 max_write_delay = 9000;
4469 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
4470 "x x x x x x x x o o o o o o o o";
4472 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
4473 "x x x x x x x x i i i i i i i i";
4474 min_write_delay = 9000;
4475 max_write_delay = 9000;
4481 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
4482 "x x x x x x x x o o o o o o o o";
4484 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
4485 "x x x x x x x x 1 1 1 1 1 i i i";
4486 min_write_delay = 9000;
4487 max_write_delay = 9000;
4492 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
4493 "x x x x x x a1 a0 o o o o o o o o";
4496 memory "calibration"
4499 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
4500 "0 0 0 0 0 0 0 0 o o o o o o o o";
4505 #------------------------------------------------------------
4507 #------------------------------------------------------------
4509 # similar to ATmega324P
4513 desc = "ATmega324PA";
4514 signature = 0x1e 0x95 0x11;
4520 #------------------------------------------------------------
4522 #------------------------------------------------------------
4524 # similar to ATmega164
4530 stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one
4531 avr910_devcode = 0x74;
4532 signature = 0x1e 0x96 0x09;
4535 chip_erase_delay = 55000;
4536 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
4537 "x x x x x x x x x x x x x x x x";
4539 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
4540 "x x x x x x x x x x x x x x x x";
4554 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
4555 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
4556 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
4557 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02;
4558 hventerstabdelay = 100;
4565 hvleavestabdelay = 15;
4566 chiperasepulsewidth = 0;
4567 chiperasepolltimeout = 10;
4568 programfusepulsewidth = 0;
4569 programfusepolltimeout = 5;
4570 programlockpulsewidth = 0;
4571 programlockpolltimeout = 5;
4575 allowfullpagebitstream = no;
4580 paged = no; /* leave this "no" */
4581 page_size = 8; /* for parallel programming */
4583 min_write_delay = 9000;
4584 max_write_delay = 9000;
4587 read = " 1 0 1 0 0 0 0 0",
4588 " 0 0 x x a11 a10 a9 a8",
4589 " a7 a6 a5 a4 a3 a2 a1 a0",
4592 write = " 1 1 0 0 0 0 0 0",
4593 " 0 0 x x a11 a10 a9 a8",
4594 " a7 a6 a5 a4 a3 a2 a1 a0",
4597 loadpage_lo = " 1 1 0 0 0 0 0 1",
4599 " 0 0 0 0 0 a2 a1 a0",
4602 writepage = " 1 1 0 0 0 0 1 0",
4603 " 0 0 x x a11 a10 a9 a8",
4604 " a7 a6 a5 a4 a3 0 0 0",
4618 min_write_delay = 4500;
4619 max_write_delay = 4500;
4622 read_lo = " 0 0 1 0 0 0 0 0",
4623 "a15 a14 a13 a12 a11 a10 a9 a8",
4624 " a7 a6 a5 a4 a3 a2 a1 a0",
4627 read_hi = " 0 0 1 0 1 0 0 0",
4628 "a15 a14 a13 a12 a11 a10 a9 a8",
4629 " a7 a6 a5 a4 a3 a2 a1 a0",
4632 loadpage_lo = " 0 1 0 0 0 0 0 0",
4634 " x a6 a5 a4 a3 a2 a1 a0",
4637 loadpage_hi = " 0 1 0 0 1 0 0 0",
4639 " x a6 a5 a4 a3 a2 a1 a0",
4642 writepage = " 0 1 0 0 1 1 0 0",
4643 "a15 a14 a13 a12 a11 a10 a9 a8",
4644 " a7 x x x x x x x",
4655 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
4656 "x x x x x x x x x x o o o o o o";
4658 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
4659 "x x x x x x x x 1 1 i i i i i i";
4660 min_write_delay = 9000;
4661 max_write_delay = 9000;
4666 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
4667 "x x x x x x x x o o o o o o o o";
4669 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
4670 "x x x x x x x x i i i i i i i i";
4671 min_write_delay = 9000;
4672 max_write_delay = 9000;
4677 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
4678 "x x x x x x x x o o o o o o o o";
4680 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
4681 "x x x x x x x x i i i i i i i i";
4682 min_write_delay = 9000;
4683 max_write_delay = 9000;
4689 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
4690 "x x x x x x x x o o o o o o o o";
4692 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
4693 "x x x x x x x x 1 1 1 1 1 i i i";
4694 min_write_delay = 9000;
4695 max_write_delay = 9000;
4700 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
4701 "x x x x x x a1 a0 o o o o o o o o";
4704 memory "calibration"
4707 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
4708 "0 0 0 0 0 0 0 0 o o o o o o o o";
4712 #------------------------------------------------------------
4714 #------------------------------------------------------------
4716 # similar to ATmega164p
4720 desc = "ATmega644P";
4721 signature = 0x1e 0x96 0x0a;
4728 #------------------------------------------------------------
4730 #------------------------------------------------------------
4732 # similar to ATmega164
4736 desc = "ATmega1284";
4738 stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one
4739 avr910_devcode = 0x74;
4740 signature = 0x1e 0x97 0x06;
4743 chip_erase_delay = 55000;
4744 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
4745 "x x x x x x x x x x x x x x x x";
4747 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
4748 "x x x x x x x x x x x x x x x x";
4762 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
4763 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
4764 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
4765 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02;
4766 hventerstabdelay = 100;
4773 hvleavestabdelay = 15;
4774 chiperasepulsewidth = 0;
4775 chiperasepolltimeout = 10;
4776 programfusepulsewidth = 0;
4777 programfusepolltimeout = 5;
4778 programlockpulsewidth = 0;
4779 programlockpolltimeout = 5;
4783 allowfullpagebitstream = no;
4788 paged = no; /* leave this "no" */
4789 page_size = 8; /* for parallel programming */
4791 min_write_delay = 9000;
4792 max_write_delay = 9000;
4795 read = " 1 0 1 0 0 0 0 0",
4796 " 0 0 x x a11 a10 a9 a8",
4797 " a7 a6 a5 a4 a3 a2 a1 a0",
4800 write = " 1 1 0 0 0 0 0 0",
4801 " 0 0 x x a11 a10 a9 a8",
4802 " a7 a6 a5 a4 a3 a2 a1 a0",
4805 loadpage_lo = " 1 1 0 0 0 0 0 1",
4807 " 0 0 0 0 0 a2 a1 a0",
4810 writepage = " 1 1 0 0 0 0 1 0",
4811 " 0 0 x x a11 a10 a9 a8",
4812 " a7 a6 a5 a4 a3 0 0 0",
4826 min_write_delay = 4500;
4827 max_write_delay = 4500;
4830 read_lo = " 0 0 1 0 0 0 0 0",
4831 "a15 a14 a13 a12 a11 a10 a9 a8",
4832 " a7 a6 a5 a4 a3 a2 a1 a0",
4835 read_hi = " 0 0 1 0 1 0 0 0",
4836 "a15 a14 a13 a12 a11 a10 a9 a8",
4837 " a7 a6 a5 a4 a3 a2 a1 a0",
4840 loadpage_lo = " 0 1 0 0 0 0 0 0",
4842 " x a6 a5 a4 a3 a2 a1 a0",
4845 loadpage_hi = " 0 1 0 0 1 0 0 0",
4847 " x a6 a5 a4 a3 a2 a1 a0",
4850 writepage = " 0 1 0 0 1 1 0 0",
4851 "a15 a14 a13 a12 a11 a10 a9 a8",
4852 " a7 x x x x x x x",
4863 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
4864 "x x x x x x x x x x o o o o o o";
4866 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
4867 "x x x x x x x x 1 1 i i i i i i";
4868 min_write_delay = 9000;
4869 max_write_delay = 9000;
4874 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
4875 "x x x x x x x x o o o o o o o o";
4877 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
4878 "x x x x x x x x i i i i i i i i";
4879 min_write_delay = 9000;
4880 max_write_delay = 9000;
4885 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
4886 "x x x x x x x x o o o o o o o o";
4888 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
4889 "x x x x x x x x i i i i i i i i";
4890 min_write_delay = 9000;
4891 max_write_delay = 9000;
4897 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
4898 "x x x x x x x x o o o o o o o o";
4900 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
4901 "x x x x x x x x 1 1 1 1 1 i i i";
4902 min_write_delay = 9000;
4903 max_write_delay = 9000;
4908 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
4909 "x x x x x x a1 a0 o o o o o o o o";
4912 memory "calibration"
4915 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
4916 "0 0 0 0 0 0 0 0 o o o o o o o o";
4922 #------------------------------------------------------------
4924 #------------------------------------------------------------
4926 # similar to ATmega164p
4930 desc = "ATmega1284P";
4932 stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one
4933 avr910_devcode = 0x74;
4934 signature = 0x1e 0x97 0x05;
4937 chip_erase_delay = 55000;
4938 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
4939 "x x x x x x x x x x x x x x x x";
4941 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
4942 "x x x x x x x x x x x x x x x x";
4956 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
4957 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
4958 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
4959 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02;
4960 hventerstabdelay = 100;
4967 hvleavestabdelay = 15;
4968 chiperasepulsewidth = 0;
4969 chiperasepolltimeout = 10;
4970 programfusepulsewidth = 0;
4971 programfusepolltimeout = 5;
4972 programlockpulsewidth = 0;
4973 programlockpolltimeout = 5;
4977 allowfullpagebitstream = no;
4982 paged = no; /* leave this "no" */
4983 page_size = 8; /* for parallel programming */
4985 min_write_delay = 9000;
4986 max_write_delay = 9000;
4989 read = " 1 0 1 0 0 0 0 0",
4990 " 0 0 x x a11 a10 a9 a8",
4991 " a7 a6 a5 a4 a3 a2 a1 a0",
4994 write = " 1 1 0 0 0 0 0 0",
4995 " 0 0 x x a11 a10 a9 a8",
4996 " a7 a6 a5 a4 a3 a2 a1 a0",
4999 loadpage_lo = " 1 1 0 0 0 0 0 1",
5001 " 0 0 0 0 0 a2 a1 a0",
5004 writepage = " 1 1 0 0 0 0 1 0",
5005 " 0 0 x x a11 a10 a9 a8",
5006 " a7 a6 a5 a4 a3 0 0 0",
5020 min_write_delay = 4500;
5021 max_write_delay = 4500;
5024 read_lo = " 0 0 1 0 0 0 0 0",
5025 "a15 a14 a13 a12 a11 a10 a9 a8",
5026 " a7 a6 a5 a4 a3 a2 a1 a0",
5029 read_hi = " 0 0 1 0 1 0 0 0",
5030 "a15 a14 a13 a12 a11 a10 a9 a8",
5031 " a7 a6 a5 a4 a3 a2 a1 a0",
5034 loadpage_lo = " 0 1 0 0 0 0 0 0",
5036 " x a6 a5 a4 a3 a2 a1 a0",
5039 loadpage_hi = " 0 1 0 0 1 0 0 0",
5041 " x a6 a5 a4 a3 a2 a1 a0",
5044 writepage = " 0 1 0 0 1 1 0 0",
5045 "a15 a14 a13 a12 a11 a10 a9 a8",
5046 " a7 x x x x x x x",
5057 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
5058 "x x x x x x x x x x o o o o o o";
5060 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
5061 "x x x x x x x x 1 1 i i i i i i";
5062 min_write_delay = 9000;
5063 max_write_delay = 9000;
5068 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
5069 "x x x x x x x x o o o o o o o o";
5071 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
5072 "x x x x x x x x i i i i i i i i";
5073 min_write_delay = 9000;
5074 max_write_delay = 9000;
5079 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
5080 "x x x x x x x x o o o o o o o o";
5082 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
5083 "x x x x x x x x i i i i i i i i";
5084 min_write_delay = 9000;
5085 max_write_delay = 9000;
5091 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
5092 "x x x x x x x x o o o o o o o o";
5094 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
5095 "x x x x x x x x 1 1 1 1 1 i i i";
5096 min_write_delay = 9000;
5097 max_write_delay = 9000;
5102 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
5103 "x x x x x x a1 a0 o o o o o o o o";
5106 memory "calibration"
5109 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
5110 "0 0 0 0 0 0 0 0 o o o o o o o o";
5116 #------------------------------------------------------------
5118 #------------------------------------------------------------
5124 stk500_devcode = 0x83;
5125 avr910_devcode = 0x63;
5126 signature = 0x1e 0x94 0x04;
5127 chip_erase_delay = 9000;
5133 allowfullpagebitstream = yes;
5135 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
5136 "x x x x x x x x x x x x x x x x";
5138 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
5139 "x x x x x x x x x x x x x x x x";
5148 min_write_delay = 4500;
5149 max_write_delay = 4500;
5153 read_lo = " 0 0 1 0 0 0 0 0",
5154 " 0 0 a13 a12 a11 a10 a9 a8",
5155 " a7 a6 a5 a4 a3 a2 a1 a0",
5158 read_hi = " 0 0 1 0 1 0 0 0",
5159 " 0 0 a13 a12 a11 a10 a9 a8",
5160 " a7 a6 a5 a4 a3 a2 a1 a0",
5163 loadpage_lo = " 0 1 0 0 0 0 0 0",
5165 " x x a5 a4 a3 a2 a1 a0",
5168 loadpage_hi = " 0 1 0 0 1 0 0 0",
5170 " x x a5 a4 a3 a2 a1 a0",
5173 writepage = " 0 1 0 0 1 1 0 0",
5174 " 0 0 a13 a12 a11 a10 a9 a8",
5175 " a7 a6 x x x x x x",
5196 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
5197 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
5198 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
5199 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
5200 hventerstabdelay = 100;
5207 hvleavestabdelay = 15;
5208 chiperasepulsewidth = 0;
5209 chiperasepolltimeout = 10;
5210 programfusepulsewidth = 0;
5211 programfusepolltimeout = 5;
5212 programlockpulsewidth = 0;
5213 programlockpolltimeout = 5;
5216 paged = no; /* leave this "no" */
5217 page_size = 4; /* for parallel programming */
5219 min_write_delay = 9000;
5220 max_write_delay = 9000;
5224 read = " 1 0 1 0 0 0 0 0",
5225 " 0 0 x x x x a9 a8",
5226 " a7 a6 a5 a4 a3 a2 a1 a0",
5229 write = " 1 1 0 0 0 0 0 0",
5230 " 0 0 x x x x a9 a8",
5231 " a7 a6 a5 a4 a3 a2 a1 a0",
5234 loadpage_lo = " 1 1 0 0 0 0 0 1",
5236 " 0 0 0 0 0 0 a1 a0",
5239 writepage = " 1 1 0 0 0 0 1 0",
5240 " 0 0 x x x x a9 a8",
5241 " a7 a6 a5 a4 a3 a2 0 0",
5252 min_write_delay = 16000;
5253 max_write_delay = 16000;
5254 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
5255 "x x x x x x x x o o o o o o o o";
5257 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
5258 "x x x x x x x x i i i i i i i i";
5263 min_write_delay = 16000;
5264 max_write_delay = 16000;
5266 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
5267 "x x x x x x x x o o o o o o o o";
5269 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
5270 "x x x x x x x x i i i i i i i i";
5275 min_write_delay = 16000;
5276 max_write_delay = 16000;
5278 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
5279 "x x x x x x x x o o o o o o o o";
5281 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
5282 "x x x x x x x x 1 1 1 1 1 i i i";
5287 min_write_delay = 16000;
5288 max_write_delay = 16000;
5290 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
5291 "x x x x x x x x x x o o o o o o";
5293 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
5294 "x x x x x x x x 1 1 i i i i i i";
5300 read = "0 0 1 1 0 0 0 0 0 0 x x x x x x",
5301 "x x x x x x a1 a0 o o o o o o o o";
5304 memory "calibration"
5307 read = "0 0 1 1 1 0 0 0 0 0 x x x x x x",
5308 "0 0 0 0 0 0 0 0 o o o o o o o o";
5314 #------------------------------------------------------------
5316 #------------------------------------------------------------
5321 stk500_devcode = 0x81;
5322 avr910_devcode = 0x64;
5323 signature = 0x1e 0x94 0x02;
5324 chip_erase_delay = 32000;
5327 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
5328 "x x x x x x x x x x x x x x x x";
5330 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
5331 "x x x x x x x x x x x x x x x x";
5345 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
5346 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
5347 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
5348 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
5349 hventerstabdelay = 100;
5356 hvleavestabdelay = 15;
5357 chiperasepulsewidth = 0;
5358 chiperasepolltimeout = 30;
5359 programfusepulsewidth = 0;
5360 programfusepolltimeout = 2;
5361 programlockpulsewidth = 0;
5362 programlockpolltimeout = 2;
5367 min_write_delay = 4000;
5368 max_write_delay = 4000;
5371 read = " 1 0 1 0 0 0 0 0",
5372 " x x x x x x x a8",
5373 " a7 a6 a5 a4 a3 a2 a1 a0",
5376 write = " 1 1 0 0 0 0 0 0",
5377 " x x x x x x x a8",
5378 " a7 a6 a5 a4 a3 a2 a1 a0",
5391 min_write_delay = 16000;
5392 max_write_delay = 16000;
5395 read_lo = " 0 0 1 0 0 0 0 0",
5396 " x x x a12 a11 a10 a9 a8",
5397 " a7 a6 a5 a4 a3 a2 a1 a0",
5400 read_hi = " 0 0 1 0 1 0 0 0",
5401 " x x x a12 a11 a10 a9 a8",
5402 " a7 a6 a5 a4 a3 a2 a1 a0",
5405 loadpage_lo = " 0 1 0 0 0 0 0 0",
5407 " x x a5 a4 a3 a2 a1 a0",
5410 loadpage_hi = " 0 1 0 0 1 0 0 0",
5412 " x x a5 a4 a3 a2 a1 a0",
5415 writepage = " 0 1 0 0 1 1 0 0",
5416 " x x x a12 a11 a10 a9 a8",
5417 " a7 a6 x x x x x x",
5428 min_write_delay = 2000;
5429 max_write_delay = 2000;
5430 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
5431 "x x x x x x x x o o x x o o o o";
5433 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
5434 "x x x x x x x x i i 1 1 i i i i";
5439 min_write_delay = 2000;
5440 max_write_delay = 2000;
5441 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
5442 "x x x x x x x x x x x x 1 o o o";
5444 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
5445 "x x x x x x x x 1 1 1 1 1 i i i";
5450 min_write_delay = 2000;
5451 max_write_delay = 2000;
5452 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
5453 "x x x x 0 x x x x x o o o o o o";
5455 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
5456 "x x x x x x x x 1 1 i i i i i i";
5461 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
5462 "x x x x x x a1 a0 o o o o o o o o";
5465 memory "calibration"
5467 read = "0 0 1 1 1 0 0 0 x x x x x x x x",
5468 "0 0 0 0 0 0 0 0 o o o o o o o o";
5472 #------------------------------------------------------------
5474 #------------------------------------------------------------
5480 stk500_devcode = 0x85;
5481 avr910_devcode = 0x78;
5482 signature = 0x1e 0x94 0x05;
5483 chip_erase_delay = 9000;
5484 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
5485 "x x x x x x x x x x x x x x x x";
5487 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
5488 "x x x x x x x x x x x x x x x x";
5501 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
5502 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
5503 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
5504 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
5505 hventerstabdelay = 100;
5512 hvleavestabdelay = 15;
5513 chiperasepulsewidth = 0;
5514 chiperasepolltimeout = 10;
5515 programfusepulsewidth = 0;
5516 programfusepolltimeout = 5;
5517 programlockpulsewidth = 0;
5518 programlockpolltimeout = 5;
5526 paged = no; /* leave this "no" */
5527 page_size = 4; /* for parallel programming */
5529 min_write_delay = 9000;
5530 max_write_delay = 9000;
5533 read = " 1 0 1 0 0 0 0 0",
5534 " x x x x x x x a8",
5535 " a7 a6 a5 a4 a3 a2 a1 a0",
5538 write = " 1 1 0 0 0 0 0 0",
5539 " x x x x x x x a8",
5540 " a7 a6 a5 a4 a3 a2 a1 a0",
5543 loadpage_lo = " 1 1 0 0 0 0 0 1",
5545 " 0 0 0 0 0 0 a1 a0",
5548 writepage = " 1 1 0 0 0 0 1 0",
5549 " 0 0 x x x x x a8",
5550 " a7 a6 a5 a4 a3 a2 0 0",
5564 min_write_delay = 4500;
5565 max_write_delay = 4500;
5568 read_lo = " 0 0 1 0 0 0 0 0",
5569 " x x x a12 a11 a10 a9 a8",
5570 " a7 a6 a5 a4 a3 a2 a1 a0",
5573 read_hi = " 0 0 1 0 1 0 0 0",
5574 " x x x a12 a11 a10 a9 a8",
5575 " a7 a6 a5 a4 a3 a2 a1 a0",
5578 loadpage_lo = " 0 1 0 0 0 0 0 0",
5580 " x x a5 a4 a3 a2 a1 a0",
5583 loadpage_hi = " 0 1 0 0 1 0 0 0",
5585 " x x a5 a4 a3 a2 a1 a0",
5588 writepage = " 0 1 0 0 1 1 0 0",
5589 " x x x a12 a11 a10 a9 a8",
5590 " a7 a6 x x x x x x",
5601 min_write_delay = 2000;
5602 max_write_delay = 2000;
5603 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
5604 "x x x x x x x x o o o o o o o o";
5606 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
5607 "x x x x x x x x i i i i i i i i";
5612 min_write_delay = 2000;
5613 max_write_delay = 2000;
5614 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
5615 "x x x x x x x x o o o o o o o o";
5617 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
5618 "x x x x x x x x i i i i i i i i";
5623 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
5624 "x x x x x x x x x x x x i i i i";
5626 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
5627 "x x x x x x x x o o o o o o o o";
5632 min_write_delay = 2000;
5633 max_write_delay = 2000;
5634 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
5635 "x x x x x x x x x x o o o o o o";
5637 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
5638 "x x x x x x x x 1 1 i i i i i i";
5643 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
5644 "x x x x x x a1 a0 o o o o o o o o";
5647 memory "calibration"
5649 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
5650 "0 0 0 0 0 0 0 0 o o o o o o o o";
5654 #------------------------------------------------------------
5656 #------------------------------------------------------------
5662 # stk500_devcode = 0x85; # no STK500 support, only STK500v2
5663 # avr910_devcode = 0x?; # try the ATmega169 one:
5664 avr910_devcode = 0x75;
5665 signature = 0x1e 0x95 0x03;
5666 chip_erase_delay = 9000;
5667 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
5668 "x x x x x x x x x x x x x x x x";
5670 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
5671 "x x x x x x x x x x x x x x x x";
5684 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
5685 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
5686 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
5687 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
5688 hventerstabdelay = 100;
5695 hvleavestabdelay = 15;
5696 chiperasepulsewidth = 0;
5697 chiperasepolltimeout = 10;
5698 programfusepulsewidth = 0;
5699 programfusepolltimeout = 5;
5700 programlockpulsewidth = 0;
5701 programlockpolltimeout = 5;
5709 paged = no; /* leave this "no" */
5710 page_size = 4; /* for parallel programming */
5712 min_write_delay = 9000;
5713 max_write_delay = 9000;
5716 read = " 1 0 1 0 0 0 0 0",
5717 " x x x x x x a9 a8",
5718 " a7 a6 a5 a4 a3 a2 a1 a0",
5721 write = " 1 1 0 0 0 0 0 0",
5722 " x x x x x x a9 a8",
5723 " a7 a6 a5 a4 a3 a2 a1 a0",
5726 loadpage_lo = " 1 1 0 0 0 0 0 1",
5728 " 0 0 0 0 0 0 a1 a0",
5731 writepage = " 1 1 0 0 0 0 1 0",
5732 " 0 0 x x x x a9 a8",
5733 " a7 a6 a5 a4 a3 a2 0 0",
5747 min_write_delay = 4500;
5748 max_write_delay = 4500;
5751 read_lo = " 0 0 1 0 0 0 0 0",
5752 " x a14 a13 a12 a11 a10 a9 a8",
5753 " a7 a6 a5 a4 a3 a2 a1 a0",
5756 read_hi = " 0 0 1 0 1 0 0 0",
5757 " x a14 a13 a12 a11 a10 a9 a8",
5758 " a7 a6 a5 a4 a3 a2 a1 a0",
5761 loadpage_lo = " 0 1 0 0 0 0 0 0",
5763 " x x a5 a4 a3 a2 a1 a0",
5766 loadpage_hi = " 0 1 0 0 1 0 0 0",
5768 " x x a5 a4 a3 a2 a1 a0",
5771 writepage = " 0 1 0 0 1 1 0 0",
5772 " x x x a12 a11 a10 a9 a8",
5773 " a7 a6 x x x x x x",
5784 min_write_delay = 4500;
5785 max_write_delay = 4500;
5786 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
5787 "x x x x x x x x o o o o o o o o";
5789 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
5790 "x x x x x x x x i i i i i i i i";
5795 min_write_delay = 4500;
5796 max_write_delay = 4500;
5797 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
5798 "x x x x x x x x o o o o o o o o";
5800 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
5801 "x x x x x x x x i i i i i i i i";
5806 min_write_delay = 4500;
5807 max_write_delay = 4500;
5808 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
5809 "x x x x x x x x o o o o o o o o";
5811 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
5812 "x x x x x x x x x x x x x i i i";
5817 min_write_delay = 4500;
5818 max_write_delay = 4500;
5819 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
5820 "x x x x x x x x x x o o o o o o";
5822 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
5823 "x x x x x x x x 1 1 i i i i i i";
5828 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
5829 "x x x x x x a1 a0 o o o o o o o o";
5832 memory "calibration"
5834 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
5835 "0 0 0 0 0 0 0 0 o o o o o o o o";
5839 #------------------------------------------------------------
5841 #------------------------------------------------------------
5842 # Identical to ATmega329 except of the signature
5846 desc = "ATmega329P";
5847 signature = 0x1e 0x95 0x0b;
5852 #------------------------------------------------------------
5854 #------------------------------------------------------------
5856 # identical to ATmega329
5860 desc = "ATmega3290";
5861 signature = 0x1e 0x95 0x04;
5866 #------------------------------------------------------------
5868 #------------------------------------------------------------
5870 # identical to ATmega3290 except of the signature
5874 desc = "ATmega3290P";
5875 signature = 0x1e 0x95 0x0c;
5880 #------------------------------------------------------------
5882 #------------------------------------------------------------
5888 # stk500_devcode = 0x85; # no STK500 support, only STK500v2
5889 # avr910_devcode = 0x?; # try the ATmega169 one:
5890 avr910_devcode = 0x75;
5891 signature = 0x1e 0x96 0x03;
5892 chip_erase_delay = 9000;
5893 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
5894 "x x x x x x x x x x x x x x x x";
5896 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
5897 "x x x x x x x x x x x x x x x x";
5910 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
5911 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
5912 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
5913 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
5914 hventerstabdelay = 100;
5921 hvleavestabdelay = 15;
5922 chiperasepulsewidth = 0;
5923 chiperasepolltimeout = 10;
5924 programfusepulsewidth = 0;
5925 programfusepolltimeout = 5;
5926 programlockpulsewidth = 0;
5927 programlockpolltimeout = 5;
5935 paged = no; /* leave this "no" */
5936 page_size = 8; /* for parallel programming */
5938 min_write_delay = 9000;
5939 max_write_delay = 9000;
5942 read = " 1 0 1 0 0 0 0 0",
5943 " x x x x x a10 a9 a8",
5944 " a7 a6 a5 a4 a3 a2 a1 a0",
5947 write = " 1 1 0 0 0 0 0 0",
5948 " x x x x x a10 a9 a8",
5949 " a7 a6 a5 a4 a3 a2 a1 a0",
5952 loadpage_lo = " 1 1 0 0 0 0 0 1",
5954 " 0 0 0 0 0 a2 a1 a0",
5957 writepage = " 1 1 0 0 0 0 1 0",
5958 " 0 0 x x x a10 a9 a8",
5959 " a7 a6 a5 a4 a3 0 0 0",
5973 min_write_delay = 4500;
5974 max_write_delay = 4500;
5977 read_lo = " 0 0 1 0 0 0 0 0",
5978 "a15 a14 a13 a12 a11 a10 a9 a8",
5979 " a7 a6 a5 a4 a3 a2 a1 a0",
5982 read_hi = " 0 0 1 0 1 0 0 0",
5983 "a15 a14 a13 a12 a11 a10 a9 a8",
5984 " a7 a6 a5 a4 a3 a2 a1 a0",
5987 loadpage_lo = " 0 1 0 0 0 0 0 0",
5989 " x a6 a5 a4 a3 a2 a1 a0",
5992 loadpage_hi = " 0 1 0 0 1 0 0 0",
5994 " x a6 a5 a4 a3 a2 a1 a0",
5997 writepage = " 0 1 0 0 1 1 0 0",
5998 " x x x a12 a11 a10 a9 a8",
5999 " a7 x x x x x x x",
6010 min_write_delay = 4500;
6011 max_write_delay = 4500;
6012 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
6013 "x x x x x x x x o o o o o o o o";
6015 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
6016 "x x x x x x x x i i i i i i i i";
6021 min_write_delay = 4500;
6022 max_write_delay = 4500;
6023 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
6024 "x x x x x x x x o o o o o o o o";
6026 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
6027 "x x x x x x x x i i i i i i i i";
6032 min_write_delay = 4500;
6033 max_write_delay = 4500;
6034 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
6035 "x x x x x x x x o o o o o o o o";
6037 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
6038 "x x x x x x x x x x x x x i i i";
6043 min_write_delay = 4500;
6044 max_write_delay = 4500;
6045 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
6046 "x x x x x x x x x x o o o o o o";
6048 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
6049 "x x x x x x x x 1 1 i i i i i i";
6054 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
6055 "x x x x x x a1 a0 o o o o o o o o";
6058 memory "calibration"
6060 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
6061 "0 0 0 0 0 0 0 0 o o o o o o o o";
6065 #------------------------------------------------------------
6067 #------------------------------------------------------------
6069 # identical to ATmega649
6073 desc = "ATmega6490";
6074 signature = 0x1e 0x96 0x04;
6079 #------------------------------------------------------------
6081 #------------------------------------------------------------
6087 stk500_devcode = 0x91;
6088 avr910_devcode = 0x72;
6089 signature = 0x1e 0x95 0x02;
6090 chip_erase_delay = 9000;
6094 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
6095 "x x x x x x x x x x x x x x x x";
6097 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
6098 "x x x x x x x x x x x x x x x x";
6111 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
6112 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
6113 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
6114 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
6115 hventerstabdelay = 100;
6122 hvleavestabdelay = 15;
6123 chiperasepulsewidth = 0;
6124 chiperasepolltimeout = 10;
6125 programfusepulsewidth = 0;
6126 programfusepolltimeout = 5;
6127 programlockpulsewidth = 0;
6128 programlockpolltimeout = 5;
6132 allowfullpagebitstream = yes;
6137 paged = no; /* leave this "no" */
6138 page_size = 4; /* for parallel programming */
6140 min_write_delay = 9000;
6141 max_write_delay = 9000;
6144 read = " 1 0 1 0 0 0 0 0",
6145 " 0 0 x x x x a9 a8",
6146 " a7 a6 a5 a4 a3 a2 a1 a0",
6149 write = " 1 1 0 0 0 0 0 0",
6150 " 0 0 x x x x a9 a8",
6151 " a7 a6 a5 a4 a3 a2 a1 a0",
6154 loadpage_lo = " 1 1 0 0 0 0 0 1",
6156 " 0 0 0 0 0 0 a1 a0",
6159 writepage = " 1 1 0 0 0 0 1 0",
6160 " 0 0 x x x x a9 a8",
6161 " a7 a6 a5 a4 a3 a2 0 0",
6175 min_write_delay = 4500;
6176 max_write_delay = 4500;
6179 read_lo = " 0 0 1 0 0 0 0 0",
6180 " 0 0 a13 a12 a11 a10 a9 a8",
6181 " a7 a6 a5 a4 a3 a2 a1 a0",
6184 read_hi = " 0 0 1 0 1 0 0 0",
6185 " 0 0 a13 a12 a11 a10 a9 a8",
6186 " a7 a6 a5 a4 a3 a2 a1 a0",
6189 loadpage_lo = " 0 1 0 0 0 0 0 0",
6191 " x x a5 a4 a3 a2 a1 a0",
6194 loadpage_hi = " 0 1 0 0 1 0 0 0",
6196 " x x a5 a4 a3 a2 a1 a0",
6199 writepage = " 0 1 0 0 1 1 0 0",
6200 " 0 0 a13 a12 a11 a10 a9 a8",
6201 " a7 a6 x x x x x x",
6212 min_write_delay = 2000;
6213 max_write_delay = 2000;
6214 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
6215 "x x x x x x x x o o o o o o o o";
6217 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
6218 "x x x x x x x x i i i i i i i i";
6223 min_write_delay = 2000;
6224 max_write_delay = 2000;
6225 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
6226 "x x x x x x x x o o o o o o o o";
6228 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
6229 "x x x x x x x x i i i i i i i i";
6234 min_write_delay = 2000;
6235 max_write_delay = 2000;
6236 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
6237 "x x x x x x x x x x o o o o o o";
6239 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
6240 "x x x x x x x x 1 1 i i i i i i";
6245 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
6246 "x x x x x x a1 a0 o o o o o o o o";
6249 memory "calibration"
6251 read = "0 0 1 1 1 0 0 0 0 0 x x x x x x",
6252 "0 0 0 0 0 0 a1 a0 o o o o o o o o";
6256 #------------------------------------------------------------
6258 #------------------------------------------------------------
6263 stk500_devcode = 0x80;
6264 avr910_devcode = 0x60;
6265 signature = 0x1e 0x94 0x01;
6266 chip_erase_delay = 28000;
6269 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
6270 "x x x x x x x x x x x x x x x x";
6272 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
6273 "x x x x x x x x x x x x x x x x";
6286 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
6287 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
6288 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
6289 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
6290 hventerstabdelay = 100;
6297 hvleavestabdelay = 15;
6298 chiperasepulsewidth = 0;
6299 chiperasepolltimeout = 30;
6300 programfusepulsewidth = 0;
6301 programfusepolltimeout = 2;
6302 programlockpulsewidth = 0;
6303 programlockpolltimeout = 2;
6307 min_write_delay = 3400;
6308 max_write_delay = 3400;
6311 read = " 1 0 1 0 0 0 0 0",
6312 " x x x x x x x a8",
6313 " a7 a6 a5 a4 a3 a2 a1 a0",
6316 write = " 1 1 0 0 0 0 0 0",
6317 " x x x x x x x a8",
6318 " a7 a6 a5 a4 a3 a2 a1 a0",
6332 min_write_delay = 14000;
6333 max_write_delay = 14000;
6336 read_lo = " 0 0 1 0 0 0 0 0",
6337 " x x x a12 a11 a10 a9 a8",
6338 " a7 a6 a5 a4 a3 a2 a1 a0",
6341 read_hi = " 0 0 1 0 1 0 0 0",
6342 " x x x a12 a11 a10 a9 a8",
6343 " a7 a6 a5 a4 a3 a2 a1 a0",
6346 loadpage_lo = " 0 1 0 0 0 0 0 0",
6348 " x x a5 a4 a3 a2 a1 a0",
6351 loadpage_hi = " 0 1 0 0 1 0 0 0",
6353 " x x a5 a4 a3 a2 a1 a0",
6356 writepage = " 0 1 0 0 1 1 0 0",
6357 " x x x a12 a11 a10 a9 a8",
6358 " a7 a6 x x x x x x",
6369 min_write_delay = 2000;
6370 max_write_delay = 2000;
6371 read = "0 1 0 1 0 0 0 0 x x x x x x x x",
6372 "x x x x x x x x x o x o o o o o";
6374 write = "1 0 1 0 1 1 0 0 1 0 1 x x x x x",
6375 "x x x x x x x x 1 i 1 i i i i i";
6380 min_write_delay = 2000;
6381 max_write_delay = 2000;
6382 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
6383 "x x x x x x x x x x o o o o o o";
6385 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
6386 "x x x x x x x x 1 1 i i i i i i";
6390 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
6391 "x x x x x x a1 a0 o o o o o o o o";
6396 #------------------------------------------------------------
6398 #------------------------------------------------------------
6403 stk500_devcode = 0x70;
6404 avr910_devcode = 0x76;
6405 signature = 0x1e 0x93 0x07;
6408 chip_erase_delay = 10000;
6409 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
6410 "x x x x x x x x x x x x x x x x";
6412 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
6413 "x x x x x x x x x x x x x x x x";
6427 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
6428 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
6429 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
6430 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
6431 hventerstabdelay = 100;
6438 hvleavestabdelay = 15;
6440 chiperasepulsewidth = 0;
6441 chiperasepolltimeout = 10;
6442 programfusepulsewidth = 0;
6443 programfusepolltimeout = 5;
6444 programlockpulsewidth = 0;
6445 programlockpolltimeout = 5;
6450 min_write_delay = 9000;
6451 max_write_delay = 9000;
6454 read = " 1 0 1 0 0 0 0 0",
6455 " 0 0 x x x x x a8",
6456 " a7 a6 a5 a4 a3 a2 a1 a0",
6459 write = " 1 1 0 0 0 0 0 0",
6460 " 0 0 x x x x x a8",
6461 " a7 a6 a5 a4 a3 a2 a1 a0",
6474 min_write_delay = 4500;
6475 max_write_delay = 4500;
6478 read_lo = " 0 0 1 0 0 0 0 0",
6479 " 0 0 0 0 a11 a10 a9 a8",
6480 " a7 a6 a5 a4 a3 a2 a1 a0",
6483 read_hi = " 0 0 1 0 1 0 0 0",
6484 " 0 0 0 0 a11 a10 a9 a8",
6485 " a7 a6 a5 a4 a3 a2 a1 a0",
6488 loadpage_lo = " 0 1 0 0 0 0 0 0",
6490 " x x x a4 a3 a2 a1 a0",
6493 loadpage_hi = " 0 1 0 0 1 0 0 0",
6495 " x x x a4 a3 a2 a1 a0",
6498 writepage = " 0 1 0 0 1 1 0 0",
6499 " 0 0 0 0 a11 a10 a9 a8",
6500 " a7 a6 a5 x x x x x",
6511 min_write_delay = 2000;
6512 max_write_delay = 2000;
6513 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
6514 "x x x x x x x x o o o o o o o o";
6516 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
6517 "x x x x x x x x i i i i i i i i";
6522 min_write_delay = 2000;
6523 max_write_delay = 2000;
6524 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
6525 "x x x x x x x x o o o o o o o o";
6527 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
6528 "x x x x x x x x i i i i i i i i";
6533 min_write_delay = 2000;
6534 max_write_delay = 2000;
6535 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
6536 "x x x x x x x x x x o o o o o o";
6538 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
6539 "x x x x x x x x 1 1 i i i i i i";
6542 memory "calibration"
6544 read = "0 0 1 1 1 0 0 0 0 0 x x x x x x",
6545 "0 0 0 0 0 0 a1 a0 o o o o o o o o";
6550 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
6551 "x x x x x x a1 a0 o o o o o o o o";
6557 #------------------------------------------------------------
6559 #------------------------------------------------------------
6563 desc = "ATmega8515";
6564 stk500_devcode = 0x63;
6565 avr910_devcode = 0x3A;
6566 signature = 0x1e 0x93 0x06;
6567 chip_erase_delay = 9000;
6568 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
6569 "x x x x x x x x x x x x x x x x";
6571 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
6572 "x x x x x x x x x x x x x x x x";
6586 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
6587 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
6588 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
6589 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
6590 hventerstabdelay = 100;
6597 hvleavestabdelay = 15;
6598 chiperasepulsewidth = 0;
6599 chiperasepolltimeout = 10;
6600 programfusepulsewidth = 0;
6601 programfusepolltimeout = 5;
6602 programlockpulsewidth = 0;
6603 programlockpolltimeout = 5;
6607 min_write_delay = 9000;
6608 max_write_delay = 9000;
6611 read = " 1 0 1 0 0 0 0 0",
6612 " 0 0 x x x x x a8",
6613 " a7 a6 a5 a4 a3 a2 a1 a0",
6616 write = " 1 1 0 0 0 0 0 0",
6617 " 0 0 x x x x x a8",
6618 " a7 a6 a5 a4 a3 a2 a1 a0",
6631 min_write_delay = 4500;
6632 max_write_delay = 4500;
6635 read_lo = " 0 0 1 0 0 0 0 0",
6636 " 0 0 0 0 a11 a10 a9 a8",
6637 " a7 a6 a5 a4 a3 a2 a1 a0",
6640 read_hi = " 0 0 1 0 1 0 0 0",
6641 " 0 0 0 0 a11 a10 a9 a8",
6642 " a7 a6 a5 a4 a3 a2 a1 a0",
6645 loadpage_lo = " 0 1 0 0 0 0 0 0",
6647 " x x x a4 a3 a2 a1 a0",
6650 loadpage_hi = " 0 1 0 0 1 0 0 0",
6652 " x x x a4 a3 a2 a1 a0",
6655 writepage = " 0 1 0 0 1 1 0 0",
6656 " 0 0 0 0 a11 a10 a9 a8",
6657 " a7 a6 a5 x x x x x",
6668 min_write_delay = 4500;
6669 max_write_delay = 4500;
6670 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
6671 "x x x x x x x x o o o o o o o o";
6673 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
6674 "x x x x x x x x i i i i i i i i";
6679 min_write_delay = 4500;
6680 max_write_delay = 4500;
6681 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
6682 "x x x x x x x x o o o o o o o o";
6684 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
6685 "x x x x x x x x i i i i i i i i";
6690 min_write_delay = 4500;
6691 max_write_delay = 4500;
6692 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
6693 "x x x x x x x x x x o o o o o o";
6695 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
6696 "x x x x x x x x 1 1 i i i i i i";
6699 memory "calibration"
6701 read = "0 0 1 1 1 0 0 0 0 0 x x x x x x",
6702 "0 0 0 0 0 0 a1 a0 o o o o o o o o";
6707 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
6708 "x x x x x x a1 a0 o o o o o o o o";
6715 #------------------------------------------------------------
6717 #------------------------------------------------------------
6721 desc = "ATmega8535";
6722 stk500_devcode = 0x64;
6723 avr910_devcode = 0x69;
6724 signature = 0x1e 0x93 0x08;
6727 chip_erase_delay = 9000;
6728 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
6729 "x x x x x x x x x x x x x x x x";
6731 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
6732 "x x x x x x x x x x x x x x x x";
6746 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
6747 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
6748 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
6749 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
6750 hventerstabdelay = 100;
6757 hvleavestabdelay = 15;
6758 chiperasepulsewidth = 0;
6759 chiperasepolltimeout = 10;
6760 programfusepulsewidth = 0;
6761 programfusepolltimeout = 5;
6762 programlockpulsewidth = 0;
6763 programlockpolltimeout = 5;
6767 min_write_delay = 9000;
6768 max_write_delay = 9000;
6771 read = " 1 0 1 0 0 0 0 0",
6772 " 0 0 x x x x x a8",
6773 " a7 a6 a5 a4 a3 a2 a1 a0",
6776 write = " 1 1 0 0 0 0 0 0",
6777 " 0 0 x x x x x a8",
6778 " a7 a6 a5 a4 a3 a2 a1 a0",
6791 min_write_delay = 4500;
6792 max_write_delay = 4500;
6795 read_lo = " 0 0 1 0 0 0 0 0",
6796 " 0 0 0 0 a11 a10 a9 a8",
6797 " a7 a6 a5 a4 a3 a2 a1 a0",
6800 read_hi = " 0 0 1 0 1 0 0 0",
6801 " 0 0 0 0 a11 a10 a9 a8",
6802 " a7 a6 a5 a4 a3 a2 a1 a0",
6805 loadpage_lo = " 0 1 0 0 0 0 0 0",
6807 " x x x a4 a3 a2 a1 a0",
6810 loadpage_hi = " 0 1 0 0 1 0 0 0",
6812 " x x x a4 a3 a2 a1 a0",
6815 writepage = " 0 1 0 0 1 1 0 0",
6816 " 0 0 0 0 a11 a10 a9 a8",
6817 " a7 a6 a5 x x x x x",
6828 min_write_delay = 2000;
6829 max_write_delay = 2000;
6830 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
6831 "x x x x x x x x o o o o o o o o";
6833 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
6834 "x x x x x x x x i i i i i i i i";
6839 min_write_delay = 2000;
6840 max_write_delay = 2000;
6841 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
6842 "x x x x x x x x o o o o o o o o";
6844 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
6845 "x x x x x x x x i i i i i i i i";
6850 min_write_delay = 2000;
6851 max_write_delay = 2000;
6852 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
6853 "x x x x x x x x x x o o o o o o";
6855 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
6856 "x x x x x x x x 1 1 i i i i i i";
6859 memory "calibration"
6861 read = "0 0 1 1 1 0 0 0 0 0 x x x x x x",
6862 "0 0 0 0 0 0 a1 a0 o o o o o o o o";
6867 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
6868 "x x x x x x a1 a0 o o o o o o o o";
6873 #------------------------------------------------------------
6875 #------------------------------------------------------------
6880 stk500_devcode = 0x21;
6881 avr910_devcode = 0x5e;
6882 signature = 0x1e 0x91 0x09;
6885 chip_erase_delay = 9000;
6886 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
6887 "x x x x x x x x x x x x x x x x";
6889 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
6890 "x x x x x x x x x x x x x x x x";
6904 0xC4, 0xE4, 0xC4, 0xE4, 0xCC, 0xEC, 0xCC, 0xEC,
6905 0xD4, 0xF4, 0xD4, 0xF4, 0xDC, 0xFC, 0xDC, 0xFC,
6906 0xC8, 0xE8, 0xD8, 0xF8, 0x4C, 0x6C, 0x5C, 0x7C,
6907 0xEC, 0xBC, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00;
6908 hventerstabdelay = 100;
6915 hvleavestabdelay = 15;
6916 chiperasepulsewidth = 0;
6917 chiperasepolltimeout = 10;
6918 programfusepulsewidth = 0;
6919 programfusepolltimeout = 5;
6920 programlockpulsewidth = 0;
6921 programlockpolltimeout = 5;
6925 min_write_delay = 9000;
6926 max_write_delay = 9000;
6929 read = "1 0 1 0 0 0 0 0 x x x x x x x x",
6930 "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
6932 write = "1 1 0 0 0 0 0 0 x x x x x x x x",
6933 "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
6946 min_write_delay = 4500;
6947 max_write_delay = 4500;
6950 read_lo = " 0 0 1 0 0 0 0 0",
6951 " x x x x x x a9 a8",
6952 " a7 a6 a5 a4 a3 a2 a1 a0",
6955 read_hi = " 0 0 1 0 1 0 0 0",
6956 " x x x x x x a9 a8",
6957 " a7 a6 a5 a4 a3 a2 a1 a0",
6960 loadpage_lo = " 0 1 0 0 0 0 0 0",
6962 " x x x x a3 a2 a1 a0",
6965 loadpage_hi = " 0 1 0 0 1 0 0 0",
6967 " x x x x a3 a2 a1 a0",
6970 writepage = " 0 1 0 0 1 1 0 0",
6971 " x x x x x x a9 a8",
6972 " a7 a6 a5 a4 x x x x",
6983 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
6984 "0 0 0 0 0 0 a1 a0 o o o o o o o o";
6989 read = "0 1 0 1 1 0 0 0 x x x x x x x x",
6990 "x x x x x x x x x x x x x x o o";
6992 write = "1 0 1 0 1 1 0 0 1 1 1 1 1 1 i i",
6993 "x x x x x x x x x x x x x x x x";
6994 min_write_delay = 9000;
6995 max_write_delay = 9000;
7000 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
7001 "x x x x x x x x i i i i i i i i";
7003 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
7004 "x x x x x x x x o o o o o o o o";
7005 min_write_delay = 9000;
7006 max_write_delay = 9000;
7011 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
7012 "x x x x x x x x x x x i i i i i";
7014 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
7015 "x x x x x x x x o o o o o o o o";
7016 min_write_delay = 9000;
7017 max_write_delay = 9000;
7020 memory "calibration"
7022 read = "0 0 1 1 1 0 0 0 x x x x x x x x",
7023 "0 0 0 0 0 0 a1 a0 o o o o o o o o";
7029 #------------------------------------------------------------
7031 #------------------------------------------------------------
7037 has_debugwire = yes;
7038 flash_instr = 0xB4, 0x00, 0x10;
7039 eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
7040 0xBC, 0x00, 0xB4, 0x00, 0xBA, 0x0D, 0xBB, 0xBC,
7041 0x99, 0xE1, 0xBB, 0xAC;
7042 # stk500_devcode = 0x21;
7043 # avr910_devcode = 0x5e;
7044 signature = 0x1e 0x91 0x0c;
7047 chip_erase_delay = 4000;
7049 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
7050 "x x x x x x x x x x x x x x x x";
7052 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
7053 "x x x x x x x x x x x x x x x x";
7067 0xC4, 0xE4, 0xC4, 0xE4, 0xCC, 0xEC, 0xCC, 0xEC,
7068 0xD4, 0xF4, 0xD4, 0xF4, 0xDC, 0xFC, 0xDC, 0xFC,
7069 0xC8, 0xE8, 0xD8, 0xF8, 0x4C, 0x6C, 0x5C, 0x7C,
7070 0xEC, 0xBC, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00;
7071 hventerstabdelay = 100;
7078 hvleavestabdelay = 15;
7079 chiperasepulsewidth = 0;
7080 chiperasepolltimeout = 10;
7081 programfusepulsewidth = 0;
7082 programfusepolltimeout = 5;
7083 programlockpulsewidth = 0;
7084 programlockpolltimeout = 5;
7093 min_write_delay = 4000;
7094 max_write_delay = 4000;
7098 read = "1 0 1 0 0 0 0 0 x x x x x x x x",
7099 "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
7101 write = "1 1 0 0 0 0 0 0 x x x x x x x x",
7102 "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
7104 loadpage_lo = " 1 1 0 0 0 0 0 1",
7106 " 0 0 0 0 0 0 a1 a0",
7109 writepage = " 1 1 0 0 0 0 1 0",
7111 " x a6 a5 a4 a3 a2 0 0",
7125 min_write_delay = 4500;
7126 max_write_delay = 4500;
7130 read_lo = " 0 0 1 0 0 0 0 0",
7131 " x x x x x x a9 a8",
7132 " a7 a6 a5 a4 a3 a2 a1 a0",
7135 read_hi = " 0 0 1 0 1 0 0 0",
7136 " x x x x x x a9 a8",
7137 " a7 a6 a5 a4 a3 a2 a1 a0",
7140 loadpage_lo = " 0 1 0 0 0 0 0 0",
7142 " x x x x a3 a2 a1 a0",
7145 loadpage_hi = " 0 1 0 0 1 0 0 0",
7147 " x x x x a3 a2 a1 a0",
7150 writepage = " 0 1 0 0 1 1 0 0",
7151 " x x x x x x a9 a8",
7152 " a7 a6 a5 a4 x x x x",
7163 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
7164 "0 0 0 0 0 0 a1 a0 o o o o o o o o";
7169 read = "0 1 0 1 1 0 0 0 x x x x x x x x",
7170 "x x x x x x x x x x x x x x o o";
7172 write = "1 0 1 0 1 1 0 0 1 1 1 1 1 1 i i",
7173 "x x x x x x x x x x x x x x x x";
7174 min_write_delay = 4500;
7175 max_write_delay = 4500;
7180 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
7181 "x x x x x x x x i i i i i i i i";
7183 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
7184 "x x x x x x x x o o o o o o o o";
7185 min_write_delay = 4500;
7186 max_write_delay = 4500;
7191 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
7192 "x x x x x x x x i i i i i i i i";
7194 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
7195 "x x x x x x x x o o o o o o o o";
7196 min_write_delay = 4500;
7197 max_write_delay = 4500;
7202 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
7203 "x x x x x x x x x x x x x x x i";
7205 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
7206 "x x x x x x x x o o o o o o o o";
7207 min_write_delay = 4500;
7208 max_write_delay = 4500;
7211 memory "calibration"
7213 read = "0 0 1 1 1 0 0 0 x x x x x x x x",
7214 "0 0 0 0 0 0 0 0 o o o o o o o o";
7220 #------------------------------------------------------------
7222 #------------------------------------------------------------
7223 # Close to ATtiny261
7228 has_debugwire = yes;
7229 flash_instr = 0xB4, 0x00, 0x10;
7230 eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
7231 0xBC, 0x00, 0xB4, 0x00, 0xBA, 0x0D, 0xBB, 0xBC,
7232 0x99, 0xE1, 0xBB, 0xAC;
7233 # stk500_devcode = 0x21;
7234 # avr910_devcode = 0x5e;
7235 signature = 0x1e 0x92 0x08;
7238 chip_erase_delay = 4000;
7240 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
7241 "x x x x x x x x x x x x x x x x";
7243 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
7244 "x x x x x x x x x x x x x x x x";
7258 0xC4, 0xE4, 0xC4, 0xE4, 0xCC, 0xEC, 0xCC, 0xEC,
7259 0xD4, 0xF4, 0xD4, 0xF4, 0xDC, 0xFC, 0xDC, 0xFC,
7260 0xC8, 0xE8, 0xD8, 0xF8, 0x4C, 0x6C, 0x5C, 0x7C,
7261 0xEC, 0xBC, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00;
7262 hventerstabdelay = 100;
7269 hvleavestabdelay = 15;
7270 chiperasepulsewidth = 0;
7271 chiperasepolltimeout = 10;
7272 programfusepulsewidth = 0;
7273 programfusepolltimeout = 5;
7274 programlockpulsewidth = 0;
7275 programlockpolltimeout = 5;
7284 min_write_delay = 4000;
7285 max_write_delay = 4000;
7289 read = " 1 0 1 0 0 0 0 0 x x x x x x x x",
7290 "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
7292 write = " 1 1 0 0 0 0 0 0 x x x x x x x x",
7293 "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
7295 loadpage_lo = " 1 1 0 0 0 0 0 1",
7297 " 0 0 0 0 0 0 a1 a0",
7300 writepage = " 1 1 0 0 0 0 1 0",
7302 " a7 a6 a5 a4 a3 a2 0 0",
7316 min_write_delay = 4500;
7317 max_write_delay = 4500;
7321 read_lo = " 0 0 1 0 0 0 0 0",
7322 " x x x x x a10 a9 a8",
7323 " a7 a6 a5 a4 a3 a2 a1 a0",
7326 read_hi = " 0 0 1 0 1 0 0 0",
7327 " x x x x x a10 a9 a8",
7328 " a7 a6 a5 a4 a3 a2 a1 a0",
7331 loadpage_lo = " 0 1 0 0 0 0 0 0",
7333 " x x x a4 a3 a2 a1 a0",
7336 loadpage_hi = " 0 1 0 0 1 0 0 0",
7338 " x x x a4 a3 a2 a1 a0",
7341 writepage = " 0 1 0 0 1 1 0 0",
7342 " x x x x x a10 a9 a8",
7343 " a7 a6 a5 x x x x x",
7354 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
7355 "0 0 0 0 0 0 a1 a0 o o o o o o o o";
7360 read = "0 1 0 1 1 0 0 0 x x x x x x x x",
7361 "x x x x x x x x x x x x x x o o";
7363 write = "1 0 1 0 1 1 0 0 1 1 1 1 1 1 i i",
7364 "x x x x x x x x x x x x x x x x";
7365 min_write_delay = 4500;
7366 max_write_delay = 4500;
7371 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
7372 "x x x x x x x x i i i i i i i i";
7374 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
7375 "x x x x x x x x o o o o o o o o";
7376 min_write_delay = 4500;
7377 max_write_delay = 4500;
7382 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
7383 "x x x x x x x x i i i i i i i i";
7385 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
7386 "x x x x x x x x o o o o o o o o";
7387 min_write_delay = 4500;
7388 max_write_delay = 4500;
7393 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
7394 "x x x x x x x x x x x x x x x i";
7396 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
7397 "x x x x x x x x o o o o o o o o";
7398 min_write_delay = 4500;
7399 max_write_delay = 4500;
7402 memory "calibration"
7404 read = "0 0 1 1 1 0 0 0 x x x x x x x x",
7405 "0 0 0 0 0 0 0 0 o o o o o o o o";
7411 #------------------------------------------------------------
7413 #------------------------------------------------------------
7414 # Close to ATtiny461
7419 has_debugwire = yes;
7420 flash_instr = 0xB4, 0x00, 0x10;
7421 eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
7422 0xBC, 0x00, 0xB4, 0x00, 0xBA, 0x0D, 0xBB, 0xBC,
7423 0x99, 0xE1, 0xBB, 0xAC;
7424 # stk500_devcode = 0x21;
7425 # avr910_devcode = 0x5e;
7426 signature = 0x1e 0x93 0x0d;
7429 chip_erase_delay = 4000;
7431 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
7432 "x x x x x x x x x x x x x x x x";
7434 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
7435 "x x x x x x x x x x x x x x x x";
7449 0xC4, 0xE4, 0xC4, 0xE4, 0xCC, 0xEC, 0xCC, 0xEC,
7450 0xD4, 0xF4, 0xD4, 0xF4, 0xDC, 0xFC, 0xDC, 0xFC,
7451 0xC8, 0xE8, 0xD8, 0xF8, 0x4C, 0x6C, 0x5C, 0x7C,
7452 0xEC, 0xBC, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00;
7453 hventerstabdelay = 100;
7460 hvleavestabdelay = 15;
7461 chiperasepulsewidth = 0;
7462 chiperasepolltimeout = 10;
7463 programfusepulsewidth = 0;
7464 programfusepolltimeout = 5;
7465 programlockpulsewidth = 0;
7466 programlockpolltimeout = 5;
7475 min_write_delay = 4000;
7476 max_write_delay = 4000;
7480 read = " 1 0 1 0 0 0 0 0 x x x x x x x a8",
7481 "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
7483 write = " 1 1 0 0 0 0 0 0 x x x x x x x a8",
7484 "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
7486 loadpage_lo = " 1 1 0 0 0 0 0 1",
7488 " 0 0 0 0 0 0 a1 a0",
7491 writepage = " 1 1 0 0 0 0 1 0",
7492 " 0 0 x x x x x a8",
7493 " a7 a6 a5 a4 a3 a2 0 0",
7507 min_write_delay = 4500;
7508 max_write_delay = 4500;
7512 read_lo = " 0 0 1 0 0 0 0 0",
7513 " x x x x a11 a10 a9 a8",
7514 " a7 a6 a5 a4 a3 a2 a1 a0",
7517 read_hi = " 0 0 1 0 1 0 0 0",
7518 " x x x x a11 a10 a9 a8",
7519 " a7 a6 a5 a4 a3 a2 a1 a0",
7522 loadpage_lo = " 0 1 0 0 0 0 0 0",
7524 " x x x a4 a3 a2 a1 a0",
7527 loadpage_hi = " 0 1 0 0 1 0 0 0",
7529 " x x x a4 a3 a2 a1 a0",
7532 writepage = " 0 1 0 0 1 1 0 0",
7533 " x x x x a11 a10 a9 a8",
7534 " a7 a6 a5 x x x x x",
7545 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
7546 "0 0 0 0 0 0 a1 a0 o o o o o o o o";
7551 read = "0 1 0 1 1 0 0 0 x x x x x x x x",
7552 "x x x x x x x x x x x x x x o o";
7554 write = "1 0 1 0 1 1 0 0 1 1 1 1 1 1 i i",
7555 "x x x x x x x x x x x x x x x x";
7556 min_write_delay = 4500;
7557 max_write_delay = 4500;
7562 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
7563 "x x x x x x x x i i i i i i i i";
7565 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
7566 "x x x x x x x x o o o o o o o o";
7567 min_write_delay = 4500;
7568 max_write_delay = 4500;
7573 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
7574 "x x x x x x x x i i i i i i i i";
7576 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
7577 "x x x x x x x x o o o o o o o o";
7578 min_write_delay = 4500;
7579 max_write_delay = 4500;
7584 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
7585 "x x x x x x x x x x x x x x x i";
7587 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
7588 "x x x x x x x x o o o o o o o o";
7589 min_write_delay = 4500;
7590 max_write_delay = 4500;
7593 memory "calibration"
7595 read = "0 0 1 1 1 0 0 0 x x x x x x x x",
7596 "0 0 0 0 0 0 0 0 o o o o o o o o";
7602 #------------------------------------------------------------
7604 #------------------------------------------------------------
7606 # This is an HVPP-only device.
7611 stk500_devcode = 0x22;
7612 avr910_devcode = 0x5c;
7613 signature = 0x1e 0x91 0x07;
7616 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
7617 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
7618 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
7619 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
7620 hventerstabdelay = 100;
7627 hvleavestabdelay = 15;
7629 chiperasepulsewidth = 0;
7630 chiperasepolltimeout = 10;
7631 programfusepulsewidth = 0;
7632 programfusepolltimeout = 5;
7633 programlockpulsewidth = 0;
7634 programlockpolltimeout = 5;
7651 memory "calibration"
7662 #------------------------------------------------------------
7664 #------------------------------------------------------------
7669 has_debugwire = yes;
7670 flash_instr = 0xB6, 0x01, 0x11;
7671 eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
7672 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF,
7673 0x99, 0xF9, 0xBB, 0xAF;
7674 stk500_devcode = 0x59;
7675 # avr910_devcode = 0x;
7676 signature = 0x1e 0x92 0x05;
7679 chip_erase_delay = 45000;
7680 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
7681 "x x x x x x x x x x x x x x x x";
7683 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
7684 "x x x x x x x x x x x x x x x x";
7698 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
7699 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
7700 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
7701 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
7702 hventerstabdelay = 100;
7709 hvleavestabdelay = 15;
7711 chiperasepulsewidth = 0;
7712 chiperasepolltimeout = 10;
7713 programfusepulsewidth = 0;
7714 programfusepolltimeout = 5;
7715 programlockpulsewidth = 0;
7716 programlockpolltimeout = 5;
7724 min_write_delay = 3600;
7725 max_write_delay = 3600;
7728 read = " 1 0 1 0 0 0 0 0",
7730 " a7 a6 a5 a4 a3 a2 a1 a0",
7733 write = " 1 1 0 0 0 0 0 0",
7735 " a7 a6 a5 a4 a3 a2 a1 a0",
7738 loadpage_lo = " 1 1 0 0 0 0 0 1",
7740 " 0 0 0 0 0 0 a1 a0",
7743 writepage = " 1 1 0 0 0 0 1 0",
7745 " a7 a6 a5 a4 a3 a2 0 0",
7758 min_write_delay = 4500;
7759 max_write_delay = 4500;
7762 read_lo = " 0 0 1 0 0 0 0 0",
7763 " 0 0 0 0 0 a10 a9 a8",
7764 " a7 a6 a5 a4 a3 a2 a1 a0",
7767 read_hi = " 0 0 1 0 1 0 0 0",
7768 " 0 0 0 0 0 a10 a9 a8",
7769 " a7 a6 a5 a4 a3 a2 a1 a0",
7772 loadpage_lo = " 0 1 0 0 0 0 0 0",
7774 " x x x a4 a3 a2 a1 a0",
7777 loadpage_hi = " 0 1 0 0 1 0 0 0",
7779 " x x x a4 a3 a2 a1 a0",
7782 writepage = " 0 1 0 0 1 1 0 0",
7783 " 0 0 0 0 0 a10 a9 a8",
7784 " a7 a6 a5 x x x x x",
7795 min_write_delay = 4500;
7796 max_write_delay = 4500;
7797 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
7798 "x x x x x x x x o o o o o o o o";
7800 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
7801 "x x x x x x x x i i i i i i i i";
7806 min_write_delay = 4500;
7807 max_write_delay = 4500;
7808 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
7809 "x x x x x x x x o o o o o o o o";
7811 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
7812 "x x x x x x x x i i i i i i i i";
7817 min_write_delay = 4500;
7818 max_write_delay = 4500;
7819 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
7820 "x x x x x x x x o o o o o o o o";
7822 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
7823 "x x x x x x x x x x x x x x x i";
7828 min_write_delay = 4500;
7829 max_write_delay = 4500;
7830 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
7831 "x x x x x x x x x x o o o o o o";
7833 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
7834 "x x x x x x x x 1 1 i i i i i i";
7837 memory "calibration"
7839 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
7840 "0 0 0 0 0 0 0 0 o o o o o o o o";
7845 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
7846 "x x x x x x a1 a0 o o o o o o o o";
7850 #------------------------------------------------------------
7852 #------------------------------------------------------------
7857 signature = 0x1e 0x92 0x0a;
7862 #------------------------------------------------------------
7864 #------------------------------------------------------------
7868 desc = "ATmega48PB";
7869 signature = 0x1e 0x92 0x10;
7874 #------------------------------------------------------------
7876 #------------------------------------------------------------
7881 has_debugwire = yes;
7882 flash_instr = 0xB6, 0x01, 0x11;
7883 eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
7884 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF,
7885 0x99, 0xF9, 0xBB, 0xAF;
7886 stk500_devcode = 0x73;
7887 # avr910_devcode = 0x;
7888 signature = 0x1e 0x93 0x0a;
7891 chip_erase_delay = 9000;
7892 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
7893 "x x x x x x x x x x x x x x x x";
7895 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
7896 "x x x x x x x x x x x x x x x x";
7910 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
7911 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
7912 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
7913 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
7914 hventerstabdelay = 100;
7921 hvleavestabdelay = 15;
7923 chiperasepulsewidth = 0;
7924 chiperasepolltimeout = 10;
7925 programfusepulsewidth = 0;
7926 programfusepolltimeout = 5;
7927 programlockpulsewidth = 0;
7928 programlockpolltimeout = 5;
7936 min_write_delay = 3600;
7937 max_write_delay = 3600;
7940 read = " 1 0 1 0 0 0 0 0",
7941 " 0 0 0 x x x x a8",
7942 " a7 a6 a5 a4 a3 a2 a1 a0",
7945 write = " 1 1 0 0 0 0 0 0",
7946 " 0 0 0 x x x x a8",
7947 " a7 a6 a5 a4 a3 a2 a1 a0",
7950 loadpage_lo = " 1 1 0 0 0 0 0 1",
7952 " 0 0 0 0 0 0 a1 a0",
7955 writepage = " 1 1 0 0 0 0 1 0",
7956 " 0 0 x x x x x a8",
7957 " a7 a6 a5 a4 a3 a2 0 0",
7970 min_write_delay = 4500;
7971 max_write_delay = 4500;
7974 read_lo = " 0 0 1 0 0 0 0 0",
7975 " 0 0 0 0 a11 a10 a9 a8",
7976 " a7 a6 a5 a4 a3 a2 a1 a0",
7979 read_hi = " 0 0 1 0 1 0 0 0",
7980 " 0 0 0 0 a11 a10 a9 a8",
7981 " a7 a6 a5 a4 a3 a2 a1 a0",
7984 loadpage_lo = " 0 1 0 0 0 0 0 0",
7986 " x x x a4 a3 a2 a1 a0",
7989 loadpage_hi = " 0 1 0 0 1 0 0 0",
7991 " x x x a4 a3 a2 a1 a0",
7994 writepage = " 0 1 0 0 1 1 0 0",
7995 " 0 0 0 0 a11 a10 a9 a8",
7996 " a7 a6 a5 x x x x x",
8007 min_write_delay = 4500;
8008 max_write_delay = 4500;
8009 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
8010 "x x x x x x x x o o o o o o o o";
8012 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
8013 "x x x x x x x x i i i i i i i i";
8018 min_write_delay = 4500;
8019 max_write_delay = 4500;
8020 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
8021 "x x x x x x x x o o o o o o o o";
8023 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
8024 "x x x x x x x x i i i i i i i i";
8029 min_write_delay = 4500;
8030 max_write_delay = 4500;
8031 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
8032 "x x x x x x x x o o o o o o o o";
8034 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
8035 "x x x x x x x x x x x x x i i i";
8040 min_write_delay = 4500;
8041 max_write_delay = 4500;
8042 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
8043 "x x x x x x x x x x o o o o o o";
8045 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
8046 "x x x x x x x x 1 1 i i i i i i";
8049 memory "calibration"
8051 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
8052 "0 0 0 0 0 0 0 0 o o o o o o o o";
8057 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
8058 "x x x x x x a1 a0 o o o o o o o o";
8062 #------------------------------------------------------------
8064 #------------------------------------------------------------
8069 signature = 0x1e 0x93 0x0f;
8074 #------------------------------------------------------------
8076 #------------------------------------------------------------
8080 desc = "ATmega88PB";
8081 signature = 0x1e 0x93 0x16;
8086 #------------------------------------------------------------
8088 #------------------------------------------------------------
8093 has_debugwire = yes;
8094 flash_instr = 0xB6, 0x01, 0x11;
8095 eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
8096 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF,
8097 0x99, 0xF9, 0xBB, 0xAF;
8098 stk500_devcode = 0x86;
8099 # avr910_devcode = 0x;
8100 signature = 0x1e 0x94 0x06;
8103 chip_erase_delay = 9000;
8104 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
8105 "x x x x x x x x x x x x x x x x";
8107 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
8108 "x x x x x x x x x x x x x x x x";
8122 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
8123 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
8124 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
8125 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
8126 hventerstabdelay = 100;
8133 hvleavestabdelay = 15;
8135 chiperasepulsewidth = 0;
8136 chiperasepolltimeout = 10;
8137 programfusepulsewidth = 0;
8138 programfusepolltimeout = 5;
8139 programlockpulsewidth = 0;
8140 programlockpolltimeout = 5;
8148 min_write_delay = 3600;
8149 max_write_delay = 3600;
8152 read = " 1 0 1 0 0 0 0 0",
8153 " 0 0 0 x x x x a8",
8154 " a7 a6 a5 a4 a3 a2 a1 a0",
8157 write = " 1 1 0 0 0 0 0 0",
8158 " 0 0 0 x x x x a8",
8159 " a7 a6 a5 a4 a3 a2 a1 a0",
8162 loadpage_lo = " 1 1 0 0 0 0 0 1",
8164 " 0 0 0 0 0 0 a1 a0",
8167 writepage = " 1 1 0 0 0 0 1 0",
8168 " 0 0 x x x x x a8",
8169 " a7 a6 a5 a4 a3 a2 0 0",
8183 min_write_delay = 4500;
8184 max_write_delay = 4500;
8187 read_lo = " 0 0 1 0 0 0 0 0",
8188 " 0 0 0 a12 a11 a10 a9 a8",
8189 " a7 a6 a5 a4 a3 a2 a1 a0",
8192 read_hi = " 0 0 1 0 1 0 0 0",
8193 " 0 0 0 a12 a11 a10 a9 a8",
8194 " a7 a6 a5 a4 a3 a2 a1 a0",
8197 loadpage_lo = " 0 1 0 0 0 0 0 0",
8199 " x x a5 a4 a3 a2 a1 a0",
8202 loadpage_hi = " 0 1 0 0 1 0 0 0",
8204 " x x a5 a4 a3 a2 a1 a0",
8207 writepage = " 0 1 0 0 1 1 0 0",
8208 " 0 0 0 a12 a11 a10 a9 a8",
8209 " a7 a6 x x x x x x",
8221 min_write_delay = 4500;
8222 max_write_delay = 4500;
8223 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
8224 "x x x x x x x x o o o o o o o o";
8226 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
8227 "x x x x x x x x i i i i i i i i";
8232 min_write_delay = 4500;
8233 max_write_delay = 4500;
8234 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
8235 "x x x x x x x x o o o o o o o o";
8237 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
8238 "x x x x x x x x i i i i i i i i";
8243 min_write_delay = 4500;
8244 max_write_delay = 4500;
8245 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
8246 "x x x x x x x x o o o o o o o o";
8248 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
8249 "x x x x x x x x x x x x x i i i";
8254 min_write_delay = 4500;
8255 max_write_delay = 4500;
8256 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
8257 "x x x x x x x x x x o o o o o o";
8259 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
8260 "x x x x x x x x 1 1 i i i i i i";
8263 memory "calibration"
8265 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
8266 "0 0 0 0 0 0 0 0 o o o o o o o o";
8271 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
8272 "x x x x x x a1 a0 o o o o o o o o";
8276 #------------------------------------------------------------
8278 #------------------------------------------------------------
8282 desc = "ATmega168P";
8283 signature = 0x1e 0x94 0x0b;
8288 #------------------------------------------------------------
8290 #------------------------------------------------------------
8294 desc = "ATmega168PB";
8295 signature = 0x1e 0x94 0x15;
8300 #------------------------------------------------------------
8302 #------------------------------------------------------------
8307 has_debugwire = yes;
8308 flash_instr = 0xB6, 0x01, 0x11;
8309 eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
8310 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF,
8311 0x99, 0xF9, 0xBB, 0xAF;
8312 stk500_devcode = 0x73;
8313 # avr910_devcode = 0x;
8314 signature = 0x1e 0x93 0x11;
8317 chip_erase_delay = 9000;
8318 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
8319 "x x x x x x x x x x x x x x x x";
8321 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
8322 "x x x x x x x x x x x x x x x x";
8336 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
8337 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
8338 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
8339 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
8340 hventerstabdelay = 100;
8347 hvleavestabdelay = 15;
8349 chiperasepulsewidth = 0;
8350 chiperasepolltimeout = 10;
8351 programfusepulsewidth = 0;
8352 programfusepolltimeout = 5;
8353 programlockpulsewidth = 0;
8354 programlockpolltimeout = 5;
8362 min_write_delay = 3600;
8363 max_write_delay = 3600;
8366 read = " 1 0 1 0 0 0 0 0",
8368 " x a6 a5 a4 a3 a2 a1 a0",
8371 write = " 1 1 0 0 0 0 0 0",
8373 " x a6 a5 a4 a3 a2 a1 a0",
8376 loadpage_lo = " 1 1 0 0 0 0 0 1",
8378 " 0 0 0 0 0 0 a1 a0",
8381 writepage = " 1 1 0 0 0 0 1 0",
8383 " x a6 a5 a4 a3 a2 0 0",
8396 min_write_delay = 4500;
8397 max_write_delay = 4500;
8400 read_lo = " 0 0 1 0 0 0 0 0",
8401 " 0 0 0 0 a11 a10 a9 a8",
8402 " a7 a6 a5 a4 a3 a2 a1 a0",
8405 read_hi = " 0 0 1 0 1 0 0 0",
8406 " 0 0 0 0 a11 a10 a9 a8",
8407 " a7 a6 a5 a4 a3 a2 a1 a0",
8410 loadpage_lo = " 0 1 0 0 0 0 0 0",
8412 " x x x a4 a3 a2 a1 a0",
8415 loadpage_hi = " 0 1 0 0 1 0 0 0",
8417 " x x x a4 a3 a2 a1 a0",
8420 writepage = " 0 1 0 0 1 1 0 0",
8421 " 0 0 0 0 a11 a10 a9 a8",
8422 " a7 a6 a5 x x x x x",
8433 min_write_delay = 4500;
8434 max_write_delay = 4500;
8435 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
8436 "x x x x x x x x o o o o o o o o";
8438 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
8439 "x x x x x x x x i i i i i i i i";
8444 min_write_delay = 4500;
8445 max_write_delay = 4500;
8446 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
8447 "x x x x x x x x o o o o o o o o";
8449 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
8450 "x x x x x x x x i i i i i i i i";
8455 min_write_delay = 4500;
8456 max_write_delay = 4500;
8457 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
8458 "x x x x x x x x o o o o o o o o";
8460 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
8461 "x x x x x x x x x x x x x x x i";
8466 min_write_delay = 4500;
8467 max_write_delay = 4500;
8468 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
8469 "x x x x x x x x x x o o o o o o";
8471 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
8472 "x x x x x x x x 1 1 i i i i i i";
8475 memory "calibration"
8477 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
8478 "0 0 0 0 0 0 0 0 o o o o o o o o";
8483 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
8484 "x x x x x x a1 a0 o o o o o o o o";
8488 #------------------------------------------------------------
8490 #------------------------------------------------------------
8495 has_debugwire = yes;
8496 flash_instr = 0xB6, 0x01, 0x11;
8497 eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
8498 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF,
8499 0x99, 0xF9, 0xBB, 0xAF;
8500 stk500_devcode = 0x86;
8501 # avr910_devcode = 0x;
8502 signature = 0x1e 0x95 0x14;
8505 chip_erase_delay = 9000;
8506 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
8507 "x x x x x x x x x x x x x x x x";
8509 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
8510 "x x x x x x x x x x x x x x x x";
8524 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
8525 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
8526 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
8527 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
8528 hventerstabdelay = 100;
8535 hvleavestabdelay = 15;
8537 chiperasepulsewidth = 0;
8538 chiperasepolltimeout = 10;
8539 programfusepulsewidth = 0;
8540 programfusepolltimeout = 5;
8541 programlockpulsewidth = 0;
8542 programlockpolltimeout = 5;
8550 min_write_delay = 3600;
8551 max_write_delay = 3600;
8554 read = " 1 0 1 0 0 0 0 0",
8555 " 0 0 0 x x x a9 a8",
8556 " a7 a6 a5 a4 a3 a2 a1 a0",
8559 write = " 1 1 0 0 0 0 0 0",
8560 " 0 0 0 x x x a9 a8",
8561 " a7 a6 a5 a4 a3 a2 a1 a0",
8564 loadpage_lo = " 1 1 0 0 0 0 0 1",
8566 " 0 0 0 0 0 0 a1 a0",
8569 writepage = " 1 1 0 0 0 0 1 0",
8570 " 0 0 x x x x a9 a8",
8571 " a7 a6 a5 a4 a3 a2 0 0",
8585 min_write_delay = 4500;
8586 max_write_delay = 4500;
8589 read_lo = " 0 0 1 0 0 0 0 0",
8590 " 0 0 a13 a12 a11 a10 a9 a8",
8591 " a7 a6 a5 a4 a3 a2 a1 a0",
8594 read_hi = " 0 0 1 0 1 0 0 0",
8595 " 0 0 a13 a12 a11 a10 a9 a8",
8596 " a7 a6 a5 a4 a3 a2 a1 a0",
8599 loadpage_lo = " 0 1 0 0 0 0 0 0",
8601 " x x a5 a4 a3 a2 a1 a0",
8604 loadpage_hi = " 0 1 0 0 1 0 0 0",
8606 " x x a5 a4 a3 a2 a1 a0",
8609 writepage = " 0 1 0 0 1 1 0 0",
8610 " 0 0 a13 a12 a11 a10 a9 a8",
8611 " a7 a6 x x x x x x",
8623 min_write_delay = 4500;
8624 max_write_delay = 4500;
8625 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
8626 "x x x x x x x x o o o o o o o o";
8628 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
8629 "x x x x x x x x i i i i i i i i";
8634 min_write_delay = 4500;
8635 max_write_delay = 4500;
8636 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
8637 "x x x x x x x x o o o o o o o o";
8639 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
8640 "x x x x x x x x i i i i i i i i";
8645 min_write_delay = 4500;
8646 max_write_delay = 4500;
8647 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
8648 "x x x x x x x x o o o o o o o o";
8650 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
8651 "x x x x x x x x x x x x x i i i";
8656 min_write_delay = 4500;
8657 max_write_delay = 4500;
8658 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
8659 "x x x x x x x x x x o o o o o o";
8661 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
8662 "x x x x x x x x 1 1 i i i i i i";
8665 memory "calibration"
8667 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
8668 "0 0 0 0 0 0 0 0 o o o o o o o o";
8673 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
8674 "x x x x x x a1 a0 o o o o o o o o";
8680 desc = "ATmega328P";
8681 signature = 0x1e 0x95 0x0F;
8686 #------------------------------------------------------------
8688 #------------------------------------------------------------
8692 desc = "ATmega32M1";
8693 # stk500_devcode = 0x;
8694 # avr910_devcode = 0x;
8695 signature = 0x1e 0x95 0x84;
8699 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
8700 "x x x x x x x x o o o o o o o o";
8701 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
8702 "x x x x x x x x x x i i i i i i";
8706 #------------------------------------------------------------
8708 #------------------------------------------------------------
8712 desc = "ATtiny2313";
8713 has_debugwire = yes;
8714 flash_instr = 0xB2, 0x0F, 0x1F;
8715 eeprom_instr = 0xBB, 0xFE, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
8716 0xBA, 0x0F, 0xB2, 0x0F, 0xBA, 0x0D, 0xBB, 0xBC,
8717 0x99, 0xE1, 0xBB, 0xAC;
8718 stk500_devcode = 0x23;
8719 ## Use the ATtiny26 devcode:
8720 avr910_devcode = 0x5e;
8721 signature = 0x1e 0x91 0x0a;
8725 chip_erase_delay = 9000;
8727 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
8728 "x x x x x x x x x x x x x x x x";
8730 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
8731 "x x x x x x x x x x x x x x x x";
8745 0x0E, 0x1E, 0x0E, 0x1E, 0x2E, 0x3E, 0x2E, 0x3E,
8746 0x4E, 0x5E, 0x4E, 0x5E, 0x6E, 0x7E, 0x6E, 0x7E,
8747 0x26, 0x36, 0x66, 0x76, 0x2A, 0x3A, 0x6A, 0x7A,
8748 0x2E, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
8749 hventerstabdelay = 100;
8756 hvleavestabdelay = 15;
8757 chiperasepulsewidth = 0;
8758 chiperasepolltimeout = 10;
8759 programfusepulsewidth = 0;
8760 programfusepolltimeout = 5;
8761 programlockpulsewidth = 0;
8762 programlockpolltimeout = 5;
8770 min_write_delay = 4000;
8771 max_write_delay = 4500;
8774 read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x",
8775 "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
8777 write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x",
8778 "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
8780 loadpage_lo = " 1 1 0 0 0 0 0 1",
8782 " 0 0 0 0 0 0 a1 a0",
8785 writepage = " 1 1 0 0 0 0 1 0",
8787 " x a6 a5 a4 a3 a2 0 0",
8800 min_write_delay = 4500;
8801 max_write_delay = 4500;
8804 read_lo = " 0 0 1 0 0 0 0 0",
8805 " 0 0 0 0 0 0 a9 a8",
8806 " a7 a6 a5 a4 a3 a2 a1 a0",
8809 read_hi = " 0 0 1 0 1 0 0 0",
8810 " 0 0 0 0 0 0 a9 a8",
8811 " a7 a6 a5 a4 a3 a2 a1 a0",
8814 # The information in the data sheet of April/2004 is wrong, this works:
8815 loadpage_lo = " 0 1 0 0 0 0 0 0",
8817 " x x x x a3 a2 a1 a0",
8820 # The information in the data sheet of April/2004 is wrong, this works:
8821 loadpage_hi = " 0 1 0 0 1 0 0 0",
8823 " x x x x a3 a2 a1 a0",
8826 # The information in the data sheet of April/2004 is wrong, this works:
8827 writepage = " 0 1 0 0 1 1 0 0",
8828 " 0 0 0 0 0 0 a9 a8",
8829 " a7 a6 a5 a4 x x x x",
8837 # ATtiny2313 has Signature Bytes: 0x1E 0x91 0x0A.
8840 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
8841 "x x x x x x a1 a0 o o o o o o o o";
8845 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
8846 "x x x x x x x x 1 1 i i i i i i";
8847 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
8848 "x x x x x x x x x x o o o o o o";
8849 min_write_delay = 9000;
8850 max_write_delay = 9000;
8855 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
8856 "x x x x x x x x i i i i i i i i";
8858 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
8859 "x x x x x x x x o o o o o o o o";
8860 min_write_delay = 9000;
8861 max_write_delay = 9000;
8866 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
8867 "x x x x x x x x i i i i i i i i";
8869 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
8870 "x x x x x x x x o o o o o o o o";
8871 min_write_delay = 9000;
8872 max_write_delay = 9000;
8877 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
8878 "x x x x x x x x x x x x x x x i";
8880 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
8881 "x x x x x x x x o o o o o o o o";
8882 min_write_delay = 9000;
8883 max_write_delay = 9000;
8885 # The Tiny2313 has calibration data for both 4 MHz and 8 MHz.
8886 # The information in the data sheet of April/2004 is wrong, this works:
8888 memory "calibration"
8890 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
8891 "0 0 0 0 0 0 0 a0 o o o o o o o o";
8895 #------------------------------------------------------------
8897 #------------------------------------------------------------
8901 desc = "ATtiny4313";
8902 has_debugwire = yes;
8903 flash_instr = 0xB2, 0x0F, 0x1F;
8904 eeprom_instr = 0xBB, 0xFE, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
8905 0xBA, 0x0F, 0xB2, 0x0F, 0xBA, 0x0D, 0xBB, 0xBC,
8906 0x99, 0xE1, 0xBB, 0xAC;
8907 stk500_devcode = 0x23;
8908 ## Use the ATtiny26 devcode:
8909 avr910_devcode = 0x5e;
8910 signature = 0x1e 0x92 0x0d;
8914 chip_erase_delay = 9000;
8916 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
8917 "x x x x x x x x x x x x x x x x";
8919 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
8920 "x x x x x x x x x x x x x x x x";
8934 0x0E, 0x1E, 0x0E, 0x1E, 0x2E, 0x3E, 0x2E, 0x3E,
8935 0x4E, 0x5E, 0x4E, 0x5E, 0x6E, 0x7E, 0x6E, 0x7E,
8936 0x26, 0x36, 0x66, 0x76, 0x2A, 0x3A, 0x6A, 0x7A,
8937 0x2E, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
8938 hventerstabdelay = 100;
8945 hvleavestabdelay = 15;
8946 chiperasepulsewidth = 0;
8947 chiperasepolltimeout = 10;
8948 programfusepulsewidth = 0;
8949 programfusepolltimeout = 5;
8950 programlockpulsewidth = 0;
8951 programlockpolltimeout = 5;
8959 min_write_delay = 4000;
8960 max_write_delay = 4500;
8963 read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x",
8964 "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
8966 write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x",
8967 "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
8969 loadpage_lo = " 1 1 0 0 0 0 0 1",
8971 " 0 0 0 0 0 0 a1 a0",
8974 writepage = " 1 1 0 0 0 0 1 0",
8976 " a7 a6 a5 a4 a3 a2 0 0",
8989 min_write_delay = 4500;
8990 max_write_delay = 4500;
8993 read_lo = " 0 0 1 0 0 0 0 0",
8994 " 0 0 0 0 0 a10 a9 a8",
8995 " a7 a6 a5 a4 a3 a2 a1 a0",
8998 read_hi = " 0 0 1 0 1 0 0 0",
8999 " 0 0 0 0 0 a10 a9 a8",
9000 " a7 a6 a5 a4 a3 a2 a1 a0",
9003 loadpage_lo = " 0 1 0 0 0 0 0 0",
9005 " x x x a4 a3 a2 a1 a0",
9008 loadpage_hi = " 0 1 0 0 1 0 0 0",
9010 " x x x a4 a3 a2 a1 a0",
9013 writepage = " 0 1 0 0 1 1 0 0",
9014 " 0 0 0 0 0 a10 a9 a8",
9015 " a7 a6 a5 x x x x x",
9023 # ATtiny4313 has Signature Bytes: 0x1E 0x92 0x0D.
9026 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
9027 "x x x x x x a1 a0 o o o o o o o o";
9031 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
9032 "x x x x x x x x 1 1 i i i i i i";
9033 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
9034 "x x x x x x x x x x o o o o o o";
9035 min_write_delay = 9000;
9036 max_write_delay = 9000;
9041 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
9042 "x x x x x x x x i i i i i i i i";
9044 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
9045 "x x x x x x x x o o o o o o o o";
9046 min_write_delay = 9000;
9047 max_write_delay = 9000;
9052 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
9053 "x x x x x x x x i i i i i i i i";
9055 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
9056 "x x x x x x x x o o o o o o o o";
9057 min_write_delay = 9000;
9058 max_write_delay = 9000;
9063 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
9064 "x x x x x x x x x x x x x x x i";
9066 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
9067 "x x x x x x x x o o o o o o o o";
9068 min_write_delay = 9000;
9069 max_write_delay = 9000;
9072 memory "calibration"
9074 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
9075 "0 0 0 0 0 0 0 a0 o o o o o o o o";
9079 #------------------------------------------------------------
9081 #------------------------------------------------------------
9086 has_debugwire = yes;
9087 flash_instr = 0xB6, 0x01, 0x11;
9088 eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
9089 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF,
9090 0x99, 0xF9, 0xBB, 0xAF;
9091 stk500_devcode = 0x65;
9092 ## avr910_devcode = ?;
9093 signature = 0x1e 0x93 0x81;
9097 chip_erase_delay = 9000;
9099 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
9100 "x x x x x x x x x x x x x x x x";
9102 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
9103 "x x x x x x x x x x x x x x x x";
9117 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
9118 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
9119 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
9120 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
9121 hventerstabdelay = 100;
9128 hvleavestabdelay = 15;
9129 chiperasepulsewidth = 0;
9130 chiperasepolltimeout = 10;
9131 programfusepulsewidth = 0;
9132 programfusepolltimeout = 5;
9133 programlockpulsewidth = 0;
9134 programlockpolltimeout = 5;
9140 min_write_delay = 4000;
9141 max_write_delay = 4500;
9144 read = "1 0 1 0 0 0 0 0 0 0 0 x x x x a8",
9145 "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
9147 write = "1 1 0 0 0 0 0 0 0 0 0 x x x x a8",
9148 "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
9150 loadpage_lo = " 1 1 0 0 0 0 0 1",
9152 " 0 0 0 0 0 0 a1 a0",
9155 writepage = " 1 1 0 0 0 0 1 0",
9157 " a7 a6 a5 a4 a3 a2 0 0",
9170 min_write_delay = 4500;
9171 max_write_delay = 4500;
9174 read_lo = " 0 0 1 0 0 0 0 0",
9175 " 0 0 0 0 a11 a10 a9 a8",
9176 " a7 a6 a5 a4 a3 a2 a1 a0",
9179 read_hi = " 0 0 1 0 1 0 0 0",
9180 " 0 0 0 0 a11 a10 a9 a8",
9181 " a7 a6 a5 a4 a3 a2 a1 a0",
9184 loadpage_lo = " 0 1 0 0 0 0 0 0",
9186 " x x x a4 a3 a2 a1 a0",
9189 loadpage_hi = " 0 1 0 0 1 0 0 0",
9191 " x x x a4 a3 a2 a1 a0",
9194 writepage = " 0 1 0 0 1 1 0 0",
9195 " 0 0 0 0 a11 a10 a9 a8",
9196 " a7 a6 a5 x x x x x",
9204 # AT90PWM2 has Signature Bytes: 0x1E 0x93 0x81.
9207 read = "0 0 1 1 0 0 0 0 0 0 x x x x x x",
9208 "x x x x x x a1 a0 o o o o o o o o";
9212 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
9213 "x x x x x x x x 1 1 i i i i i i";
9215 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
9216 "x x x x x x x x x x o o o o o o";
9217 min_write_delay = 9000;
9218 max_write_delay = 9000;
9223 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
9224 "x x x x x x x x i i i i i i i i";
9226 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
9227 "x x x x x x x x o o o o o o o o";
9228 min_write_delay = 9000;
9229 max_write_delay = 9000;
9234 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
9235 "x x x x x x x x i i i i i i i i";
9237 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
9238 "x x x x x x x x o o o o o o o o";
9239 min_write_delay = 9000;
9240 max_write_delay = 9000;
9245 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
9246 "x x x x x x x x i i i i i i i i";
9248 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
9249 "x x x x x x x x o o o o o o o o";
9250 min_write_delay = 9000;
9251 max_write_delay = 9000;
9254 memory "calibration"
9256 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
9257 "0 0 0 0 0 0 0 0 o o o o o o o o";
9261 #------------------------------------------------------------
9263 #------------------------------------------------------------
9265 # Completely identical to AT90PWM2 (including the signature!)
9272 #------------------------------------------------------------
9274 #------------------------------------------------------------
9275 # Same as AT90PWM2 but different signature.
9280 signature = 0x1e 0x93 0x83;
9285 #------------------------------------------------------------
9287 #------------------------------------------------------------
9289 # Completely identical to AT90PWM2B (including the signature!)
9298 #------------------------------------------------------------
9300 #------------------------------------------------------------
9302 # Similar to AT90PWM3B, but with 16 kiB flash, 512 B EEPROM, and 1024 B SRAM.
9306 desc = "AT90PWM316";
9307 signature = 0x1e 0x94 0x83;
9316 min_write_delay = 4500;
9317 max_write_delay = 4500;
9320 read_lo = " 0 0 1 0 0 0 0 0",
9321 " 0 0 a13 a12 a11 a10 a9 a8",
9322 " a7 a6 a5 a4 a3 a2 a1 a0",
9325 read_hi = " 0 0 1 0 1 0 0 0",
9326 " 0 0 a13 a12 a11 a10 a9 a8",
9327 " a7 a6 a5 a4 a3 a2 a1 a0",
9330 loadpage_lo = " 0 1 0 0 0 0 0 0",
9332 " x x a5 a4 a3 a2 a1 a0",
9335 loadpage_hi = " 0 1 0 0 1 0 0 0",
9337 " x x a5 a4 a3 a2 a1 a0",
9340 writepage = " 0 1 0 0 1 1 0 0",
9341 " 0 0 a13 a12 a11 a10 a9 a8",
9342 " a7 a6 x x x x x x",
9352 #------------------------------------------------------------
9354 #------------------------------------------------------------
9355 # Completely identical to AT90PWM316 (including the signature!)
9357 part parent "pwm316"
9359 desc = "AT90PWM216";
9362 #------------------------------------------------------------
9364 #------------------------------------------------------------
9369 has_debugwire = yes;
9370 flash_instr = 0xB4, 0x02, 0x12;
9371 eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
9372 0xBC, 0x02, 0xB4, 0x02, 0xBA, 0x0D, 0xBB, 0xBC,
9373 0x99, 0xE1, 0xBB, 0xAC;
9374 ## no STK500 devcode in XML file, use the ATtiny45 one
9375 stk500_devcode = 0x14;
9376 ## avr910_devcode = ?;
9377 ## Try the AT90S2313 devcode:
9378 avr910_devcode = 0x20;
9379 signature = 0x1e 0x91 0x08;
9381 chip_erase_delay = 4500;
9383 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
9384 "x x x x x x x x x x x x x x x x";
9386 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
9387 "x x x x x x x x x x x x x x x x";
9401 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66,
9402 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78,
9403 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
9404 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00;
9405 hventerstabdelay = 100;
9406 hvspcmdexedelay = 0;
9413 hvleavestabdelay = 100;
9415 chiperasepolltimeout = 40;
9417 programfusepolltimeout = 25;
9418 programlockpolltimeout = 25;
9426 min_write_delay = 4000;
9427 max_write_delay = 4500;
9430 read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x",
9431 "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
9433 write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x",
9434 "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
9436 loadpage_lo = " 1 1 0 0 0 0 0 1",
9438 " 0 0 0 0 0 0 a1 a0",
9441 writepage = " 1 1 0 0 0 0 1 0",
9443 " x a6 a5 a4 a3 a2 0 0",
9456 min_write_delay = 4500;
9457 max_write_delay = 4500;
9460 read_lo = " 0 0 1 0 0 0 0 0",
9461 " 0 0 0 0 0 0 a9 a8",
9462 " a7 a6 a5 a4 a3 a2 a1 a0",
9465 read_hi = " 0 0 1 0 1 0 0 0",
9466 " 0 0 0 0 0 0 a9 a8",
9467 " a7 a6 a5 a4 a3 a2 a1 a0",
9470 loadpage_lo = " 0 1 0 0 0 0 0 0",
9472 " x x x x a3 a2 a1 a0",
9475 loadpage_hi = " 0 1 0 0 1 0 0 0",
9477 " x x x x a3 a2 a1 a0",
9480 writepage = " 0 1 0 0 1 1 0 0",
9481 " 0 0 0 0 0 0 a9 a8",
9482 " a7 a6 a5 a4 x x x x",
9490 # ATtiny25 has Signature Bytes: 0x1E 0x91 0x08.
9493 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
9494 "x x x x x x a1 a0 o o o o o o o o";
9498 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
9499 "x x x x x x x x 1 1 i i i i i i";
9500 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
9501 "0 0 0 0 0 0 0 0 o o o o o o o o";
9502 min_write_delay = 9000;
9503 max_write_delay = 9000;
9508 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
9509 "x x x x x x x x i i i i i i i i";
9511 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
9512 "x x x x x x x x o o o o o o o o";
9513 min_write_delay = 9000;
9514 max_write_delay = 9000;
9519 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
9520 "x x x x x x x x i i i i i i i i";
9522 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
9523 "x x x x x x x x o o o o o o o o";
9524 min_write_delay = 9000;
9525 max_write_delay = 9000;
9530 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
9531 "x x x x x x x x x x x x x x x i";
9533 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
9534 "x x x x x x x x o o o o o o o o";
9535 min_write_delay = 9000;
9536 max_write_delay = 9000;
9539 memory "calibration"
9541 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
9542 "0 0 0 0 0 0 0 a0 o o o o o o o o";
9546 #------------------------------------------------------------
9548 #------------------------------------------------------------
9553 has_debugwire = yes;
9554 flash_instr = 0xB4, 0x02, 0x12;
9555 eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
9556 0xBC, 0x02, 0xB4, 0x02, 0xBA, 0x0D, 0xBB, 0xBC,
9557 0x99, 0xE1, 0xBB, 0xAC;
9558 stk500_devcode = 0x14;
9559 ## avr910_devcode = ?;
9560 ## Try the AT90S2313 devcode:
9561 avr910_devcode = 0x20;
9562 signature = 0x1e 0x92 0x06;
9564 chip_erase_delay = 4500;
9566 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
9567 "x x x x x x x x x x x x x x x x";
9569 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
9570 "x x x x x x x x x x x x x x x x";
9584 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66,
9585 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78,
9586 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
9587 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00;
9588 hventerstabdelay = 100;
9590 hvspcmdexedelay = 0;
9597 hvleavestabdelay = 100;
9599 chiperasepolltimeout = 40;
9601 programfusepolltimeout = 25;
9602 programlockpolltimeout = 25;
9609 min_write_delay = 4000;
9610 max_write_delay = 4500;
9613 read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x",
9614 "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
9616 write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x",
9617 "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
9619 loadpage_lo = " 1 1 0 0 0 0 0 1",
9621 " 0 0 0 0 0 0 a1 a0",
9624 writepage = " 1 1 0 0 0 0 1 0",
9626 " a7 a6 a5 a4 a3 a2 0 0",
9639 min_write_delay = 4500;
9640 max_write_delay = 4500;
9643 read_lo = " 0 0 1 0 0 0 0 0",
9644 " 0 0 0 0 0 a10 a9 a8",
9645 " a7 a6 a5 a4 a3 a2 a1 a0",
9648 read_hi = " 0 0 1 0 1 0 0 0",
9649 " 0 0 0 0 0 a10 a9 a8",
9650 " a7 a6 a5 a4 a3 a2 a1 a0",
9653 loadpage_lo = " 0 1 0 0 0 0 0 0",
9655 " x x x a4 a3 a2 a1 a0",
9658 loadpage_hi = " 0 1 0 0 1 0 0 0",
9660 " x x x a4 a3 a2 a1 a0",
9663 writepage = " 0 1 0 0 1 1 0 0",
9664 " 0 0 0 0 0 a10 a9 a8",
9665 " a7 a6 a5 x x x x x",
9673 # ATtiny45 has Signature Bytes: 0x1E 0x92 0x08. (Data sheet 2586C-AVR-06/05 (doc2586.pdf) indicates otherwise!)
9676 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
9677 "x x x x x x a1 a0 o o o o o o o o";
9681 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
9682 "x x x x x x x x 1 1 i i i i i i";
9683 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
9684 "0 0 0 0 0 0 0 0 o o o o o o o o";
9685 min_write_delay = 9000;
9686 max_write_delay = 9000;
9691 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
9692 "x x x x x x x x i i i i i i i i";
9694 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
9695 "x x x x x x x x o o o o o o o o";
9696 min_write_delay = 9000;
9697 max_write_delay = 9000;
9702 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
9703 "x x x x x x x x i i i i i i i i";
9705 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
9706 "x x x x x x x x o o o o o o o o";
9707 min_write_delay = 9000;
9708 max_write_delay = 9000;
9713 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
9714 "x x x x x x x x x x x x x x x i";
9716 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
9717 "x x x x x x x x o o o o o o o o";
9718 min_write_delay = 9000;
9719 max_write_delay = 9000;
9722 memory "calibration"
9724 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
9725 "0 0 0 0 0 0 0 a0 o o o o o o o o";
9729 #------------------------------------------------------------
9731 #------------------------------------------------------------
9736 has_debugwire = yes;
9737 flash_instr = 0xB4, 0x02, 0x12;
9738 eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
9739 0xBC, 0x02, 0xB4, 0x02, 0xBA, 0x0D, 0xBB, 0xBC,
9740 0x99, 0xE1, 0xBB, 0xAC;
9741 ## no STK500 devcode in XML file, use the ATtiny45 one
9742 stk500_devcode = 0x14;
9743 ## avr910_devcode = ?;
9744 ## Try the AT90S2313 devcode:
9745 avr910_devcode = 0x20;
9746 signature = 0x1e 0x93 0x0b;
9748 chip_erase_delay = 4500;
9750 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
9751 "x x x x x x x x x x x x x x x x";
9753 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
9754 "x x x x x x x x x x x x x x x x";
9768 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66,
9769 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78,
9770 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
9771 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00;
9772 hventerstabdelay = 100;
9773 hvspcmdexedelay = 0;
9780 hvleavestabdelay = 100;
9782 chiperasepolltimeout = 40;
9784 programfusepolltimeout = 25;
9785 programlockpolltimeout = 25;
9793 min_write_delay = 4000;
9794 max_write_delay = 4500;
9797 read = "1 0 1 0 0 0 0 0 0 0 0 x x x x a8",
9798 "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
9800 write = "1 1 0 0 0 0 0 0 0 0 0 x x x x a8",
9801 "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
9803 loadpage_lo = " 1 1 0 0 0 0 0 1",
9805 " 0 0 0 0 0 0 a1 a0",
9808 writepage = " 1 1 0 0 0 0 1 0",
9809 " 0 0 x x x x x a8",
9810 " a7 a6 a5 a4 a3 a2 0 0",
9823 min_write_delay = 4500;
9824 max_write_delay = 4500;
9827 read_lo = " 0 0 1 0 0 0 0 0",
9828 " 0 0 0 0 a11 a10 a9 a8",
9829 " a7 a6 a5 a4 a3 a2 a1 a0",
9832 read_hi = " 0 0 1 0 1 0 0 0",
9833 " 0 0 0 0 a11 a10 a9 a8",
9834 " a7 a6 a5 a4 a3 a2 a1 a0",
9837 loadpage_lo = " 0 1 0 0 0 0 0 0",
9839 " x x x a4 a3 a2 a1 a0",
9842 loadpage_hi = " 0 1 0 0 1 0 0 0",
9844 " x x x a4 a3 a2 a1 a0",
9847 writepage = " 0 1 0 0 1 1 0 0",
9848 " 0 0 0 0 a11 a10 a9 a8",
9849 " a7 a6 a5 x x x x x",
9857 # ATtiny85 has Signature Bytes: 0x1E 0x93 0x08.
9860 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
9861 "x x x x x x a1 a0 o o o o o o o o";
9865 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
9866 "x x x x x x x x 1 1 i i i i i i";
9867 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
9868 "0 0 0 0 0 0 0 0 o o o o o o o o";
9869 min_write_delay = 9000;
9870 max_write_delay = 9000;
9875 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
9876 "x x x x x x x x i i i i i i i i";
9878 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
9879 "x x x x x x x x o o o o o o o o";
9880 min_write_delay = 9000;
9881 max_write_delay = 9000;
9886 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
9887 "x x x x x x x x i i i i i i i i";
9889 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
9890 "x x x x x x x x o o o o o o o o";
9891 min_write_delay = 9000;
9892 max_write_delay = 9000;
9897 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
9898 "x x x x x x x x x x x x x x x i";
9900 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
9901 "x x x x x x x x o o o o o o o o";
9902 min_write_delay = 9000;
9903 max_write_delay = 9000;
9906 memory "calibration"
9908 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
9909 "0 0 0 0 0 0 0 a0 o o o o o o o o";
9913 #------------------------------------------------------------
9915 #------------------------------------------------------------
9916 # Almost same as ATmega1280, except for different memory sizes
9921 signature = 0x1e 0x96 0x08;
9923 # stk500_devcode = 0xB2;
9924 # avr910_devcode = 0x43;
9925 chip_erase_delay = 9000;
9929 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
9930 "x x x x x x x x x x x x x x x x";
9932 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
9933 "x x x x x x x x x x x x x x x x";
9947 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
9948 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
9949 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
9950 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
9951 hventerstabdelay = 100;
9958 hvleavestabdelay = 15;
9959 chiperasepulsewidth = 0;
9960 chiperasepolltimeout = 10;
9961 programfusepulsewidth = 0;
9962 programfusepolltimeout = 5;
9963 programlockpulsewidth = 0;
9964 programlockpolltimeout = 5;
9969 allowfullpagebitstream = no;
9974 paged = no; /* leave this "no" */
9975 page_size = 8; /* for parallel programming */
9977 min_write_delay = 9000;
9978 max_write_delay = 9000;
9981 read = " 1 0 1 0 0 0 0 0",
9982 " x x x x a11 a10 a9 a8",
9983 " a7 a6 a5 a4 a3 a2 a1 a0",
9986 write = " 1 1 0 0 0 0 0 0",
9987 " x x x x a11 a10 a9 a8",
9988 " a7 a6 a5 a4 a3 a2 a1 a0",
9991 loadpage_lo = " 1 1 0 0 0 0 0 1",
9993 " 0 0 0 0 0 a2 a1 a0",
9996 writepage = " 1 1 0 0 0 0 1 0",
9997 " 0 0 x x a11 a10 a9 a8",
9998 " a7 a6 a5 a4 a3 0 0 0",
10012 min_write_delay = 4500;
10013 max_write_delay = 4500;
10014 readback_p1 = 0x00;
10015 readback_p2 = 0x00;
10016 read_lo = " 0 0 1 0 0 0 0 0",
10017 " 0 a14 a13 a12 a11 a10 a9 a8",
10018 " a7 a6 a5 a4 a3 a2 a1 a0",
10019 " o o o o o o o o";
10021 read_hi = " 0 0 1 0 1 0 0 0",
10022 " 0 a14 a13 a12 a11 a10 a9 a8",
10023 " a7 a6 a5 a4 a3 a2 a1 a0",
10024 " o o o o o o o o";
10026 loadpage_lo = " 0 1 0 0 0 0 0 0",
10027 " x x x x x x x x",
10028 " x a6 a5 a4 a3 a2 a1 a0",
10029 " i i i i i i i i";
10031 loadpage_hi = " 0 1 0 0 1 0 0 0",
10032 " x x x x x x x x",
10033 " x a6 a5 a4 a3 a2 a1 a0",
10034 " i i i i i i i i";
10036 writepage = " 0 1 0 0 1 1 0 0",
10037 " 0 a14 a13 a12 a11 a10 a9 a8",
10038 " a7 x x x x x x x",
10039 " x x x x x x x x";
10049 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
10050 "x x x x x x x x i i i i i i i i";
10052 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
10053 "x x x x x x x x o o o o o o o o";
10054 min_write_delay = 9000;
10055 max_write_delay = 9000;
10060 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
10061 "x x x x x x x x i i i i i i i i";
10063 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
10064 "x x x x x x x x o o o o o o o o";
10065 min_write_delay = 9000;
10066 max_write_delay = 9000;
10071 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
10072 "x x x x x x x x x x x x x i i i";
10074 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
10075 "x x x x x x x x o o o o o o o o";
10076 min_write_delay = 9000;
10077 max_write_delay = 9000;
10082 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
10083 "x x x x x x x x x x o o o o o o";
10085 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
10086 "x x x x x x x x 1 1 i i i i i i";
10087 min_write_delay = 9000;
10088 max_write_delay = 9000;
10091 memory "calibration"
10093 read = "0 0 1 1 1 0 0 0 x x x x x x x x",
10094 "0 0 0 0 0 0 0 0 o o o o o o o o";
10099 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
10100 "x x x x x x a1 a0 o o o o o o o o";
10104 #------------------------------------------------------------
10106 #------------------------------------------------------------
10110 desc = "ATmega1280";
10111 signature = 0x1e 0x97 0x03;
10113 # stk500_devcode = 0xB2;
10114 # avr910_devcode = 0x43;
10115 chip_erase_delay = 9000;
10119 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
10120 "x x x x x x x x x x x x x x x x";
10122 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
10123 "x x x x x x x x x x x x x x x x";
10137 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
10138 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
10139 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
10140 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
10141 hventerstabdelay = 100;
10145 poweroffdelay = 15;
10148 hvleavestabdelay = 15;
10149 chiperasepulsewidth = 0;
10150 chiperasepolltimeout = 10;
10151 programfusepulsewidth = 0;
10152 programfusepolltimeout = 5;
10153 programlockpulsewidth = 0;
10154 programlockpolltimeout = 5;
10159 allowfullpagebitstream = no;
10164 paged = no; /* leave this "no" */
10165 page_size = 8; /* for parallel programming */
10167 min_write_delay = 9000;
10168 max_write_delay = 9000;
10169 readback_p1 = 0x00;
10170 readback_p2 = 0x00;
10171 read = " 1 0 1 0 0 0 0 0",
10172 " x x x x a11 a10 a9 a8",
10173 " a7 a6 a5 a4 a3 a2 a1 a0",
10174 " o o o o o o o o";
10176 write = " 1 1 0 0 0 0 0 0",
10177 " x x x x a11 a10 a9 a8",
10178 " a7 a6 a5 a4 a3 a2 a1 a0",
10179 " i i i i i i i i";
10181 loadpage_lo = " 1 1 0 0 0 0 0 1",
10182 " 0 0 0 0 0 0 0 0",
10183 " 0 0 0 0 0 a2 a1 a0",
10184 " i i i i i i i i";
10186 writepage = " 1 1 0 0 0 0 1 0",
10187 " 0 0 x x a11 a10 a9 a8",
10188 " a7 a6 a5 a4 a3 0 0 0",
10189 " x x x x x x x x";
10202 min_write_delay = 4500;
10203 max_write_delay = 4500;
10204 readback_p1 = 0x00;
10205 readback_p2 = 0x00;
10206 read_lo = " 0 0 1 0 0 0 0 0",
10207 "a15 a14 a13 a12 a11 a10 a9 a8",
10208 " a7 a6 a5 a4 a3 a2 a1 a0",
10209 " o o o o o o o o";
10211 read_hi = " 0 0 1 0 1 0 0 0",
10212 "a15 a14 a13 a12 a11 a10 a9 a8",
10213 " a7 a6 a5 a4 a3 a2 a1 a0",
10214 " o o o o o o o o";
10216 loadpage_lo = " 0 1 0 0 0 0 0 0",
10217 " x x x x x x x x",
10218 " x a6 a5 a4 a3 a2 a1 a0",
10219 " i i i i i i i i";
10221 loadpage_hi = " 0 1 0 0 1 0 0 0",
10222 " x x x x x x x x",
10223 " x a6 a5 a4 a3 a2 a1 a0",
10224 " i i i i i i i i";
10226 writepage = " 0 1 0 0 1 1 0 0",
10227 "a15 a14 a13 a12 a11 a10 a9 a8",
10228 " a7 x x x x x x x",
10229 " x x x x x x x x";
10239 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
10240 "x x x x x x x x i i i i i i i i";
10242 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
10243 "x x x x x x x x o o o o o o o o";
10244 min_write_delay = 9000;
10245 max_write_delay = 9000;
10250 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
10251 "x x x x x x x x i i i i i i i i";
10253 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
10254 "x x x x x x x x o o o o o o o o";
10255 min_write_delay = 9000;
10256 max_write_delay = 9000;
10261 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
10262 "x x x x x x x x x x x x x i i i";
10264 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
10265 "x x x x x x x x o o o o o o o o";
10266 min_write_delay = 9000;
10267 max_write_delay = 9000;
10272 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
10273 "x x x x x x x x x x o o o o o o";
10275 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
10276 "x x x x x x x x 1 1 i i i i i i";
10277 min_write_delay = 9000;
10278 max_write_delay = 9000;
10281 memory "calibration"
10283 read = "0 0 1 1 1 0 0 0 x x x x x x x x",
10284 "0 0 0 0 0 0 0 0 o o o o o o o o";
10289 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
10290 "x x x x x x a1 a0 o o o o o o o o";
10294 #------------------------------------------------------------
10296 #------------------------------------------------------------
10297 # Identical to ATmega1280
10299 part parent "m1280"
10301 desc = "ATmega1281";
10302 signature = 0x1e 0x97 0x04;
10307 #------------------------------------------------------------
10309 #------------------------------------------------------------
10313 desc = "ATmega2560";
10314 signature = 0x1e 0x98 0x01;
10316 stk500_devcode = 0xB2;
10317 # avr910_devcode = 0x43;
10318 chip_erase_delay = 9000;
10322 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
10323 "x x x x x x x x x x x x x x x x";
10325 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
10326 "x x x x x x x x x x x x x x x x";
10340 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
10341 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
10342 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
10343 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02;
10344 hventerstabdelay = 100;
10348 poweroffdelay = 15;
10351 hvleavestabdelay = 15;
10352 chiperasepulsewidth = 0;
10353 chiperasepolltimeout = 10;
10354 programfusepulsewidth = 0;
10355 programfusepolltimeout = 5;
10356 programlockpulsewidth = 0;
10357 programlockpolltimeout = 5;
10362 allowfullpagebitstream = no;
10367 paged = no; /* leave this "no" */
10368 page_size = 8; /* for parallel programming */
10370 min_write_delay = 9000;
10371 max_write_delay = 9000;
10372 readback_p1 = 0x00;
10373 readback_p2 = 0x00;
10374 read = " 1 0 1 0 0 0 0 0",
10375 " x x x x a11 a10 a9 a8",
10376 " a7 a6 a5 a4 a3 a2 a1 a0",
10377 " o o o o o o o o";
10379 write = " 1 1 0 0 0 0 0 0",
10380 " x x x x a11 a10 a9 a8",
10381 " a7 a6 a5 a4 a3 a2 a1 a0",
10382 " i i i i i i i i";
10384 loadpage_lo = " 1 1 0 0 0 0 0 1",
10385 " 0 0 0 0 0 0 0 0",
10386 " 0 0 0 0 0 a2 a1 a0",
10387 " i i i i i i i i";
10389 writepage = " 1 1 0 0 0 0 1 0",
10390 " 0 0 x x a11 a10 a9 a8",
10391 " a7 a6 a5 a4 a3 0 0 0",
10392 " x x x x x x x x";
10405 min_write_delay = 4500;
10406 max_write_delay = 4500;
10407 readback_p1 = 0x00;
10408 readback_p2 = 0x00;
10409 read_lo = " 0 0 1 0 0 0 0 0",
10410 "a15 a14 a13 a12 a11 a10 a9 a8",
10411 " a7 a6 a5 a4 a3 a2 a1 a0",
10412 " o o o o o o o o";
10414 read_hi = " 0 0 1 0 1 0 0 0",
10415 "a15 a14 a13 a12 a11 a10 a9 a8",
10416 " a7 a6 a5 a4 a3 a2 a1 a0",
10417 " o o o o o o o o";
10419 loadpage_lo = " 0 1 0 0 0 0 0 0",
10420 " x x x x x x x x",
10421 " x a6 a5 a4 a3 a2 a1 a0",
10422 " i i i i i i i i";
10424 loadpage_hi = " 0 1 0 0 1 0 0 0",
10425 " x x x x x x x x",
10426 " x a6 a5 a4 a3 a2 a1 a0",
10427 " i i i i i i i i";
10429 writepage = " 0 1 0 0 1 1 0 0",
10430 "a15 a14 a13 a12 a11 a10 a9 a8",
10431 " a7 x x x x x x x",
10432 " x x x x x x x x";
10434 load_ext_addr = " 0 1 0 0 1 1 0 1",
10435 " 0 0 0 0 0 0 0 0",
10436 " 0 0 0 0 0 0 0 a16",
10437 " 0 0 0 0 0 0 0 0";
10447 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
10448 "x x x x x x x x i i i i i i i i";
10450 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
10451 "x x x x x x x x o o o o o o o o";
10452 min_write_delay = 9000;
10453 max_write_delay = 9000;
10458 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
10459 "x x x x x x x x i i i i i i i i";
10461 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
10462 "x x x x x x x x o o o o o o o o";
10463 min_write_delay = 9000;
10464 max_write_delay = 9000;
10469 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
10470 "x x x x x x x x x x x x x i i i";
10472 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
10473 "x x x x x x x x o o o o o o o o";
10474 min_write_delay = 9000;
10475 max_write_delay = 9000;
10480 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
10481 "x x x x x x x x x x o o o o o o";
10483 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
10484 "x x x x x x x x 1 1 i i i i i i";
10485 min_write_delay = 9000;
10486 max_write_delay = 9000;
10489 memory "calibration"
10491 read = "0 0 1 1 1 0 0 0 x x x x x x x x",
10492 "0 0 0 0 0 0 0 0 o o o o o o o o";
10497 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
10498 "x x x x x x a1 a0 o o o o o o o o";
10502 #------------------------------------------------------------
10504 #------------------------------------------------------------
10506 part parent "m2560"
10508 desc = "ATmega2561";
10509 signature = 0x1e 0x98 0x02;
10514 #------------------------------------------------------------
10516 #------------------------------------------------------------
10517 # Identical to ATmega2561 but half the ROM
10519 part parent "m2561"
10521 desc = "ATmega128RFA1";
10522 signature = 0x1e 0xa7 0x01;
10523 chip_erase_delay = 55000;
10533 min_write_delay = 50000;
10534 max_write_delay = 50000;
10535 readback_p1 = 0x00;
10536 readback_p2 = 0x00;
10537 read_lo = " 0 0 1 0 0 0 0 0",
10538 "a15 a14 a13 a12 a11 a10 a9 a8",
10539 " a7 a6 a5 a4 a3 a2 a1 a0",
10540 " o o o o o o o o";
10542 read_hi = " 0 0 1 0 1 0 0 0",
10543 "a15 a14 a13 a12 a11 a10 a9 a8",
10544 " a7 a6 a5 a4 a3 a2 a1 a0",
10545 " o o o o o o o o";
10547 loadpage_lo = " 0 1 0 0 0 0 0 0",
10548 " x x x x x x x x",
10549 " x a6 a5 a4 a3 a2 a1 a0",
10550 " i i i i i i i i";
10552 loadpage_hi = " 0 1 0 0 1 0 0 0",
10553 " x x x x x x x x",
10554 " x a6 a5 a4 a3 a2 a1 a0",
10555 " i i i i i i i i";
10557 writepage = " 0 1 0 0 1 1 0 0",
10558 "a15 a14 a13 a12 a11 a10 a9 a8",
10559 " a7 x x x x x x x",
10560 " x x x x x x x x";
10569 #------------------------------------------------------------
10571 #------------------------------------------------------------
10573 part parent "m2561"
10575 desc = "ATmega256RFR2";
10576 signature = 0x1e 0xa8 0x02;
10577 chip_erase_delay = 18500;
10581 paged = no; /* leave this "no" */
10582 page_size = 8; /* for parallel programming */
10584 min_write_delay = 13000;
10585 max_write_delay = 13000;
10586 readback_p1 = 0x00;
10587 readback_p2 = 0x00;
10588 read = " 1 0 1 0 0 0 0 0",
10589 " x x x a12 a11 a10 a9 a8",
10590 " a7 a6 a5 a4 a3 a2 a1 a0",
10591 " o o o o o o o o";
10593 write = " 1 1 0 0 0 0 0 0",
10594 " x x x a12 a11 a10 a9 a8",
10595 " a7 a6 a5 a4 a3 a2 a1 a0",
10596 " i i i i i i i i";
10598 loadpage_lo = " 1 1 0 0 0 0 0 1",
10599 " 0 0 0 0 0 0 0 0",
10600 " 0 0 0 0 0 a2 a1 a0",
10601 " i i i i i i i i";
10603 writepage = " 1 1 0 0 0 0 1 0",
10604 " 0 0 x a12 a11 a10 a9 a8",
10605 " a7 a6 a5 a4 a3 0 0 0",
10606 " x x x x x x x x";
10618 #------------------------------------------------------------
10620 #------------------------------------------------------------
10622 part parent "m128rfa1"
10624 desc = "ATmega128RFR2";
10625 signature = 0x1e 0xa7 0x02;
10631 #------------------------------------------------------------
10633 #------------------------------------------------------------
10635 part parent "m128rfa1"
10637 desc = "ATmega64RFR2";
10638 signature = 0x1e 0xa6 0x02;
10648 min_write_delay = 50000;
10649 max_write_delay = 50000;
10650 readback_p1 = 0x00;
10651 readback_p2 = 0x00;
10652 read_lo = " 0 0 1 0 0 0 0 0",
10653 " 0 a14 a13 a12 a11 a10 a9 a8",
10654 " a7 a6 a5 a4 a3 a2 a1 a0",
10655 " o o o o o o o o";
10657 read_hi = " 0 0 1 0 1 0 0 0",
10658 " 0 a14 a13 a12 a11 a10 a9 a8",
10659 " a7 a6 a5 a4 a3 a2 a1 a0",
10660 " o o o o o o o o";
10662 loadpage_lo = " 0 1 0 0 0 0 0 0",
10663 " x x x x x x x x",
10664 " x a6 a5 a4 a3 a2 a1 a0",
10665 " i i i i i i i i";
10667 loadpage_hi = " 0 1 0 0 1 0 0 0",
10668 " x x x x x x x x",
10669 " x a6 a5 a4 a3 a2 a1 a0",
10670 " i i i i i i i i";
10672 writepage = " 0 1 0 0 1 1 0 0",
10673 " 0 a14 a13 a12 a11 a10 a9 a8",
10674 " a7 x x x x x x x",
10675 " x x x x x x x x";
10684 paged = no; /* leave this "no" */
10685 page_size = 8; /* for parallel programming */
10687 min_write_delay = 13000;
10688 max_write_delay = 13000;
10689 readback_p1 = 0x00;
10690 readback_p2 = 0x00;
10691 read = " 1 0 1 0 0 0 0 0",
10692 " x x x x x a10 a9 a8",
10693 " a7 a6 a5 a4 a3 a2 a1 a0",
10694 " o o o o o o o o";
10696 write = " 1 1 0 0 0 0 0 0",
10697 " x x x x x a10 a9 a8",
10698 " a7 a6 a5 a4 a3 a2 a1 a0",
10699 " i i i i i i i i";
10701 loadpage_lo = " 1 1 0 0 0 0 0 1",
10702 " 0 0 0 0 0 0 0 0",
10703 " 0 0 0 0 0 a2 a1 a0",
10704 " i i i i i i i i";
10706 writepage = " 1 1 0 0 0 0 1 0",
10707 " 0 0 x x x a10 a9 a8",
10708 " a7 a6 a5 a4 a3 0 0 0",
10709 " x x x x x x x x";
10720 #------------------------------------------------------------
10722 #------------------------------------------------------------
10724 part parent "m256rfr2"
10726 desc = "ATmega2564RFR2";
10727 signature = 0x1e 0xa8 0x03;
10730 #------------------------------------------------------------
10732 #------------------------------------------------------------
10734 part parent "m128rfr2"
10736 desc = "ATmega1284RFR2";
10737 signature = 0x1e 0xa7 0x03;
10740 #------------------------------------------------------------
10742 #------------------------------------------------------------
10744 part parent "m64rfr2"
10746 desc = "ATmega644RFR2";
10747 signature = 0x1e 0xa6 0x03;
10750 #------------------------------------------------------------
10752 #------------------------------------------------------------
10757 has_debugwire = yes;
10758 flash_instr = 0xB4, 0x07, 0x17;
10759 eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
10760 0xBC, 0x07, 0xB4, 0x07, 0xBA, 0x0D, 0xBB, 0xBC,
10761 0x99, 0xE1, 0xBB, 0xAC;
10762 ## no STK500 devcode in XML file, use the ATtiny45 one
10763 stk500_devcode = 0x14;
10764 ## avr910_devcode = ?;
10765 ## Try the AT90S2313 devcode:
10766 avr910_devcode = 0x20;
10767 signature = 0x1e 0x91 0x0b;
10769 chip_erase_delay = 4500;
10771 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
10772 "x x x x x x x x x x x x x x x x";
10774 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
10775 "x x x x x x x x x x x x x x x x";
10788 hvsp_controlstack =
10789 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66,
10790 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78,
10791 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
10792 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0F;
10793 hventerstabdelay = 100;
10794 hvspcmdexedelay = 0;
10798 poweroffdelay = 25;
10801 hvleavestabdelay = 100;
10803 chiperasepolltimeout = 40;
10805 programfusepolltimeout = 25;
10806 programlockpolltimeout = 25;
10814 min_write_delay = 4000;
10815 max_write_delay = 4500;
10816 readback_p1 = 0xff;
10817 readback_p2 = 0xff;
10818 read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x",
10819 "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
10821 write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x",
10822 "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
10824 loadpage_lo = " 1 1 0 0 0 0 0 1",
10825 " 0 0 0 0 0 0 0 0",
10826 " 0 0 0 0 0 0 a1 a0",
10827 " i i i i i i i i";
10829 writepage = " 1 1 0 0 0 0 1 0",
10830 " 0 0 x x x x x x",
10831 " x a6 a5 a4 a3 a2 0 0",
10832 " x x x x x x x x";
10844 min_write_delay = 4500;
10845 max_write_delay = 4500;
10846 readback_p1 = 0xff;
10847 readback_p2 = 0xff;
10848 read_lo = " 0 0 1 0 0 0 0 0",
10849 " 0 0 0 0 0 0 a9 a8",
10850 " a7 a6 a5 a4 a3 a2 a1 a0",
10851 " o o o o o o o o";
10853 read_hi = " 0 0 1 0 1 0 0 0",
10854 " 0 0 0 0 0 0 a9 a8",
10855 " a7 a6 a5 a4 a3 a2 a1 a0",
10856 " o o o o o o o o";
10858 loadpage_lo = " 0 1 0 0 0 0 0 0",
10859 " 0 0 0 x x x x x",
10860 " x x x x a3 a2 a1 a0",
10861 " i i i i i i i i";
10863 loadpage_hi = " 0 1 0 0 1 0 0 0",
10864 " 0 0 0 x x x x x",
10865 " x x x x a3 a2 a1 a0",
10866 " i i i i i i i i";
10868 writepage = " 0 1 0 0 1 1 0 0",
10869 " 0 0 0 0 0 0 a9 a8",
10870 " a7 a6 a5 a4 x x x x",
10871 " x x x x x x x x";
10878 # ATtiny24 has Signature Bytes: 0x1E 0x91 0x0B.
10881 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
10882 "x x x x x x a1 a0 o o o o o o o o";
10886 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
10887 "x x x x x x x x x x x x x x i i";
10888 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
10889 "0 0 0 0 0 0 0 0 o o o o o o o o";
10890 min_write_delay = 9000;
10891 max_write_delay = 9000;
10896 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
10897 "x x x x x x x x i i i i i i i i";
10899 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
10900 "x x x x x x x x o o o o o o o o";
10901 min_write_delay = 9000;
10902 max_write_delay = 9000;
10907 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
10908 "x x x x x x x x i i i i i i i i";
10910 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
10911 "x x x x x x x x o o o o o o o o";
10912 min_write_delay = 9000;
10913 max_write_delay = 9000;
10918 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
10919 "x x x x x x x x x x x x x x x i";
10921 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
10922 "x x x x x x x x o o o o o o o o";
10923 min_write_delay = 9000;
10924 max_write_delay = 9000;
10927 memory "calibration"
10929 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
10930 "0 0 0 0 0 0 0 a0 o o o o o o o o";
10934 #------------------------------------------------------------
10936 #------------------------------------------------------------
10941 has_debugwire = yes;
10942 flash_instr = 0xB4, 0x07, 0x17;
10943 eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
10944 0xBC, 0x07, 0xB4, 0x07, 0xBA, 0x0D, 0xBB, 0xBC,
10945 0x99, 0xE1, 0xBB, 0xAC;
10946 ## no STK500 devcode in XML file, use the ATtiny45 one
10947 stk500_devcode = 0x14;
10948 ## avr910_devcode = ?;
10949 ## Try the AT90S2313 devcode:
10950 avr910_devcode = 0x20;
10951 signature = 0x1e 0x92 0x07;
10953 chip_erase_delay = 4500;
10955 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
10956 "x x x x x x x x x x x x x x x x";
10958 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
10959 "x x x x x x x x x x x x x x x x";
10972 hvsp_controlstack =
10973 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66,
10974 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78,
10975 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
10976 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0F;
10977 hventerstabdelay = 100;
10978 hvspcmdexedelay = 0;
10982 poweroffdelay = 25;
10985 hvleavestabdelay = 100;
10987 chiperasepolltimeout = 40;
10989 programfusepolltimeout = 25;
10990 programlockpolltimeout = 25;
10998 min_write_delay = 4000;
10999 max_write_delay = 4500;
11000 readback_p1 = 0xff;
11001 readback_p2 = 0xff;
11002 read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x",
11003 "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
11005 write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x",
11006 "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
11008 loadpage_lo = " 1 1 0 0 0 0 0 1",
11009 " 0 0 0 0 0 0 0 0",
11010 " 0 0 0 0 0 0 a1 a0",
11011 " i i i i i i i i";
11013 writepage = " 1 1 0 0 0 0 1 0",
11014 " 0 0 x x x x x x",
11015 " x a6 a5 a4 a3 a2 0 0",
11016 " x x x x x x x x";
11028 min_write_delay = 4500;
11029 max_write_delay = 4500;
11030 readback_p1 = 0xff;
11031 readback_p2 = 0xff;
11032 read_lo = " 0 0 1 0 0 0 0 0",
11033 " 0 0 0 0 0 a10 a9 a8",
11034 " a7 a6 a5 a4 a3 a2 a1 a0",
11035 " o o o o o o o o";
11037 read_hi = " 0 0 1 0 1 0 0 0",
11038 " 0 0 0 0 0 a10 a9 a8",
11039 " a7 a6 a5 a4 a3 a2 a1 a0",
11040 " o o o o o o o o";
11042 loadpage_lo = " 0 1 0 0 0 0 0 0",
11043 " 0 0 0 x x x x x",
11044 " x x x a4 a3 a2 a1 a0",
11045 " i i i i i i i i";
11047 loadpage_hi = " 0 1 0 0 1 0 0 0",
11048 " 0 0 0 x x x x x",
11049 " x x x a4 a3 a2 a1 a0",
11050 " i i i i i i i i";
11052 writepage = " 0 1 0 0 1 1 0 0",
11053 " 0 0 0 0 0 a10 a9 a8",
11054 " a7 a6 a5 x x x x x",
11055 " x x x x x x x x";
11062 # ATtiny44 has Signature Bytes: 0x1E 0x92 0x07.
11065 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
11066 "x x x x x x a1 a0 o o o o o o o o";
11070 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
11071 "x x x x x x x x x x x x x x i i";
11072 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
11073 "0 0 0 0 0 0 0 0 o o o o o o o o";
11074 min_write_delay = 9000;
11075 max_write_delay = 9000;
11080 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
11081 "x x x x x x x x i i i i i i i i";
11083 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
11084 "x x x x x x x x o o o o o o o o";
11085 min_write_delay = 9000;
11086 max_write_delay = 9000;
11091 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
11092 "x x x x x x x x i i i i i i i i";
11094 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
11095 "x x x x x x x x o o o o o o o o";
11096 min_write_delay = 9000;
11097 max_write_delay = 9000;
11102 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
11103 "x x x x x x x x x x x x x x x i";
11105 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
11106 "x x x x x x x x o o o o o o o o";
11107 min_write_delay = 9000;
11108 max_write_delay = 9000;
11111 memory "calibration"
11113 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
11114 "0 0 0 0 0 0 0 a0 o o o o o o o o";
11118 #------------------------------------------------------------
11120 #------------------------------------------------------------
11125 has_debugwire = yes;
11126 flash_instr = 0xB4, 0x07, 0x17;
11127 eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
11128 0xBC, 0x07, 0xB4, 0x07, 0xBA, 0x0D, 0xBB, 0xBC,
11129 0x99, 0xE1, 0xBB, 0xAC;
11130 ## no STK500 devcode in XML file, use the ATtiny45 one
11131 stk500_devcode = 0x14;
11132 ## avr910_devcode = ?;
11133 ## Try the AT90S2313 devcode:
11134 avr910_devcode = 0x20;
11135 signature = 0x1e 0x93 0x0c;
11137 chip_erase_delay = 4500;
11139 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
11140 "x x x x x x x x x x x x x x x x";
11142 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
11143 "x x x x x x x x x x x x x x x x";
11156 hvsp_controlstack =
11157 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66,
11158 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78,
11159 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10,
11160 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0F;
11161 hventerstabdelay = 100;
11162 hvspcmdexedelay = 0;
11166 poweroffdelay = 25;
11169 hvleavestabdelay = 100;
11171 chiperasepolltimeout = 40;
11173 programfusepolltimeout = 25;
11174 programlockpolltimeout = 25;
11182 min_write_delay = 4000;
11183 max_write_delay = 4500;
11184 readback_p1 = 0xff;
11185 readback_p2 = 0xff;
11186 read = "1 0 1 0 0 0 0 0 0 0 0 x x x x a8",
11187 "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o";
11189 write = "1 1 0 0 0 0 0 0 0 0 0 x x x x a8",
11190 "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i";
11192 loadpage_lo = " 1 1 0 0 0 0 0 1",
11193 " 0 0 0 0 0 0 0 0",
11194 " 0 0 0 0 0 0 a1 a0",
11195 " i i i i i i i i";
11197 writepage = " 1 1 0 0 0 0 1 0",
11198 " 0 0 x x x x x x",
11199 " x a6 a5 a4 a3 a2 0 0",
11200 " x x x x x x x x";
11212 min_write_delay = 4500;
11213 max_write_delay = 4500;
11214 readback_p1 = 0xff;
11215 readback_p2 = 0xff;
11216 read_lo = " 0 0 1 0 0 0 0 0",
11217 " 0 0 0 0 a11 a10 a9 a8",
11218 " a7 a6 a5 a4 a3 a2 a1 a0",
11219 " o o o o o o o o";
11221 read_hi = " 0 0 1 0 1 0 0 0",
11222 " 0 0 0 0 a11 a10 a9 a8",
11223 " a7 a6 a5 a4 a3 a2 a1 a0",
11224 " o o o o o o o o";
11226 loadpage_lo = " 0 1 0 0 0 0 0 0",
11227 " 0 0 0 x x x x x",
11228 " x x x a4 a3 a2 a1 a0",
11229 " i i i i i i i i";
11231 loadpage_hi = " 0 1 0 0 1 0 0 0",
11232 " 0 0 0 x x x x x",
11233 " x x x a4 a3 a2 a1 a0",
11234 " i i i i i i i i";
11236 writepage = " 0 1 0 0 1 1 0 0",
11237 " 0 0 0 0 a11 a10 a9 a8",
11238 " a7 a6 a5 x x x x x",
11239 " x x x x x x x x";
11246 # ATtiny84 has Signature Bytes: 0x1E 0x93 0x0C.
11249 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
11250 "x x x x x x a1 a0 o o o o o o o o";
11255 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
11256 "x x x x x x x x x x x x x x i i";
11257 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
11258 "0 0 0 0 0 0 0 0 o o o o o o o o";
11259 min_write_delay = 9000;
11260 max_write_delay = 9000;
11265 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
11266 "x x x x x x x x i i i i i i i i";
11268 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
11269 "x x x x x x x x o o o o o o o o";
11270 min_write_delay = 9000;
11271 max_write_delay = 9000;
11276 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
11277 "x x x x x x x x i i i i i i i i";
11279 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
11280 "x x x x x x x x o o o o o o o o";
11281 min_write_delay = 9000;
11282 max_write_delay = 9000;
11287 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
11288 "x x x x x x x x x x x x x x x i";
11290 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
11291 "x x x x x x x x o o o o o o o o";
11292 min_write_delay = 9000;
11293 max_write_delay = 9000;
11296 memory "calibration"
11298 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
11299 "0 0 0 0 0 0 0 a0 o o o o o o o o";
11303 #------------------------------------------------------------
11305 #------------------------------------------------------------
11309 desc = "ATtiny43u";
11310 has_debugwire = yes;
11311 flash_instr = 0xB4, 0x07, 0x17;
11312 eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
11313 0xBC, 0x07, 0xB4, 0x07, 0xBA, 0x0D, 0xBB, 0xBC,
11314 0x99, 0xE1, 0xBB, 0xAC;
11315 stk500_devcode = 0x14;
11316 ## avr910_devcode = ?;
11317 ## Try the AT90S2313 devcode:
11318 avr910_devcode = 0x20;
11319 signature = 0x1e 0x92 0x0C;
11321 chip_erase_delay = 1000;
11323 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
11324 "x x x x x x x x x x x x x x x x";
11326 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
11327 "x x x x x x x x x x x x x x x x";
11339 pp_controlstack = 0x0E, 0x1E, 0x0E, 0x1E, 0x2E, 0x3E, 0x2E, 0x3E, 0x4E, 0x5E,
11340 0x4E, 0x5E, 0x6E, 0x7E, 0x6E, 0x7E, 0x06, 0x16, 0x46, 0x56,
11341 0x0A, 0x1A, 0x4A, 0x5A, 0x1E, 0x7C, 0x00, 0x01, 0x00, 0x00,
11343 hventerstabdelay = 100;
11345 hvspcmdexedelay = 0;
11348 poweroffdelay = 20;
11351 hvleavestabdelay = 15;
11353 chiperasepulsewidth = 0;
11354 chiperasepolltimeout = 10;
11355 programfusepulsewidth = 0;
11356 programfusepolltimeout = 5;
11357 programlockpulsewidth = 0;
11358 programlockpolltimeout = 5;
11364 min_write_delay = 4000;
11365 max_write_delay = 4500;
11366 readback_p1 = 0xff;
11367 readback_p2 = 0xff;
11368 read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x",
11369 "0 0 a4 a3 a2 a1 a0 o o o o o o o o";
11371 write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x",
11372 "0 0 a5 a4 a3 a2 a1 a0 i i i i i i i i";
11374 loadpage_lo = " 1 1 0 0 0 0 0 1",
11375 " 0 0 0 0 0 0 0 0",
11376 " 0 0 0 0 0 0 a1 a0",
11377 " i i i i i i i i";
11379 writepage = " 1 1 0 0 0 0 1 0",
11380 " 0 0 x x x x x x",
11381 " 0 0 a5 a4 a3 a2 0 0",
11382 " x x x x x x x x";
11394 min_write_delay = 4500;
11395 max_write_delay = 4500;
11396 readback_p1 = 0xff;
11397 readback_p2 = 0xff;
11399 read_lo = " 0 0 1 0 0 0 0 0",
11400 " 0 0 0 0 0 a10 a9 a8",
11401 " a7 a6 a5 a4 a3 a2 a1 a0",
11402 " o o o o o o o o";
11404 read_hi = " 0 0 1 0 1 0 0 0",
11405 " 0 0 0 0 0 a10 a9 a8",
11406 " a7 a6 a5 a4 a3 a2 a1 a0",
11407 " o o o o o o o o";
11409 loadpage_lo = " 0 1 0 0 0 0 0 0",
11410 " 0 0 0 x x x x x",
11411 " x x x a4 a3 a2 a1 a0",
11412 " i i i i i i i i";
11414 loadpage_hi = " 0 1 0 0 1 0 0 0",
11415 " 0 0 0 x x x x x",
11416 " x x x a4 a3 a2 a1 a0",
11417 " i i i i i i i i";
11419 writepage = " 0 1 0 0 1 1 0 0",
11420 " 0 0 0 0 0 a10 a9 a8",
11421 " a7 a6 a5 x x x x x",
11422 " x x x x x x x x";
11431 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
11432 "x x x x x x a1 a0 o o o o o o o o";
11436 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
11437 "x x x x x x x x 1 1 i i i i i i";
11438 min_write_delay = 4500;
11439 max_write_delay = 4500;
11444 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
11445 "x x x x x x x x i i i i i i i i";
11447 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
11448 "x x x x x x x x o o o o o o o o";
11449 min_write_delay = 4500;
11450 max_write_delay = 4500;
11455 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
11456 "x x x x x x x x i i i i i i i i";
11458 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
11459 "x x x x x x x x o o o o o o o o";
11460 min_write_delay = 4500;
11461 max_write_delay = 4500;
11466 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
11467 "x x x x x x x x x x x x x x x i";
11469 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
11470 "x x x x x x x x o o o o o o o o";
11471 min_write_delay = 4500;
11472 max_write_delay = 4500;
11475 memory "calibration"
11477 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
11478 "0 0 0 0 0 0 0 a0 o o o o o o o o";
11482 #------------------------------------------------------------
11484 #------------------------------------------------------------
11488 desc = "ATmega32U4";
11489 signature = 0x1e 0x95 0x87;
11492 # stk500_devcode = 0xB2;
11493 # avr910_devcode = 0x43;
11494 chip_erase_delay = 9000;
11498 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
11499 "x x x x x x x x x x x x x x x x";
11501 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
11502 "x x x x x x x x x x x x x x x x";
11516 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
11517 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
11518 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
11519 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
11520 hventerstabdelay = 100;
11524 poweroffdelay = 15;
11527 hvleavestabdelay = 15;
11528 chiperasepulsewidth = 0;
11529 chiperasepolltimeout = 10;
11530 programfusepulsewidth = 0;
11531 programfusepolltimeout = 5;
11532 programlockpulsewidth = 0;
11533 programlockpolltimeout = 5;
11538 allowfullpagebitstream = no;
11543 paged = no; /* leave this "no" */
11544 page_size = 4; /* for parallel programming */
11546 min_write_delay = 9000;
11547 max_write_delay = 9000;
11548 readback_p1 = 0x00;
11549 readback_p2 = 0x00;
11550 read = " 1 0 1 0 0 0 0 0",
11551 " x x x x x a10 a9 a8",
11552 " a7 a6 a5 a4 a3 a2 a1 a0",
11553 " o o o o o o o o";
11555 write = " 1 1 0 0 0 0 0 0",
11556 " x x x x x a10 a9 a8",
11557 " a7 a6 a5 a4 a3 a2 a1 a0",
11558 " i i i i i i i i";
11560 loadpage_lo = " 1 1 0 0 0 0 0 1",
11561 " 0 0 0 0 0 0 0 0",
11562 " 0 0 0 0 0 a2 a1 a0",
11563 " i i i i i i i i";
11565 writepage = " 1 1 0 0 0 0 1 0",
11566 " 0 0 x x x a10 a9 a8",
11567 " a7 a6 a5 a4 a3 0 0 0",
11568 " x x x x x x x x";
11581 min_write_delay = 4500;
11582 max_write_delay = 4500;
11583 readback_p1 = 0x00;
11584 readback_p2 = 0x00;
11585 read_lo = " 0 0 1 0 0 0 0 0",
11586 " 0 a14 a13 a12 a11 a10 a9 a8",
11587 " a7 a6 a5 a4 a3 a2 a1 a0",
11588 " o o o o o o o o";
11590 read_hi = " 0 0 1 0 1 0 0 0",
11591 " 0 a14 a13 a12 a11 a10 a9 a8",
11592 " a7 a6 a5 a4 a3 a2 a1 a0",
11593 " o o o o o o o o";
11595 loadpage_lo = " 0 1 0 0 0 0 0 0",
11596 " x x x x x x x x",
11597 " x x a5 a4 a3 a2 a1 a0",
11598 " i i i i i i i i";
11600 loadpage_hi = " 0 1 0 0 1 0 0 0",
11601 " x x x x x x x x",
11602 " x x a5 a4 a3 a2 a1 a0",
11603 " i i i i i i i i";
11605 writepage = " 0 1 0 0 1 1 0 0",
11606 " a15 a14 a13 a12 a11 a10 a9 a8",
11607 " a7 a6 x x x x x x",
11608 " x x x x x x x x";
11618 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
11619 "x x x x x x x x i i i i i i i i";
11621 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
11622 "x x x x x x x x o o o o o o o o";
11623 min_write_delay = 9000;
11624 max_write_delay = 9000;
11629 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
11630 "x x x x x x x x i i i i i i i i";
11632 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
11633 "x x x x x x x x o o o o o o o o";
11634 min_write_delay = 9000;
11635 max_write_delay = 9000;
11640 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
11641 "x x x x x x x x x x x x i i i i";
11643 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
11644 "x x x x x x x x o o o o o o o o";
11645 min_write_delay = 9000;
11646 max_write_delay = 9000;
11651 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
11652 "x x x x x x x x x x o o o o o o";
11654 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
11655 "x x x x x x x x 1 1 i i i i i i";
11656 min_write_delay = 9000;
11657 max_write_delay = 9000;
11660 memory "calibration"
11662 read = "0 0 1 1 1 0 0 0 x x x x x x x x",
11663 "0 0 0 0 0 0 0 0 o o o o o o o o";
11668 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
11669 "x x x x x x a1 a0 o o o o o o o o";
11673 #------------------------------------------------------------
11675 #------------------------------------------------------------
11679 desc = "AT90USB646";
11680 signature = 0x1e 0x96 0x82;
11683 # stk500_devcode = 0xB2;
11684 # avr910_devcode = 0x43;
11685 chip_erase_delay = 9000;
11689 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
11690 "x x x x x x x x x x x x x x x x";
11692 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
11693 "x x x x x x x x x x x x x x x x";
11707 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
11708 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
11709 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
11710 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
11711 hventerstabdelay = 100;
11715 poweroffdelay = 15;
11718 hvleavestabdelay = 15;
11719 chiperasepulsewidth = 0;
11720 chiperasepolltimeout = 10;
11721 programfusepulsewidth = 0;
11722 programfusepolltimeout = 5;
11723 programlockpulsewidth = 0;
11724 programlockpolltimeout = 5;
11729 allowfullpagebitstream = no;
11734 paged = no; /* leave this "no" */
11735 page_size = 8; /* for parallel programming */
11737 min_write_delay = 9000;
11738 max_write_delay = 9000;
11739 readback_p1 = 0x00;
11740 readback_p2 = 0x00;
11741 read = " 1 0 1 0 0 0 0 0",
11742 " x x x x x a10 a9 a8",
11743 " a7 a6 a5 a4 a3 a2 a1 a0",
11744 " o o o o o o o o";
11746 write = " 1 1 0 0 0 0 0 0",
11747 " x x x x x a10 a9 a8",
11748 " a7 a6 a5 a4 a3 a2 a1 a0",
11749 " i i i i i i i i";
11751 loadpage_lo = " 1 1 0 0 0 0 0 1",
11752 " 0 0 0 0 0 0 0 0",
11753 " 0 0 0 0 0 a2 a1 a0",
11754 " i i i i i i i i";
11756 writepage = " 1 1 0 0 0 0 1 0",
11757 " 0 0 x x x a10 a9 a8",
11758 " a7 a6 a5 a4 a3 0 0 0",
11759 " x x x x x x x x";
11772 min_write_delay = 4500;
11773 max_write_delay = 4500;
11774 readback_p1 = 0x00;
11775 readback_p2 = 0x00;
11776 read_lo = " 0 0 1 0 0 0 0 0",
11777 " 0 a14 a13 a12 a11 a10 a9 a8",
11778 " a7 a6 a5 a4 a3 a2 a1 a0",
11779 " o o o o o o o o";
11781 read_hi = " 0 0 1 0 1 0 0 0",
11782 " 0 a14 a13 a12 a11 a10 a9 a8",
11783 " a7 a6 a5 a4 a3 a2 a1 a0",
11784 " o o o o o o o o";
11786 loadpage_lo = " 0 1 0 0 0 0 0 0",
11787 " x x x x x x x x",
11788 " x a6 a5 a4 a3 a2 a1 a0",
11789 " i i i i i i i i";
11791 loadpage_hi = " 0 1 0 0 1 0 0 0",
11792 " x x x x x x x x",
11793 " x a6 a5 a4 a3 a2 a1 a0",
11794 " i i i i i i i i";
11796 writepage = " 0 1 0 0 1 1 0 0",
11797 " 0 a14 a13 a12 a11 a10 a9 a8",
11798 " a7 x x x x x x x",
11799 " x x x x x x x x";
11809 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
11810 "x x x x x x x x i i i i i i i i";
11812 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
11813 "x x x x x x x x o o o o o o o o";
11814 min_write_delay = 9000;
11815 max_write_delay = 9000;
11820 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
11821 "x x x x x x x x i i i i i i i i";
11823 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
11824 "x x x x x x x x o o o o o o o o";
11825 min_write_delay = 9000;
11826 max_write_delay = 9000;
11831 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
11832 "x x x x x x x x x x x x i i i i";
11834 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
11835 "x x x x x x x x o o o o o o o o";
11836 min_write_delay = 9000;
11837 max_write_delay = 9000;
11842 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
11843 "x x x x x x x x x x o o o o o o";
11845 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
11846 "x x x x x x x x 1 1 i i i i i i";
11847 min_write_delay = 9000;
11848 max_write_delay = 9000;
11851 memory "calibration"
11853 read = "0 0 1 1 1 0 0 0 x x x x x x x x",
11854 "0 0 0 0 0 0 0 0 o o o o o o o o";
11859 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
11860 "x x x x x x a1 a0 o o o o o o o o";
11864 #------------------------------------------------------------
11866 #------------------------------------------------------------
11867 # identical to AT90USB646
11869 part parent "usb646"
11871 desc = "AT90USB647";
11872 signature = 0x1e 0x96 0x82;
11877 #------------------------------------------------------------
11879 #------------------------------------------------------------
11883 desc = "AT90USB1286";
11884 signature = 0x1e 0x97 0x82;
11887 # stk500_devcode = 0xB2;
11888 # avr910_devcode = 0x43;
11889 chip_erase_delay = 9000;
11893 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
11894 "x x x x x x x x x x x x x x x x";
11896 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
11897 "x x x x x x x x x x x x x x x x";
11911 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
11912 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
11913 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
11914 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
11915 hventerstabdelay = 100;
11919 poweroffdelay = 15;
11922 hvleavestabdelay = 15;
11923 chiperasepulsewidth = 0;
11924 chiperasepolltimeout = 10;
11925 programfusepulsewidth = 0;
11926 programfusepolltimeout = 5;
11927 programlockpulsewidth = 0;
11928 programlockpolltimeout = 5;
11933 allowfullpagebitstream = no;
11938 paged = no; /* leave this "no" */
11939 page_size = 8; /* for parallel programming */
11941 min_write_delay = 9000;
11942 max_write_delay = 9000;
11943 readback_p1 = 0x00;
11944 readback_p2 = 0x00;
11945 read = " 1 0 1 0 0 0 0 0",
11946 " x x x x a11 a10 a9 a8",
11947 " a7 a6 a5 a4 a3 a2 a1 a0",
11948 " o o o o o o o o";
11950 write = " 1 1 0 0 0 0 0 0",
11951 " x x x x a11 a10 a9 a8",
11952 " a7 a6 a5 a4 a3 a2 a1 a0",
11953 " i i i i i i i i";
11955 loadpage_lo = " 1 1 0 0 0 0 0 1",
11956 " 0 0 0 0 0 0 0 0",
11957 " 0 0 0 0 0 a2 a1 a0",
11958 " i i i i i i i i";
11960 writepage = " 1 1 0 0 0 0 1 0",
11961 " 0 0 x x x a10 a9 a8",
11962 " a7 a6 a5 a4 a3 0 0 0",
11963 " x x x x x x x x";
11976 min_write_delay = 4500;
11977 max_write_delay = 4500;
11978 readback_p1 = 0x00;
11979 readback_p2 = 0x00;
11980 read_lo = " 0 0 1 0 0 0 0 0",
11981 "a15 a14 a13 a12 a11 a10 a9 a8",
11982 " a7 a6 a5 a4 a3 a2 a1 a0",
11983 " o o o o o o o o";
11985 read_hi = " 0 0 1 0 1 0 0 0",
11986 "a15 a14 a13 a12 a11 a10 a9 a8",
11987 " a7 a6 a5 a4 a3 a2 a1 a0",
11988 " o o o o o o o o";
11990 loadpage_lo = " 0 1 0 0 0 0 0 0",
11991 " x x x x x x x x",
11992 " x a6 a5 a4 a3 a2 a1 a0",
11993 " i i i i i i i i";
11995 loadpage_hi = " 0 1 0 0 1 0 0 0",
11996 " x x x x x x x x",
11997 " x a6 a5 a4 a3 a2 a1 a0",
11998 " i i i i i i i i";
12000 writepage = " 0 1 0 0 1 1 0 0",
12001 "a15 a14 a13 a12 a11 a10 a9 a8",
12002 " a7 x x x x x x x",
12003 " x x x x x x x x";
12013 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
12014 "x x x x x x x x i i i i i i i i";
12016 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
12017 "x x x x x x x x o o o o o o o o";
12018 min_write_delay = 9000;
12019 max_write_delay = 9000;
12024 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
12025 "x x x x x x x x i i i i i i i i";
12027 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
12028 "x x x x x x x x o o o o o o o o";
12029 min_write_delay = 9000;
12030 max_write_delay = 9000;
12035 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
12036 "x x x x x x x x x x x x i i i i";
12038 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
12039 "x x x x x x x x o o o o o o o o";
12040 min_write_delay = 9000;
12041 max_write_delay = 9000;
12046 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
12047 "x x x x x x x x x x o o o o o o";
12049 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
12050 "x x x x x x x x 1 1 i i i i i i";
12051 min_write_delay = 9000;
12052 max_write_delay = 9000;
12055 memory "calibration"
12057 read = "0 0 1 1 1 0 0 0 x x x x x x x x",
12058 "0 0 0 0 0 0 0 0 o o o o o o o o";
12063 read = "0 0 1 1 0 0 0 0 x x x x x x x x",
12064 "x x x x x x a1 a0 o o o o o o o o";
12068 #------------------------------------------------------------
12070 #------------------------------------------------------------
12071 # identical to AT90USB1286
12073 part parent "usb1286"
12075 desc = "AT90USB1287";
12076 signature = 0x1e 0x97 0x82;
12081 #------------------------------------------------------------
12083 #------------------------------------------------------------
12087 desc = "AT90USB162";
12089 has_debugwire = yes;
12090 signature = 0x1e 0x94 0x82;
12092 chip_erase_delay = 9000;
12094 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
12095 "x x x x x x x x x x x x x x x x";
12096 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
12097 "x x x x x x x x x x x x x x x x";
12112 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
12113 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
12114 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
12115 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
12116 hventerstabdelay = 100;
12120 poweroffdelay = 15;
12123 hvleavestabdelay = 15;
12124 chiperasepulsewidth = 0;
12125 chiperasepolltimeout = 10;
12126 programfusepulsewidth = 0;
12127 programfusepolltimeout = 5;
12128 programlockpulsewidth = 0;
12129 programlockpolltimeout = 5;
12134 paged = no; /* leave this "no" */
12135 page_size = 4; /* for parallel programming */
12138 min_write_delay = 9000;
12139 max_write_delay = 9000;
12140 readback_p1 = 0x00;
12141 readback_p2 = 0x00;
12142 read = " 1 0 1 0 0 0 0 0",
12143 " 0 0 0 0 a11 a10 a9 a8",
12144 " a7 a6 a5 a4 a3 a2 a1 a0",
12145 " o o o o o o o o";
12147 write = " 1 1 0 0 0 0 0 0",
12148 " 0 0 0 0 a11 a10 a9 a8",
12149 " a7 a6 a5 a4 a3 a2 a1 a0",
12150 " i i i i i i i i";
12152 loadpage_lo = " 1 1 0 0 0 0 0 1",
12153 " 0 0 0 0 0 0 0 0",
12154 " 0 0 0 0 0 0 a1 a0",
12155 " i i i i i i i i";
12157 writepage = " 1 1 0 0 0 0 1 0",
12158 " 0 0 0 0 a11 a10 a9 a8",
12159 " a7 a6 a5 a4 a3 a2 0 0",
12160 " x x x x x x x x";
12173 min_write_delay = 4500;
12174 max_write_delay = 4500;
12175 readback_p1 = 0x00;
12176 readback_p2 = 0x00;
12177 read_lo = " 0 0 1 0 0 0 0 0",
12178 "a15 a14 a13 a12 a11 a10 a9 a8",
12179 " a7 a6 a5 a4 a3 a2 a1 a0",
12180 " o o o o o o o o";
12182 read_hi = " 0 0 1 0 1 0 0 0",
12183 "a15 a14 a13 a12 a11 a10 a9 a8",
12184 " a7 a6 a5 a4 a3 a2 a1 a0",
12185 " o o o o o o o o";
12187 loadpage_lo = " 0 1 0 0 0 0 0 0",
12188 " x x x x x x x x",
12189 " x x a5 a4 a3 a2 a1 a0",
12190 " i i i i i i i i";
12192 loadpage_hi = " 0 1 0 0 1 0 0 0",
12193 " x x x x x x x x",
12194 " x x a5 a4 a3 a2 a1 a0",
12195 " i i i i i i i i";
12197 writepage = " 0 1 0 0 1 1 0 0",
12198 "a15 a14 a13 a12 a11 a10 a9 a8",
12199 " a7 a6 x x x x x x",
12200 " x x x x x x x x";
12210 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
12211 "x x x x x x x x i i i i i i i i";
12213 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
12214 "x x x x x x x x o o o o o o o o";
12215 min_write_delay = 9000;
12216 max_write_delay = 9000;
12221 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
12222 "x x x x x x x x i i i i i i i i";
12224 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
12225 "x x x x x x x x o o o o o o o o";
12226 min_write_delay = 9000;
12227 max_write_delay = 9000;
12232 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
12233 "x x x x x x x x i i i i i i i i";
12235 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
12236 "x x x x x x x x o o o o o o o o";
12237 min_write_delay = 9000;
12238 max_write_delay = 9000;
12243 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
12244 "x x x x x x x x x x o o o o o o";
12246 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
12247 "x x x x x x x x 1 1 i i i i i i";
12248 min_write_delay = 9000;
12249 max_write_delay = 9000;
12252 memory "calibration"
12254 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
12255 "0 0 0 0 0 0 0 0 o o o o o o o o";
12259 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
12260 "x x x x x x a1 a0 o o o o o o o o";
12264 #------------------------------------------------------------
12266 #------------------------------------------------------------
12267 # Changes against AT90USB162 (beside IDs)
12274 desc = "AT90USB82";
12276 has_debugwire = yes;
12277 signature = 0x1e 0x93 0x82;
12279 chip_erase_delay = 9000;
12281 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
12282 "x x x x x x x x x x x x x x x x";
12283 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
12284 "x x x x x x x x x x x x x x x x";
12299 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
12300 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
12301 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
12302 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
12303 hventerstabdelay = 100;
12307 poweroffdelay = 15;
12310 hvleavestabdelay = 15;
12311 chiperasepulsewidth = 0;
12312 chiperasepolltimeout = 10;
12313 programfusepulsewidth = 0;
12314 programfusepolltimeout = 5;
12315 programlockpulsewidth = 0;
12316 programlockpolltimeout = 5;
12321 paged = no; /* leave this "no" */
12322 page_size = 4; /* for parallel programming */
12325 min_write_delay = 9000;
12326 max_write_delay = 9000;
12327 readback_p1 = 0x00;
12328 readback_p2 = 0x00;
12329 read = " 1 0 1 0 0 0 0 0",
12330 " 0 0 0 0 a11 a10 a9 a8",
12331 " a7 a6 a5 a4 a3 a2 a1 a0",
12332 " o o o o o o o o";
12334 write = " 1 1 0 0 0 0 0 0",
12335 " 0 0 0 0 a11 a10 a9 a8",
12336 " a7 a6 a5 a4 a3 a2 a1 a0",
12337 " i i i i i i i i";
12339 loadpage_lo = " 1 1 0 0 0 0 0 1",
12340 " 0 0 0 0 0 0 0 0",
12341 " 0 0 0 0 0 0 a1 a0",
12342 " i i i i i i i i";
12344 writepage = " 1 1 0 0 0 0 1 0",
12345 " 0 0 0 0 a11 a10 a9 a8",
12346 " a7 a6 a5 a4 a3 a2 0 0",
12347 " x x x x x x x x";
12360 min_write_delay = 4500;
12361 max_write_delay = 4500;
12362 readback_p1 = 0x00;
12363 readback_p2 = 0x00;
12364 read_lo = " 0 0 1 0 0 0 0 0",
12365 "a15 a14 a13 a12 a11 a10 a9 a8",
12366 " a7 a6 a5 a4 a3 a2 a1 a0",
12367 " o o o o o o o o";
12369 read_hi = " 0 0 1 0 1 0 0 0",
12370 "a15 a14 a13 a12 a11 a10 a9 a8",
12371 " a7 a6 a5 a4 a3 a2 a1 a0",
12372 " o o o o o o o o";
12374 loadpage_lo = " 0 1 0 0 0 0 0 0",
12375 " x x x x x x x x",
12376 " x x a5 a4 a3 a2 a1 a0",
12377 " i i i i i i i i";
12379 loadpage_hi = " 0 1 0 0 1 0 0 0",
12380 " x x x x x x x x",
12381 " x x a5 a4 a3 a2 a1 a0",
12382 " i i i i i i i i";
12384 writepage = " 0 1 0 0 1 1 0 0",
12385 "a15 a14 a13 a12 a11 a10 a9 a8",
12386 " a7 a6 x x x x x x",
12387 " x x x x x x x x";
12397 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
12398 "x x x x x x x x i i i i i i i i";
12400 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
12401 "x x x x x x x x o o o o o o o o";
12402 min_write_delay = 9000;
12403 max_write_delay = 9000;
12408 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
12409 "x x x x x x x x i i i i i i i i";
12411 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
12412 "x x x x x x x x o o o o o o o o";
12413 min_write_delay = 9000;
12414 max_write_delay = 9000;
12419 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
12420 "x x x x x x x x i i i i i i i i";
12422 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
12423 "x x x x x x x x o o o o o o o o";
12424 min_write_delay = 9000;
12425 max_write_delay = 9000;
12430 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
12431 "x x x x x x x x x x o o o o o o";
12433 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
12434 "x x x x x x x x 1 1 i i i i i i";
12435 min_write_delay = 9000;
12436 max_write_delay = 9000;
12439 memory "calibration"
12441 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
12442 "0 0 0 0 0 0 0 0 o o o o o o o o";
12446 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
12447 "x x x x x x a1 a0 o o o o o o o o";
12451 #------------------------------------------------------------
12453 #------------------------------------------------------------
12454 # Changes against AT90USB162 (beside IDs)
12463 desc = "ATmega32U2";
12465 has_debugwire = yes;
12466 signature = 0x1e 0x95 0x8a;
12468 chip_erase_delay = 9000;
12470 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
12471 "x x x x x x x x x x x x x x x x";
12472 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
12473 "x x x x x x x x x x x x x x x x";
12488 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
12489 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
12490 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
12491 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
12492 hventerstabdelay = 100;
12496 poweroffdelay = 15;
12499 hvleavestabdelay = 15;
12500 chiperasepulsewidth = 0;
12501 chiperasepolltimeout = 10;
12502 programfusepulsewidth = 0;
12503 programfusepolltimeout = 5;
12504 programlockpulsewidth = 0;
12505 programlockpolltimeout = 5;
12510 paged = no; /* leave this "no" */
12511 page_size = 4; /* for parallel programming */
12514 min_write_delay = 9000;
12515 max_write_delay = 9000;
12516 readback_p1 = 0x00;
12517 readback_p2 = 0x00;
12518 read = " 1 0 1 0 0 0 0 0",
12519 " 0 0 0 0 a11 a10 a9 a8",
12520 " a7 a6 a5 a4 a3 a2 a1 a0",
12521 " o o o o o o o o";
12523 write = " 1 1 0 0 0 0 0 0",
12524 " 0 0 0 0 a11 a10 a9 a8",
12525 " a7 a6 a5 a4 a3 a2 a1 a0",
12526 " i i i i i i i i";
12528 loadpage_lo = " 1 1 0 0 0 0 0 1",
12529 " 0 0 0 0 0 0 0 0",
12530 " 0 0 0 0 0 0 a1 a0",
12531 " i i i i i i i i";
12533 writepage = " 1 1 0 0 0 0 1 0",
12534 " 0 0 0 0 a11 a10 a9 a8",
12535 " a7 a6 a5 a4 a3 a2 0 0",
12536 " x x x x x x x x";
12549 min_write_delay = 4500;
12550 max_write_delay = 4500;
12551 readback_p1 = 0x00;
12552 readback_p2 = 0x00;
12553 read_lo = " 0 0 1 0 0 0 0 0",
12554 "a15 a14 a13 a12 a11 a10 a9 a8",
12555 " a7 a6 a5 a4 a3 a2 a1 a0",
12556 " o o o o o o o o";
12558 read_hi = " 0 0 1 0 1 0 0 0",
12559 "a15 a14 a13 a12 a11 a10 a9 a8",
12560 " a7 a6 a5 a4 a3 a2 a1 a0",
12561 " o o o o o o o o";
12563 loadpage_lo = " 0 1 0 0 0 0 0 0",
12564 " x x x x x x x x",
12565 " x x a5 a4 a3 a2 a1 a0",
12566 " i i i i i i i i";
12568 loadpage_hi = " 0 1 0 0 1 0 0 0",
12569 " x x x x x x x x",
12570 " x x a5 a4 a3 a2 a1 a0",
12571 " i i i i i i i i";
12573 writepage = " 0 1 0 0 1 1 0 0",
12574 "a15 a14 a13 a12 a11 a10 a9 a8",
12575 " a7 a6 x x x x x x",
12576 " x x x x x x x x";
12586 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
12587 "x x x x x x x x i i i i i i i i";
12589 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
12590 "x x x x x x x x o o o o o o o o";
12591 min_write_delay = 9000;
12592 max_write_delay = 9000;
12597 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
12598 "x x x x x x x x i i i i i i i i";
12600 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
12601 "x x x x x x x x o o o o o o o o";
12602 min_write_delay = 9000;
12603 max_write_delay = 9000;
12608 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
12609 "x x x x x x x x i i i i i i i i";
12611 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
12612 "x x x x x x x x o o o o o o o o";
12613 min_write_delay = 9000;
12614 max_write_delay = 9000;
12619 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
12620 "x x x x x x x x x x o o o o o o";
12622 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
12623 "x x x x x x x x 1 1 i i i i i i";
12624 min_write_delay = 9000;
12625 max_write_delay = 9000;
12628 memory "calibration"
12630 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
12631 "0 0 0 0 0 0 0 0 o o o o o o o o";
12635 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
12636 "x x x x x x a1 a0 o o o o o o o o";
12639 #------------------------------------------------------------
12641 #------------------------------------------------------------
12642 # Changes against ATmega32U2 (beside IDs)
12651 desc = "ATmega16U2";
12653 has_debugwire = yes;
12654 signature = 0x1e 0x94 0x89;
12656 chip_erase_delay = 9000;
12658 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
12659 "x x x x x x x x x x x x x x x x";
12660 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
12661 "x x x x x x x x x x x x x x x x";
12676 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
12677 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
12678 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
12679 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
12680 hventerstabdelay = 100;
12684 poweroffdelay = 15;
12687 hvleavestabdelay = 15;
12688 chiperasepulsewidth = 0;
12689 chiperasepolltimeout = 10;
12690 programfusepulsewidth = 0;
12691 programfusepolltimeout = 5;
12692 programlockpulsewidth = 0;
12693 programlockpolltimeout = 5;
12698 paged = no; /* leave this "no" */
12699 page_size = 4; /* for parallel programming */
12702 min_write_delay = 9000;
12703 max_write_delay = 9000;
12704 readback_p1 = 0x00;
12705 readback_p2 = 0x00;
12706 read = " 1 0 1 0 0 0 0 0",
12707 " 0 0 0 0 a11 a10 a9 a8",
12708 " a7 a6 a5 a4 a3 a2 a1 a0",
12709 " o o o o o o o o";
12711 write = " 1 1 0 0 0 0 0 0",
12712 " 0 0 0 0 a11 a10 a9 a8",
12713 " a7 a6 a5 a4 a3 a2 a1 a0",
12714 " i i i i i i i i";
12716 loadpage_lo = " 1 1 0 0 0 0 0 1",
12717 " 0 0 0 0 0 0 0 0",
12718 " 0 0 0 0 0 0 a1 a0",
12719 " i i i i i i i i";
12721 writepage = " 1 1 0 0 0 0 1 0",
12722 " 0 0 0 0 a11 a10 a9 a8",
12723 " a7 a6 a5 a4 a3 a2 0 0",
12724 " x x x x x x x x";
12737 min_write_delay = 4500;
12738 max_write_delay = 4500;
12739 readback_p1 = 0x00;
12740 readback_p2 = 0x00;
12741 read_lo = " 0 0 1 0 0 0 0 0",
12742 "a15 a14 a13 a12 a11 a10 a9 a8",
12743 " a7 a6 a5 a4 a3 a2 a1 a0",
12744 " o o o o o o o o";
12746 read_hi = " 0 0 1 0 1 0 0 0",
12747 "a15 a14 a13 a12 a11 a10 a9 a8",
12748 " a7 a6 a5 a4 a3 a2 a1 a0",
12749 " o o o o o o o o";
12751 loadpage_lo = " 0 1 0 0 0 0 0 0",
12752 " x x x x x x x x",
12753 " x x a5 a4 a3 a2 a1 a0",
12754 " i i i i i i i i";
12756 loadpage_hi = " 0 1 0 0 1 0 0 0",
12757 " x x x x x x x x",
12758 " x x a5 a4 a3 a2 a1 a0",
12759 " i i i i i i i i";
12761 writepage = " 0 1 0 0 1 1 0 0",
12762 "a15 a14 a13 a12 a11 a10 a9 a8",
12763 " a7 a6 x x x x x x",
12764 " x x x x x x x x";
12774 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
12775 "x x x x x x x x i i i i i i i i";
12777 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
12778 "x x x x x x x x o o o o o o o o";
12779 min_write_delay = 9000;
12780 max_write_delay = 9000;
12785 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
12786 "x x x x x x x x i i i i i i i i";
12788 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
12789 "x x x x x x x x o o o o o o o o";
12790 min_write_delay = 9000;
12791 max_write_delay = 9000;
12796 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
12797 "x x x x x x x x i i i i i i i i";
12799 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
12800 "x x x x x x x x o o o o o o o o";
12801 min_write_delay = 9000;
12802 max_write_delay = 9000;
12807 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
12808 "x x x x x x x x x x o o o o o o";
12810 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
12811 "x x x x x x x x 1 1 i i i i i i";
12812 min_write_delay = 9000;
12813 max_write_delay = 9000;
12816 memory "calibration"
12818 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
12819 "0 0 0 0 0 0 0 0 o o o o o o o o";
12823 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
12824 "x x x x x x a1 a0 o o o o o o o o";
12828 #------------------------------------------------------------
12830 #------------------------------------------------------------
12831 # Changes against ATmega16U2 (beside IDs)
12839 desc = "ATmega8U2";
12841 has_debugwire = yes;
12842 signature = 0x1e 0x93 0x89;
12844 chip_erase_delay = 9000;
12846 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
12847 "x x x x x x x x x x x x x x x x";
12848 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
12849 "x x x x x x x x x x x x x x x x";
12864 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
12865 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
12866 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
12867 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
12868 hventerstabdelay = 100;
12872 poweroffdelay = 15;
12875 hvleavestabdelay = 15;
12876 chiperasepulsewidth = 0;
12877 chiperasepolltimeout = 10;
12878 programfusepulsewidth = 0;
12879 programfusepolltimeout = 5;
12880 programlockpulsewidth = 0;
12881 programlockpolltimeout = 5;
12886 paged = no; /* leave this "no" */
12887 page_size = 4; /* for parallel programming */
12890 min_write_delay = 9000;
12891 max_write_delay = 9000;
12892 readback_p1 = 0x00;
12893 readback_p2 = 0x00;
12894 read = " 1 0 1 0 0 0 0 0",
12895 " 0 0 0 0 a11 a10 a9 a8",
12896 " a7 a6 a5 a4 a3 a2 a1 a0",
12897 " o o o o o o o o";
12899 write = " 1 1 0 0 0 0 0 0",
12900 " 0 0 0 0 a11 a10 a9 a8",
12901 " a7 a6 a5 a4 a3 a2 a1 a0",
12902 " i i i i i i i i";
12904 loadpage_lo = " 1 1 0 0 0 0 0 1",
12905 " 0 0 0 0 0 0 0 0",
12906 " 0 0 0 0 0 0 a1 a0",
12907 " i i i i i i i i";
12909 writepage = " 1 1 0 0 0 0 1 0",
12910 " 0 0 0 0 a11 a10 a9 a8",
12911 " a7 a6 a5 a4 a3 a2 0 0",
12912 " x x x x x x x x";
12925 min_write_delay = 4500;
12926 max_write_delay = 4500;
12927 readback_p1 = 0x00;
12928 readback_p2 = 0x00;
12929 read_lo = " 0 0 1 0 0 0 0 0",
12930 "a15 a14 a13 a12 a11 a10 a9 a8",
12931 " a7 a6 a5 a4 a3 a2 a1 a0",
12932 " o o o o o o o o";
12934 read_hi = " 0 0 1 0 1 0 0 0",
12935 "a15 a14 a13 a12 a11 a10 a9 a8",
12936 " a7 a6 a5 a4 a3 a2 a1 a0",
12937 " o o o o o o o o";
12939 loadpage_lo = " 0 1 0 0 0 0 0 0",
12940 " x x x x x x x x",
12941 " x x a5 a4 a3 a2 a1 a0",
12942 " i i i i i i i i";
12944 loadpage_hi = " 0 1 0 0 1 0 0 0",
12945 " x x x x x x x x",
12946 " x x a5 a4 a3 a2 a1 a0",
12947 " i i i i i i i i";
12949 writepage = " 0 1 0 0 1 1 0 0",
12950 "a15 a14 a13 a12 a11 a10 a9 a8",
12951 " a7 a6 x x x x x x",
12952 " x x x x x x x x";
12962 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
12963 "x x x x x x x x i i i i i i i i";
12965 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
12966 "x x x x x x x x o o o o o o o o";
12967 min_write_delay = 9000;
12968 max_write_delay = 9000;
12973 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
12974 "x x x x x x x x i i i i i i i i";
12976 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
12977 "x x x x x x x x o o o o o o o o";
12978 min_write_delay = 9000;
12979 max_write_delay = 9000;
12984 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
12985 "x x x x x x x x i i i i i i i i";
12987 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
12988 "x x x x x x x x o o o o o o o o";
12989 min_write_delay = 9000;
12990 max_write_delay = 9000;
12995 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
12996 "x x x x x x x x x x o o o o o o";
12998 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
12999 "x x x x x x x x 1 1 i i i i i i";
13000 min_write_delay = 9000;
13001 max_write_delay = 9000;
13004 memory "calibration"
13006 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
13007 "0 0 0 0 0 0 0 0 o o o o o o o o";
13011 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
13012 "x x x x x x a1 a0 o o o o o o o o";
13015 #------------------------------------------------------------
13017 #------------------------------------------------------------
13021 desc = "ATmega325";
13022 signature = 0x1e 0x95 0x05;
13024 # stk500_devcode = 0x??; # No STK500v1 support?
13025 # avr910_devcode = 0x??; # Try the ATmega16 one
13026 avr910_devcode = 0x74;
13029 chip_erase_delay = 9000;
13030 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
13031 "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0";
13033 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
13034 "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0";
13048 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
13049 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
13050 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
13051 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
13052 hventerstabdelay = 100;
13056 poweroffdelay = 15;
13059 hvleavestabdelay = 15;
13060 chiperasepulsewidth = 0;
13061 chiperasepolltimeout = 10;
13062 programfusepulsewidth = 0;
13063 programfusepolltimeout = 5;
13064 programlockpulsewidth = 0;
13065 programlockpolltimeout = 5;
13069 allowfullpagebitstream = no;
13074 paged = no; /* leave this "no" */
13075 page_size = 4; /* for parallel programming */
13077 min_write_delay = 9000;
13078 max_write_delay = 9000;
13079 readback_p1 = 0xff;
13080 readback_p2 = 0xff;
13081 read = " 1 0 1 0 0 0 0 0",
13082 " 0 0 0 0 0 0 a9 a8",
13083 " a7 a6 a5 a4 a3 a2 a1 a0",
13084 " o o o o o o o o";
13086 write = " 1 1 0 0 0 0 0 0",
13087 " 0 0 0 0 0 0 a9 a8",
13088 " a7 a6 a5 a4 a3 a2 a1 a0",
13089 " i i i i i i i i";
13091 loadpage_lo = " 1 1 0 0 0 0 0 1",
13092 " 0 0 0 0 0 0 0 0",
13093 " 0 0 0 0 0 0 a1 a0",
13094 " i i i i i i i i";
13096 writepage = " 1 1 0 0 0 0 1 0",
13097 " 0 0 0 0 0 0 a9 a8",
13098 " a7 a6 a5 a4 a3 a2 0 0",
13099 " x x x x x x x x";
13112 min_write_delay = 4500;
13113 max_write_delay = 4500;
13114 readback_p1 = 0xff;
13115 readback_p2 = 0xff;
13116 read_lo = " 0 0 1 0 0 0 0 0",
13117 " 0 a14 a13 a12 a11 a10 a9 a8",
13118 " a7 a6 a5 a4 a3 a2 a1 a0",
13119 " o o o o o o o o";
13121 read_hi = " 0 0 1 0 1 0 0 0",
13122 " 0 a14 a13 a12 a11 a10 a9 a8",
13123 " a7 a6 a5 a4 a3 a2 a1 a0",
13124 " o o o o o o o o";
13126 loadpage_lo = " 0 1 0 0 0 0 0 0",
13127 " 0 0 0 0 0 0 0 0",
13128 " a7 a6 a5 a4 a3 a2 a1 a0",
13129 " i i i i i i i i";
13131 loadpage_hi = " 0 1 0 0 1 0 0 0",
13132 " 0 0 0 0 0 0 0 0",
13133 " a7 a6 a5 a4 a3 a2 a1 a0",
13134 " i i i i i i i i";
13136 writepage = " 0 1 0 0 1 1 0 0",
13137 " 0 a14 a13 a12 a11 a10 a9 a8",
13138 " a7 a6 a5 a4 a3 a2 a1 a0",
13139 " x x x x x x x x";
13149 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
13150 "x x x x x x x x x x o o o o o o";
13152 write = "1 0 1 0 1 1 0 0 1 1 1 0 0 0 0 0",
13153 "0 0 0 0 0 0 0 0 1 1 i i i i i i";
13154 min_write_delay = 9000;
13155 max_write_delay = 9000;
13160 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
13161 "0 0 0 0 0 0 0 0 o o o o o o o o";
13163 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
13164 "0 0 0 0 0 0 0 0 i i i i i i i i";
13165 min_write_delay = 9000;
13166 max_write_delay = 9000;
13171 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
13172 "0 0 0 0 0 0 0 0 o o o o o o o o";
13174 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
13175 "0 0 0 0 0 0 0 0 i i i i i i i i";
13176 min_write_delay = 9000;
13177 max_write_delay = 9000;
13183 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
13184 "0 0 0 0 0 0 0 0 o o o o o o o o";
13186 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
13187 "0 0 0 0 0 0 0 0 1 1 1 1 1 i i i";
13188 min_write_delay = 9000;
13189 max_write_delay = 9000;
13194 read = "0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0",
13195 "0 0 0 0 0 0 a1 a0 o o o o o o o o";
13198 memory "calibration"
13201 read = "0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0",
13202 "0 0 0 0 0 0 0 0 o o o o o o o o";
13206 #------------------------------------------------------------
13208 #------------------------------------------------------------
13212 desc = "ATmega645";
13213 signature = 0x1E 0x96 0x05;
13215 # stk500_devcode = 0x??; # No STK500v1 support?
13216 # avr910_devcode = 0x??; # Try the ATmega16 one
13217 avr910_devcode = 0x74;
13220 chip_erase_delay = 9000;
13221 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
13222 "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0";
13224 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0",
13225 "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0";
13239 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
13240 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
13241 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
13242 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
13243 hventerstabdelay = 100;
13247 poweroffdelay = 15;
13250 hvleavestabdelay = 15;
13251 chiperasepulsewidth = 0;
13252 chiperasepolltimeout = 10;
13253 programfusepulsewidth = 0;
13254 programfusepolltimeout = 5;
13255 programlockpulsewidth = 0;
13256 programlockpolltimeout = 5;
13260 allowfullpagebitstream = no;
13265 paged = no; /* leave this "no" */
13266 page_size = 8; /* for parallel programming */
13268 min_write_delay = 9000;
13269 max_write_delay = 9000;
13270 readback_p1 = 0xff;
13271 readback_p2 = 0xff;
13272 read = " 1 0 1 0 0 0 0 0",
13273 " 0 0 0 0 0 a10 a9 a8",
13274 " a7 a6 a5 a4 a3 a2 a1 a0",
13275 " o o o o o o o o";
13277 write = " 1 1 0 0 0 0 0 0",
13278 " 0 0 0 0 0 a10 a9 a8",
13279 " a7 a6 a5 a4 a3 a2 a1 a0",
13280 " i i i i i i i i";
13282 loadpage_lo = " 1 1 0 0 0 0 0 1",
13283 " 0 0 0 0 0 0 0 0",
13284 " 0 0 0 0 0 a2 a1 a0",
13285 " i i i i i i i i";
13287 writepage = " 1 1 0 0 0 0 1 0",
13288 " 0 0 0 0 0 a10 a9 a8",
13289 " a7 a6 a5 a4 a3 0 0 0",
13290 " x x x x x x x x";
13303 min_write_delay = 4500;
13304 max_write_delay = 4500;
13305 readback_p1 = 0xff;
13306 readback_p2 = 0xff;
13307 read_lo = " 0 0 1 0 0 0 0 0",
13308 " a15 a14 a13 a12 a11 a10 a9 a8",
13309 " a7 a6 a5 a4 a3 a2 a1 a0",
13310 " o o o o o o o o";
13312 read_hi = " 0 0 1 0 1 0 0 0",
13313 " a15 a14 a13 a12 a11 a10 a9 a8",
13314 " a7 a6 a5 a4 a3 a2 a1 a0",
13315 " o o o o o o o o";
13317 loadpage_lo = " 0 1 0 0 0 0 0 0",
13318 " 0 0 0 0 0 0 0 0",
13319 " a7 a6 a5 a4 a3 a2 a1 a0",
13320 " i i i i i i i i";
13322 loadpage_hi = " 0 1 0 0 1 0 0 0",
13323 " 0 0 0 0 0 0 0 0",
13324 " a7 a6 a5 a4 a3 a2 a1 a0",
13325 " i i i i i i i i";
13327 writepage = " 0 1 0 0 1 1 0 0",
13328 " a15 a14 a13 a12 a11 a10 a9 a8",
13329 " a7 a6 a5 a4 a3 a2 a1 a0",
13330 " 0 0 0 0 0 0 0 0";
13340 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
13341 "x x x x x x x x x x o o o o o o";
13343 write = "1 0 1 0 1 1 0 0 1 1 1 0 0 0 0 0",
13344 "0 0 0 0 0 0 0 0 1 1 i i i i i i";
13345 min_write_delay = 9000;
13346 max_write_delay = 9000;
13351 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
13352 "0 0 0 0 0 0 0 0 o o o o o o o o";
13354 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
13355 "0 0 0 0 0 0 0 0 i i i i i i i i";
13356 min_write_delay = 9000;
13357 max_write_delay = 9000;
13362 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
13363 "0 0 0 0 0 0 0 0 o o o o o o o o";
13365 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
13366 "0 0 0 0 0 0 0 0 i i i i i i i i";
13367 min_write_delay = 9000;
13368 max_write_delay = 9000;
13374 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
13375 "0 0 0 0 0 0 0 0 o o o o o o o o";
13377 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
13378 "0 0 0 0 0 0 0 0 1 1 1 1 1 i i i";
13379 min_write_delay = 9000;
13380 max_write_delay = 9000;
13385 read = "0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0",
13386 "0 0 0 0 0 0 a1 a0 o o o o o o o o";
13389 memory "calibration"
13392 read = "0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0",
13393 "0 0 0 0 0 0 0 0 o o o o o o o o";
13397 #------------------------------------------------------------
13399 #------------------------------------------------------------
13403 desc = "ATmega3250";
13404 signature = 0x1E 0x95 0x06;
13409 #------------------------------------------------------------
13411 #------------------------------------------------------------
13415 desc = "ATmega6450";
13416 signature = 0x1E 0x96 0x06;
13421 #------------------------------------------------------------
13422 # AVR XMEGA family common values
13423 #------------------------------------------------------------
13427 desc = "AVR XMEGA family common values";
13434 offset = 0x1000090;
13470 # SRAM, only used to supply the offset
13471 offset = 0x1000000;
13475 #------------------------------------------------------------
13477 #------------------------------------------------------------
13479 part parent ".xmega"
13481 desc = "ATxmega16A4U";
13482 signature = 0x1e 0x94 0x41;
13492 memory "application"
13528 #------------------------------------------------------------
13530 #------------------------------------------------------------
13532 part parent "x16a4u"
13534 desc = "ATxmega16C4";
13535 signature = 0x1e 0x95 0x44;
13538 #------------------------------------------------------------
13540 #------------------------------------------------------------
13542 part parent "x16a4u"
13544 desc = "ATxmega16D4";
13545 signature = 0x1e 0x94 0x42;
13548 #------------------------------------------------------------
13550 #------------------------------------------------------------
13552 part parent "x16a4u"
13554 desc = "ATxmega16A4";
13555 signature = 0x1e 0x94 0x41;
13564 #------------------------------------------------------------
13566 #------------------------------------------------------------
13568 part parent ".xmega"
13570 desc = "ATxmega32A4U";
13571 signature = 0x1e 0x95 0x41;
13581 memory "application"
13617 #------------------------------------------------------------
13619 #------------------------------------------------------------
13621 part parent "x32a4u"
13623 desc = "ATxmega32C4";
13624 signature = 0x1e 0x94 0x43;
13627 #------------------------------------------------------------
13629 #------------------------------------------------------------
13631 part parent "x32a4u"
13633 desc = "ATxmega32D4";
13634 signature = 0x1e 0x95 0x42;
13637 #------------------------------------------------------------
13639 #------------------------------------------------------------
13641 part parent "x32a4u"
13643 desc = "ATxmega32A4";
13644 signature = 0x1e 0x95 0x41;
13653 #------------------------------------------------------------
13655 #------------------------------------------------------------
13657 part parent ".xmega"
13659 desc = "ATxmega64A4U";
13660 signature = 0x1e 0x96 0x46;
13670 memory "application"
13706 #------------------------------------------------------------
13708 #------------------------------------------------------------
13710 part parent "x64a4u"
13712 desc = "ATxmega64C3";
13713 signature = 0x1e 0x96 0x49;
13717 #------------------------------------------------------------
13719 #------------------------------------------------------------
13721 part parent "x64a4u"
13723 desc = "ATxmega64D3";
13724 signature = 0x1e 0x96 0x4a;
13727 #------------------------------------------------------------
13729 #------------------------------------------------------------
13731 part parent "x64a4u"
13733 desc = "ATxmega64D4";
13734 signature = 0x1e 0x96 0x47;
13737 #------------------------------------------------------------
13739 #------------------------------------------------------------
13741 part parent "x64a4u"
13743 desc = "ATxmega64A1";
13744 signature = 0x1e 0x96 0x4e;
13753 #------------------------------------------------------------
13755 #------------------------------------------------------------
13757 part parent "x64a1"
13759 desc = "ATxmega64A1U";
13760 signature = 0x1e 0x96 0x4e;
13764 #------------------------------------------------------------
13766 #------------------------------------------------------------
13768 part parent "x64a1"
13770 desc = "ATxmega64A3";
13771 signature = 0x1e 0x96 0x42;
13774 #------------------------------------------------------------
13776 #------------------------------------------------------------
13778 part parent "x64a1"
13780 desc = "ATxmega64A3U";
13781 signature = 0x1e 0x96 0x42;
13785 #------------------------------------------------------------
13787 #------------------------------------------------------------
13789 part parent "x64a1"
13791 desc = "ATxmega64A4";
13792 signature = 0x1e 0x96 0x46;
13795 #------------------------------------------------------------
13797 #------------------------------------------------------------
13799 part parent "x64a1"
13801 desc = "ATxmega64B1";
13802 signature = 0x1e 0x96 0x52;
13806 #------------------------------------------------------------
13808 #------------------------------------------------------------
13810 part parent "x64a1"
13812 desc = "ATxmega64B3";
13813 signature = 0x1e 0x96 0x51;
13817 #------------------------------------------------------------
13819 #------------------------------------------------------------
13821 part parent ".xmega"
13823 desc = "ATxmega128C3";
13824 signature = 0x1e 0x97 0x52;
13834 memory "application"
13870 #------------------------------------------------------------
13872 #------------------------------------------------------------
13874 part parent "x128c3"
13876 desc = "ATxmega128D3";
13877 signature = 0x1e 0x97 0x48;
13880 #------------------------------------------------------------
13882 #------------------------------------------------------------
13884 part parent "x128c3"
13886 desc = "ATxmega128D4";
13887 signature = 0x1e 0x97 0x47;
13890 #------------------------------------------------------------
13892 #------------------------------------------------------------
13894 part parent "x128c3"
13896 desc = "ATxmega128A1";
13897 signature = 0x1e 0x97 0x4c;
13906 #------------------------------------------------------------
13907 # ATxmega128A1 revision D
13908 #------------------------------------------------------------
13910 part parent "x128a1"
13912 desc = "ATxmega128A1revD";
13913 signature = 0x1e 0x97 0x41;
13916 #------------------------------------------------------------
13918 #------------------------------------------------------------
13920 part parent "x128a1"
13922 desc = "ATxmega128A1U";
13923 signature = 0x1e 0x97 0x4c;
13927 #------------------------------------------------------------
13929 #------------------------------------------------------------
13931 part parent "x128a1"
13933 desc = "ATxmega128A3";
13934 signature = 0x1e 0x97 0x42;
13937 #------------------------------------------------------------
13939 #------------------------------------------------------------
13941 part parent "x128a1"
13943 desc = "ATxmega128A3U";
13944 signature = 0x1e 0x97 0x42;
13948 #------------------------------------------------------------
13950 #------------------------------------------------------------
13952 part parent ".xmega"
13954 desc = "ATxmega128A4";
13955 signature = 0x1e 0x97 0x46;
13965 memory "application"
14006 #------------------------------------------------------------
14008 #------------------------------------------------------------
14010 part parent ".xmega"
14012 desc = "ATxmega128A4U";
14013 signature = 0x1e 0x97 0x46;
14023 memory "application"
14059 #------------------------------------------------------------
14061 #------------------------------------------------------------
14063 part parent ".xmega"
14065 desc = "ATxmega128B1";
14066 signature = 0x1e 0x97 0x4d;
14077 memory "application"
14118 #------------------------------------------------------------
14120 #------------------------------------------------------------
14122 part parent "x128b1"
14124 desc = "ATxmega128B3";
14125 signature = 0x1e 0x97 0x4b;
14129 #------------------------------------------------------------
14131 #------------------------------------------------------------
14133 part parent ".xmega"
14135 desc = "ATxmega192C3";
14136 signature = 0x1e 0x97 0x51;
14146 memory "application"
14182 #------------------------------------------------------------
14184 #------------------------------------------------------------
14186 part parent "x192c3"
14188 desc = "ATxmega192D3";
14189 signature = 0x1e 0x97 0x49;
14192 #------------------------------------------------------------
14194 #------------------------------------------------------------
14196 part parent "x192c3"
14198 desc = "ATxmega192A1";
14199 signature = 0x1e 0x97 0x4e;
14208 #------------------------------------------------------------
14210 #------------------------------------------------------------
14212 part parent "x192a1"
14214 desc = "ATxmega192A3";
14215 signature = 0x1e 0x97 0x44;
14218 #------------------------------------------------------------
14220 #------------------------------------------------------------
14222 part parent "x192a1"
14224 desc = "ATxmega192A3U";
14225 signature = 0x1e 0x97 0x44;
14229 #------------------------------------------------------------
14231 #------------------------------------------------------------
14233 part parent ".xmega"
14235 desc = "ATxmega256C3";
14236 signature = 0x1e 0x98 0x46;
14246 memory "application"
14282 #------------------------------------------------------------
14284 #------------------------------------------------------------
14286 part parent "x256c3"
14288 desc = "ATxmega256D3";
14289 signature = 0x1e 0x98 0x44;
14292 #------------------------------------------------------------
14294 #------------------------------------------------------------
14296 part parent "x256c3"
14298 desc = "ATxmega256A1";
14299 signature = 0x1e 0x98 0x46;
14308 #------------------------------------------------------------
14310 #------------------------------------------------------------
14312 part parent "x256a1"
14314 desc = "ATxmega256A3";
14315 signature = 0x1e 0x98 0x42;
14318 #------------------------------------------------------------
14320 #------------------------------------------------------------
14322 part parent "x256a1"
14324 desc = "ATxmega256A3U";
14325 signature = 0x1e 0x98 0x42;
14329 #------------------------------------------------------------
14331 #------------------------------------------------------------
14333 part parent "x256a1"
14335 desc = "ATxmega256A3B";
14336 signature = 0x1e 0x98 0x43;
14339 #------------------------------------------------------------
14341 #------------------------------------------------------------
14343 part parent "x256a1"
14345 desc = "ATxmega256A3BU";
14346 signature = 0x1e 0x98 0x43;
14350 #------------------------------------------------------------
14352 #------------------------------------------------------------
14354 part parent ".xmega"
14356 desc = "ATxmega384C3";
14357 signature = 0x1e 0x98 0x45;
14367 memory "application"
14403 #------------------------------------------------------------
14405 #------------------------------------------------------------
14407 part parent "x384c3"
14409 desc = "ATxmega384D3";
14410 signature = 0x1e 0x98 0x47;
14413 #------------------------------------------------------------
14415 #------------------------------------------------------------
14417 part parent ".xmega"
14419 desc = "ATxmega8E5";
14420 signature = 0x1e 0x93 0x41;
14424 offset = 0x08c0000;
14429 memory "application"
14431 offset = 0x0800000;
14438 offset = 0x00801800;
14445 offset = 0x00802000;
14452 offset = 0x0800000;
14465 #------------------------------------------------------------
14467 #------------------------------------------------------------
14469 part parent ".xmega"
14471 desc = "ATxmega16E5";
14472 signature = 0x1e 0x94 0x45;
14476 offset = 0x08c0000;
14481 memory "application"
14483 offset = 0x0800000;
14490 offset = 0x00803000;
14497 offset = 0x00804000;
14504 offset = 0x0800000;
14517 #------------------------------------------------------------
14519 #------------------------------------------------------------
14521 part parent ".xmega"
14523 desc = "ATxmega32E5";
14524 signature = 0x1e 0x95 0x4c;
14528 offset = 0x08c0000;
14533 memory "application"
14535 offset = 0x0800000;
14542 offset = 0x00807000;
14549 offset = 0x00808000;
14556 offset = 0x0800000;
14569 #------------------------------------------------------------
14571 #------------------------------------------------------------
14575 desc = "AT32UC3A0512";
14576 signature = 0xED 0xC0 0x3F;
14582 page_size = 512; # bytes
14583 readsize = 512; # bytes
14584 num_pages = 1024; # could be set dynamicly
14585 size = 0x00080000; # could be set dynamicly
14586 offset = 0x80000000;
14590 part parent "uc3a0512"
14592 desc = "deprecated, use 'uc3a0512'";
14595 #------------------------------------------------------------
14597 #------------------------------------------------------------
14601 desc = "ATtiny1634";
14602 has_debugwire = yes;
14603 flash_instr = 0xB6, 0x01, 0x11;
14604 eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
14605 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF,
14606 0x99, 0xF9, 0xBB, 0xAF;
14607 stk500_devcode = 0x86;
14608 # avr910_devcode = 0x;
14609 signature = 0x1e 0x94 0x12;
14613 chip_erase_delay = 9000;
14614 pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
14615 "x x x x x x x x x x x x x x x x";
14617 chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
14618 "x x x x x x x x x x x x x x x x";
14632 0x0E, 0x1E, 0x0E, 0x1E, 0x2E, 0x3E, 0x2E, 0x3E,
14633 0x4E, 0x5E, 0x4E, 0x5E, 0x6E, 0x7E, 0x6E, 0x7E,
14634 0x26, 0x36, 0x66, 0x76, 0x2A, 0x3A, 0x6A, 0x7A,
14635 0x2E, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
14636 hventerstabdelay = 100;
14640 poweroffdelay = 15;
14643 hvleavestabdelay = 15;
14645 chiperasepulsewidth = 0;
14646 chiperasepolltimeout = 10;
14647 programfusepulsewidth = 0;
14648 programfusepolltimeout = 5;
14649 programlockpulsewidth = 0;
14650 programlockpolltimeout = 5;
14656 min_write_delay = 3600;
14657 max_write_delay = 3600;
14658 readback_p1 = 0xff;
14659 readback_p2 = 0xff;
14660 read = " 1 0 1 0 0 0 0 0",
14661 " 0 0 0 x x x x a8",
14662 " a7 a6 a5 a4 a3 a2 a1 a0",
14663 " o o o o o o o o";
14665 write = " 1 1 0 0 0 0 0 0",
14666 " 0 0 0 x x x x a8",
14667 " a7 a6 a5 a4 a3 a2 a1 a0",
14668 " i i i i i i i i";
14670 loadpage_lo = " 1 1 0 0 0 0 0 1",
14671 " 0 0 0 0 0 0 0 0",
14672 " 0 0 0 0 0 0 a1 a0",
14673 " i i i i i i i i";
14675 writepage = " 1 1 0 0 0 0 1 0",
14676 " 0 0 x x x x x a8",
14677 " a7 a6 a5 a4 a3 a2 0 0",
14678 " x x x x x x x x";
14691 min_write_delay = 4500;
14692 max_write_delay = 4500;
14693 readback_p1 = 0xff;
14694 readback_p2 = 0xff;
14695 read_lo = " 0 0 1 0 0 0 0 0",
14696 " 0 0 0 a12 a11 a10 a9 a8",
14697 " a7 a6 a5 a4 a3 a2 a1 a0",
14698 " o o o o o o o o";
14700 read_hi = " 0 0 1 0 1 0 0 0",
14701 " 0 0 0 a12 a11 a10 a9 a8",
14702 " a7 a6 a5 a4 a3 a2 a1 a0",
14703 " o o o o o o o o";
14705 loadpage_lo = " 0 1 0 0 0 0 0 0",
14706 " 0 0 0 x x x x x",
14707 " x x a5 a4 a3 a2 a1 a0",
14708 " i i i i i i i i";
14710 loadpage_hi = " 0 1 0 0 1 0 0 0",
14711 " 0 0 0 x x x x x",
14712 " x x a5 a4 a3 a2 a1 a0",
14713 " i i i i i i i i";
14715 writepage = " 0 1 0 0 1 1 0 0",
14716 " 0 0 0 a12 a11 a10 a9 a8",
14717 " a7 a6 x x x x x x",
14718 " x x x x x x x x";
14729 min_write_delay = 4500;
14730 max_write_delay = 4500;
14731 read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
14732 "x x x x x x x x o o o o o o o o";
14734 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
14735 "x x x x x x x x i i i i i i i i";
14740 min_write_delay = 4500;
14741 max_write_delay = 4500;
14742 read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
14743 "x x x x x x x x o o o o o o o o";
14745 write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
14746 "x x x x x x x x i i i i i i i i";
14751 min_write_delay = 4500;
14752 max_write_delay = 4500;
14753 read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
14754 "x x x x x x x x o o o o o o o o";
14756 write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
14757 "x x x x x x x x x x x i i i i i";
14762 min_write_delay = 4500;
14763 max_write_delay = 4500;
14764 read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
14765 "x x x x x x x x x x x x x x o o";
14767 write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
14768 "x x x x x x x x 1 1 1 1 1 1 i i";
14771 memory "calibration"
14773 read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
14774 "0 0 0 0 0 0 0 0 o o o o o o o o";
14779 read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
14780 "x x x x x x a1 a0 o o o o o o o o";
14784 #------------------------------------------------------------
14785 # Common values for reduced core tinys (4/5/9/10/20/40)
14786 #------------------------------------------------------------
14789 id = ".reduced_core_tiny";
14790 desc = "Common values for reduced core tinys";
14806 memory "calibration"
14819 #------------------------------------------------------------
14821 #------------------------------------------------------------
14823 part parent ".reduced_core_tiny"
14826 signature = 0x1e 0x8f 0x0a;
14836 #------------------------------------------------------------
14838 #------------------------------------------------------------
14843 signature = 0x1e 0x8f 0x09;
14846 #------------------------------------------------------------
14848 #------------------------------------------------------------
14850 part parent ".reduced_core_tiny"
14853 signature = 0x1e 0x90 0x08;
14863 #------------------------------------------------------------
14865 #------------------------------------------------------------
14870 signature = 0x1e 0x90 0x03;
14873 #------------------------------------------------------------
14875 #------------------------------------------------------------
14877 part parent ".reduced_core_tiny"
14880 signature = 0x1e 0x91 0x0F;
14890 #------------------------------------------------------------
14892 #------------------------------------------------------------
14894 part parent ".reduced_core_tiny"
14897 signature = 0x1e 0x92 0x0E;
14907 #------------------------------------------------------------
14909 #------------------------------------------------------------
14913 desc = "ATMEGA406";
14915 signature = 0x1e 0x95 0x07;
14917 # STK500 parameters (parallel programming IO lines)
14923 # STK500v2 HV programming parameters, from XML
14924 pp_controlstack = 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f,
14925 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f,
14926 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b,
14927 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
14929 # JTAG ICE mkII parameters, also from XML files
14930 allowfullpagebitstream = no;
14931 enablepageprogramming = yes;