From 77221651a1a48792ea55f56559b22a03271ed8c2 Mon Sep 17 00:00:00 2001 From: Andrey Klimov Date: Tue, 4 Jun 2019 02:55:59 +0300 Subject: [PATCH] Windows flashing tools added --- compiled/mega2560dmx-5100/upload.sh | 13 - compiled/mega2560onewire-5100/upload.bat | 1 - compiled/mega2560onewire-5100/upload.sh | 1 - compiled/tools/win/tool-avrdude/avrdude.conf | 15832 ++++++++++++++++ compiled/tools/win/tool-avrdude/avrdude.exe | Bin 0 -> 524800 bytes compiled/tools/win/tool-avrdude/giveio.sys | Bin 0 -> 5248 bytes .../tools/win/tool-avrdude/install_giveio.bat | 34 + compiled/tools/win/tool-avrdude/libusb0.dll | Bin 0 -> 67680 bytes compiled/tools/win/tool-avrdude/loaddrv.exe | Bin 0 -> 17408 bytes compiled/tools/win/tool-avrdude/package.json | 11 + .../tools/win/tool-avrdude/remove_giveio.bat | 14 + .../tools/win/tool-avrdude/status_giveio.bat | 12 + compiled/tools/win/tool-bossac/bossac.exe | Bin 0 -> 719886 bytes compiled/tools/win/tool-bossac/package.json | 11 + compiled/tools/win/tool-esptool/esptool.exe | Bin 0 -> 36864 bytes compiled/tools/win/tool-esptool/package.json | 11 + .../mkspiffs_espressif32_arduino.exe | Bin 0 -> 673280 bytes .../mkspiffs_espressif32_espidf.exe | Bin 0 -> 673280 bytes .../mkspiffs_espressif8266_arduino.exe | Bin 0 -> 672256 bytes compiled/tools/win/tool-mkspiffs/package.json | 11 + platformio.ini | 1 + 21 files changed, 15937 insertions(+), 15 deletions(-) delete mode 100644 compiled/mega2560dmx-5100/upload.sh delete mode 100644 compiled/mega2560onewire-5100/upload.bat delete mode 100644 compiled/mega2560onewire-5100/upload.sh create mode 100644 compiled/tools/win/tool-avrdude/avrdude.conf create mode 100644 compiled/tools/win/tool-avrdude/avrdude.exe create mode 100644 compiled/tools/win/tool-avrdude/giveio.sys create mode 100644 compiled/tools/win/tool-avrdude/install_giveio.bat create mode 100644 compiled/tools/win/tool-avrdude/libusb0.dll create mode 100644 compiled/tools/win/tool-avrdude/loaddrv.exe create mode 100644 compiled/tools/win/tool-avrdude/package.json create mode 100644 compiled/tools/win/tool-avrdude/remove_giveio.bat create mode 100644 compiled/tools/win/tool-avrdude/status_giveio.bat create mode 100644 compiled/tools/win/tool-bossac/bossac.exe create mode 100644 compiled/tools/win/tool-bossac/package.json create mode 100644 compiled/tools/win/tool-esptool/esptool.exe create mode 100644 compiled/tools/win/tool-esptool/package.json create mode 100644 compiled/tools/win/tool-mkspiffs/mkspiffs_espressif32_arduino.exe create mode 100644 compiled/tools/win/tool-mkspiffs/mkspiffs_espressif32_espidf.exe create mode 100644 compiled/tools/win/tool-mkspiffs/mkspiffs_espressif8266_arduino.exe create mode 100644 compiled/tools/win/tool-mkspiffs/package.json diff --git a/compiled/mega2560dmx-5100/upload.sh b/compiled/mega2560dmx-5100/upload.sh deleted file mode 100644 index 94efc86..0000000 --- a/compiled/mega2560dmx-5100/upload.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/bash -echo $@ -killall avrdude -echo Reset.. -#/usr/bin/curl "http://192.168.88.31/console/reset" -echo AvrDude.. -#/Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/avrdude -Pnet:192.168.88.31:23 $@ -/Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/avrdude -Pnet:192.168.88.2:23000 $@ - - -#/usr/bin/curl "http://192.168.8.94/console/reset" -#echo AvrDude.. -#/Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/avrdude -Pnet:192.168.8.94:23 $@ diff --git a/compiled/mega2560onewire-5100/upload.bat b/compiled/mega2560onewire-5100/upload.bat deleted file mode 100644 index 02bd82c..0000000 --- a/compiled/mega2560onewire-5100/upload.bat +++ /dev/null @@ -1 +0,0 @@ -..\tools\win\tool-avrdude\avrdude -C ../tools/mac/tool-avrdude/avrdude.conf -v -V -P com3 -patmega2560 -cwiring -b115200 -D -Uflash:w:firmware.hex:i diff --git a/compiled/mega2560onewire-5100/upload.sh b/compiled/mega2560onewire-5100/upload.sh deleted file mode 100644 index b22f187..0000000 --- a/compiled/mega2560onewire-5100/upload.sh +++ /dev/null @@ -1 +0,0 @@ -../tools/mac/tool-avrdude/avrdude -C ../tools/mac/tool-avrdude/avrdude.conf -v -V -P /dev/cu.usbmodem1411 -patmega2560 -cwiring -b115200 -D -Uflash:w:firmware.hex:i diff --git a/compiled/tools/win/tool-avrdude/avrdude.conf b/compiled/tools/win/tool-avrdude/avrdude.conf new file mode 100644 index 0000000..177527b --- /dev/null +++ b/compiled/tools/win/tool-avrdude/avrdude.conf @@ -0,0 +1,15832 @@ +# $Id: avrdude.conf.in 1371 2016-02-15 20:15:07Z joerg_wunsch $ -*- text -*- +# +# AVRDUDE Configuration File +# +# This file contains configuration data used by AVRDUDE which describes +# the programming hardware pinouts and also provides part definitions. +# AVRDUDE's "-C" command line option specifies the location of the +# configuration file. The "-c" option names the programmer configuration +# which must match one of the entry's "id" parameter. The "-p" option +# identifies which part AVRDUDE is going to be programming and must match +# one of the parts' "id" parameter. +# +# DO NOT MODIFY THIS FILE. Modifications will be overwritten the next +# time a "make install" is run. For user-specific additions, use the +# "-C +filename" commandline option. +# +# Possible entry formats are: +# +# programmer +# parent # optional parent +# id = [, [, ] ...] ; # are quoted strings +# desc = ; # quoted string +# type = ; # programmer type, quoted string +# # supported programmer types can be listed by "-c ?type" +# connection_type = parallel | serial | usb +# baudrate = ; # baudrate for avr910-programmer +# vcc = [, ... ] ; # pin number(s) +# buff = [, ... ] ; # pin number(s) +# reset = ; # pin number +# sck = ; # pin number +# mosi = ; # pin number +# miso = ; # pin number +# errled = ; # pin number +# rdyled = ; # pin number +# pgmled = ; # pin number +# vfyled = ; # pin number +# usbvid = ; # USB VID (Vendor ID) +# usbpid = [, ...] # USB PID (Product ID) (1) +# usbdev = ; # USB interface or other device info +# usbvendor = ; # USB Vendor Name +# usbproduct = ; # USB Product Name +# usbsn = ; # USB Serial Number +# +# To invert a bit, use = ~ , the spaces are important. +# For a pin list all pins must be inverted. +# A single pin can be specified as usual = ~ , for lists +# specify it as follows = ~ ( [, ... ] ) . +# +# (1) Not all programmer types can process a list of PIDs. +# ; +# +# part +# id = ; # quoted string +# desc = ; # quoted string +# has_jtag = ; # part has JTAG i/f +# has_debugwire = ; # part has debugWire i/f +# has_pdi = ; # part has PDI i/f +# has_tpi = ; # part has TPI i/f +# devicecode = ; # deprecated, use stk500_devcode +# stk500_devcode = ; # numeric +# avr910_devcode = ; # numeric +# signature = ; # signature bytes +# usbpid = ; # DFU USB PID +# chip_erase_delay = ; # micro-seconds +# reset = dedicated | io; +# retry_pulse = reset | sck; +# pgm_enable = ; +# chip_erase = ; +# chip_erase_delay = ; # chip erase delay (us) +# # STK500 parameters (parallel programming IO lines) +# pagel = ; # pin name in hex, i.e., 0xD7 +# bs2 = ; # pin name in hex, i.e., 0xA0 +# serial = ; # can use serial downloading +# parallel = ; # can use par. programming +# # STK500v2 parameters, to be taken from Atmel's XML files +# timeout = ; +# stabdelay = ; +# cmdexedelay = ; +# synchloops = ; +# bytedelay = ; +# pollvalue = ; +# pollindex = ; +# predelay = ; +# postdelay = ; +# pollmethod = ; +# mode = ; +# delay = ; +# blocksize = ; +# readsize = ; +# hvspcmdexedelay = ; +# # STK500v2 HV programming parameters, from XML +# pp_controlstack = , , ...; # PP only +# hvsp_controlstack = , , ...; # HVSP only +# hventerstabdelay = ; +# progmodedelay = ; # PP only +# latchcycles = ; +# togglevtg = ; +# poweroffdelay = ; +# resetdelayms = ; +# resetdelayus = ; +# hvleavestabdelay = ; +# resetdelay = ; +# synchcycles = ; # HVSP only +# chiperasepulsewidth = ; # PP only +# chiperasepolltimeout = ; +# chiperasetime = ; # HVSP only +# programfusepulsewidth = ; # PP only +# programfusepolltimeout = ; +# programlockpulsewidth = ; # PP only +# programlockpolltimeout = ; +# # JTAG ICE mkII parameters, also from XML files +# allowfullpagebitstream = ; +# enablepageprogramming = ; +# idr = ; # IO addr of IDR (OCD) reg. +# rampz = ; # IO addr of RAMPZ reg. +# spmcr = ; # mem addr of SPMC[S]R reg. +# eecr = ; # mem addr of EECR reg. +# # (only when != 0x3c) +# is_at90s1200 = ; # AT90S1200 part +# is_avr32 = ; # AVR32 part +# +# memory +# paged = ; # yes / no +# size = ; # bytes +# page_size = ; # bytes +# num_pages = ; # numeric +# min_write_delay = ; # micro-seconds +# max_write_delay = ; # micro-seconds +# readback_p1 = ; # byte value +# readback_p2 = ; # byte value +# pwroff_after_write = ; # yes / no +# read = ; +# write = ; +# read_lo = ; +# read_hi = ; +# write_lo = ; +# write_hi = ; +# loadpage_lo = ; +# loadpage_hi = ; +# writepage = ; +# ; +# ; +# +# If any of the above parameters are not specified, the default value +# of 0 is used for numerics or the empty string ("") for string +# values. If a required parameter is left empty, AVRDUDE will +# complain. +# +# Parts can also inherit parameters from previously defined parts +# using the following syntax. In this case specified integer and +# string values override parameter values from the parent part. New +# memory definitions are added to the definitions inherited from the +# parent. +# +# part parent # quoted string +# id = ; # quoted string +# +# ; +# +# NOTES: +# * 'devicecode' is the device code used by the STK500 (see codes +# listed below) +# * Not all memory types will implement all instructions. +# * AVR Fuse bits and Lock bits are implemented as a type of memory. +# * Example memory types are: +# "flash", "eeprom", "fuse", "lfuse" (low fuse), "hfuse" (high +# fuse), "signature", "calibration", "lock" +# * The memory type specified on the avrdude command line must match +# one of the memory types defined for the specified chip. +# * The pwroff_after_write flag causes avrdude to attempt to +# power the device off and back on after an unsuccessful write to +# the affected memory area if VCC programmer pins are defined. If +# VCC pins are not defined for the programmer, a message +# indicating that the device needs a power-cycle is printed out. +# This flag was added to work around a problem with the +# at90s4433/2333's; see the at90s4433 errata at: +# +# http://www.atmel.com/dyn/resources/prod_documents/doc1280.pdf +# +# INSTRUCTION FORMATS +# +# Instruction formats are specified as a comma seperated list of +# string values containing information (bit specifiers) about each +# of the 32 bits of the instruction. Bit specifiers may be one of +# the following formats: +# +# '1' = the bit is always set on input as well as output +# +# '0' = the bit is always clear on input as well as output +# +# 'x' = the bit is ignored on input and output +# +# 'a' = the bit is an address bit, the bit-number matches this bit +# specifier's position within the current instruction byte +# +# 'aN' = the bit is the Nth address bit, bit-number = N, i.e., a12 +# is address bit 12 on input, a0 is address bit 0. +# +# 'i' = the bit is an input data bit +# +# 'o' = the bit is an output data bit +# +# Each instruction must be composed of 32 bit specifiers. The +# instruction specification closely follows the instruction data +# provided in Atmel's data sheets for their parts. +# +# See below for some examples. +# +# +# The following are STK500 part device codes to use for the +# "devicecode" field of the part. These came from Atmel's software +# section avr061.zip which accompanies the application note +# AVR061 available from: +# +# http://www.atmel.com/dyn/resources/prod_documents/doc2525.pdf +# + +#define ATTINY10 0x10 /* the _old_ one that never existed! */ +#define ATTINY11 0x11 +#define ATTINY12 0x12 +#define ATTINY15 0x13 +#define ATTINY13 0x14 + +#define ATTINY22 0x20 +#define ATTINY26 0x21 +#define ATTINY28 0x22 +#define ATTINY2313 0x23 + +#define AT90S1200 0x33 + +#define AT90S2313 0x40 +#define AT90S2323 0x41 +#define AT90S2333 0x42 +#define AT90S2343 0x43 + +#define AT90S4414 0x50 +#define AT90S4433 0x51 +#define AT90S4434 0x52 +#define ATMEGA48 0x59 + +#define AT90S8515 0x60 +#define AT90S8535 0x61 +#define AT90C8534 0x62 +#define ATMEGA8515 0x63 +#define ATMEGA8535 0x64 + +#define ATMEGA8 0x70 +#define ATMEGA88 0x73 +#define ATMEGA168 0x86 + +#define ATMEGA161 0x80 +#define ATMEGA163 0x81 +#define ATMEGA16 0x82 +#define ATMEGA162 0x83 +#define ATMEGA169 0x84 + +#define ATMEGA323 0x90 +#define ATMEGA32 0x91 + +#define ATMEGA64 0xA0 + +#define ATMEGA103 0xB1 +#define ATMEGA128 0xB2 +#define AT90CAN128 0xB3 +#define AT90CAN64 0xB3 +#define AT90CAN32 0xB3 + +#define AT86RF401 0xD0 + +#define AT89START 0xE0 +#define AT89S51 0xE0 +#define AT89S52 0xE1 + +# The following table lists the devices in the original AVR910 +# appnote: +# |Device |Signature | Code | +# +-------+----------+------+ +# |tiny12 | 1E 90 05 | 0x55 | +# |tiny15 | 1E 90 06 | 0x56 | +# | | | | +# | S1200 | 1E 90 01 | 0x13 | +# | | | | +# | S2313 | 1E 91 01 | 0x20 | +# | S2323 | 1E 91 02 | 0x48 | +# | S2333 | 1E 91 05 | 0x34 | +# | S2343 | 1E 91 03 | 0x4C | +# | | | | +# | S4414 | 1E 92 01 | 0x28 | +# | S4433 | 1E 92 03 | 0x30 | +# | S4434 | 1E 92 02 | 0x6C | +# | | | | +# | S8515 | 1E 93 01 | 0x38 | +# | S8535 | 1E 93 03 | 0x68 | +# | | | | +# |mega32 | 1E 95 01 | 0x72 | +# |mega83 | 1E 93 05 | 0x65 | +# |mega103| 1E 97 01 | 0x41 | +# |mega161| 1E 94 01 | 0x60 | +# |mega163| 1E 94 02 | 0x64 | + +# Appnote AVR109 also has a table of AVR910 device codes, which +# lists: +# dev avr910 signature +# ATmega8 0x77 0x1E 0x93 0x07 +# ATmega8515 0x3B 0x1E 0x93 0x06 +# ATmega8535 0x6A 0x1E 0x93 0x08 +# ATmega16 0x75 0x1E 0x94 0x03 +# ATmega162 0x63 0x1E 0x94 0x04 +# ATmega163 0x66 0x1E 0x94 0x02 +# ATmega169 0x79 0x1E 0x94 0x05 +# ATmega32 0x7F 0x1E 0x95 0x02 +# ATmega323 0x73 0x1E 0x95 0x01 +# ATmega64 0x46 0x1E 0x96 0x02 +# ATmega128 0x44 0x1E 0x97 0x02 +# +# These codes refer to "BOOT" device codes which are apparently +# different than standard device codes, for whatever reasons +# (often one above the standard code). + +# There are several extended versions of AVR910 implementations around +# in the Internet. These add the following codes (only devices that +# actually exist are listed): + +# ATmega8515 0x3A +# ATmega128 0x43 +# ATmega64 0x45 +# ATtiny26 0x5E +# ATmega8535 0x69 +# ATmega32 0x72 +# ATmega16 0x74 +# ATmega8 0x76 +# ATmega169 0x78 + +# +# Overall avrdude defaults; suitable for ~/.avrduderc +# +default_parallel = "unknown"; +default_serial = "unknown"; +# default_bitclock = 2.5; + +# Turn off safemode by default +#default_safemode = no; + + +# +# PROGRAMMER DEFINITIONS +# + +# http://wiring.org.co/ +# Basically STK500v2 protocol, with some glue to trigger the +# bootloader. +programmer + id = "wiring"; + desc = "Wiring"; + type = "wiring"; + connection_type = serial; +; + +programmer + id = "arduino"; + desc = "Arduino"; + type = "arduino"; + connection_type = serial; +; +# this will interface with the chips on these programmers: +# +# http://real.kiev.ua/old/avreal/en/adapters +# http://www.amontec.com/jtagkey.shtml, jtagkey-tiny.shtml +# http://www.olimex.com/dev/arm-usb-ocd.html, arm-usb-tiny.html +# http://www.ethernut.de/en/hardware/turtelizer/index.html +# http://elk.informatik.fh-augsburg.de/hhweb/doc/openocd/usbjtag/usbjtag.html +# http://dangerousprototypes.com/docs/FT2232_breakout_board +# http://www.ftdichip.com/Products/Modules/DLPModules.htm,DLP-2232*,DLP-USB1232H +# http://flashrom.org/FT2232SPI_Programmer +# +# The drivers will look for a specific device and use the first one found. +# If you have mulitple devices, then look for unique information (like SN) +# And fill that in here. +# +# Note that the pin numbers for the main ISP signals (reset, sck, +# mosi, miso) are fixed and cannot be changed, since they must match +# the way the Multi-Protocol Synchronous Serial Engine (MPSSE) of +# these FTDI ICs has been designed. + +programmer + id = "avrftdi"; + desc = "FT2232D based generic programmer"; + type = "avrftdi"; + connection_type = usb; + usbvid = 0x0403; + usbpid = 0x6010; + usbvendor = ""; + usbproduct = ""; + usbdev = "A"; + usbsn = ""; +#ISP-signals - lower ADBUS-Nibble (default) + reset = 3; + sck = 0; + mosi = 1; + miso = 2; +#LED SIGNALs - higher ADBUS-Nibble +# errled = 4; +# rdyled = 5; +# pgmled = 6; +# vfyled = 7; +#Buffer Signal - ACBUS - Nibble +# buff = 8; +; +# This is an implementation of the above with a buffer IC (74AC244) and +# 4 LEDs directly attached, all active low. +programmer + id = "2232HIO"; + desc = "FT2232H based generic programmer"; + type = "avrftdi"; + connection_type = usb; + usbvid = 0x0403; +# Note: This PID is reserved for generic H devices and +# should be programmed into the EEPROM +# usbpid = 0x8A48; + usbpid = 0x6010; + usbdev = "A"; + usbvendor = ""; + usbproduct = ""; + usbsn = ""; +#ISP-signals + reset = 3; + sck = 0; + mosi = 1; + miso = 2; + buff = ~4; +#LED SIGNALs + errled = ~ 11; + rdyled = ~ 14; + pgmled = ~ 13; + vfyled = ~ 12; +; + +#The FT4232H can be treated as FT2232H, but it has a different USB +#device ID of 0x6011. +programmer parent "avrftdi" + id = "4232h"; + desc = "FT4232H based generic programmer"; + usbpid = 0x6011; +; + +programmer + id = "jtagkey"; + desc = "Amontec JTAGKey, JTAGKey-Tiny and JTAGKey2"; + type = "avrftdi"; + connection_type = usb; + usbvid = 0x0403; +# Note: This PID is used in all JTAGKey variants + usbpid = 0xCFF8; + usbdev = "A"; + usbvendor = ""; + usbproduct = ""; + usbsn = ""; +#ISP-signals => 20 - Pin connector on JTAGKey + reset = 3; # TMS 7 violet + sck = 0; # TCK 9 white + mosi = 1; # TDI 5 green + miso = 2; # TDO 13 orange + buff = ~4; +# VTG VREF 1 brown with red tip +# GND GND 20 black +# The colors are on the 20 pin breakout cable +# from Amontec +; + +# UM232H module from FTDI and Glyn.com.au. +# See helix.air.net.au for detailed usage information. +# J1: Connect pin 2 and 3 for USB power. +# J2: Connect pin 2 and 3 for USB power. +# J2: Pin 7 is SCK +# : Pin 8 is MOSI +# : Pin 9 is MISO +# : Pin 11 is RST +# : Pin 6 is ground +# Use the -b flag to set the SPI clock rate eg -b 3750000 is the fastest I could get +# a 16MHz Atmega1280 to program reliably. The 232H is conveniently 5V tolerant. +programmer + id = "UM232H"; + desc = "FT232H based module from FTDI and Glyn.com.au"; + type = "avrftdi"; + usbvid = 0x0403; +# Note: This PID is reserved for generic 232H devices and +# should be programmed into the EEPROM + usbpid = 0x6014; + usbdev = "A"; + usbvendor = ""; + usbproduct = ""; + usbsn = ""; +#ISP-signals + sck = 0; + mosi = 1; + miso = 2; + reset = 3; +; + +# C232HM module from FTDI and Glyn.com.au. +# : Orange is SCK +# : Yellow is MOSI +# : Green is MISO +# : Brown is RST +# : Black is ground +# Use the -b flag to set the SPI clock rate eg -b 3750000 is the fastest I could get +# a 16MHz Atmega1280 to program reliably. The 232H is conveniently 5V tolerant. +programmer + id = "C232HM"; + desc = "FT232H based module from FTDI and Glyn.com.au"; + type = "avrftdi"; + usbvid = 0x0403; +# Note: This PID is reserved for generic 232H devices and +# should be programmed into the EEPROM + usbpid = 0x6014; + usbdev = "A"; + usbvendor = ""; + usbproduct = ""; + usbsn = ""; +#ISP-signals + sck = 0; + mosi = 1; + miso = 2; + reset = 3; +; + + +# On the adapter you can read "O-Link". On the PCB is printed "OpenJTAG v3.1" +# You can find it as "OpenJTAG ARM JTAG USB" in the internet. +# (But there are also several projects called Open JTAG, eg. +# http://www.openjtag.org, which are completely different.) +# http://www.100ask.net/shop/english.html (website seems to be outdated) +# http://item.taobao.com/item.htm?id=1559277013 +# http://www.micro4you.com/store/openjtag-arm-jtag-usb.html (schematics!) +# some other sources which call it O-Link +# http://www.andahammer.com/olink/ +# http://www.developmentboard.net/31-o-link-debugger.html +# http://armwerks.com/catalog/o-link-debugger-copy/ +# or just have a look at ebay ... +# It is basically the same entry as jtagkey with different usb ids. +programmer parent "jtagkey" + id = "o-link"; + desc = "O-Link, OpenJTAG from www.100ask.net"; + usbvid = 0x1457; + usbpid = 0x5118; + usbvendor = "www.100ask.net"; + usbproduct = "USB<=>JTAG&RS232"; +; + +# http://wiki.openmoko.org/wiki/Debug_Board_v3 +programmer + id = "openmoko"; + desc = "Openmoko debug board (v3)"; + type = "avrftdi"; + usbvid = 0x1457; + usbpid = 0x5118; + usbdev = "A"; + usbvendor = ""; + usbproduct = ""; + usbsn = ""; + reset = 3; # TMS 7 + sck = 0; # TCK 9 + mosi = 1; # TDI 5 + miso = 2; # TDO 13 +; + +# Only Rev. A boards. +# Schematic and user manual: http://www.cs.put.poznan.pl/wswitala/download/pdf/811EVBK.pdf +programmer + id = "lm3s811"; + desc = "Luminary Micro LM3S811 Eval Board (Rev. A)"; + type = "avrftdi"; + connection_type = usb; + usbvid = 0x0403; + usbpid = 0xbcd9; + usbvendor = "LMI"; + usbproduct = "LM3S811 Evaluation Board"; + usbdev = "A"; + usbsn = ""; +#ISP-signals - lower ACBUS-Nibble (default) + reset = 3; + sck = 0; + mosi = 1; + miso = 2; +# Enable correct buffers + buff = 7; +; + +# submitted as bug #46020 +programmer + id = "tumpa"; + desc = "TIAO USB Multi-Protocol Adapter"; + type = "avrftdi"; + connection_type = usb; + usbvid = 0x0403; + usbpid = 0x8A98; + usbdev = "A"; + usbvendor = "TIAO"; + usbproduct = ""; + usbsn = ""; + sck = 0; # TCK 9 + mosi = 1; # TDI 5 + miso = 2; # TDO 13 + reset = 3; # TMS 7 +; + +programmer + id = "avrisp"; + desc = "Atmel AVR ISP"; + type = "stk500"; + connection_type = serial; +; + +programmer + id = "avrispv2"; + desc = "Atmel AVR ISP V2"; + type = "stk500v2"; + connection_type = serial; +; + +programmer + id = "avrispmkII"; + desc = "Atmel AVR ISP mkII"; + type = "stk500v2"; + connection_type = usb; +; + +programmer parent "avrispmkII" + id = "avrisp2"; +; + +programmer + id = "buspirate"; + desc = "The Bus Pirate"; + type = "buspirate"; + connection_type = serial; +; + +programmer + id = "buspirate_bb"; + desc = "The Bus Pirate (bitbang interface, supports TPI)"; + type = "buspirate_bb"; + connection_type = serial; + # pins are bits in bitbang byte (numbers are 87654321) + # 1|POWER|PULLUP|AUX|MOSI|CLK|MISO|CS + reset = 1; + sck = 3; + mosi = 4; + miso = 2; + #vcc = 7; This is internally set independent of this setting. +; + +# This is supposed to be the "default" STK500 entry. +# Attempts to select the correct firmware version +# by probing for it. Better use one of the entries +# below instead. +programmer + id = "stk500"; + desc = "Atmel STK500"; + type = "stk500generic"; + connection_type = serial; +; + +programmer + id = "stk500v1"; + desc = "Atmel STK500 Version 1.x firmware"; + type = "stk500"; + connection_type = serial; +; + +programmer + id = "mib510"; + desc = "Crossbow MIB510 programming board"; + type = "stk500"; + connection_type = serial; +; + +programmer + id = "stk500v2"; + desc = "Atmel STK500 Version 2.x firmware"; + type = "stk500v2"; + connection_type = serial; +; + +programmer + id = "stk500pp"; + desc = "Atmel STK500 V2 in parallel programming mode"; + type = "stk500pp"; + connection_type = serial; +; + +programmer + id = "stk500hvsp"; + desc = "Atmel STK500 V2 in high-voltage serial programming mode"; + type = "stk500hvsp"; + connection_type = serial; +; + +programmer + id = "stk600"; + desc = "Atmel STK600"; + type = "stk600"; + connection_type = usb; +; + +programmer + id = "stk600pp"; + desc = "Atmel STK600 in parallel programming mode"; + type = "stk600pp"; + connection_type = usb; +; + +programmer + id = "stk600hvsp"; + desc = "Atmel STK600 in high-voltage serial programming mode"; + type = "stk600hvsp"; + connection_type = usb; +; + +programmer + id = "avr910"; + desc = "Atmel Low Cost Serial Programmer"; + type = "avr910"; + connection_type = serial; +; + +programmer + id = "ft245r"; + desc = "FT245R Synchronous BitBang"; + type = "ftdi_syncbb"; + connection_type = usb; + miso = 1; # D1 + sck = 0; # D0 + mosi = 2; # D2 + reset = 4; # D4 +; + +programmer + id = "ft232r"; + desc = "FT232R Synchronous BitBang"; + type = "ftdi_syncbb"; + connection_type = usb; + miso = 1; # RxD + sck = 0; # TxD + mosi = 2; # RTS + reset = 4; # DTR +; + +# see http://www.bitwizard.nl/wiki/index.php/FTDI_ATmega +programmer + id = "bwmega"; + desc = "BitWizard ftdi_atmega builtin programmer"; + type = "ftdi_syncbb"; + connection_type = usb; + miso = 5; # DSR + sck = 6; # DCD + mosi = 3; # CTS + reset = 7; # RI +; + +# see http://www.geocities.jp/arduino_diecimila/bootloader/index_en.html +# Note: pins are numbered from 1! +programmer + id = "arduino-ft232r"; + desc = "Arduino: FT232R connected to ISP"; + type = "ftdi_syncbb"; + connection_type = usb; + miso = 3; # CTS X3(1) + sck = 5; # DSR X3(2) + mosi = 6; # DCD X3(3) + reset = 7; # RI X3(4) +; + +# website mentioned above uses this id +programmer parent "arduino-ft232r" + id = "diecimila"; + desc = "alias for arduino-ft232r"; +; + +# There is a ATmega328P kit PCB called "uncompatino". +# This board allows ISP via its on-board FT232R. +# This is designed like Arduino Duemilanove but has no standard ICPS header. +# Its 4 pairs of pins are shorted to enable ftdi_syncbb. +# http://akizukidenshi.com/catalog/g/gP-07487/ +# http://akizukidenshi.com/download/ds/akizuki/k6096_manual_20130816.pdf +programmer + id = "uncompatino"; + desc = "uncompatino with all pairs of pins shorted"; + type = "ftdi_syncbb"; + connection_type = usb; + miso = 3; # cts + sck = 5; # dsr + mosi = 6; # dcd + reset = 7; # ri +; + +# FTDI USB to serial cable TTL-232R-5V with a custom adapter for ICSP +# http://www.ftdichip.com/Products/Cables/USBTTLSerial.htm +# http://www.ftdichip.com/Support/Documents/DataSheets/Cables/DS_TTL-232R_CABLES.pdf +# For ICSP pinout see for example http://www.atmel.com/images/doc2562.pdf +# (Figure 1. ISP6PIN header pinout and Table 1. Connections required for ISP ...) +# TTL-232R GND 1 Black -> ICPS GND (pin 6) +# TTL-232R CTS 2 Brown -> ICPS MOSI (pin 4) +# TTL-232R VCC 3 Red -> ICPS VCC (pin 2) +# TTL-232R TXD 4 Orange -> ICPS RESET (pin 5) +# TTL-232R RXD 5 Yellow -> ICPS SCK (pin 3) +# TTL-232R RTS 6 Green -> ICPS MISO (pin 1) +# Except for VCC and GND, you can connect arbitual pairs as long as +# the following table is adjusted. +programmer + id = "ttl232r"; + desc = "FTDI TTL232R-5V with ICSP adapter"; + type = "ftdi_syncbb"; + connection_type = usb; + miso = 2; # rts + sck = 1; # rxd + mosi = 3; # cts + reset = 0; # txd +; + +programmer + id = "usbasp"; + desc = "USBasp, http://www.fischl.de/usbasp/"; + type = "usbasp"; + connection_type = usb; + usbvid = 0x16C0; # VOTI + usbpid = 0x05DC; # Obdev's free shared PID + usbvendor = "www.fischl.de"; + usbproduct = "USBasp"; + + # following variants are autodetected for id "usbasp" + + # original usbasp from fischl.de + # see above "usbasp" + + # old usbasp from fischl.de + #usbvid = 0x03EB; # ATMEL + #usbpid = 0xC7B4; # (unoffical) USBasp + #usbvendor = "www.fischl.de"; + #usbproduct = "USBasp"; + + # NIBObee (only if -P nibobee is given on command line) + # see below "nibobee" +; + +programmer + id = "nibobee"; + desc = "NIBObee"; + type = "usbasp"; + connection_type = usb; + usbvid = 0x16C0; # VOTI + usbpid = 0x092F; # NIBObee PID + usbvendor = "www.nicai-systems.com"; + usbproduct = "NIBObee"; +; + +programmer + id = "usbasp-clone"; + desc = "Any usbasp clone with correct VID/PID"; + type = "usbasp"; + connection_type = usb; + usbvid = 0x16C0; # VOTI + usbpid = 0x05DC; # Obdev's free shared PID + #usbvendor = ""; + #usbproduct = ""; +; + +programmer + id = "usbtiny"; + desc = "USBtiny simple USB programmer, http://www.ladyada.net/make/usbtinyisp/"; + type = "usbtiny"; + connection_type = usb; + usbvid = 0x1781; + usbpid = 0x0c9f; +; + +programmer + id = "arduinoisp"; + desc = "Arduino ISP Programmer"; + type = "usbtiny"; + connection_type = usb; + usbvid = 0x2341; + usbpid = 0x0049; +; + +programmer + id = "arduinoisporg"; + desc = "Arduino ISP Programmer"; + type = "usbtiny"; + connection_type = usb; + usbvid = 0x2A03; + usbpid = 0x0049; +; + +programmer + id = "butterfly"; + desc = "Atmel Butterfly Development Board"; + type = "butterfly"; + connection_type = serial; +; + +programmer + id = "avr109"; + desc = "Atmel AppNote AVR109 Boot Loader"; + type = "butterfly"; + connection_type = serial; +; + +programmer + id = "avr911"; + desc = "Atmel AppNote AVR911 AVROSP"; + type = "butterfly"; + connection_type = serial; +; + +# suggested in http://forum.mikrokopter.de/topic-post48317.html +programmer + id = "mkbutterfly"; + desc = "Mikrokopter.de Butterfly"; + type = "butterfly_mk"; + connection_type = serial; +; + +programmer parent "mkbutterfly" + id = "butterfly_mk"; +; + +programmer + id = "jtagmkI"; + desc = "Atmel JTAG ICE (mkI)"; + baudrate = 115200; # default is 115200 + type = "jtagmki"; + connection_type = serial; +; + +# easier to type +programmer parent "jtagmkI" + id = "jtag1"; +; + +# easier to type +programmer parent "jtag1" + id = "jtag1slow"; + baudrate = 19200; +; + +# The JTAG ICE mkII has both, serial and USB connectivity. As it is +# mostly used through USB these days (AVR Studio 5 only supporting it +# that way), we make connection_type = usb the default. Users are +# still free to use a serial port with the -P option. + +programmer + id = "jtagmkII"; + desc = "Atmel JTAG ICE mkII"; + baudrate = 19200; # default is 19200 + type = "jtagmkii"; + connection_type = usb; +; + +# easier to type +programmer parent "jtagmkII" + id = "jtag2slow"; +; + +# JTAG ICE mkII @ 115200 Bd +programmer parent "jtag2slow" + id = "jtag2fast"; + baudrate = 115200; +; + +# make the fast one the default, people will love that +programmer parent "jtag2fast" + id = "jtag2"; +; + +# JTAG ICE mkII in ISP mode +programmer + id = "jtag2isp"; + desc = "Atmel JTAG ICE mkII in ISP mode"; + baudrate = 115200; + type = "jtagmkii_isp"; + connection_type = usb; +; + +# JTAG ICE mkII in debugWire mode +programmer + id = "jtag2dw"; + desc = "Atmel JTAG ICE mkII in debugWire mode"; + baudrate = 115200; + type = "jtagmkii_dw"; + connection_type = usb; +; + +# JTAG ICE mkII in AVR32 mode +programmer + id = "jtagmkII_avr32"; + desc = "Atmel JTAG ICE mkII im AVR32 mode"; + baudrate = 115200; + type = "jtagmkii_avr32"; + connection_type = usb; +; + +# JTAG ICE mkII in AVR32 mode +programmer + id = "jtag2avr32"; + desc = "Atmel JTAG ICE mkII im AVR32 mode"; + baudrate = 115200; + type = "jtagmkii_avr32"; + connection_type = usb; +; + +# JTAG ICE mkII in PDI mode +programmer + id = "jtag2pdi"; + desc = "Atmel JTAG ICE mkII PDI mode"; + baudrate = 115200; + type = "jtagmkii_pdi"; + connection_type = usb; +; + +# AVR Dragon in JTAG mode +programmer + id = "dragon_jtag"; + desc = "Atmel AVR Dragon in JTAG mode"; + baudrate = 115200; + type = "dragon_jtag"; + connection_type = usb; +; + +# AVR Dragon in ISP mode +programmer + id = "dragon_isp"; + desc = "Atmel AVR Dragon in ISP mode"; + baudrate = 115200; + type = "dragon_isp"; + connection_type = usb; +; + +# AVR Dragon in PP mode +programmer + id = "dragon_pp"; + desc = "Atmel AVR Dragon in PP mode"; + baudrate = 115200; + type = "dragon_pp"; + connection_type = usb; +; + +# AVR Dragon in HVSP mode +programmer + id = "dragon_hvsp"; + desc = "Atmel AVR Dragon in HVSP mode"; + baudrate = 115200; + type = "dragon_hvsp"; + connection_type = usb; +; + +# AVR Dragon in debugWire mode +programmer + id = "dragon_dw"; + desc = "Atmel AVR Dragon in debugWire mode"; + baudrate = 115200; + type = "dragon_dw"; + connection_type = usb; +; + +# AVR Dragon in PDI mode +programmer + id = "dragon_pdi"; + desc = "Atmel AVR Dragon in PDI mode"; + baudrate = 115200; + type = "dragon_pdi"; + connection_type = usb; +; + +programmer + id = "jtag3"; + desc = "Atmel AVR JTAGICE3 in JTAG mode"; + type = "jtagice3"; + connection_type = usb; + usbpid = 0x2110, 0x2140; +; + +programmer + id = "jtag3pdi"; + desc = "Atmel AVR JTAGICE3 in PDI mode"; + type = "jtagice3_pdi"; + connection_type = usb; + usbpid = 0x2110, 0x2140; +; + +programmer + id = "jtag3dw"; + desc = "Atmel AVR JTAGICE3 in debugWIRE mode"; + type = "jtagice3_dw"; + connection_type = usb; + usbpid = 0x2110, 0x2140; +; + +programmer + id = "jtag3isp"; + desc = "Atmel AVR JTAGICE3 in ISP mode"; + type = "jtagice3_isp"; + connection_type = usb; + usbpid = 0x2110, 0x2140; +; + +programmer + id = "xplainedpro"; + desc = "Atmel AVR XplainedPro in JTAG mode"; + type = "jtagice3"; + connection_type = usb; + usbpid = 0x2111; +; + +programmer + id = "xplainedmini"; + desc = "Atmel AVR XplainedMini in ISP mode"; + type = "jtagice3_isp"; + connection_type = usb; + usbpid = 0x2145; +; + +programmer + id = "xplainedmini_dw"; + desc = "Atmel AVR XplainedMini in debugWIRE mode"; + type = "jtagice3_dw"; + connection_type = usb; + usbpid = 0x2145; +; + +programmer + id = "atmelice"; + desc = "Atmel-ICE (ARM/AVR) in JTAG mode"; + type = "jtagice3"; + connection_type = usb; + usbpid = 0x2141; +; + +programmer + id = "atmelice_pdi"; + desc = "Atmel-ICE (ARM/AVR) in PDI mode"; + type = "jtagice3_pdi"; + connection_type = usb; + usbpid = 0x2141; +; + +programmer + id = "atmelice_dw"; + desc = "Atmel-ICE (ARM/AVR) in debugWIRE mode"; + type = "jtagice3_dw"; + connection_type = usb; + usbpid = 0x2141; +; + +programmer + id = "atmelice_isp"; + desc = "Atmel-ICE (ARM/AVR) in ISP mode"; + type = "jtagice3_isp"; + connection_type = usb; + usbpid = 0x2141; +; + + +programmer + id = "pavr"; + desc = "Jason Kyle's pAVR Serial Programmer"; + type = "avr910"; + connection_type = serial; +; + +programmer + id = "pickit2"; + desc = "MicroChip's PICkit2 Programmer"; + type = "pickit2"; + connection_type = usb; +; + +programmer + id = "flip1"; + desc = "FLIP USB DFU protocol version 1 (doc7618)"; + type = "flip1"; + connection_type = usb; +; + +programmer + id = "flip2"; + desc = "FLIP USB DFU protocol version 2 (AVR4023)"; + type = "flip2"; + connection_type = usb; +; + + +#This programmer bitbangs GPIO lines using the Linux sysfs GPIO interface +# +#To enable it set the configuration below to match the GPIO lines connected to the +#relevant ISP header pins and uncomment the entry definition. In case you don't +#have the required permissions to edit this system wide config file put the +#entry in a separate .conf file and use it with -C+.conf +#on the command line. +# +#To check if your avrdude build has support for the linuxgpio programmer compiled in, +#use -c?type on the command line and look for linuxgpio in the list. If it's not available +#you need pass the --enable-linuxgpio=yes option to configure and recompile avrdude. +# +#programmer +# id = "linuxgpio"; +# desc = "Use the Linux sysfs interface to bitbang GPIO lines"; +# type = "linuxgpio"; +# reset = ?; +# sck = ?; +# mosi = ?; +# miso = ?; +#; + +# some ultra cheap programmers use bitbanging on the +# serialport. +# +# PC - DB9 - Pins for RS232: +# +# GND 5 -- |O +# | O| <- 9 RI +# DTR 4 <- |O | +# | O| <- 8 CTS +# TXD 3 <- |O | +# | O| -> 7 RTS +# RXD 2 -> |O | +# | O| <- 6 DSR +# DCD 1 -> |O +# +# Using RXD is currently not supported. +# Using RI is not supported under Win32 but is supported under Posix. + +# serial ponyprog design (dasa2 in uisp) +# reset=!txd sck=rts mosi=dtr miso=cts + +programmer + id = "ponyser"; + desc = "design ponyprog serial, reset=!txd sck=rts mosi=dtr miso=cts"; + type = "serbb"; + connection_type = serial; + reset = ~3; + sck = 7; + mosi = 4; + miso = 8; +; + +# Same as above, different name +# reset=!txd sck=rts mosi=dtr miso=cts + +programmer parent "ponyser" + id = "siprog"; + desc = "Lancos SI-Prog "; +; + +# unknown (dasa in uisp) +# reset=rts sck=dtr mosi=txd miso=cts + +programmer + id = "dasa"; + desc = "serial port banging, reset=rts sck=dtr mosi=txd miso=cts"; + type = "serbb"; + connection_type = serial; + reset = 7; + sck = 4; + mosi = 3; + miso = 8; +; + +# unknown (dasa3 in uisp) +# reset=!dtr sck=rts mosi=txd miso=cts + +programmer + id = "dasa3"; + desc = "serial port banging, reset=!dtr sck=rts mosi=txd miso=cts"; + type = "serbb"; + connection_type = serial; + reset = ~4; + sck = 7; + mosi = 3; + miso = 8; +; + +# C2N232i (jumper configuration "auto") +# reset=dtr sck=!rts mosi=!txd miso=!cts + +programmer + id = "c2n232i"; + desc = "serial port banging, reset=dtr sck=!rts mosi=!txd miso=!cts"; + type = "serbb"; + connection_type = serial; + reset = 4; + sck = ~7; + mosi = ~3; + miso = ~8; +; + +# +# PART DEFINITIONS +# + +#------------------------------------------------------------ +# ATtiny11 +#------------------------------------------------------------ + +# This is an HVSP-only device. + +part + id = "t11"; + desc = "ATtiny11"; + stk500_devcode = 0x11; + signature = 0x1e 0x90 0x04; + chip_erase_delay = 20000; + + timeout = 200; + hvsp_controlstack = + 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x00, + 0x68, 0x78, 0x68, 0x68, 0x00, 0x00, 0x68, 0x78, + 0x78, 0x00, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + hvspcmdexedelay = 0; + synchcycles = 6; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 0; + resetdelayus = 50; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; + chiperasetime = 0; + programfusepolltimeout = 25; + programlockpolltimeout = 25; + + memory "eeprom" + size = 64; + blocksize = 64; + readsize = 256; + delay = 5; + ; + + memory "flash" + size = 1024; + blocksize = 128; + readsize = 256; + delay = 3; + ; + + memory "signature" + size = 3; + ; + + memory "lock" + size = 1; + ; + + memory "calibration" + size = 1; + ; + + memory "fuse" + size = 1; + ; +; + +#------------------------------------------------------------ +# ATtiny12 +#------------------------------------------------------------ + +part + id = "t12"; + desc = "ATtiny12"; + stk500_devcode = 0x12; + avr910_devcode = 0x55; + signature = 0x1e 0x90 0x05; + chip_erase_delay = 20000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + hvsp_controlstack = + 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x00, + 0x68, 0x78, 0x68, 0x68, 0x00, 0x00, 0x68, 0x78, + 0x78, 0x00, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; + hventerstabdelay = 100; + hvspcmdexedelay = 0; + synchcycles = 6; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 0; + resetdelayus = 50; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; + chiperasetime = 0; + programfusepolltimeout = 25; + programlockpolltimeout = 25; + + memory "eeprom" + size = 64; + min_write_delay = 9000; + max_write_delay = 20000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 x x x x x x x x", + "x x a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 x x x x x x x x", + "x x a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + mode = 0x04; + delay = 8; + blocksize = 64; + readsize = 256; + ; + + memory "flash" + size = 1024; + min_write_delay = 4500; + max_write_delay = 20000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + write_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 5; + blocksize = 128; + readsize = 256; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 x x x x x x x x", + "x x x x x x x x x x x x x o o x"; + + write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", + "x x x x x x x x x x x x x x x x"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "fuse" + size = 1; + read = "0 1 0 1 0 0 0 0 x x x x x x x x", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 x x x x x", + "x x x x x x x x i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; +; + +#------------------------------------------------------------ +# ATtiny13 +#------------------------------------------------------------ + +part + id = "t13"; + desc = "ATtiny13"; + has_debugwire = yes; + flash_instr = 0xB4, 0x0E, 0x1E; + eeprom_instr = 0xBB, 0xFE, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, + 0xBC, 0x0E, 0xB4, 0x0E, 0xBA, 0x0D, 0xBB, 0xBC, + 0x99, 0xE1, 0xBB, 0xAC; + stk500_devcode = 0x14; + signature = 0x1e 0x90 0x07; + chip_erase_delay = 4000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + hvsp_controlstack = + 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66, + 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78, + 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + hvspcmdexedelay = 0; + synchcycles = 6; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 0; + resetdelayus = 90; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; + chiperasetime = 0; + programfusepolltimeout = 25; + programlockpolltimeout = 25; + + ocdrev = 0; + + memory "eeprom" + size = 64; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x", + "x x a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x", + "x x a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " x x a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 5; + blocksize = 4; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 1024; + page_size = 32; + num_pages = 32; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 0 0 0 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 0 0 0 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x x x a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x x x a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 0 0 0 a8", + " a7 a6 a5 a4 x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 32; + readsize = 256; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "lock" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "calibration" + size = 2; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 a0 o o o o o o o o"; + ; + + memory "lfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + ; + +; + + +#------------------------------------------------------------ +# ATtiny15 +#------------------------------------------------------------ + +part + id = "t15"; + desc = "ATtiny15"; + stk500_devcode = 0x13; + avr910_devcode = 0x56; + signature = 0x1e 0x90 0x06; + chip_erase_delay = 8200; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + hvsp_controlstack = + 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x00, + 0x68, 0x78, 0x68, 0x68, 0x00, 0x00, 0x68, 0x78, + 0x78, 0x00, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; + hventerstabdelay = 100; + hvspcmdexedelay = 5; + synchcycles = 6; + latchcycles = 16; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 0; + resetdelayus = 50; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; + chiperasetime = 0; + programfusepolltimeout = 25; + programlockpolltimeout = 25; + + memory "eeprom" + size = 64; + min_write_delay = 8200; + max_write_delay = 8200; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 x x x x x x x x", + "x x a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 x x x x x x x x", + "x x a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + mode = 0x04; + delay = 10; + blocksize = 64; + readsize = 256; + ; + + memory "flash" + size = 1024; + min_write_delay = 4100; + max_write_delay = 4100; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + write_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 5; + blocksize = 128; + readsize = 256; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 x x x x x x x x", + "x x x x x x x x x x x x x o o x"; + + write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", + "x x x x x x x x x x x x x x x x"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "fuse" + size = 1; + read = "0 1 0 1 0 0 0 0 x x x x x x x x", + "x x x x x x x x o o o o x x o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 x x x x x", + "x x x x x x x x i i i i 1 1 i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; +; + +#------------------------------------------------------------ +# AT90s1200 +#------------------------------------------------------------ + +part + id = "1200"; + desc = "AT90S1200"; + is_at90s1200 = yes; + stk500_devcode = 0x33; + avr910_devcode = 0x13; + signature = 0x1e 0x90 0x01; + pagel = 0xd7; + bs2 = 0xa0; + chip_erase_delay = 20000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 1; + bytedelay = 0; + pollindex = 0; + pollvalue = 0xFF; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 0; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 15; + chiperasepolltimeout = 0; + programfusepulsewidth = 2; + programfusepolltimeout = 0; + programlockpulsewidth = 0; + programlockpolltimeout = 1; + + memory "eeprom" + size = 64; + min_write_delay = 4000; + max_write_delay = 9000; + readback_p1 = 0x00; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 x x x x x x x x", + "x x a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 x x x x x x x x", + "x x a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + mode = 0x04; + delay = 20; + blocksize = 32; + readsize = 256; + ; + memory "flash" + size = 1024; + min_write_delay = 4000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + write_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x02; + delay = 15; + blocksize = 128; + readsize = 256; + ; + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "fuse" + size = 1; + ; + memory "lock" + size = 1; + min_write_delay = 9000; + max_write_delay = 20000; + write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", + "x x x x x x x x x x x x x x x x"; + ; + ; + +#------------------------------------------------------------ +# AT90s4414 +#------------------------------------------------------------ + +part + id = "4414"; + desc = "AT90S4414"; + stk500_devcode = 0x50; + avr910_devcode = 0x28; + signature = 0x1e 0x92 0x01; + chip_erase_delay = 20000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 0; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 15; + chiperasepolltimeout = 0; + programfusepulsewidth = 2; + programfusepolltimeout = 0; + programlockpulsewidth = 0; + programlockpolltimeout = 1; + + memory "eeprom" + size = 256; + min_write_delay = 9000; + max_write_delay = 20000; + readback_p1 = 0x80; + readback_p2 = 0x7f; + read = " 1 0 1 0 0 0 0 0 x x x x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0 x x x x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 64; + readsize = 256; + ; + memory "flash" + size = 4096; + min_write_delay = 9000; + max_write_delay = 20000; + readback_p1 = 0x7f; + readback_p2 = 0x7f; + read_lo = " 0 0 1 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write_lo = " 0 1 0 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + write_hi = " 0 1 0 0 1 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 64; + readsize = 256; + ; + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "fuse" + size = 1; + ; + memory "lock" + size = 1; + write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", + "x x x x x x x x x x x x x x x x"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + ; + +#------------------------------------------------------------ +# AT90s2313 +#------------------------------------------------------------ + +part + id = "2313"; + desc = "AT90S2313"; + stk500_devcode = 0x40; + avr910_devcode = 0x20; + signature = 0x1e 0x91 0x01; + chip_erase_delay = 20000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 0; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 15; + chiperasepolltimeout = 0; + programfusepulsewidth = 2; + programfusepolltimeout = 0; + programlockpulsewidth = 0; + programlockpolltimeout = 1; + + memory "eeprom" + size = 128; + min_write_delay = 4000; + max_write_delay = 9000; + readback_p1 = 0x80; + readback_p2 = 0x7f; + read = "1 0 1 0 0 0 0 0 x x x x x x x x", + "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 x x x x x x x x", + "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 64; + readsize = 256; + ; + memory "flash" + size = 2048; + min_write_delay = 4000; + max_write_delay = 9000; + readback_p1 = 0x7f; + readback_p2 = 0x7f; + read_lo = " 0 0 1 0 0 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + write_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 256; + ; + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "fuse" + size = 1; + ; + memory "lock" + size = 1; + write = "1 0 1 0 1 1 0 0 1 1 1 x x i i x", + "x x x x x x x x x x x x x x x x"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + ; + +#------------------------------------------------------------ +# AT90s2333 +#------------------------------------------------------------ + +part + id = "2333"; +##### WARNING: No XML file for device 'AT90S2333'! ##### + desc = "AT90S2333"; + stk500_devcode = 0x42; + avr910_devcode = 0x34; + signature = 0x1e 0x91 0x05; + chip_erase_delay = 20000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 0; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 15; + chiperasepolltimeout = 0; + programfusepulsewidth = 2; + programfusepolltimeout = 0; + programlockpulsewidth = 0; + programlockpolltimeout = 1; + + memory "eeprom" + size = 128; + min_write_delay = 9000; + max_write_delay = 20000; + readback_p1 = 0x00; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 x x x x x x x x", + "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 x x x x x x x x", + "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 256; + ; + + memory "flash" + size = 2048; + min_write_delay = 9000; + max_write_delay = 20000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + write_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 256; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "fuse" + size = 1; + min_write_delay = 9000; + max_write_delay = 20000; + pwroff_after_write = yes; + read = "0 1 0 1 0 0 0 0 x x x x x x x x", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 i i i i i", + "x x x x x x x x x x x x x x x x"; + ; + memory "lock" + size = 1; + min_write_delay = 9000; + max_write_delay = 20000; + read = "0 1 0 1 1 0 0 0 x x x x x x x x", + "x x x x x x x x x x x x x o o x"; + + write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", + "x x x x x x x x x x x x x x x x"; + ; + ; + + +#------------------------------------------------------------ +# AT90s2343 (also AT90s2323 and ATtiny22) +#------------------------------------------------------------ + +part + id = "2343"; + desc = "AT90S2343"; + stk500_devcode = 0x43; + avr910_devcode = 0x4c; + signature = 0x1e 0x91 0x03; + chip_erase_delay = 18000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + hvsp_controlstack = + 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x00, + 0x68, 0x78, 0x68, 0x68, 0x00, 0x00, 0x68, 0x78, + 0x78, 0x00, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; + hventerstabdelay = 100; + hvspcmdexedelay = 0; + synchcycles = 6; + latchcycles = 1; + togglevtg = 0; + poweroffdelay = 25; + resetdelayms = 0; + resetdelayus = 50; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; + chiperasetime = 0; + programfusepolltimeout = 25; + programlockpolltimeout = 25; + + memory "eeprom" + size = 128; + min_write_delay = 9000; + max_write_delay = 20000; + readback_p1 = 0x00; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0", + "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0", + "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 64; + readsize = 256; + ; + memory "flash" + size = 2048; + min_write_delay = 9000; + max_write_delay = 20000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + write_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 128; + ; + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "fuse" + size = 1; + min_write_delay = 9000; + max_write_delay = 20000; + read = "0 1 0 1 1 0 0 0 x x x x x x x x", + "x x x x x x x x o o o x x x x o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 1 1 1 1 i", + "x x x x x x x x x x x x x x x x"; + ; + memory "lock" + size = 1; + min_write_delay = 9000; + max_write_delay = 20000; + read = "0 1 0 1 1 0 0 0 x x x x x x x x", + "x x x x x x x x o o o x x x x o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", + "x x x x x x x x x x x x x x x x"; + ; + ; + + +#------------------------------------------------------------ +# AT90s4433 +#------------------------------------------------------------ + +part + id = "4433"; + desc = "AT90S4433"; + stk500_devcode = 0x51; + avr910_devcode = 0x30; + signature = 0x1e 0x92 0x03; + chip_erase_delay = 20000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 0; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 15; + chiperasepolltimeout = 0; + programfusepulsewidth = 2; + programfusepolltimeout = 0; + programlockpulsewidth = 0; + programlockpolltimeout = 1; + + memory "eeprom" + size = 256; + min_write_delay = 9000; + max_write_delay = 20000; + readback_p1 = 0x00; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0 x x x x x x x x", + "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0 x x x x x x x x", + "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 256; + ; + memory "flash" + size = 4096; + min_write_delay = 9000; + max_write_delay = 20000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write_lo = " 0 1 0 0 0 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + write_hi = " 0 1 0 0 1 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 256; + ; + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "fuse" + size = 1; + min_write_delay = 9000; + max_write_delay = 20000; + pwroff_after_write = yes; + read = "0 1 0 1 0 0 0 0 x x x x x x x x", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 i i i i i", + "x x x x x x x x x x x x x x x x"; + ; + memory "lock" + size = 1; + min_write_delay = 9000; + max_write_delay = 20000; + read = "0 1 0 1 1 0 0 0 x x x x x x x x", + "x x x x x x x x x x x x x o o x"; + + write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", + "x x x x x x x x x x x x x x x x"; + ; + ; + +#------------------------------------------------------------ +# AT90s4434 +#------------------------------------------------------------ + +part + id = "4434"; +##### WARNING: No XML file for device 'AT90S4434'! ##### + desc = "AT90S4434"; + stk500_devcode = 0x52; + avr910_devcode = 0x6c; + signature = 0x1e 0x92 0x02; + chip_erase_delay = 20000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + memory "eeprom" + size = 256; + min_write_delay = 9000; + max_write_delay = 20000; + readback_p1 = 0x00; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0 x x x x x x x x", + "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0 x x x x x x x x", + "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + ; + memory "flash" + size = 4096; + min_write_delay = 9000; + max_write_delay = 20000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write_lo = " 0 1 0 0 0 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + write_hi = " 0 1 0 0 1 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + ; + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "fuse" + size = 1; + min_write_delay = 9000; + max_write_delay = 20000; + read = "0 1 0 1 0 0 0 0 x x x x x x x x", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 i i i i i", + "x x x x x x x x x x x x x x x x"; + ; + memory "lock" + size = 1; + min_write_delay = 9000; + max_write_delay = 20000; + read = "0 1 0 1 1 0 0 0 x x x x x x x x", + "x x x x x x x x x x x x x o o x"; + + write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", + "x x x x x x x x x x x x x x x x"; + ; + ; + +#------------------------------------------------------------ +# AT90s8515 +#------------------------------------------------------------ + +part + id = "8515"; + desc = "AT90S8515"; + stk500_devcode = 0x60; + avr910_devcode = 0x38; + signature = 0x1e 0x93 0x01; + chip_erase_delay = 20000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 0; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepulsewidth = 15; + chiperasepolltimeout = 0; + programfusepulsewidth = 2; + programfusepolltimeout = 0; + programlockpulsewidth = 0; + programlockpolltimeout = 1; + + memory "eeprom" + size = 512; + min_write_delay = 4000; + max_write_delay = 9000; + readback_p1 = 0x80; + readback_p2 = 0x7f; + read = " 1 0 1 0 0 0 0 0 x x x x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0 x x x x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 256; + ; + memory "flash" + size = 8192; + min_write_delay = 4000; + max_write_delay = 9000; + readback_p1 = 0x7f; + readback_p2 = 0x7f; + read_lo = " 0 0 1 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write_lo = " 0 1 0 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + write_hi = " 0 1 0 0 1 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 256; + ; + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "fuse" + size = 1; + ; + memory "lock" + size = 1; + write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", + "x x x x x x x x x x x x x x x x"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + ; + +#------------------------------------------------------------ +# AT90s8535 +#------------------------------------------------------------ + +part + id = "8535"; + desc = "AT90S8535"; + stk500_devcode = 0x61; + avr910_devcode = 0x68; + signature = 0x1e 0x93 0x03; + chip_erase_delay = 20000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 0; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 15; + chiperasepolltimeout = 0; + programfusepulsewidth = 2; + programfusepolltimeout = 0; + programlockpulsewidth = 0; + programlockpolltimeout = 1; + + memory "eeprom" + size = 512; + min_write_delay = 9000; + max_write_delay = 20000; + readback_p1 = 0x00; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0 x x x x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0 x x x x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 256; + ; + memory "flash" + size = 8192; + min_write_delay = 9000; + max_write_delay = 20000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write_lo = " 0 1 0 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + write_hi = " 0 1 0 0 1 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 128; + readsize = 256; + ; + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "fuse" + size = 1; + read = "0 1 0 1 1 0 0 0 x x x x x x x x", + "x x x x x x x x x x x x x x x o"; + write = "1 0 1 0 1 1 0 0 1 0 1 1 1 1 1 i", + "x x x x x x x x x x x x x x x x"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 x x x x x x x x", + "x x x x x x x x o o x x x x x x"; + write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", + "x x x x x x x x x x x x x x x x"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + ; + +#------------------------------------------------------------ +# ATmega103 +#------------------------------------------------------------ + +part + id = "m103"; + desc = "ATmega103"; + stk500_devcode = 0xB1; + avr910_devcode = 0x41; + signature = 0x1e 0x97 0x01; + chip_erase_delay = 112000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x8E, 0x9E, 0x2E, 0x3E, 0xAE, 0xBE, + 0x4E, 0x5E, 0xCE, 0xDE, 0x6E, 0x7E, 0xEE, 0xDE, + 0x66, 0x76, 0xE6, 0xF6, 0x6A, 0x7A, 0xEA, 0x7A, + 0x7F, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 0; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 15; + chiperasepolltimeout = 0; + programfusepulsewidth = 2; + programfusepolltimeout = 0; + programlockpulsewidth = 0; + programlockpolltimeout = 10; + + memory "eeprom" + size = 4096; + min_write_delay = 4000; + max_write_delay = 9000; + readback_p1 = 0x80; + readback_p2 = 0x7f; + read = " 1 0 1 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 64; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 131072; + page_size = 256; + num_pages = 512; + min_write_delay = 22000; + max_write_delay = 56000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x11; + delay = 70; + blocksize = 256; + readsize = 256; + ; + + memory "fuse" + size = 1; + read = "0 1 0 1 0 0 0 0 x x x x x x x x", + "x x x x x x x x x x o x o 1 o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 1 i 1 i i", + "x x x x x x x x x x x x x x x x"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 x x x x x x x x", + "x x x x x x x x x x x x x o o x"; + + write = "1 0 1 0 1 1 0 0 1 1 1 1 1 i i 1", + "x x x x x x x x x x x x x x x x"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + + +#------------------------------------------------------------ +# ATmega64 +#------------------------------------------------------------ + +part + id = "m64"; + desc = "ATmega64"; + has_jtag = yes; + stk500_devcode = 0xA0; + avr910_devcode = 0x45; + signature = 0x1e 0x96 0x02; + chip_erase_delay = 9000; + pagel = 0xD7; + bs2 = 0xA0; + reset = dedicated; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 6; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x22; + spmcr = 0x68; + allowfullpagebitstream = yes; + + ocdrev = 2; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 2048; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 20; + blocksize = 64; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 65536; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " x a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x21; + delay = 6; + blocksize = 128; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 4; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + + + + +#------------------------------------------------------------ +# ATmega128 +#------------------------------------------------------------ + +part + id = "m128"; + desc = "ATmega128"; + has_jtag = yes; + stk500_devcode = 0xB2; + avr910_devcode = 0x43; + signature = 0x1e 0x97 0x02; + chip_erase_delay = 9000; + pagel = 0xD7; + bs2 = 0xA0; + reset = dedicated; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 6; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x22; + spmcr = 0x68; + rampz = 0x3b; + allowfullpagebitstream = yes; + + ocdrev = 1; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 4096; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 12; + blocksize = 64; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 131072; + page_size = 256; + num_pages = 512; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x21; + delay = 6; + blocksize = 128; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 4; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# AT90CAN128 +#------------------------------------------------------------ + +part + id = "c128"; + desc = "AT90CAN128"; + has_jtag = yes; + stk500_devcode = 0xB3; +# avr910_devcode = 0x43; + signature = 0x1e 0x97 0x81; + chip_erase_delay = 9000; + pagel = 0xD7; + bs2 = 0xA0; + reset = dedicated; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 6; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + rampz = 0x3b; + eecr = 0x3f; + allowfullpagebitstream = no; + + ocdrev = 3; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 4096; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 0 x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 0 x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + + mode = 0x41; + delay = 20; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 131072; + page_size = 256; + num_pages = 512; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# AT90CAN64 +#------------------------------------------------------------ + +part + id = "c64"; + desc = "AT90CAN64"; + has_jtag = yes; + stk500_devcode = 0xB3; +# avr910_devcode = 0x43; + signature = 0x1e 0x96 0x81; + chip_erase_delay = 9000; + pagel = 0xD7; + bs2 = 0xA0; + reset = dedicated; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 6; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + rampz = 0x3b; + eecr = 0x3f; + allowfullpagebitstream = no; + + ocdrev = 3; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 2048; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 0 x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 0 x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + + mode = 0x41; + delay = 20; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 65536; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# AT90CAN32 +#------------------------------------------------------------ + +part + id = "c32"; + desc = "AT90CAN32"; + has_jtag = yes; + stk500_devcode = 0xB3; +# avr910_devcode = 0x43; + signature = 0x1e 0x95 0x81; + chip_erase_delay = 9000; + pagel = 0xD7; + bs2 = 0xA0; + reset = dedicated; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 6; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + rampz = 0x3b; + eecr = 0x3f; + allowfullpagebitstream = no; + + ocdrev = 3; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 1024; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 0 x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 0 x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + + mode = 0x41; + delay = 20; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 32768; + page_size = 256; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + + +#------------------------------------------------------------ +# ATmega16 +#------------------------------------------------------------ + +part + id = "m16"; + desc = "ATmega16"; + has_jtag = yes; + stk500_devcode = 0x82; + avr910_devcode = 0x74; + signature = 0x1e 0x94 0x03; + pagel = 0xd7; + bs2 = 0xa0; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 100; + latchcycles = 6; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + allowfullpagebitstream = yes; + + ocdrev = 2; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 4; /* for parallel programming */ + size = 512; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x04; + delay = 10; + blocksize = 128; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 16384; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 a13 a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x21; + delay = 6; + blocksize = 128; + readsize = 256; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "calibration" + size = 4; + + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + ; + + +#------------------------------------------------------------ +# ATmega164P +#------------------------------------------------------------ + +# close to ATmega16 + +part parent "m16" + id = "m164p"; + desc = "ATmega164P"; + signature = 0x1e 0x94 0x0a; + + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + allowfullpagebitstream = no; + chip_erase_delay = 55000; + + ocdrev = 3; + ; + + +#------------------------------------------------------------ +# ATmega324P +#------------------------------------------------------------ + +# similar to ATmega164P + +part + id = "m324p"; + desc = "ATmega324P"; + has_jtag = yes; + stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one + avr910_devcode = 0x74; + signature = 0x1e 0x95 0x08; + pagel = 0xd7; + bs2 = 0xa0; + chip_erase_delay = 55000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + allowfullpagebitstream = no; + + ocdrev = 3; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 4; /* for parallel programming */ + size = 1024; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 32768; + page_size = 128; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x21; + delay = 6; + blocksize = 256; + readsize = 256; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x 1 1 1 1 1 i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + + +#------------------------------------------------------------ +# ATmega324PA +#------------------------------------------------------------ + +# similar to ATmega324P + +part parent "m324p" + id = "m324pa"; + desc = "ATmega324PA"; + signature = 0x1e 0x95 0x11; + + ocdrev = 3; + ; + + +#------------------------------------------------------------ +# ATmega644 +#------------------------------------------------------------ + +# similar to ATmega164 + +part + id = "m644"; + desc = "ATmega644"; + has_jtag = yes; + stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one + avr910_devcode = 0x74; + signature = 0x1e 0x96 0x09; + pagel = 0xd7; + bs2 = 0xa0; + chip_erase_delay = 55000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 6; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + allowfullpagebitstream = no; + + ocdrev = 3; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 2048; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 65536; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x21; + delay = 6; + blocksize = 256; + readsize = 256; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x 1 1 1 1 1 i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega644P +#------------------------------------------------------------ + +# similar to ATmega164p + +part parent "m644" + id = "m644p"; + desc = "ATmega644P"; + signature = 0x1e 0x96 0x0a; + + ocdrev = 3; + ; + + + +#------------------------------------------------------------ +# ATmega1284 +#------------------------------------------------------------ + +# similar to ATmega164 + +part + id = "m1284"; + desc = "ATmega1284"; + has_jtag = yes; + stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one + avr910_devcode = 0x74; + signature = 0x1e 0x97 0x06; + pagel = 0xd7; + bs2 = 0xa0; + chip_erase_delay = 55000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 6; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + allowfullpagebitstream = no; + + ocdrev = 3; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 4096; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 131072; + page_size = 256; + num_pages = 512; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 256; + readsize = 256; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x 1 1 1 1 1 i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + + + +#------------------------------------------------------------ +# ATmega1284P +#------------------------------------------------------------ + +# similar to ATmega164p + +part + id = "m1284p"; + desc = "ATmega1284P"; + has_jtag = yes; + stk500_devcode = 0x82; # no STK500v1 support, use the ATmega16 one + avr910_devcode = 0x74; + signature = 0x1e 0x97 0x05; + pagel = 0xd7; + bs2 = 0xa0; + chip_erase_delay = 55000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 6; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + allowfullpagebitstream = no; + + ocdrev = 3; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 4096; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 131072; + page_size = 256; + num_pages = 512; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 256; + readsize = 256; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x 1 1 1 1 1 i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + + + +#------------------------------------------------------------ +# ATmega162 +#------------------------------------------------------------ + +part + id = "m162"; + desc = "ATmega162"; + has_jtag = yes; + stk500_devcode = 0x83; + avr910_devcode = 0x63; + signature = 0x1e 0x94 0x04; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + + idr = 0x04; + spmcr = 0x57; + allowfullpagebitstream = yes; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + ocdrev = 2; + + memory "flash" + paged = yes; + size = 16384; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 a13 a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + + ; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 6; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 4; /* for parallel programming */ + size = 512; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + + read = " 1 0 1 0 0 0 0 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + ; + + memory "lfuse" + size = 1; + min_write_delay = 16000; + max_write_delay = 16000; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 16000; + max_write_delay = 16000; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "efuse" + size = 1; + min_write_delay = 16000; + max_write_delay = 16000; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x 1 1 1 1 1 i i i"; + ; + + memory "lock" + size = 1; + min_write_delay = 16000; + max_write_delay = 16000; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "signature" + size = 3; + + read = "0 0 1 1 0 0 0 0 0 0 x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + + read = "0 0 1 1 1 0 0 0 0 0 x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; +; + + + +#------------------------------------------------------------ +# ATmega163 +#------------------------------------------------------------ + +part + id = "m163"; + desc = "ATmega163"; + stk500_devcode = 0x81; + avr910_devcode = 0x64; + signature = 0x1e 0x94 0x02; + chip_erase_delay = 32000; + pagel = 0xd7; + bs2 = 0xa0; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 0; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 30; + programfusepulsewidth = 0; + programfusepolltimeout = 2; + programlockpulsewidth = 0; + programlockpolltimeout = 2; + + + memory "eeprom" + size = 512; + min_write_delay = 4000; + max_write_delay = 4000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 16384; + page_size = 128; + num_pages = 128; + min_write_delay = 16000; + max_write_delay = 16000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x x x a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " x x x a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x11; + delay = 20; + blocksize = 128; + readsize = 256; + ; + + memory "lfuse" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o x x o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i 1 1 i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x x x x x 1 o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x 1 1 1 1 1 i i i"; + ; + + memory "lock" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x 0 x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega169 +#------------------------------------------------------------ + +part + id = "m169"; + desc = "ATmega169"; + has_jtag = yes; + stk500_devcode = 0x85; + avr910_devcode = 0x78; + signature = 0x1e 0x94 0x05; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + + ocdrev = 2; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 4; /* for parallel programming */ + size = 512; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 16384; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x x x a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " x x x a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 128; + readsize = 256; + ; + + memory "lfuse" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + ; + + memory "lock" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega329 +#------------------------------------------------------------ + +part + id = "m329"; + desc = "ATmega329"; + has_jtag = yes; +# stk500_devcode = 0x85; # no STK500 support, only STK500v2 +# avr910_devcode = 0x?; # try the ATmega169 one: + avr910_devcode = 0x75; + signature = 0x1e 0x95 0x03; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + + ocdrev = 3; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 4; /* for parallel programming */ + size = 1024; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 20; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 32768; + page_size = 128; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " x x x a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "efuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x i i i"; + ; + + memory "lock" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega329P +#------------------------------------------------------------ +# Identical to ATmega329 except of the signature + +part parent "m329" + id = "m329p"; + desc = "ATmega329P"; + signature = 0x1e 0x95 0x0b; + + ocdrev = 3; + ; + +#------------------------------------------------------------ +# ATmega3290 +#------------------------------------------------------------ + +# identical to ATmega329 + +part parent "m329" + id = "m3290"; + desc = "ATmega3290"; + signature = 0x1e 0x95 0x04; + + ocdrev = 3; + ; + +#------------------------------------------------------------ +# ATmega3290P +#------------------------------------------------------------ + +# identical to ATmega3290 except of the signature + +part parent "m3290" + id = "m3290p"; + desc = "ATmega3290P"; + signature = 0x1e 0x95 0x0c; + + ocdrev = 3; + ; + +#------------------------------------------------------------ +# ATmega649 +#------------------------------------------------------------ + +part + id = "m649"; + desc = "ATmega649"; + has_jtag = yes; +# stk500_devcode = 0x85; # no STK500 support, only STK500v2 +# avr910_devcode = 0x?; # try the ATmega169 one: + avr910_devcode = 0x75; + signature = 0x1e 0x96 0x03; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + + ocdrev = 3; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 2048; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 20; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 65536; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " x x x a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "efuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x i i i"; + ; + + memory "lock" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega6490 +#------------------------------------------------------------ + +# identical to ATmega649 + +part parent "m649" + id = "m6490"; + desc = "ATmega6490"; + signature = 0x1e 0x96 0x04; + + ocdrev = 3; + ; + +#------------------------------------------------------------ +# ATmega32 +#------------------------------------------------------------ + +part + id = "m32"; + desc = "ATmega32"; + has_jtag = yes; + stk500_devcode = 0x91; + avr910_devcode = 0x72; + signature = 0x1e 0x95 0x02; + chip_erase_delay = 9000; + pagel = 0xd7; + bs2 = 0xa0; + reset = dedicated; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 6; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + allowfullpagebitstream = yes; + + ocdrev = 2; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 4; /* for parallel programming */ + size = 1024; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x04; + delay = 10; + blocksize = 64; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 32768; + page_size = 128; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 a13 a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x21; + delay = 6; + blocksize = 64; + readsize = 256; + ; + + memory "lfuse" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "lock" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 4; + read = "0 0 1 1 1 0 0 0 0 0 x x x x x x", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega161 +#------------------------------------------------------------ + +part + id = "m161"; + desc = "ATmega161"; + stk500_devcode = 0x80; + avr910_devcode = 0x60; + signature = 0x1e 0x94 0x01; + chip_erase_delay = 28000; + pagel = 0xd7; + bs2 = 0xa0; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 0; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 30; + programfusepulsewidth = 0; + programfusepolltimeout = 2; + programlockpulsewidth = 0; + programlockpolltimeout = 2; + + memory "eeprom" + size = 512; + min_write_delay = 3400; + max_write_delay = 3400; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 5; + blocksize = 128; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 16384; + page_size = 128; + num_pages = 128; + min_write_delay = 14000; + max_write_delay = 14000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x x x a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " x x x a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x21; + delay = 16; + blocksize = 128; + readsize = 256; + ; + + memory "fuse" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 0 0 0 0 x x x x x x x x", + "x x x x x x x x x o x o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 x x x x x", + "x x x x x x x x 1 i 1 i i i i i"; + ; + + memory "lock" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + + +#------------------------------------------------------------ +# ATmega8 +#------------------------------------------------------------ + +part + id = "m8"; + desc = "ATmega8"; + stk500_devcode = 0x70; + avr910_devcode = 0x76; + signature = 0x1e 0x93 0x07; + pagel = 0xd7; + bs2 = 0xc2; + chip_erase_delay = 10000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 2; + resetdelayus = 0; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + memory "eeprom" + size = 512; + page_size = 4; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 20; + blocksize = 128; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0x00; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 0 x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 0 x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x21; + delay = 10; + blocksize = 64; + readsize = 256; + ; + + memory "lfuse" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + # Required for Arduino IDE + # see: https://github.com/arduino/Arduino/issues/2075 + # https://github.com/arduino/Arduino/issues/2075#issuecomment-238031689 + memory "efuse" + size = 0; + ; + + memory "lock" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "calibration" + size = 4; + read = "0 0 1 1 1 0 0 0 0 0 x x x x x x", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + + + +#------------------------------------------------------------ +# ATmega8515 +#------------------------------------------------------------ + +part + id = "m8515"; + desc = "ATmega8515"; + stk500_devcode = 0x63; + avr910_devcode = 0x3A; + signature = 0x1e 0x93 0x06; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 6; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + memory "eeprom" + size = 512; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 20; + blocksize = 128; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 0 x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 0 x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x21; + delay = 6; + blocksize = 64; + readsize = 256; + ; + + memory "lfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "lock" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "calibration" + size = 4; + read = "0 0 1 1 1 0 0 0 0 0 x x x x x x", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + + + + +#------------------------------------------------------------ +# ATmega8535 +#------------------------------------------------------------ + +part + id = "m8535"; + desc = "ATmega8535"; + stk500_devcode = 0x64; + avr910_devcode = 0x69; + signature = 0x1e 0x93 0x08; + pagel = 0xd7; + bs2 = 0xa0; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 6; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + memory "eeprom" + size = 512; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 x x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + mode = 0x04; + delay = 20; + blocksize = 128; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 0 x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 0 x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x21; + delay = 6; + blocksize = 64; + readsize = 256; + ; + + memory "lfuse" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "lock" + size = 1; + min_write_delay = 2000; + max_write_delay = 2000; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "calibration" + size = 4; + read = "0 0 1 1 1 0 0 0 0 0 x x x x x x", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + + +#------------------------------------------------------------ +# ATtiny26 +#------------------------------------------------------------ + +part + id = "t26"; + desc = "ATtiny26"; + stk500_devcode = 0x21; + avr910_devcode = 0x5e; + signature = 0x1e 0x91 0x09; + pagel = 0xb3; + bs2 = 0xb2; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0xC4, 0xE4, 0xC4, 0xE4, 0xCC, 0xEC, 0xCC, 0xEC, + 0xD4, 0xF4, 0xD4, 0xF4, 0xDC, 0xFC, 0xDC, 0xFC, + 0xC8, 0xE8, 0xD8, 0xF8, 0x4C, 0x6C, 0x5C, 0x7C, + 0xEC, 0xBC, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 2; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + memory "eeprom" + size = 128; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 x x x x x x x x", + "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 x x x x x x x x", + "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + mode = 0x04; + delay = 10; + blocksize = 64; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 2048; + page_size = 32; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x x x x a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x x x x a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 x x x x", + " x x x x x x x x"; + + mode = 0x21; + delay = 6; + blocksize = 16; + readsize = 256; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 x x x x x x x x", + "x x x x x x x x x x x x x x o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 1 1 1 i i", + "x x x x x x x x x x x x x x x x"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x x x x i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 4; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + +; + + +#------------------------------------------------------------ +# ATtiny261 +#------------------------------------------------------------ +# Close to ATtiny26 + +part + id = "t261"; + desc = "ATtiny261"; + has_debugwire = yes; + flash_instr = 0xB4, 0x00, 0x10; + eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, + 0xBC, 0x00, 0xB4, 0x00, 0xBA, 0x0D, 0xBB, 0xBC, + 0x99, 0xE1, 0xBB, 0xAC; +# stk500_devcode = 0x21; +# avr910_devcode = 0x5e; + signature = 0x1e 0x91 0x0c; + pagel = 0xb3; + bs2 = 0xb2; + chip_erase_delay = 4000; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0xC4, 0xE4, 0xC4, 0xE4, 0xCC, 0xEC, 0xCC, 0xEC, + 0xD4, 0xF4, 0xD4, 0xF4, 0xDC, 0xFC, 0xDC, 0xFC, + 0xC8, 0xE8, 0xD8, 0xF8, 0x4C, 0x6C, 0x5C, 0x7C, + 0xEC, 0xBC, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 2; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + ocdrev = 1; + + memory "eeprom" + paged = no; + size = 128; + page_size = 4; + num_pages = 32; + min_write_delay = 4000; + max_write_delay = 4000; + readback_p1 = 0xff; + readback_p2 = 0xff; + + read = "1 0 1 0 0 0 0 0 x x x x x x x x", + "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 x x x x x x x x", + "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " x a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 2048; + page_size = 32; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + + read_lo = " 0 0 1 0 0 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x x x x a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x x x x a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " x x x x x x a9 a8", + " a7 a6 a5 a4 x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 32; + readsize = 256; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 x x x x x x x x", + "x x x x x x x x x x x x x x o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 1 1 1 i i", + "x x x x x x x x x x x x x x x x"; + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + +; + + +#------------------------------------------------------------ +# ATtiny461 +#------------------------------------------------------------ +# Close to ATtiny261 + +part + id = "t461"; + desc = "ATtiny461"; + has_debugwire = yes; + flash_instr = 0xB4, 0x00, 0x10; + eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, + 0xBC, 0x00, 0xB4, 0x00, 0xBA, 0x0D, 0xBB, 0xBC, + 0x99, 0xE1, 0xBB, 0xAC; +# stk500_devcode = 0x21; +# avr910_devcode = 0x5e; + signature = 0x1e 0x92 0x08; + pagel = 0xb3; + bs2 = 0xb2; + chip_erase_delay = 4000; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0xC4, 0xE4, 0xC4, 0xE4, 0xCC, 0xEC, 0xCC, 0xEC, + 0xD4, 0xF4, 0xD4, 0xF4, 0xDC, 0xFC, 0xDC, 0xFC, + 0xC8, 0xE8, 0xD8, 0xF8, 0x4C, 0x6C, 0x5C, 0x7C, + 0xEC, 0xBC, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 2; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + ocdrev = 1; + + memory "eeprom" + paged = no; + size = 256; + page_size = 4; + num_pages = 64; + min_write_delay = 4000; + max_write_delay = 4000; + readback_p1 = 0xff; + readback_p2 = 0xff; + + read = " 1 0 1 0 0 0 0 0 x x x x x x x x", + "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0 x x x x x x x x", + "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 4096; + page_size = 64; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + + read_lo = " 0 0 1 0 0 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 64; + readsize = 256; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 x x x x x x x x", + "x x x x x x x x x x x x x x o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 1 1 1 i i", + "x x x x x x x x x x x x x x x x"; + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + +; + + +#------------------------------------------------------------ +# ATtiny861 +#------------------------------------------------------------ +# Close to ATtiny461 + +part + id = "t861"; + desc = "ATtiny861"; + has_debugwire = yes; + flash_instr = 0xB4, 0x00, 0x10; + eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, + 0xBC, 0x00, 0xB4, 0x00, 0xBA, 0x0D, 0xBB, 0xBC, + 0x99, 0xE1, 0xBB, 0xAC; +# stk500_devcode = 0x21; +# avr910_devcode = 0x5e; + signature = 0x1e 0x93 0x0d; + pagel = 0xb3; + bs2 = 0xb2; + chip_erase_delay = 4000; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0xC4, 0xE4, 0xC4, 0xE4, 0xCC, 0xEC, 0xCC, 0xEC, + 0xD4, 0xF4, 0xD4, 0xF4, 0xDC, 0xFC, 0xDC, 0xFC, + 0xC8, 0xE8, 0xD8, 0xF8, 0x4C, 0x6C, 0x5C, 0x7C, + 0xEC, 0xBC, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 2; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + ocdrev = 1; + + memory "eeprom" + paged = no; + size = 512; + num_pages = 128; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4000; + readback_p1 = 0xff; + readback_p2 = 0xff; + + read = " 1 0 1 0 0 0 0 0 x x x x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0 x x x x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + + read_lo = " 0 0 1 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 64; + readsize = 256; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 x x x x x x x x", + "x x x x x x x x x x x x x x o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 1 1 1 i i", + "x x x x x x x x x x x x x x x x"; + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + +; + + +#------------------------------------------------------------ +# ATtiny28 +#------------------------------------------------------------ + +# This is an HVPP-only device. + +part + id = "t28"; + desc = "ATtiny28"; + stk500_devcode = 0x22; + avr910_devcode = 0x5c; + signature = 0x1e 0x91 0x07; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 0; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + memory "flash" + size = 2048; + page_size = 2; + readsize = 256; + delay = 5; + ; + + memory "signature" + size = 3; + ; + + memory "lock" + size = 1; + ; + + memory "calibration" + size = 1; + ; + + memory "fuse" + size = 1; + ; +; + + + +#------------------------------------------------------------ +# ATmega48 +#------------------------------------------------------------ + +part + id = "m48"; + desc = "ATmega48"; + has_debugwire = yes; + flash_instr = 0xB6, 0x01, 0x11; + eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, + 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, + 0x99, 0xF9, 0xBB, 0xAF; + stk500_devcode = 0x59; +# avr910_devcode = 0x; + signature = 0x1e 0x92 0x05; + pagel = 0xd7; + bs2 = 0xc2; + chip_erase_delay = 45000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + ocdrev = 1; + + memory "eeprom" + paged = no; + page_size = 4; + size = 256; + min_write_delay = 3600; + max_write_delay = 3600; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 0 x x x x x", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 4096; + page_size = 64; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0x00; + readback_p2 = 0x00; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 64; + readsize = 256; + ; + + memory "lfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "efuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + ; + + memory "lock" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega48P +#------------------------------------------------------------ + +part parent "m48" + id = "m48p"; + desc = "ATmega48P"; + signature = 0x1e 0x92 0x0a; + + ocdrev = 1; + ; + +#------------------------------------------------------------ +# ATmega48PB +#------------------------------------------------------------ + +part parent "m48" + id = "m48pb"; + desc = "ATmega48PB"; + signature = 0x1e 0x92 0x10; + + ocdrev = 1; + ; + +#------------------------------------------------------------ +# ATmega88 +#------------------------------------------------------------ + +part + id = "m88"; + desc = "ATmega88"; + has_debugwire = yes; + flash_instr = 0xB6, 0x01, 0x11; + eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, + 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, + 0x99, 0xF9, 0xBB, 0xAF; + stk500_devcode = 0x73; +# avr910_devcode = 0x; + signature = 0x1e 0x93 0x0a; + pagel = 0xd7; + bs2 = 0xc2; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + ocdrev = 1; + + memory "eeprom" + paged = no; + page_size = 4; + size = 512; + min_write_delay = 3600; + max_write_delay = 3600; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 0 x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 0 x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 64; + readsize = 256; + ; + + memory "lfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "efuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x i i i"; + ; + + memory "lock" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega88P +#------------------------------------------------------------ + +part parent "m88" + id = "m88p"; + desc = "ATmega88P"; + signature = 0x1e 0x93 0x0f; + + ocdrev = 1; + ; + +#------------------------------------------------------------ +# ATmega88PB +#------------------------------------------------------------ + +part parent "m88" + id = "m88pb"; + desc = "ATmega88PB"; + signature = 0x1e 0x93 0x16; + + ocdrev = 1; + ; + +#------------------------------------------------------------ +# ATmega168 +#------------------------------------------------------------ + +part + id = "m168"; + desc = "ATmega168"; + has_debugwire = yes; + flash_instr = 0xB6, 0x01, 0x11; + eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, + 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, + 0x99, 0xF9, 0xBB, 0xAF; + stk500_devcode = 0x86; + # avr910_devcode = 0x; + signature = 0x1e 0x94 0x06; + pagel = 0xd7; + bs2 = 0xc2; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + ocdrev = 1; + + memory "eeprom" + paged = no; + page_size = 4; + size = 512; + min_write_delay = 3600; + max_write_delay = 3600; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 0 x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 0 x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 16384; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 128; + readsize = 256; + + ; + + memory "lfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "efuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x i i i"; + ; + + memory "lock" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; +; + +#------------------------------------------------------------ +# ATmega168P +#------------------------------------------------------------ + +part parent "m168" + id = "m168p"; + desc = "ATmega168P"; + signature = 0x1e 0x94 0x0b; + + ocdrev = 1; +; + +#------------------------------------------------------------ +# ATmega168PB +#------------------------------------------------------------ + +part parent "m168" + id = "m168pb"; + desc = "ATmega168PB"; + signature = 0x1e 0x94 0x15; + + ocdrev = 1; +; + +#------------------------------------------------------------ +# ATtiny88 +#------------------------------------------------------------ + +part + id = "t88"; + desc = "ATtiny88"; + has_debugwire = yes; + flash_instr = 0xB6, 0x01, 0x11; + eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, + 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, + 0x99, 0xF9, 0xBB, 0xAF; + stk500_devcode = 0x73; +# avr910_devcode = 0x; + signature = 0x1e 0x93 0x11; + pagel = 0xd7; + bs2 = 0xc2; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + ocdrev = 1; + + memory "eeprom" + paged = no; + page_size = 4; + size = 64; + min_write_delay = 3600; + max_write_delay = 3600; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 0 x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " x a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 64; + ; + memory "flash" + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 64; + readsize = 256; + ; + + memory "lfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "efuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + ; + + memory "lock" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega328 +#------------------------------------------------------------ + +part + id = "m328"; + desc = "ATmega328"; + has_debugwire = yes; + flash_instr = 0xB6, 0x01, 0x11; + eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, + 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, + 0x99, 0xF9, 0xBB, 0xAF; + stk500_devcode = 0x86; + # avr910_devcode = 0x; + signature = 0x1e 0x95 0x14; + pagel = 0xd7; + bs2 = 0xc2; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + ocdrev = 1; + + memory "eeprom" + paged = no; + page_size = 4; + size = 1024; + min_write_delay = 3600; + max_write_delay = 3600; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 0 x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 0 x x x a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x a9 a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 32768; + page_size = 128; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 a13 a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 128; + readsize = 256; + + ; + + memory "lfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "efuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x i i i"; + ; + + memory "lock" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; +; + +part parent "m328" + id = "m328p"; + desc = "ATmega328P"; + signature = 0x1e 0x95 0x0F; + + ocdrev = 1; +; + +part parent "m328" + id = "m328pb"; + desc = "ATmega328PB"; + signature = 0x1e 0x95 0x16; + + ocdrev = 1; +; + +#------------------------------------------------------------ +# ATmega32m1 +#------------------------------------------------------------ + +part parent "m328" + id = "m32m1"; + desc = "ATmega32M1"; + # stk500_devcode = 0x; + # avr910_devcode = 0x; + signature = 0x1e 0x95 0x84; + bs2 = 0xe2; + + memory "efuse" + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x i i i i i i"; + ; +; + +#------------------------------------------------------------ +# ATtiny2313 +#------------------------------------------------------------ + +part + id = "t2313"; + desc = "ATtiny2313"; + has_debugwire = yes; + flash_instr = 0xB2, 0x0F, 0x1F; + eeprom_instr = 0xBB, 0xFE, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, + 0xBA, 0x0F, 0xB2, 0x0F, 0xBA, 0x0D, 0xBB, 0xBC, + 0x99, 0xE1, 0xBB, 0xAC; + stk500_devcode = 0x23; +## Use the ATtiny26 devcode: + avr910_devcode = 0x5e; + signature = 0x1e 0x91 0x0a; + pagel = 0xD4; + bs2 = 0xD6; + reset = io; + chip_erase_delay = 9000; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0E, 0x1E, 0x2E, 0x3E, 0x2E, 0x3E, + 0x4E, 0x5E, 0x4E, 0x5E, 0x6E, 0x7E, 0x6E, 0x7E, + 0x26, 0x36, 0x66, 0x76, 0x2A, 0x3A, 0x6A, 0x7A, + 0x2E, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + ocdrev = 0; + + memory "eeprom" + size = 128; + paged = no; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x", + "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x", + "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " x a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 4; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 2048; + page_size = 32; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 0 0 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 0 0 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + +# The information in the data sheet of April/2004 is wrong, this works: + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x x x a3 a2 a1 a0", + " i i i i i i i i"; + +# The information in the data sheet of April/2004 is wrong, this works: + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x x x a3 a2 a1 a0", + " i i i i i i i i"; + +# The information in the data sheet of April/2004 is wrong, this works: + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 0 0 a9 a8", + " a7 a6 a5 a4 x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 32; + readsize = 256; + ; +# ATtiny2313 has Signature Bytes: 0x1E 0x91 0x0A. + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "lock" + size = 1; + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; +# The Tiny2313 has calibration data for both 4 MHz and 8 MHz. +# The information in the data sheet of April/2004 is wrong, this works: + + memory "calibration" + size = 2; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATtiny4313 +#------------------------------------------------------------ + +part + id = "t4313"; + desc = "ATtiny4313"; + has_debugwire = yes; + flash_instr = 0xB2, 0x0F, 0x1F; + eeprom_instr = 0xBB, 0xFE, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, + 0xBA, 0x0F, 0xB2, 0x0F, 0xBA, 0x0D, 0xBB, 0xBC, + 0x99, 0xE1, 0xBB, 0xAC; + stk500_devcode = 0x23; +## Use the ATtiny26 devcode: + avr910_devcode = 0x5e; + signature = 0x1e 0x92 0x0d; + pagel = 0xD4; + bs2 = 0xD6; + reset = io; + chip_erase_delay = 9000; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0E, 0x1E, 0x2E, 0x3E, 0x2E, 0x3E, + 0x4E, 0x5E, 0x4E, 0x5E, 0x6E, 0x7E, 0x6E, 0x7E, + 0x26, 0x36, 0x66, 0x76, 0x2A, 0x3A, 0x6A, 0x7A, + 0x2E, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + ocdrev = 0; + + memory "eeprom" + size = 256; + paged = no; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x", + "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x", + "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 4; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 4096; + page_size = 64; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 32; + readsize = 256; + ; +# ATtiny4313 has Signature Bytes: 0x1E 0x92 0x0D. + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "lock" + size = 1; + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 2; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# AT90PWM2 +#------------------------------------------------------------ + +part + id = "pwm2"; + desc = "AT90PWM2"; + has_debugwire = yes; + flash_instr = 0xB6, 0x01, 0x11; + eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, + 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, + 0x99, 0xF9, 0xBB, 0xAF; + stk500_devcode = 0x65; +## avr910_devcode = ?; + signature = 0x1e 0x93 0x81; + pagel = 0xD8; + bs2 = 0xE2; + reset = io; + chip_erase_delay = 9000; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + memory "eeprom" + size = 512; + paged = no; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 0 0 0 x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 0 0 0 x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 4; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 64; + readsize = 256; + ; +# AT90PWM2 has Signature Bytes: 0x1E 0x93 0x81. + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "lock" + size = 1; + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# AT90PWM3 +#------------------------------------------------------------ + +# Completely identical to AT90PWM2 (including the signature!) + +part parent "pwm2" + id = "pwm3"; + desc = "AT90PWM3"; + ; + +#------------------------------------------------------------ +# AT90PWM2B +#------------------------------------------------------------ +# Same as AT90PWM2 but different signature. + +part parent "pwm2" + id = "pwm2b"; + desc = "AT90PWM2B"; + signature = 0x1e 0x93 0x83; + + ocdrev = 1; + ; + +#------------------------------------------------------------ +# AT90PWM3B +#------------------------------------------------------------ + +# Completely identical to AT90PWM2B (including the signature!) + +part parent "pwm2b" + id = "pwm3b"; + desc = "AT90PWM3B"; + + ocdrev = 1; + ; + +#------------------------------------------------------------ +# AT90PWM316 +#------------------------------------------------------------ + +# Similar to AT90PWM3B, but with 16 kiB flash, 512 B EEPROM, and 1024 B SRAM. + +part parent "pwm3b" + id = "pwm316"; + desc = "AT90PWM316"; + signature = 0x1e 0x94 0x83; + + ocdrev = 1; + + memory "flash" + paged = yes; + size = 16384; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 a13 a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x21; + delay = 6; + blocksize = 128; + readsize = 256; + ; + ; + +#------------------------------------------------------------ +# AT90PWM216 +#------------------------------------------------------------ +# Completely identical to AT90PWM316 (including the signature!) + +part parent "pwm316" + id = "pwm216"; + desc = "AT90PWM216"; + ; + +#------------------------------------------------------------ +# ATtiny25 +#------------------------------------------------------------ + +part + id = "t25"; + desc = "ATtiny25"; + has_debugwire = yes; + flash_instr = 0xB4, 0x02, 0x12; + eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, + 0xBC, 0x02, 0xB4, 0x02, 0xBA, 0x0D, 0xBB, 0xBC, + 0x99, 0xE1, 0xBB, 0xAC; +## no STK500 devcode in XML file, use the ATtiny45 one + stk500_devcode = 0x14; +## avr910_devcode = ?; +## Try the AT90S2313 devcode: + avr910_devcode = 0x20; + signature = 0x1e 0x91 0x08; + reset = io; + chip_erase_delay = 4500; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + hvsp_controlstack = + 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66, + 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78, + 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; + hventerstabdelay = 100; + hvspcmdexedelay = 0; + synchcycles = 6; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; + chiperasetime = 0; + programfusepolltimeout = 25; + programlockpolltimeout = 25; + + ocdrev = 1; + + memory "eeprom" + size = 128; + paged = no; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x", + "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x", + "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " x a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 4; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 2048; + page_size = 32; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 0 0 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 0 0 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x x x a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x x x a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 0 0 a9 a8", + " a7 a6 a5 a4 x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 32; + readsize = 256; + ; +# ATtiny25 has Signature Bytes: 0x1E 0x91 0x08. + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "lock" + size = 1; + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATtiny45 +#------------------------------------------------------------ + +part + id = "t45"; + desc = "ATtiny45"; + has_debugwire = yes; + flash_instr = 0xB4, 0x02, 0x12; + eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, + 0xBC, 0x02, 0xB4, 0x02, 0xBA, 0x0D, 0xBB, 0xBC, + 0x99, 0xE1, 0xBB, 0xAC; + stk500_devcode = 0x14; +## avr910_devcode = ?; +## Try the AT90S2313 devcode: + avr910_devcode = 0x20; + signature = 0x1e 0x92 0x06; + reset = io; + chip_erase_delay = 4500; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + hvsp_controlstack = + 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66, + 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78, + 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + hvspcmdexedelay = 0; + synchcycles = 6; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; + chiperasetime = 0; + programfusepolltimeout = 25; + programlockpolltimeout = 25; + + ocdrev = 1; + + memory "eeprom" + size = 256; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x", + "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x", + "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 4; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 4096; + page_size = 64; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 32; + readsize = 256; + ; +# ATtiny45 has Signature Bytes: 0x1E 0x92 0x08. (Data sheet 2586C-AVR-06/05 (doc2586.pdf) indicates otherwise!) + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "lock" + size = 1; + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATtiny85 +#------------------------------------------------------------ + +part + id = "t85"; + desc = "ATtiny85"; + has_debugwire = yes; + flash_instr = 0xB4, 0x02, 0x12; + eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, + 0xBC, 0x02, 0xB4, 0x02, 0xBA, 0x0D, 0xBB, 0xBC, + 0x99, 0xE1, 0xBB, 0xAC; +## no STK500 devcode in XML file, use the ATtiny45 one + stk500_devcode = 0x14; +## avr910_devcode = ?; +## Try the AT90S2313 devcode: + avr910_devcode = 0x20; + signature = 0x1e 0x93 0x0b; + reset = io; + chip_erase_delay = 400000; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + hvsp_controlstack = + 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66, + 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78, + 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x00; + hventerstabdelay = 100; + hvspcmdexedelay = 0; + synchcycles = 6; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; + chiperasetime = 0; + programfusepolltimeout = 25; + programlockpolltimeout = 25; + + ocdrev = 1; + + memory "eeprom" + size = 512; + paged = no; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 0 0 0 x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 0 0 0 x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 12; + blocksize = 4; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 30000; + max_write_delay = 30000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 32; + readsize = 256; + ; +# ATtiny85 has Signature Bytes: 0x1E 0x93 0x08. + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "lock" + size = 1; + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATTiny841 +#------------------------------------------------------------ + +part + id = "t841"; + desc = "ATtiny841"; + has_debugwire = yes; + flash_instr = 0xB4, 0x07, 0x17; + eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, + 0xBC, 0x07, 0xB4, 0x07, 0xBA, 0x0D, 0xBB, 0xBC, + 0x99, 0xE1, 0xBB, 0xAC; +## no STK500 devcode in XML file, use the ATtiny45 one + stk500_devcode = 0x14; +## avr910_devcode = ?; +## Try the AT90S2313 devcode: + avr910_devcode = 0x20; + signature = 0x1e 0x93 0x15; + reset = io; + chip_erase_delay = 4500; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + hvsp_controlstack = + 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66, + 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78, + 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0F; + hventerstabdelay = 100; + hvspcmdexedelay = 0; + synchcycles = 6; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 0; + resetdelayus = 70; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; + chiperasetime = 0; + programfusepolltimeout = 25; + #ocdrev = 1; + programlockpolltimeout = 25; + + memory "eeprom" + size = 512; + paged = no; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 0 0 0 x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 0 0 0 x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " x a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 4; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 8192; + page_size = 16; + num_pages = 512; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x x x x a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x x x x a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 32; + readsize = 256; + ; +# ATtiny841 has Signature Bytes: 0x1E 0x93 0x0C. + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "lock" + size = 1; + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x x x x x x x i i"; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega640 +#------------------------------------------------------------ +# Almost same as ATmega1280, except for different memory sizes + +part + id = "m640"; + desc = "ATmega640"; + signature = 0x1e 0x96 0x08; + has_jtag = yes; +# stk500_devcode = 0xB2; +# avr910_devcode = 0x43; + chip_erase_delay = 9000; + pagel = 0xD7; + bs2 = 0xA0; + reset = dedicated; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + rampz = 0x3b; + allowfullpagebitstream = no; + + ocdrev = 3; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 4096; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0x00; + readback_p2 = 0x00; + read = " 1 0 1 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 65536; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0x00; + readback_p2 = 0x00; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega1280 +#------------------------------------------------------------ + +part + id = "m1280"; + desc = "ATmega1280"; + signature = 0x1e 0x97 0x03; + has_jtag = yes; +# stk500_devcode = 0xB2; +# avr910_devcode = 0x43; + chip_erase_delay = 9000; + pagel = 0xD7; + bs2 = 0xA0; + reset = dedicated; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + rampz = 0x3b; + allowfullpagebitstream = no; + + ocdrev = 3; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 4096; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0x00; + readback_p2 = 0x00; + read = " 1 0 1 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 131072; + page_size = 256; + num_pages = 512; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0x00; + readback_p2 = 0x00; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega1281 +#------------------------------------------------------------ +# Identical to ATmega1280 + +part parent "m1280" + id = "m1281"; + desc = "ATmega1281"; + signature = 0x1e 0x97 0x04; + + ocdrev = 3; + ; + +#------------------------------------------------------------ +# ATmega2560 +#------------------------------------------------------------ + +part + id = "m2560"; + desc = "ATmega2560"; + signature = 0x1e 0x98 0x01; + has_jtag = yes; + stk500_devcode = 0xB2; +# avr910_devcode = 0x43; + chip_erase_delay = 9000; + pagel = 0xD7; + bs2 = 0xA0; + reset = dedicated; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + rampz = 0x3b; + allowfullpagebitstream = no; + + ocdrev = 4; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 4096; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0x00; + readback_p2 = 0x00; + read = " 1 0 1 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 262144; + page_size = 256; + num_pages = 1024; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0x00; + readback_p2 = 0x00; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + load_ext_addr = " 0 1 0 0 1 1 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 0 a16", + " 0 0 0 0 0 0 0 0"; + + mode = 0x41; + delay = 10; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega2561 +#------------------------------------------------------------ + +part parent "m2560" + id = "m2561"; + desc = "ATmega2561"; + signature = 0x1e 0x98 0x02; + + ocdrev = 4; + ; + +#------------------------------------------------------------ +# ATmega128RFA1 +#------------------------------------------------------------ +# Identical to ATmega2561 but half the ROM + +part parent "m2561" + id = "m128rfa1"; + desc = "ATmega128RFA1"; + signature = 0x1e 0xa7 0x01; + chip_erase_delay = 55000; + bs2 = 0xE2; + + ocdrev = 3; + + memory "flash" + paged = yes; + size = 131072; + page_size = 256; + num_pages = 512; + min_write_delay = 50000; + max_write_delay = 50000; + readback_p1 = 0x00; + readback_p2 = 0x00; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 20; + blocksize = 256; + readsize = 256; + ; + ; + +#------------------------------------------------------------ +# ATmega256RFR2 +#------------------------------------------------------------ + +part parent "m2561" + id = "m256rfr2"; + desc = "ATmega256RFR2"; + signature = 0x1e 0xa8 0x02; + chip_erase_delay = 18500; + bs2 = 0xE2; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 8192; + min_write_delay = 13000; + max_write_delay = 13000; + readback_p1 = 0x00; + readback_p2 = 0x00; + read = " 1 0 1 0 0 0 0 0", + " x x x a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + ; + + + ocdrev = 4; + ; + +#------------------------------------------------------------ +# ATmega128RFR2 +#------------------------------------------------------------ + +part parent "m128rfa1" + id = "m128rfr2"; + desc = "ATmega128RFR2"; + signature = 0x1e 0xa7 0x02; + + + ocdrev = 3; + ; + +#------------------------------------------------------------ +# ATmega64RFR2 +#------------------------------------------------------------ + +part parent "m128rfa1" + id = "m64rfr2"; + desc = "ATmega64RFR2"; + signature = 0x1e 0xa6 0x02; + + + ocdrev = 3; + + memory "flash" + paged = yes; + size = 65536; + page_size = 256; + num_pages = 256; + min_write_delay = 50000; + max_write_delay = 50000; + readback_p1 = 0x00; + readback_p2 = 0x00; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 20; + blocksize = 256; + readsize = 256; + ; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 2048; + min_write_delay = 13000; + max_write_delay = 13000; + readback_p1 = 0x00; + readback_p2 = 0x00; + read = " 1 0 1 0 0 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + ; + + + ; + +#------------------------------------------------------------ +# ATmega2564RFR2 +#------------------------------------------------------------ + +part parent "m256rfr2" + id = "m2564rfr2"; + desc = "ATmega2564RFR2"; + signature = 0x1e 0xa8 0x03; + ; + +#------------------------------------------------------------ +# ATmega1284RFR2 +#------------------------------------------------------------ + +part parent "m128rfr2" + id = "m1284rfr2"; + desc = "ATmega1284RFR2"; + signature = 0x1e 0xa7 0x03; + ; + +#------------------------------------------------------------ +# ATmega644RFR2 +#------------------------------------------------------------ + +part parent "m64rfr2" + id = "m644rfr2"; + desc = "ATmega644RFR2"; + signature = 0x1e 0xa6 0x03; + ; + +#------------------------------------------------------------ +# ATtiny24 +#------------------------------------------------------------ + +part + id = "t24"; + desc = "ATtiny24"; + has_debugwire = yes; + flash_instr = 0xB4, 0x07, 0x17; + eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, + 0xBC, 0x07, 0xB4, 0x07, 0xBA, 0x0D, 0xBB, 0xBC, + 0x99, 0xE1, 0xBB, 0xAC; +## no STK500 devcode in XML file, use the ATtiny45 one + stk500_devcode = 0x14; +## avr910_devcode = ?; +## Try the AT90S2313 devcode: + avr910_devcode = 0x20; + signature = 0x1e 0x91 0x0b; + reset = io; + chip_erase_delay = 4500; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + hvsp_controlstack = + 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66, + 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78, + 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0F; + hventerstabdelay = 100; + hvspcmdexedelay = 0; + synchcycles = 6; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 0; + resetdelayus = 70; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; + chiperasetime = 0; + programfusepolltimeout = 25; + programlockpolltimeout = 25; + + ocdrev = 1; + + memory "eeprom" + size = 128; + paged = no; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x", + "x a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x", + "x a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " x a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 4; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 2048; + page_size = 32; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 0 0 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 0 0 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x x x a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x x x a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 0 0 a9 a8", + " a7 a6 a5 a4 x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 32; + readsize = 256; + ; +# ATtiny24 has Signature Bytes: 0x1E 0x91 0x0B. + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "lock" + size = 1; + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x x x x x x x i i"; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATtiny44 +#------------------------------------------------------------ + +part + id = "t44"; + desc = "ATtiny44"; + has_debugwire = yes; + flash_instr = 0xB4, 0x07, 0x17; + eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, + 0xBC, 0x07, 0xB4, 0x07, 0xBA, 0x0D, 0xBB, 0xBC, + 0x99, 0xE1, 0xBB, 0xAC; +## no STK500 devcode in XML file, use the ATtiny45 one + stk500_devcode = 0x14; +## avr910_devcode = ?; +## Try the AT90S2313 devcode: + avr910_devcode = 0x20; + signature = 0x1e 0x92 0x07; + reset = io; + chip_erase_delay = 4500; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + hvsp_controlstack = + 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66, + 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78, + 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0F; + hventerstabdelay = 100; + hvspcmdexedelay = 0; + synchcycles = 6; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 0; + resetdelayus = 70; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; + chiperasetime = 0; + programfusepolltimeout = 25; + programlockpolltimeout = 25; + + ocdrev = 1; + + memory "eeprom" + size = 256; + paged = no; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x", + "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x", + "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " x a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 4; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 4096; + page_size = 64; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 32; + readsize = 256; + ; +# ATtiny44 has Signature Bytes: 0x1E 0x92 0x07. + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "lock" + size = 1; + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x x x x x x x i i"; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATtiny84 +#------------------------------------------------------------ + +part + id = "t84"; + desc = "ATtiny84"; + has_debugwire = yes; + flash_instr = 0xB4, 0x07, 0x17; + eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, + 0xBC, 0x07, 0xB4, 0x07, 0xBA, 0x0D, 0xBB, 0xBC, + 0x99, 0xE1, 0xBB, 0xAC; +## no STK500 devcode in XML file, use the ATtiny45 one + stk500_devcode = 0x14; +## avr910_devcode = ?; +## Try the AT90S2313 devcode: + avr910_devcode = 0x20; + signature = 0x1e 0x93 0x0c; + reset = io; + chip_erase_delay = 4500; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + hvsp_controlstack = + 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66, + 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78, + 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0F; + hventerstabdelay = 100; + hvspcmdexedelay = 0; + synchcycles = 6; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 0; + resetdelayus = 70; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; + chiperasetime = 0; + programfusepolltimeout = 25; + programlockpolltimeout = 25; + + ocdrev = 1; + + memory "eeprom" + size = 512; + paged = no; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 0 0 0 x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 0 0 0 x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " x a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 4; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 8192; + page_size = 64; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 32; + readsize = 256; + ; +# ATtiny84 has Signature Bytes: 0x1E 0x93 0x0C. + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "lock" + size = 1; + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x x x x x x x i i"; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATtiny43U +#------------------------------------------------------------ + +part + id = "t43u"; + desc = "ATtiny43u"; + has_debugwire = yes; + flash_instr = 0xB4, 0x07, 0x17; + eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, + 0xBC, 0x07, 0xB4, 0x07, 0xBA, 0x0D, 0xBB, 0xBC, + 0x99, 0xE1, 0xBB, 0xAC; + stk500_devcode = 0x14; +## avr910_devcode = ?; +## Try the AT90S2313 devcode: + avr910_devcode = 0x20; + signature = 0x1e 0x92 0x0C; + reset = io; + chip_erase_delay = 1000; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = 0x0E, 0x1E, 0x0E, 0x1E, 0x2E, 0x3E, 0x2E, 0x3E, 0x4E, 0x5E, + 0x4E, 0x5E, 0x6E, 0x7E, 0x6E, 0x7E, 0x06, 0x16, 0x46, 0x56, + 0x0A, 0x1A, 0x4A, 0x5A, 0x1E, 0x7C, 0x00, 0x01, 0x00, 0x00, + 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + hvspcmdexedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 20; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + memory "eeprom" + size = 64; + paged = yes; + page_size = 4; + num_pages = 16; + min_write_delay = 4000; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 0 0 0 x x x x x", + "0 0 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 0 0 0 x x x x x", + "0 0 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " 0 0 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 5; + blocksize = 4; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 4096; + page_size = 64; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 64; + readsize = 256; + ; + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + memory "lock" + size = 1; + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 4500; + max_write_delay = 4500; + ; + + memory "calibration" + size = 2; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 a0 o o o o o o o o"; + ; +; + +#------------------------------------------------------------ +# ATmega32u4 +#------------------------------------------------------------ + +part + id = "m32u4"; + desc = "ATmega32U4"; + signature = 0x1e 0x95 0x87; + usbpid = 0x2ff4; + has_jtag = yes; +# stk500_devcode = 0xB2; +# avr910_devcode = 0x43; + chip_erase_delay = 9000; + pagel = 0xD7; + bs2 = 0xA0; + reset = dedicated; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + rampz = 0x3b; + allowfullpagebitstream = no; + + ocdrev = 3; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 4; /* for parallel programming */ + size = 1024; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0x00; + readback_p2 = 0x00; + read = " 1 0 1 0 0 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 32768; + page_size = 128; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0x00; + readback_p2 = 0x00; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 128; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# AT90USB646 +#------------------------------------------------------------ + +part + id = "usb646"; + desc = "AT90USB646"; + signature = 0x1e 0x96 0x82; + usbpid = 0x2ff9; + has_jtag = yes; +# stk500_devcode = 0xB2; +# avr910_devcode = 0x43; + chip_erase_delay = 9000; + pagel = 0xD7; + bs2 = 0xA0; + reset = dedicated; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + rampz = 0x3b; + allowfullpagebitstream = no; + + ocdrev = 3; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 2048; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0x00; + readback_p2 = 0x00; + read = " 1 0 1 0 0 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x x a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 65536; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0x00; + readback_p2 = 0x00; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# AT90USB647 +#------------------------------------------------------------ +# identical to AT90USB646 + +part parent "usb646" + id = "usb647"; + desc = "AT90USB647"; + signature = 0x1e 0x96 0x82; + + ocdrev = 3; + ; + +#------------------------------------------------------------ +# AT90USB1286 +#------------------------------------------------------------ + +part + id = "usb1286"; + desc = "AT90USB1286"; + signature = 0x1e 0x97 0x82; + usbpid = 0x2ffb; + has_jtag = yes; +# stk500_devcode = 0xB2; +# avr910_devcode = 0x43; + chip_erase_delay = 9000; + pagel = 0xD7; + bs2 = 0xA0; + reset = dedicated; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + rampz = 0x3b; + allowfullpagebitstream = no; + + ocdrev = 3; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 4096; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0x00; + readback_p2 = 0x00; + read = " 1 0 1 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " x x x x a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 131072; + page_size = 256; + num_pages = 512; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0x00; + readback_p2 = 0x00; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 x x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 256; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 x x x x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 x x x x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# AT90USB1287 +#------------------------------------------------------------ +# identical to AT90USB1286 + +part parent "usb1286" + id = "usb1287"; + desc = "AT90USB1287"; + signature = 0x1e 0x97 0x82; + + ocdrev = 3; + ; + +#------------------------------------------------------------ +# AT90USB162 +#------------------------------------------------------------ + +part + id = "usb162"; + desc = "AT90USB162"; + has_jtag = no; + has_debugwire = yes; + signature = 0x1e 0x94 0x82; + usbpid = 0x2ffa; + chip_erase_delay = 9000; + reset = io; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + pagel = 0xD7; + bs2 = 0xC6; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + ocdrev = 1; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 4; /* for parallel programming */ + size = 512; + num_pages = 128; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0x00; + readback_p2 = 0x00; + read = " 1 0 1 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 16384; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0x00; + readback_p2 = 0x00; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 128; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# AT90USB82 +#------------------------------------------------------------ +# Changes against AT90USB162 (beside IDs) +# memory "flash" +# size = 8192; +# num_pages = 64; + +part + id = "usb82"; + desc = "AT90USB82"; + has_jtag = no; + has_debugwire = yes; + signature = 0x1e 0x93 0x82; + usbpid = 0x2ff7; + chip_erase_delay = 9000; + reset = io; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + pagel = 0xD7; + bs2 = 0xC6; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + ocdrev = 1; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 4; /* for parallel programming */ + size = 512; + num_pages = 128; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0x00; + readback_p2 = 0x00; + read = " 1 0 1 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 8192; + page_size = 128; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0x00; + readback_p2 = 0x00; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 128; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega32U2 +#------------------------------------------------------------ +# Changes against AT90USB162 (beside IDs) +# memory "flash" +# size = 32768; +# num_pages = 256; +# memory "eeprom" +# size = 1024; +# num_pages = 256; +part + id = "m32u2"; + desc = "ATmega32U2"; + has_jtag = no; + has_debugwire = yes; + signature = 0x1e 0x95 0x8a; + usbpid = 0x2ff0; + chip_erase_delay = 9000; + reset = io; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + pagel = 0xD7; + bs2 = 0xC6; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + ocdrev = 1; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 4; /* for parallel programming */ + size = 1024; + num_pages = 256; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0x00; + readback_p2 = 0x00; + read = " 1 0 1 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 32768; + page_size = 128; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0x00; + readback_p2 = 0x00; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 128; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; +#------------------------------------------------------------ +# ATmega16U2 +#------------------------------------------------------------ +# Changes against ATmega32U2 (beside IDs) +# memory "flash" +# size = 16384; +# num_pages = 128; +# memory "eeprom" +# size = 512; +# num_pages = 128; +part + id = "m16u2"; + desc = "ATmega16U2"; + has_jtag = no; + has_debugwire = yes; + signature = 0x1e 0x94 0x89; + usbpid = 0x2fef; + chip_erase_delay = 9000; + reset = io; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + pagel = 0xD7; + bs2 = 0xC6; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + ocdrev = 1; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 4; /* for parallel programming */ + size = 512; + num_pages = 128; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0x00; + readback_p2 = 0x00; + read = " 1 0 1 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 16384; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0x00; + readback_p2 = 0x00; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 128; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega8U2 +#------------------------------------------------------------ +# Changes against ATmega16U2 (beside IDs) +# memory "flash" +# size = 8192; +# page_size = 64; +# blocksize = 64; + +part + id = "m8u2"; + desc = "ATmega8U2"; + has_jtag = no; + has_debugwire = yes; + signature = 0x1e 0x93 0x89; + usbpid = 0x2fee; + chip_erase_delay = 9000; + reset = io; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + pagel = 0xD7; + bs2 = 0xC6; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + ocdrev = 1; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 4; /* for parallel programming */ + size = 512; + num_pages = 128; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0x00; + readback_p2 = 0x00; + read = " 1 0 1 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 8192; + page_size = 128; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0x00; + readback_p2 = 0x00; + read_lo = " 0 0 1 0 0 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " x x x x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + "a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 128; + readsize = 256; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; +#------------------------------------------------------------ +# ATmega325 +#------------------------------------------------------------ + +part + id = "m325"; + desc = "ATmega325"; + signature = 0x1e 0x95 0x05; + has_jtag = yes; +# stk500_devcode = 0x??; # No STK500v1 support? +# avr910_devcode = 0x??; # Try the ATmega16 one + avr910_devcode = 0x74; + pagel = 0xd7; + bs2 = 0xa0; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + allowfullpagebitstream = no; + + ocdrev = 3; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 4; /* for parallel programming */ + size = 1024; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 0 0 0 0 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 0 0 0 0 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 0 0 0 0 a9 a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 32768; + page_size = 128; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 0 0 0 0 0", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 0 0 0 0 0", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 0 0 0 0 0", + "0 0 0 0 0 0 0 0 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "0 0 0 0 0 0 0 0 i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "0 0 0 0 0 0 0 0 i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "0 0 0 0 0 0 0 0 1 1 1 1 1 i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + + read = "0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega645 +#------------------------------------------------------------ + +part + id = "m645"; + desc = "ATmega645"; + signature = 0x1E 0x96 0x05; + has_jtag = yes; +# stk500_devcode = 0x??; # No STK500v1 support? +# avr910_devcode = 0x??; # Try the ATmega16 one + avr910_devcode = 0x74; + pagel = 0xd7; + bs2 = 0xa0; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0", + "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + allowfullpagebitstream = no; + + ocdrev = 3; + + memory "eeprom" + paged = no; /* leave this "no" */ + page_size = 8; /* for parallel programming */ + size = 2048; + min_write_delay = 9000; + max_write_delay = 9000; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 a4 a3 0 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 8; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 65536; + page_size = 256; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 0 0 0 0 0", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 0 0 0 0 0", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " a15 a14 a13 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " 0 0 0 0 0 0 0 0"; + + mode = 0x41; + delay = 10; + blocksize = 128; + readsize = 256; + ; + + memory "lock" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 0 0 0 0 0", + "0 0 0 0 0 0 0 0 1 1 i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "0 0 0 0 0 0 0 0 i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "0 0 0 0 0 0 0 0 i i i i i i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "0 0 0 0 0 0 0 0 1 1 1 1 1 i i i"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0", + "0 0 0 0 0 0 a1 a0 o o o o o o o o"; + ; + + memory "calibration" + size = 1; + + read = "0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega3250 +#------------------------------------------------------------ + +part parent "m325" + id = "m3250"; + desc = "ATmega3250"; + signature = 0x1E 0x95 0x06; + + ocdrev = 3; + ; + +#------------------------------------------------------------ +# ATmega6450 +#------------------------------------------------------------ + +part parent "m645" + id = "m6450"; + desc = "ATmega6450"; + signature = 0x1E 0x96 0x06; + + ocdrev = 3; + ; + +#------------------------------------------------------------ +# AVR XMEGA family common values +#------------------------------------------------------------ + +part + id = ".xmega"; + desc = "AVR XMEGA family common values"; + has_pdi = yes; + nvm_base = 0x01c0; + mcu_base = 0x0090; + + memory "signature" + size = 3; + offset = 0x1000090; + ; + + memory "prodsig" + size = 0x32; + offset = 0x8e0200; + page_size = 0x32; + readsize = 0x32; + ; + + memory "fuse1" + size = 1; + offset = 0x8f0021; + ; + + memory "fuse2" + size = 1; + offset = 0x8f0022; + ; + + memory "fuse4" + size = 1; + offset = 0x8f0024; + ; + + memory "fuse5" + size = 1; + offset = 0x8f0025; + ; + + memory "lock" + size = 1; + offset = 0x8f0027; + ; + + memory "data" + # SRAM, only used to supply the offset + offset = 0x1000000; + ; +; + +#------------------------------------------------------------ +# ATxmega16A4U +#------------------------------------------------------------ + +part parent ".xmega" + id = "x16a4u"; + desc = "ATxmega16A4U"; + signature = 0x1e 0x94 0x41; + usbpid = 0x2fe3; + + memory "eeprom" + size = 0x400; + offset = 0x8c0000; + page_size = 0x20; + readsize = 0x100; + ; + + memory "application" + size = 0x4000; + offset = 0x800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "apptable" + size = 0x1000; + offset = 0x803000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "boot" + size = 0x1000; + offset = 0x804000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "flash" + size = 0x5000; + offset = 0x800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "usersig" + size = 0x100; + offset = 0x8e0400; + page_size = 0x100; + readsize = 0x100; + ; +; + +#------------------------------------------------------------ +# ATxmega16C4 +#------------------------------------------------------------ + +part parent "x16a4u" + id = "x16c4"; + desc = "ATxmega16C4"; + signature = 0x1e 0x95 0x44; +; + +#------------------------------------------------------------ +# ATxmega16D4 +#------------------------------------------------------------ + +part parent "x16a4u" + id = "x16d4"; + desc = "ATxmega16D4"; + signature = 0x1e 0x94 0x42; +; + +#------------------------------------------------------------ +# ATxmega16A4 +#------------------------------------------------------------ + +part parent "x16a4u" + id = "x16a4"; + desc = "ATxmega16A4"; + signature = 0x1e 0x94 0x41; + has_jtag = yes; + + memory "fuse0" + size = 1; + offset = 0x8f0020; + ; +; + +#------------------------------------------------------------ +# ATxmega32A4U +#------------------------------------------------------------ + +part parent ".xmega" + id = "x32a4u"; + desc = "ATxmega32A4U"; + signature = 0x1e 0x95 0x41; + usbpid = 0x2fe4; + + memory "eeprom" + size = 0x400; + offset = 0x8c0000; + page_size = 0x20; + readsize = 0x100; + ; + + memory "application" + size = 0x8000; + offset = 0x800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "apptable" + size = 0x1000; + offset = 0x807000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "boot" + size = 0x1000; + offset = 0x808000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "flash" + size = 0x9000; + offset = 0x800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "usersig" + size = 0x100; + offset = 0x8e0400; + page_size = 0x100; + readsize = 0x100; + ; +; + +#------------------------------------------------------------ +# ATxmega32C4 +#------------------------------------------------------------ + +part parent "x32a4u" + id = "x32c4"; + desc = "ATxmega32C4"; + signature = 0x1e 0x94 0x43; +; + +#------------------------------------------------------------ +# ATxmega32D4 +#------------------------------------------------------------ + +part parent "x32a4u" + id = "x32d4"; + desc = "ATxmega32D4"; + signature = 0x1e 0x95 0x42; +; + +#------------------------------------------------------------ +# ATxmega32A4 +#------------------------------------------------------------ + +part parent "x32a4u" + id = "x32a4"; + desc = "ATxmega32A4"; + signature = 0x1e 0x95 0x41; + has_jtag = yes; + + memory "fuse0" + size = 1; + offset = 0x8f0020; + ; +; + +#------------------------------------------------------------ +# ATxmega64A4U +#------------------------------------------------------------ + +part parent ".xmega" + id = "x64a4u"; + desc = "ATxmega64A4U"; + signature = 0x1e 0x96 0x46; + usbpid = 0x2fe5; + + memory "eeprom" + size = 0x800; + offset = 0x8c0000; + page_size = 0x20; + readsize = 0x100; + ; + + memory "application" + size = 0x10000; + offset = 0x800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "apptable" + size = 0x1000; + offset = 0x80f000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "boot" + size = 0x1000; + offset = 0x810000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "flash" + size = 0x11000; + offset = 0x800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "usersig" + size = 0x100; + offset = 0x8e0400; + page_size = 0x100; + readsize = 0x100; + ; +; + +#------------------------------------------------------------ +# ATxmega64C3 +#------------------------------------------------------------ + +part parent "x64a4u" + id = "x64c3"; + desc = "ATxmega64C3"; + signature = 0x1e 0x96 0x49; + usbpid = 0x2fd6; +; + +#------------------------------------------------------------ +# ATxmega64D3 +#------------------------------------------------------------ + +part parent "x64a4u" + id = "x64d3"; + desc = "ATxmega64D3"; + signature = 0x1e 0x96 0x4a; +; + +#------------------------------------------------------------ +# ATxmega64D4 +#------------------------------------------------------------ + +part parent "x64a4u" + id = "x64d4"; + desc = "ATxmega64D4"; + signature = 0x1e 0x96 0x47; +; + +#------------------------------------------------------------ +# ATxmega64A1 +#------------------------------------------------------------ + +part parent "x64a4u" + id = "x64a1"; + desc = "ATxmega64A1"; + signature = 0x1e 0x96 0x4e; + has_jtag = yes; + + memory "fuse0" + size = 1; + offset = 0x8f0020; + ; +; + +#------------------------------------------------------------ +# ATxmega64A1U +#------------------------------------------------------------ + +part parent "x64a1" + id = "x64a1u"; + desc = "ATxmega64A1U"; + signature = 0x1e 0x96 0x4e; + usbpid = 0x2fe8; +; + +#------------------------------------------------------------ +# ATxmega64A3 +#------------------------------------------------------------ + +part parent "x64a1" + id = "x64a3"; + desc = "ATxmega64A3"; + signature = 0x1e 0x96 0x42; +; + +#------------------------------------------------------------ +# ATxmega64A3U +#------------------------------------------------------------ + +part parent "x64a1" + id = "x64a3u"; + desc = "ATxmega64A3U"; + signature = 0x1e 0x96 0x42; + usbpid = 0x2fe5; +; + +#------------------------------------------------------------ +# ATxmega64A4 +#------------------------------------------------------------ + +part parent "x64a1" + id = "x64a4"; + desc = "ATxmega64A4"; + signature = 0x1e 0x96 0x46; +; + +#------------------------------------------------------------ +# ATxmega64B1 +#------------------------------------------------------------ + +part parent "x64a1" + id = "x64b1"; + desc = "ATxmega64B1"; + signature = 0x1e 0x96 0x52; + usbpid = 0x2fe1; +; + +#------------------------------------------------------------ +# ATxmega64B3 +#------------------------------------------------------------ + +part parent "x64a1" + id = "x64b3"; + desc = "ATxmega64B3"; + signature = 0x1e 0x96 0x51; + usbpid = 0x2fdf; +; + +#------------------------------------------------------------ +# ATxmega128C3 +#------------------------------------------------------------ + +part parent ".xmega" + id = "x128c3"; + desc = "ATxmega128C3"; + signature = 0x1e 0x97 0x52; + usbpid = 0x2fd7; + + memory "eeprom" + size = 0x800; + offset = 0x8c0000; + page_size = 0x20; + readsize = 0x100; + ; + + memory "application" + size = 0x20000; + offset = 0x800000; + page_size = 0x200; + readsize = 0x100; + ; + + memory "apptable" + size = 0x2000; + offset = 0x81e000; + page_size = 0x200; + readsize = 0x100; + ; + + memory "boot" + size = 0x2000; + offset = 0x820000; + page_size = 0x200; + readsize = 0x100; + ; + + memory "flash" + size = 0x22000; + offset = 0x800000; + page_size = 0x200; + readsize = 0x100; + ; + + memory "usersig" + size = 0x200; + offset = 0x8e0400; + page_size = 0x200; + readsize = 0x100; + ; +; + +#------------------------------------------------------------ +# ATxmega128D3 +#------------------------------------------------------------ + +part parent "x128c3" + id = "x128d3"; + desc = "ATxmega128D3"; + signature = 0x1e 0x97 0x48; +; + +#------------------------------------------------------------ +# ATxmega128D4 +#------------------------------------------------------------ + +part parent "x128c3" + id = "x128d4"; + desc = "ATxmega128D4"; + signature = 0x1e 0x97 0x47; +; + +#------------------------------------------------------------ +# ATxmega128A1 +#------------------------------------------------------------ + +part parent "x128c3" + id = "x128a1"; + desc = "ATxmega128A1"; + signature = 0x1e 0x97 0x4c; + has_jtag = yes; + + memory "fuse0" + size = 1; + offset = 0x8f0020; + ; +; + +#------------------------------------------------------------ +# ATxmega128A1 revision D +#------------------------------------------------------------ + +part parent "x128a1" + id = "x128a1d"; + desc = "ATxmega128A1revD"; + signature = 0x1e 0x97 0x41; +; + +#------------------------------------------------------------ +# ATxmega128A1U +#------------------------------------------------------------ + +part parent "x128a1" + id = "x128a1u"; + desc = "ATxmega128A1U"; + signature = 0x1e 0x97 0x4c; + usbpid = 0x2fed; +; + +#------------------------------------------------------------ +# ATxmega128A3 +#------------------------------------------------------------ + +part parent "x128a1" + id = "x128a3"; + desc = "ATxmega128A3"; + signature = 0x1e 0x97 0x42; +; + +#------------------------------------------------------------ +# ATxmega128A3U +#------------------------------------------------------------ + +part parent "x128a1" + id = "x128a3u"; + desc = "ATxmega128A3U"; + signature = 0x1e 0x97 0x42; + usbpid = 0x2fe6; +; + +#------------------------------------------------------------ +# ATxmega128A4 +#------------------------------------------------------------ + +part parent ".xmega" + id = "x128a4"; + desc = "ATxmega128A4"; + signature = 0x1e 0x97 0x46; + has_jtag = yes; + + memory "eeprom" + size = 0x800; + offset = 0x8c0000; + page_size = 0x20; + readsize = 0x100; + ; + + memory "application" + size = 0x20000; + offset = 0x800000; + page_size = 0x200; + readsize = 0x100; + ; + + memory "apptable" + size = 0x1000; + offset = 0x81f000; + page_size = 0x200; + readsize = 0x100; + ; + + memory "boot" + size = 0x2000; + offset = 0x820000; + page_size = 0x200; + readsize = 0x100; + ; + + memory "flash" + size = 0x22000; + offset = 0x800000; + page_size = 0x200; + readsize = 0x100; + ; + + memory "usersig" + size = 0x200; + offset = 0x8e0400; + page_size = 0x200; + readsize = 0x100; + ; + + memory "fuse0" + size = 1; + offset = 0x8f0020; + ; +; + +#------------------------------------------------------------ +# ATxmega128A4U +#------------------------------------------------------------ + +part parent ".xmega" + id = "x128a4u"; + desc = "ATxmega128A4U"; + signature = 0x1e 0x97 0x46; + usbpid = 0x2fde; + + memory "eeprom" + size = 0x800; + offset = 0x8c0000; + page_size = 0x20; + readsize = 0x100; + ; + + memory "application" + size = 0x20000; + offset = 0x800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "apptable" + size = 0x1000; + offset = 0x81f000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "boot" + size = 0x2000; + offset = 0x820000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "flash" + size = 0x22000; + offset = 0x800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "usersig" + size = 0x100; + offset = 0x8e0400; + page_size = 0x100; + readsize = 0x100; + ; +; + +#------------------------------------------------------------ +# ATxmega128B1 +#------------------------------------------------------------ + +part parent ".xmega" + id = "x128b1"; + desc = "ATxmega128B1"; + signature = 0x1e 0x97 0x4d; + usbpid = 0x2fea; + has_jtag = yes; + + memory "eeprom" + size = 0x800; + offset = 0x8c0000; + page_size = 0x20; + readsize = 0x100; + ; + + memory "application" + size = 0x20000; + offset = 0x800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "apptable" + size = 0x2000; + offset = 0x81e000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "boot" + size = 0x2000; + offset = 0x820000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "flash" + size = 0x22000; + offset = 0x800000; + page_size = 0x100; + readsize = 0x100; + ; + + memory "usersig" + size = 0x100; + offset = 0x8e0400; + page_size = 0x100; + readsize = 0x100; + ; + + memory "fuse0" + size = 1; + offset = 0x8f0020; + ; +; + +#------------------------------------------------------------ +# ATxmega128B3 +#------------------------------------------------------------ + +part parent "x128b1" + id = "x128b3"; + desc = "ATxmega128B3"; + signature = 0x1e 0x97 0x4b; + usbpid = 0x2fe0; +; + +#------------------------------------------------------------ +# ATxmega192C3 +#------------------------------------------------------------ + +part parent ".xmega" + id = "x192c3"; + desc = "ATxmega192C3"; + signature = 0x1e 0x97 0x51; + # usbpid = 0x2f??; + + memory "eeprom" + size = 0x800; + offset = 0x8c0000; + page_size = 0x20; + readsize = 0x100; + ; + + memory "application" + size = 0x30000; + offset = 0x800000; + page_size = 0x200; + readsize = 0x100; + ; + + memory "apptable" + size = 0x2000; + offset = 0x82e000; + page_size = 0x200; + readsize = 0x100; + ; + + memory "boot" + size = 0x2000; + offset = 0x830000; + page_size = 0x200; + readsize = 0x100; + ; + + memory "flash" + size = 0x32000; + offset = 0x800000; + page_size = 0x200; + readsize = 0x100; + ; + + memory "usersig" + size = 0x200; + offset = 0x8e0400; + page_size = 0x200; + readsize = 0x100; + ; +; + +#------------------------------------------------------------ +# ATxmega192D3 +#------------------------------------------------------------ + +part parent "x192c3" + id = "x192d3"; + desc = "ATxmega192D3"; + signature = 0x1e 0x97 0x49; +; + +#------------------------------------------------------------ +# ATxmega192A1 +#------------------------------------------------------------ + +part parent "x192c3" + id = "x192a1"; + desc = "ATxmega192A1"; + signature = 0x1e 0x97 0x4e; + has_jtag = yes; + + memory "fuse0" + size = 1; + offset = 0x8f0020; + ; +; + +#------------------------------------------------------------ +# ATxmega192A3 +#------------------------------------------------------------ + +part parent "x192a1" + id = "x192a3"; + desc = "ATxmega192A3"; + signature = 0x1e 0x97 0x44; +; + +#------------------------------------------------------------ +# ATxmega192A3U +#------------------------------------------------------------ + +part parent "x192a1" + id = "x192a3u"; + desc = "ATxmega192A3U"; + signature = 0x1e 0x97 0x44; + usbpid = 0x2fe7; +; + +#------------------------------------------------------------ +# ATxmega256C3 +#------------------------------------------------------------ + +part parent ".xmega" + id = "x256c3"; + desc = "ATxmega256C3"; + signature = 0x1e 0x98 0x46; + usbpid = 0x2fda; + + memory "eeprom" + size = 0x1000; + offset = 0x8c0000; + page_size = 0x20; + readsize = 0x100; + ; + + memory "application" + size = 0x40000; + offset = 0x800000; + page_size = 0x200; + readsize = 0x100; + ; + + memory "apptable" + size = 0x2000; + offset = 0x83e000; + page_size = 0x200; + readsize = 0x100; + ; + + memory "boot" + size = 0x2000; + offset = 0x840000; + page_size = 0x200; + readsize = 0x100; + ; + + memory "flash" + size = 0x42000; + offset = 0x800000; + page_size = 0x200; + readsize = 0x100; + ; + + memory "usersig" + size = 0x200; + offset = 0x8e0400; + page_size = 0x200; + readsize = 0x100; + ; +; + +#------------------------------------------------------------ +# ATxmega256D3 +#------------------------------------------------------------ + +part parent "x256c3" + id = "x256d3"; + desc = "ATxmega256D3"; + signature = 0x1e 0x98 0x44; +; + +#------------------------------------------------------------ +# ATxmega256A1 +#------------------------------------------------------------ + +part parent "x256c3" + id = "x256a1"; + desc = "ATxmega256A1"; + signature = 0x1e 0x98 0x46; + has_jtag = yes; + + memory "fuse0" + size = 1; + offset = 0x8f0020; + ; +; + +#------------------------------------------------------------ +# ATxmega256A3 +#------------------------------------------------------------ + +part parent "x256a1" + id = "x256a3"; + desc = "ATxmega256A3"; + signature = 0x1e 0x98 0x42; +; + +#------------------------------------------------------------ +# ATxmega256A3U +#------------------------------------------------------------ + +part parent "x256a1" + id = "x256a3u"; + desc = "ATxmega256A3U"; + signature = 0x1e 0x98 0x42; + usbpid = 0x2fec; +; + +#------------------------------------------------------------ +# ATxmega256A3B +#------------------------------------------------------------ + +part parent "x256a1" + id = "x256a3b"; + desc = "ATxmega256A3B"; + signature = 0x1e 0x98 0x43; +; + +#------------------------------------------------------------ +# ATxmega256A3BU +#------------------------------------------------------------ + +part parent "x256a1" + id = "x256a3bu"; + desc = "ATxmega256A3BU"; + signature = 0x1e 0x98 0x43; + usbpid = 0x2fe2; +; + +#------------------------------------------------------------ +# ATxmega384C3 +#------------------------------------------------------------ + +part parent ".xmega" + id = "x384c3"; + desc = "ATxmega384C3"; + signature = 0x1e 0x98 0x45; + usbpid = 0x2fdb; + + memory "eeprom" + size = 0x1000; + offset = 0x8c0000; + page_size = 0x20; + readsize = 0x100; + ; + + memory "application" + size = 0x60000; + offset = 0x800000; + page_size = 0x200; + readsize = 0x100; + ; + + memory "apptable" + size = 0x2000; + offset = 0x85e000; + page_size = 0x200; + readsize = 0x100; + ; + + memory "boot" + size = 0x2000; + offset = 0x860000; + page_size = 0x200; + readsize = 0x100; + ; + + memory "flash" + size = 0x62000; + offset = 0x800000; + page_size = 0x200; + readsize = 0x100; + ; + + memory "usersig" + size = 0x200; + offset = 0x8e0400; + page_size = 0x200; + readsize = 0x100; + ; +; + +#------------------------------------------------------------ +# ATxmega384D3 +#------------------------------------------------------------ + +part parent "x384c3" + id = "x384d3"; + desc = "ATxmega384D3"; + signature = 0x1e 0x98 0x47; +; + +#------------------------------------------------------------ +# ATxmega8E5 +#------------------------------------------------------------ + +part parent ".xmega" + id = "x8e5"; + desc = "ATxmega8E5"; + signature = 0x1e 0x93 0x41; + + memory "eeprom" + size = 0x0200; + offset = 0x08c0000; + page_size = 0x20; + readsize = 0x100; + ; + + memory "application" + size = 0x2000; + offset = 0x0800000; + page_size = 0x80; + readsize = 0x100; + ; + + memory "apptable" + size = 0x800; + offset = 0x00801800; + page_size = 0x80; + readsize = 0x100; + ; + + memory "boot" + size = 0x800; + offset = 0x00802000; + page_size = 0x80; + readsize = 0x100; + ; + + memory "flash" + size = 0x2800; + offset = 0x0800000; + page_size = 0x80; + readsize = 0x100; + ; + + memory "usersig" + size = 0x80; + offset = 0x8e0400; + page_size = 0x80; + readsize = 0x100; + ; +; + +#------------------------------------------------------------ +# ATxmega16E5 +#------------------------------------------------------------ + +part parent ".xmega" + id = "x16e5"; + desc = "ATxmega16E5"; + signature = 0x1e 0x94 0x45; + + memory "eeprom" + size = 0x0200; + offset = 0x08c0000; + page_size = 0x20; + readsize = 0x100; + ; + + memory "application" + size = 0x4000; + offset = 0x0800000; + page_size = 0x80; + readsize = 0x100; + ; + + memory "apptable" + size = 0x1000; + offset = 0x00803000; + page_size = 0x80; + readsize = 0x100; + ; + + memory "boot" + size = 0x1000; + offset = 0x00804000; + page_size = 0x80; + readsize = 0x100; + ; + + memory "flash" + size = 0x5000; + offset = 0x0800000; + page_size = 0x80; + readsize = 0x100; + ; + + memory "usersig" + size = 0x80; + offset = 0x8e0400; + page_size = 0x80; + readsize = 0x100; + ; +; + +#------------------------------------------------------------ +# ATxmega32E5 +#------------------------------------------------------------ + +part parent ".xmega" + id = "x32e5"; + desc = "ATxmega32E5"; + signature = 0x1e 0x95 0x4c; + + memory "eeprom" + size = 0x0400; + offset = 0x08c0000; + page_size = 0x20; + readsize = 0x100; + ; + + memory "application" + size = 0x8000; + offset = 0x0800000; + page_size = 0x80; + readsize = 0x100; + ; + + memory "apptable" + size = 0x1000; + offset = 0x00807000; + page_size = 0x80; + readsize = 0x100; + ; + + memory "boot" + size = 0x1000; + offset = 0x00808000; + page_size = 0x80; + readsize = 0x100; + ; + + memory "flash" + size = 0x9000; + offset = 0x0800000; + page_size = 0x80; + readsize = 0x100; + ; + + memory "usersig" + size = 0x80; + offset = 0x8e0400; + page_size = 0x80; + readsize = 0x100; + ; +; + +#------------------------------------------------------------ +# AVR32UC3A0512 +#------------------------------------------------------------ + +part + id = "uc3a0512"; + desc = "AT32UC3A0512"; + signature = 0xED 0xC0 0x3F; + has_jtag = yes; + is_avr32 = yes; + + memory "flash" + paged = yes; + page_size = 512; # bytes + readsize = 512; # bytes + num_pages = 1024; # could be set dynamicly + size = 0x00080000; # could be set dynamicly + offset = 0x80000000; + ; +; + +part parent "uc3a0512" + id = "ucr2"; + desc = "deprecated, use 'uc3a0512'"; +; + +#------------------------------------------------------------ +# ATtiny1634. +#------------------------------------------------------------ + +part + id = "t1634"; + desc = "ATtiny1634"; + has_debugwire = yes; + flash_instr = 0xB6, 0x01, 0x11; + eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, + 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, + 0x99, 0xF9, 0xBB, 0xAF; + stk500_devcode = 0x86; + # avr910_devcode = 0x; + signature = 0x1e 0x94 0x12; + pagel = 0xB3; + bs2 = 0xB1; + reset = io; + chip_erase_delay = 9000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0E, 0x1E, 0x2E, 0x3E, 0x2E, 0x3E, + 0x4E, 0x5E, 0x4E, 0x5E, 0x6E, 0x7E, 0x6E, 0x7E, + 0x26, 0x36, 0x66, 0x76, 0x2A, 0x3A, 0x6A, 0x7A, + 0x2E, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 0; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + memory "eeprom" + paged = no; + page_size = 4; + size = 256; + min_write_delay = 3600; + max_write_delay = 3600; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 0 x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 0 x x x x a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x a8", + " a7 a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 5; + blocksize = 4; + readsize = 256; + ; + + memory "flash" + paged = yes; + size = 16384; + page_size = 32; + num_pages = 512; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 128; + readsize = 256; + + ; + + memory "lfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "efuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x i i i i i"; + ; + + memory "lock" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x x x x x x x o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 1 1 1 1 i i"; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; +; + +#------------------------------------------------------------ +# Common values for reduced core tinys (4/5/9/10/20/40) +#------------------------------------------------------------ + +part + id = ".reduced_core_tiny"; + desc = "Common values for reduced core tinys"; + has_tpi = yes; + + memory "signature" + size = 3; + offset = 0x3fc0; + page_size = 16; + ; + + memory "fuse" + size = 1; + offset = 0x3f40; + page_size = 16; + blocksize = 4; + ; + + memory "calibration" + size = 1; + offset = 0x3f80; + page_size = 16; + ; + + memory "lockbits" + size = 1; + offset = 0x3f00; + page_size = 16; + ; +; + +#------------------------------------------------------------ +# ATtiny4 +#------------------------------------------------------------ + +part parent ".reduced_core_tiny" + id = "t4"; + desc = "ATtiny4"; + signature = 0x1e 0x8f 0x0a; + + memory "flash" + size = 512; + offset = 0x4000; + page_size = 16; + blocksize = 128; + ; +; + +#------------------------------------------------------------ +# ATtiny5 +#------------------------------------------------------------ + +part parent "t4" + id = "t5"; + desc = "ATtiny5"; + signature = 0x1e 0x8f 0x09; +; + +#------------------------------------------------------------ +# ATtiny9 +#------------------------------------------------------------ + +part parent ".reduced_core_tiny" + id = "t9"; + desc = "ATtiny9"; + signature = 0x1e 0x90 0x08; + + memory "flash" + size = 1024; + offset = 0x4000; + page_size = 16; + blocksize = 128; + ; +; + +#------------------------------------------------------------ +# ATtiny10 +#------------------------------------------------------------ + +part parent "t9" + id = "t10"; + desc = "ATtiny10"; + signature = 0x1e 0x90 0x03; +; + +#------------------------------------------------------------ +# ATtiny20 +#------------------------------------------------------------ + +part parent ".reduced_core_tiny" + id = "t20"; + desc = "ATtiny20"; + signature = 0x1e 0x91 0x0F; + + memory "flash" + size = 2048; + offset = 0x4000; + page_size = 16; + blocksize = 128; + ; +; + +#------------------------------------------------------------ +# ATtiny40 +#------------------------------------------------------------ + +part parent ".reduced_core_tiny" + id = "t40"; + desc = "ATtiny40"; + signature = 0x1e 0x92 0x0E; + + memory "flash" + size = 4096; + offset = 0x4000; + page_size = 64; + blocksize = 128; + ; +; + +#------------------------------------------------------------ +# ATmega406 +#------------------------------------------------------------ + +part + id = "m406"; + desc = "ATMEGA406"; + has_jtag = yes; + signature = 0x1e 0x95 0x07; + + # STK500 parameters (parallel programming IO lines) + pagel = 0xa7; + bs2 = 0xa0; + serial = no; + parallel = yes; + + # STK500v2 HV programming parameters, from XML + pp_controlstack = 0x0e, 0x1e, 0x0f, 0x1f, 0x2e, 0x3e, 0x2f, 0x3f, + 0x4e, 0x5e, 0x4f, 0x5f, 0x6e, 0x7e, 0x6f, 0x7f, + 0x66, 0x76, 0x67, 0x77, 0x6a, 0x7a, 0x6b, 0x7b, + 0xbe, 0xfd, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + + # JTAG ICE mkII parameters, also from XML files + allowfullpagebitstream = no; + enablepageprogramming = yes; + idr = 0x51; + rampz = 0x00; + spmcr = 0x57; + eecr = 0x3f; + + memory "eeprom" + paged = no; + size = 512; + page_size = 4; + blocksize = 4; + readsize = 4; + num_pages = 128; + ; + + memory "flash" + paged = yes; + size = 40960; + page_size = 128; + blocksize = 128; + readsize = 128; + num_pages = 320; + ; + + memory "hfuse" + size = 1; + ; + + memory "lfuse" + size = 1; + ; + + memory "lockbits" + size = 1; + ; + + memory "signature" + size = 3; + ; +; + +#------------------------------------------------------------ +# ATtiny87 +#------------------------------------------------------------ + +# Changes against ATtiny167 (beside IDs) +# memory "flash" +# size = 8192; +# num_pages = 64; + +part + id = "t87"; + desc = "ATtiny87"; + has_debugwire = yes; + flash_instr = 0xB6, 0x01, 0x11; + eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, + 0x00, 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, + 0xBF, 0x99, 0xF9, 0xBB, 0xAF; +## no STK500 devcode in XML file, use the ATtiny45 one + stk500_devcode = 0x14; +## avr910_devcode = ?; +## Try the AT90S2313 devcode: + avr910_devcode = 0x20; + signature = 0x1e 0x93 0x87; + reset = io; + chip_erase_delay = 1000; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0E, 0x1E, 0x2E, 0x3E, 0x2E, 0x3E, + 0x4E, 0x5E, 0x4E, 0x5E, 0x6E, 0x7E, 0x6E, 0x7E, + 0x06, 0x16, 0x46, 0x56, 0x0A, 0x1A, 0x4A, 0x5A, + 0x1E, 0x7C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 20; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x00; + spmcr = 0x57; + allowfullpagebitstream = no; + + memory "eeprom" + size = 512; + paged = no; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 0 0 x x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 0 0 x x x x x a8", + "a8 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " 0 0 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 8192; + page_size = 128; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 64; + readsize = 256; + ; +# ATtiny87 has Signature Bytes: 0x1E 0x93 0x87. + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "lock" + size = 1; + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x x x x x x x i i"; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 a0 o o o o o o o o"; + ; + ; + + +#------------------------------------------------------------ +# ATtiny167 +#------------------------------------------------------------ + +part + id = "t167"; + desc = "ATtiny167"; + has_debugwire = yes; + flash_instr = 0xB6, 0x01, 0x11; + eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, + 0x00, 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, + 0xBF, 0x99, 0xF9, 0xBB, 0xAF; +## no STK500 devcode in XML file, use the ATtiny45 one + stk500_devcode = 0x14; +## avr910_devcode = ?; +## Try the AT90S2313 devcode: + avr910_devcode = 0x20; + signature = 0x1e 0x94 0x87; + reset = io; + chip_erase_delay = 1000; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 0; + + pp_controlstack = + 0x0E, 0x1E, 0x0E, 0x1E, 0x2E, 0x3E, 0x2E, 0x3E, + 0x4E, 0x5E, 0x4E, 0x5E, 0x6E, 0x7E, 0x6E, 0x7E, + 0x06, 0x16, 0x46, 0x56, 0x0A, 0x1A, 0x4A, 0x5A, + 0x1E, 0x7C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 20; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x00; + spmcr = 0x57; + allowfullpagebitstream = no; + + memory "eeprom" + size = 512; + paged = no; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 0 0 x x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 0 0 x x x x x a8", + "a8 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " 0 0 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 4; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 16384; + page_size = 128; + num_pages = 128; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 a12 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 a12 a11 a10 a9 a8", + " a7 a6 x x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 10; + blocksize = 64; + readsize = 256; + ; +# ATtiny167 has Signature Bytes: 0x1E 0x94 0x87. + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "lock" + size = 1; + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x x x x x x x i i"; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x x x x i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 a0 o o o o o o o o"; + ; + ; + + +#------------------------------------------------------------ +# ATTiny441 +#------------------------------------------------------------ + + +part + id = "t441"; + desc = "ATtiny441"; + has_debugwire = yes; + flash_instr = 0xB4, 0x07, 0x17; + eeprom_instr = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D, + 0xBC, 0x07, 0xB4, 0x07, 0xBA, 0x0D, 0xBB, 0xBC, + 0x99, 0xE1, 0xBB, 0xAC; +## no STK500 devcode in XML file, use the ATtiny45 one + stk500_devcode = 0x14; +## avr910_devcode = ?; +## Try the AT90S2313 devcode: + ##avr910_devcode = 0x20; + signature = 0x1e 0x92 0x15; + reset = io; + chip_erase_delay = 15000; + + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + hvsp_controlstack = + 0x4C, 0x0C, 0x1C, 0x2C, 0x3C, 0x64, 0x74, 0x66, + 0x68, 0x78, 0x68, 0x68, 0x7A, 0x6A, 0x68, 0x78, + 0x78, 0x7D, 0x6D, 0x0C, 0x80, 0x40, 0x20, 0x10, + 0x11, 0x08, 0x04, 0x02, 0x03, 0x08, 0x04, 0x0F; + hventerstabdelay = 100; + hvspcmdexedelay = 0; + synchcycles = 6; + latchcycles = 1; + togglevtg = 1; + poweroffdelay = 25; + resetdelayms = 0; + resetdelayus = 70; + hvleavestabdelay = 100; + resetdelay = 25; + chiperasepolltimeout = 40; + chiperasetime = 0; + programfusepolltimeout = 25; + programlockpolltimeout = 25; + + #ocdrev = 1; + + memory "eeprom" + size = 512; + paged = no; + page_size = 4; + min_write_delay = 4000; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = "1 0 1 0 0 0 0 0 0 0 0 x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 o o o o o o o o"; + + write = "1 1 0 0 0 0 0 0 0 0 0 x x x x a8", + "a7 a6 a5 a4 a3 a2 a1 a0 i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " x a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 4; + readsize = 256; + ; + memory "flash" + paged = yes; + size = 4096; + page_size = 16; + num_pages = 256; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x x x x a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x x x x a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 0 a10 a9 a8", + " a7 a6 a5 a4 a3 x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 12; + blocksize = 32; + readsize = 256; + ; +# ATtiny441 has Signature Bytes: 0x1E 0x92 0x0C. + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + + memory "lock" + size = 1; + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x x x x x x x i i"; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "lfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "hfuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "efuse" + size = 1; + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x i i i i i i i i"; + + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + min_write_delay = 9000; + max_write_delay = 9000; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATtiny48 +#------------------------------------------------------------ + +part + id = "t48"; + desc = "ATtiny48"; + has_debugwire = yes; + flash_instr = 0xB6, 0x01, 0x11; + eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, + 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, + 0x99, 0xF9, 0xBB, 0xAF; + stk500_devcode = 0x73; +# avr910_devcode = 0x; + signature = 0x1e 0x92 0x09; + pagel = 0xd7; + bs2 = 0xc2; + chip_erase_delay = 15000; + pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1", + "x x x x x x x x x x x x x x x x"; + + chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x", + "x x x x x x x x x x x x x x x x"; + + timeout = 200; + stabdelay = 100; + cmdexedelay = 25; + synchloops = 32; + bytedelay = 0; + pollindex = 3; + pollvalue = 0x53; + predelay = 1; + postdelay = 1; + pollmethod = 1; + + pp_controlstack = + 0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F, + 0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F, + 0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B, + 0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00; + hventerstabdelay = 100; + progmodedelay = 0; + latchcycles = 5; + togglevtg = 1; + poweroffdelay = 15; + resetdelayms = 1; + resetdelayus = 0; + hvleavestabdelay = 15; + resetdelay = 15; + chiperasepulsewidth = 0; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + ocdrev = 1; + + memory "eeprom" + paged = no; + page_size = 4; + size = 64; + min_write_delay = 3600; + max_write_delay = 3600; + readback_p1 = 0xff; + readback_p2 = 0xff; + read = " 1 0 1 0 0 0 0 0", + " 0 0 0 x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + write = " 1 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x a6 a5 a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_lo = " 1 1 0 0 0 0 0 1", + " 0 0 0 0 0 0 0 0", + " 0 0 0 0 0 0 a1 a0", + " i i i i i i i i"; + + writepage = " 1 1 0 0 0 0 1 0", + " 0 0 x x x x x x", + " x a6 a5 a4 a3 a2 0 0", + " x x x x x x x x"; + + mode = 0x41; + delay = 20; + blocksize = 4; + readsize = 64; + ; + memory "flash" + paged = yes; + size = 4096; + page_size = 64; + num_pages = 64; + min_write_delay = 4500; + max_write_delay = 4500; + readback_p1 = 0xff; + readback_p2 = 0xff; + read_lo = " 0 0 1 0 0 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + read_hi = " 0 0 1 0 1 0 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 a4 a3 a2 a1 a0", + " o o o o o o o o"; + + loadpage_lo = " 0 1 0 0 0 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + loadpage_hi = " 0 1 0 0 1 0 0 0", + " 0 0 0 x x x x x", + " x x x a4 a3 a2 a1 a0", + " i i i i i i i i"; + + writepage = " 0 1 0 0 1 1 0 0", + " 0 0 0 0 a11 a10 a9 a8", + " a7 a6 a5 x x x x x", + " x x x x x x x x"; + + mode = 0x41; + delay = 6; + blocksize = 64; + readsize = 256; + ; + + memory "lfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "hfuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0", + "x x x x x x x x i i i i i i i i"; + ; + + memory "efuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x 1 1 1 1 1 1 1 i"; + ; + + memory "lock" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x", + "x x x x x x x x 1 1 i i i i i i"; + ; + + memory "calibration" + size = 1; + read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x", + "0 0 0 0 0 0 0 0 o o o o o o o o"; + ; + + memory "signature" + size = 3; + read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x", + "x x x x x x a1 a0 o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega164A +#------------------------------------------------------------ + +# similar to ATmega164P + +part parent "m164p" + id = "m164a"; + desc = "ATmega164A"; + signature = 0x1e 0x94 0x0f; + + ocdrev = 3; + ; + +#------------------------------------------------------------ +# ATmega164PA +#------------------------------------------------------------ + +# similar to ATmega164P + +part parent "m164p" + id = "m164pa"; + desc = "ATmega164PA"; + signature = 0x1e 0x94 0x0a; + + ocdrev = 3; + ; + +#------------------------------------------------------------ +# ATmega324PB +#------------------------------------------------------------ + +# similar to ATmega324P + +part parent "m324p" + id = "m324pb"; + desc = "ATmega324PB"; + signature = 0x1e 0x95 0x17; + + ocdrev = 3; + + memory "efuse" + size = 1; + min_write_delay = 4500; + max_write_delay = 4500; + read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0", + "x x x x x x x x o o o o o o o o"; + + write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0", + "x x x x x x x x x x x x i i i i"; + ; +; + +#------------------------------------------------------------ +# ATmega324A +#------------------------------------------------------------ + +# similar to ATmega324P + +part parent "m324p" + id = "m324a"; + desc = "ATmega324A"; + signature = 0x1e 0x95 0x15; + + ocdrev = 3; + ; + +#------------------------------------------------------------ +# ATmega644A +#------------------------------------------------------------ + +# similar to ATmega164p + +part parent "m644" + id = "m644a"; + desc = "ATmega644A"; + signature = 0x1e 0x96 0x09; + + ocdrev = 3; + ; + +#------------------------------------------------------------ +# ATmega644PA +#------------------------------------------------------------ + +# similar to ATmega164p + +part parent "m644" + id = "m644pa"; + desc = "ATmega644PA"; + signature = 0x1e 0x96 0x0a; + + ocdrev = 3; + ; diff --git a/compiled/tools/win/tool-avrdude/avrdude.exe b/compiled/tools/win/tool-avrdude/avrdude.exe new file mode 100644 index 0000000000000000000000000000000000000000..2b5b546952363054614dfcbd9b8a25429bb517e2 GIT binary patch literal 524800 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

y*uUti3}FOTA6 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�(1Tp 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�wf`7j(ZABuit- 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
vAdqt;1Etrxp-V>_-pGWHnMnv z{y;D~@#Q7jaeX!Ndd!cSp+CYJKNg5wHg8ud1^Z*lmT*Qsa$PV z_w>1jR{6DRp^Fp=x6v0?c?XG>Io_o13;Cg09X=;~L=)O4O{O6A!&E#P(>o|Un}5cW z<(x%U*qLzRS<+Ts5rMXL$MHeOs4jAo4TZC%BVm!I^Sb^Q~k%;g_fNu3qby?0-* zlDc;uN{fq0V0WQMF@$uqiR{0={+JmSdpE(J)1ha4R*Y5xlF|6^d1hF>L?c@^UG;D5 zJa5I)MB3P(d{DcMQI%up^vgNJ9|x*XGwKis$h`o%R_M?ih_P(U@;U0n&5JuZyZ6(? zaa3(2gd^8uauiQ69$mHEK{IPMy>5MZ*s7{^`zUx=B{}q>DOW&1vy=y~D8C*$JKv^_ z(KJ8%`VGbF=#A4&Y|ddEpKtuCJt^+KJH@DQH?b>4VpOJy%(DGV=6&Q0rmN`H^#29(& z1SAS2vt~~quTDkr)EK~mms?Re@=Ej?Rnu6-% ztZ}yoA333y)K)I54UjmCL|IO!0GeP0ot$yGa~AMTbf7QLL1$9A(h0&fv~oNauF?7O z#idjis2|DAv|lt%M>?nFbrOwHaRYRXkHb7npsY@{)iz=AH?!I@+bpw;P8_uG%geqp zLu?J8;sd2_rnV+eIpZt)660%H)>wt9z>P7>xZK(@qsi%r;BPBt8u<5&WxewVVmenr(8qiD{WI^5CrTX(&P!Sc2*mba_+3K&%%^1h}h? zwS}C1D&zI9fqND$Se$|*$Z!cO5y((4r5V?II5tvA@~tH9yz9p4td_gEB>@Q?YUad< za9L%>X+l2==ORB>XzbQA=yH~2YI&+={cuzth{Ip&s9Yvg7vh6 zPR9+GF8@Rjxs1f3K1T#PW*phmF5ddIi?gPU9giX6fu;1XNJw5q8GQa1%J|zi>cll4 z*NK||cL0XosuLIfx{mKAv+=zGFbrVDFeri5F|UDj9TXR9=LoK)2DTEXX%Z4G4U1N*wVx6(UKX+>r<(% z5m#2jYVeda9Y~m4&4xn+y9#pV zPp2=X!gfg^T|Fmvuw)67?lgSn36=8AXO96spxY;H)rBfl?ro6Sud-(pkT|2sA}Ke?IB;kSRwW<}R;|TE5@&D`_6`x-^SkW3%FquSoOBUrO_l5jKaPdYR2le|ky2+tS>0QmA@`KR*xnxDw`z>lSwdQ!Td@`QYU^l|zA z(kA)7k2J--Ka}o^9+T$pejv?jzc0 zzE^!qnkQ|PX4f~R`J4Ntx&A(B9)7Ph-?&?v58frsv+tDViFZiz_}it~b(=JMZk6Wg zw@CAro2B`}25Ih~%u8;R@6&FO<}=@r=2x$i=DcgAx$`yBeE%wGzILTFN3M|O8<(r^ zmq~MHWtLqk-$R#3v*KcDK7FAydoGaX?q8SY3+GAmnscQYKS!D?&X#7&S;{<9xt}4; z`03KT<}_(;8kXk!r%E$^iZplsnlv|_EX_6RrD+dIQw&OT^MEv8NJ(>3QoSeC_kL*# zW!fjn_m;Rc?U*z-^+~g$SDIq2a*s%JxJR06x}{msrOdE0L(1%w=9&&^4hN;VX^k|6 zGKWu4@2l1KRnn|DPPwnFxb9j!uP>M8Bg-mS?emVM%51NA_8C0)wW;u}(%gKkbl>?{ z6<%I13Ca0|WX zTQSsY)N5OFL$$V3u;MaabA;rnpgj^DT2Z>x`P$aj+~WC4X}EszHoL6ANu{#A5!%oY z@Hh!IE~%UCc&}_e2#FZKy0Gm11N@g{Wz0 zLCs6@=xNkHwa+UsEtv1Xq;~oc=5{bgVeSZX*U>t$Gt7fv?gBF(=B_ZyVeSTV5zNUj zkB9jcm=T!!!dwq?KbRN8+#lv`Fb{zFU6=>Ld>-aOFyDrGFwDQfTncj(W(4LgqF%fY z^FWv%z$}KTiqTqKR8rJl;1rAA=e8H{A~ZD*-ph&_3wRk?y_0{ZhpF#Q^Wwb-;hl=+ z_!z=yd}}qjBpf_BfWwM{VqX@@;NZ!F4C2WIZa^t0KFXH}LU?n94pD$* zbhp^WWhk~cpR>!B78K8MeV`Xq6%~|tGDfMCc!N+?l=w3WAKqlk5NU}g=NyHnHYky@ zx&L2#Zvt4?QQiMfY$r7-rAY`7(hy!ul*qxdW!YJ97E6|7TSS&sNnU6Iik2r!SQ~nh zZL!4^3L&&56biJokV4r?DS?&(EiEYo3co^0X=y2I*veA)5lSe~Quu$qXJ+o5`xe;_ z{QKMT?4!AN?(FNCGiPaOOY&{q(nca_Wwz2{Thg+dM^dm>Rc32-$+jjX+t<0JgCX6L zuLc91`1Q87Y)OiXPbWS}`GU`td9&c-Q%X`_k{_d`E$Nb0^>b1SrL?(aOA;dZBw=jq zTv^Dgv#n)oQgy|_XEUSN|Fk}SpYg1DxAwGMChKw@uFf&dxM$*Cg{yhD8&~u0AgmvJA8dn>Ny-z#u6@BR>1^X@NjHSa!xt9kcXT+O?0;cC9QRlD4yan8mq;XVfU zBHS&w>u|epAA`FO_hQ@$+$P*3xR>HSAGaCzw{h3wz6tj-+;`(X7WX5#t+=1X-HQ8f zxL4t>S-s0$jr(w1*-~l7-HCe*uI7I~?k%`C;l2QO0rz&?=it5*_a(T0j{7>?M!!|8 zY^(WqI_??3S-{!AIlx1Kb6I5`hWl{bM-c8jR=!8#o{#$rzy-jg+>d_TLYP)yGtdTX z0k#t7a@;F$uf)BIc#p%~hI=(|4N&6!B48cx7~o>UHsM}^dns-+VbAMQ&=TGyl^Yho`e)H|OfA0f#T=&B_e*0s4M*Fu*cEq{kxUL-` zsvclBK!c3{cXsgnc(vV|{y@L46K>@3k}vs%(s>eR>;cvvhMA-Pd zxSc0;S;+7BbvM57z29xV@$=igds@49FADBv!Xwvm&uQJ1Wt+SBzQ-G$^IN2Q@#6LF zo@aIWe7>i062`gN*PQn5)6ZGlzOQ&qDyB-KZxks#f%qnRW#qbn$8Z{LW9ij{=91_# zXfu!wqu7B7P=Wojw582UNSaz9&j+wK zl|P_kiuLj&)hO>H9^Q=aq14{AGry4A&4nhpurwycjv7LFn;1>EVbfLB$@=O9Rq`}S=#-cJbbh4d?a+t? z+7CRb$Dv|~=O(p$EIx8TxR2H}Y6ibCknK)o6(f#v5S_D*2`Mh|e1K`=%+jkNm~fq1Ng+qkBe<^_%sFL4>thO@^U#(Y369@Z7K(9)bzXlmQ(=1CZ-JGI@5I1ye8S=x+*;Y|yyV2*M7z34!`ym4(&k z#NP~2X-}+_Ds!yXm~>&>v;^ZVW6~})HDPuDU}{0KeNl7Pw+y2URs|Cf<@zDL2y=V9 zCO>aBDU(9=TW|5B4dSpVNBi$_{jQD}ze|22Z2Dn0PfJPpIz5+rxD}0I$Fa(5oOC7# zmT}M08tm3IY`VHQ7et`OOI-h#Qjmr|Dwj6af zRz??*V#U-wR?BVul?9#U^5Vw4{jhWw>DbC%3Za%TW`*g)9x)OdqkiD8Qn8n2TXd^e z%D4}opDMo`{oVlFiE^-Htail8AV?ranUX=Rq=OxDNs!Uy}T zvpy1O4>EFWh?kC(ZLi(Dp_7!{&AN`$ILRWveKDlXFu-L zcIoePKL;B7kX>#Aa18h@;7@_OfqQ}Tetws`5qKxy&LSLeBXA4wLBN)8)t)}Cvy7LT z$LGebykhfJI@i?urA$}>70I?Ph1Z&Le{qbkuMNh%lE#MpZ>BMRiH#TJ?0b71tVYB8 zuJ7A>pwAxRG#Tpd9O~|Jd-o0P-RVW^cl37jU2iG@oaZjv+qVnhf0{{U4tYoPJIpoN z5i=wYy>4Og3jx)9ftAq^)g+C6-3P}#Je^@arLB`Osd@-|lFk8RC@>t-%e;s@$r?Mk zRJyLTxwS1@_d}67g6g0`mN(emH+gVFaJl%5$1SV3mEk0C;*iHqyPDLRqPdf{lF~;D zA}F=CqqI#=6eq(mSIR?29gne09&DJtUy%K79~AJi&e{7kv68kuIh@&J+>S}Xx-a{# zGi4^~x?~Ql+rHjN7HQh2gqK69Y8dlZHli@i(3C`En5a(;laJ~XEm!WtW zCdl?%g9s)l-{zA<`HFS&xZD4mIG+%)Fvqe!R(p(kETs|7SA)MLaZVcNvp5+7TNk%% zyZrKO4Jei`i?>n{og|R@N8o?Sb{6@Rz!Ci-qlHG`u}KS=sbP#Eo5oiD8o%$ztindE zqROXjBde^y+F5C;+6{2l0>L4kG93tPel{>29O73+8;LHG#MB|qWrv8kHx`4c7uS7o zNbIP?orA5(^XBBaEqUIOJa0{&FHfGYNS?3Ep1VYJZ18*WdEgYl?Z6v>cK|Owdzbqk zxE}>R4SW^24{(o!P79m|Tnw}V*8nU1R>nWtO3mRnSebP zBqP=-P0rD^3DuJNqNup`>%`)p^fq9kynk2*MQvSOA#c#JqE_JgS)UsJU7`FHPGI7c zmMii@q#9L~Ed~n+j>kS|i?lp3OgJSOqLRzxc*G@Xh^n}!rdp&>hp30)Br~pO-nCS) z@0#0ng$YZxUAqPlN?BM$K0gk-si%6at!Qi^KxG<)99owr-bo_E;`vjuSEY)8qCy4? z5Ol`u%lc(i8cCeH`_>)qUf^@j_i)w=cDPocAD9O|h<~xYGxeeM{gXjlU^R@4vZ>iV zhJeaYH~mxMV=XmH5UA8N7LfKhx-;EBg*-A-XsPm+OqXNM-&mCjCGuKw12&w+;9Zf@ zY6OXEX<04SFZ+PGAsl>_UljE52eo* zlbA0q465|5CofXH>z!iX7USLT;Zi6|AUq}FfP-N%Z)85NSf<+eKc#YUZVaZuA|HBY z?4xj@QZ+AgQ2=dBcKS5AEeN7gYd)>Bcy)gj&8@Md!J^##G}r%TV>&yuF;6-6Z2 zVp7$xwpG{>X<}q7zl)4(YB6r(&AV}aC%=Ig^D4$mcC?@iMHoQTgHl}Qs?za{{U>Mk zGDm5u#;n9Mpva%HI^?uns?)fiU0YaZigm4-vW2ilj4v)@qA;dYrhfSQSE!fHOPfB$2~3)H;U^-F0d_uilo|UIqSr~pS3TJNn4~=P!ExoAqji`7XZfZO26aJ z`BA&RAAe4iSBP>7QEp))yr!3zq;sn6@>X*tZlU+hro|uLvdeb4S3MfOG2HWj5>PAq zQKuBwJNF;*M(^^ERR$Qp?$i5Ao%=7jpLgy@a;1~@_21d;E~~&_^uc!LZtj$~+Nv{W zu+imMF0}_ALQ#=1HsfRCZW%6*j~+q=f*H!NgF>TE1uPOQD-M_1({0|*)yb!67{*|{ zIth`$E^~7{r8a)yzA7mB^BB5WE9S-|-Ir_QLux7Nh{z5R)omgq8#^KO+9dmw)~9l6 zZBjRlQ)rVU{>imTP5mfuf&4KYv;xzBRbxO^Q_u;dq-MaZMJ-{2)PXZxr*rgZ6eqd6 zS#i)bh(F{vE3jGJCM#!ufv;|El;^(mQnSGz(RPk7;neK4E`MxV+7SOIX@ehB${5(j z^;Qp}Frwdrl}PE*rpl#h8`Q)}!rC`(Un|?_6Oo;C;a7pz3zmVhDVXyfBNH5Z?R~WB zyS>}z74wYclyUIcaV~txIUJ_*^1}QuDsBoohaT1Tr@Q1t4H~5?&MCs2k}_OBKhr{|u2J8T;g__13|6GR{xQEKK@as(Lk!uGzl`)7eVI$(*Oa!y;B_uX7U5rCYEfUeyhe-a?ZMxM61|MR7c@|o3 zo%3D`J&A2TF)Desqq3-eJq(ZZ{l=!&Epv`BVCr#={$pyqFfY_;?JR?(kxCkyHWDkn zD{LxoB+OI}1*&wlS(vm@?%rhfMQN(e@PWON$JP6i`gdal=v+F0z(`Lh_M7x`|@FZLu z?Ztgd0aiG8C5$Gy!LSCT8&iZ>pMF!97fDQ!>bTUn7?Wf==-bcxBr24uX~deg&M0nG zNB!bBi0PfEkyFxH+E2*|G!}`mlq*rm>EEt+s!qzAQSv=!HWYlW<41)TjWo#-43A)8f_^D>m0-Y+qU$wjK-V?=+=rIg&$x(E~ohuIG6)ql#r;>cH5W zqN@Iqq1va)#NZY)GBI3bKXA)%cI#yIWJTD9ig z#9>$eR>`aUwR93HoS4p8p*DqWnPI&o;((ufb;8-9T!vX=xWX-!aW~~@pv@PRQ~md*Z2$g;+iD0-$GA6{6Ehk?QVEyF#1JNK%(_3yy^ z#bW*Yub|6UmwMA1J<`@xG-E{-DQw}0$Pq%_p~JOK9QnEARQoSWsEPr!+6bT8-_H%5 zZuCZNwxpcFst5XeIfpIGaT=03QL*1_-nf}nG!hNCR;j=~EN%6gvn*$0Wji+!gkv#x zl5m61&D)r3*?DzoXm`(Gsej+lAWz+;uI~Nhdg)-Pt7E96gbAqbT?0KsPk>LY1P*ci zMOE{+NFi)U{na@lxf8j%bF+jn$J z<=fU~3`(qxP)YYOHR4?<%&twHb}n!04P` z-=o#LK%gDpPP;A6pyMcxQu?Q0ZH)%1`qhRnQv9kCbVa#E$$GcCO_k-!rZEY7Y&tYQ zHD`aCmc}>1{oxl;arzUribuCoP2) z;>RE%5C2-))!(z%7XD~A!26fSH^H;Dyj@FDO=hZ>DsAUbjl+K0o+bfh5#dV8D>AP#{kO%!)z zY>a399UqoDFdQrsAk=E(FsFoAPibkD;xLaqnCeKs?HWIuA&V+eIN(4Iz!*ab+lnI= zAHgK^we=`{3HnJs zTfd+2jw=OsZE)Lz`=H<+53V{(d9{c4pAGNFaaAVCf$Mt-&`UJa?4g`*l220I9a^L{BK zn{Y_?BnihR72D+)JQFeJW)p_gNJUiHS)qqTE!t8e(k(@q$sMe)=g8FfwK~x=*8PJjt1-luTg|9NZNcyOuQ0KUb`plZ zqH|SPH=E02LSn&WDM$?GPk$=}B+V6nN8Y^R=b!lF>(+i}^+!+p_y73OefK+~JyT-~ zbD9M7Yi#BI%z}t7q1StG`*q$nroVgC7qvM@k4ULOf4oRG{)*6VJV6z;dh1L#bg;{H z4Pjw)XfTUAIx2;a7y{B@*;QWbWcY}yd1i1CVnL-js%7;ji9Ao@=?qthrzlwVD_wh? z);7_}8ibGJGosV!eqW>>g)}|>iJTx3l;gHfVpa??hQ%H9vsyX zPpfKdr$SvDmmzPD?g}>j%4(9GOS5*O^%75^-3#dr`nHR0;D>c+wb)Po_-$5-B1RX4 zD>XlT;QC=HQ!py$1+NXEi1i9aA!E7<%PPO8Ib<){!^a=Pu zGnliImlD)MU2FN`0*;F9wKc6NY zaY|cL8kfoC*-znAT`bSc>te@LMW8H0>o_w<-#uADt8uu3ubW038QL38Y#A@y7ly{9 z5}-h4wrtD}BA)62{^Fa(?iOpqHjk{&B~GnzHiR3hP*~CG6LWn2jg$uR z)>fOpm#*-{yc1h%t53vaP$qWEJXgH_vV@9>@F%gCX5*bTXkV}^i9WT^W9HrhAkv)7u{D!s4u+NI|8#hn7KP7Cb^&2M1BMEzI4N^aiq#=rJmgLj062`f1*Ppdl zqiOxB2*TNcDn*{EQIN**PkDwF##ON_&8N6;|QlmeRb`2}*|@n!v`wB7S6Z*e6UTu6`PACrTsQ-D3D^vKVo`jQT!KsaY|^9brd_ zBW=deqUE*>_hs6?D3DuPgfJrYLN!z_U)`F&s(+xTL46%5*tygRPNvhuJcAZE)F^o} z9H(!Ly0ZF%(~e_?R+5TFrJIJ^Z92I_V5^&-l0`Q)nk=9u$*HC!Id?R_*UNM>qz$2) zRzDd$@gekCby&E>7Eq-(GP}ezi8KW+*pgC+X?V*U=`V$l>vV@bUWTP#nySV(Xe29O{u$~v96*pajvhU_aTbMEQ!QLTak#H+ z1od%!Jv;VVjy}&YZmQ_8d54wOg$U~!5@nUo#8hQ$a(W|*MTts@tv*@%c!rWRQ6DO# zIR^NS0TPn7cXtWsewU5I!dNSS{m)q{3Ye>j0aO_?y4r!-ZsPW+6 za(j~G)G^p!ii*=T;gn|>2#Y9AtU&y3_GBzi6p8W))vmGSiB#!s5bXp;!a}=OCF!RJ zqZsmjAy3Ug?L7(op-C)%RxYg=5NP2TLjE~Oi#3ljKr}cGO))!4aA1yTA7^>A;cM}@ zt=9^mmHiIpJS*`Y^8d2id8BcO_Q=0<5rbFMoz*T^KsSY^ivW9J6vT8*g-f9PuaH3@Zi*ijKB&_~1CAy=>C)=9mw~{eBV6snQ^1u2 zHFkFK2#b)N9!;HXQhyr<{uGdoSfB1GjoIS(Vk(^yjW;P$v4*Ek^Y)A3@XmdGox`1b z`}$CVr$wFx())Gw4A%1=LPOr*o}OY@nS3-GuZ0x4`#N^?cFUAw!Q0GH)`nIZK@)RY z3=3VypWB&UwDNUyb)lSQu#f?t;O%DVEBMNgVciPh->9y98t6EnlGP-IzZI?a1EF{H z?yZx%g|Gdzt9z)kqrYQEPjAmqPd9gK@pmC=$lHJ(;7PzD@B-k~z`KCI1HJ*Q8byaa za5=CCm;jCg54!OI_&>1?UP0gK*9?fKMf@lw;5oppfcR9zw<3NT@wmvINaVHQG5ax% zgk*+&fFp@GYs;m{#l`t;n>H2DyG?$-*_6fAgYu5Qo4$BOhxl#c@1`$a(xG)V{%-o> z!#g6sj{I)=;u#&0ug1Usdwb;fu{iCYYmfXu{{5rvg*vpqr(N~Ve(i5*kNigF*Z!(@ zwL$j7K2w25rycuAzwnNp@1OsUo-9n&19i52A;V|y2fiN`WDXtKwP=PFv-K~t5J}Z* zWm|qM*%p~EDy9(EQ`)?Y1|2p_%4umtq&prU zmHuFPk#C2pkyksZa+B)u9s06fdg7{4T8S!ZaglqGHfmNc4reZeRLwdE?)7r&zeqw)IOi+07`ovbC z{++q(_(}6VrBk2_HU8l&zAp5~x|YRdgxc~Y!w@>juLl}W8ox3-H}_PS--4U*ogJOh za1rURz5uQdZ`@>&^~}aqqj+g}ojr7tLD#Pl9yMMX#XBME8I?)m8zF%E6U$EHPu&tT zsuRx0D=~1yF+*8mT5#7xm{MXemTZEZq(L~CRk0P;INYgDHS4Ch&|7zGoLe{qp@ehqJAWLoc z<|gS9$Yf_a^T!fOO*l=5NZGPQ1(d(!uCeemPzXOYGK~@MC9%oQ9rg>2pAoZjv*J#f z9UoahP%f(BV%ATOTijU=)RBoJ7Xq*ur+%?*E0!sS%SXHjF`Ar3W{*<|Zx;h}JS;!r z6se9{u}^9*)jes)SeBaRp`8cHV@D9_A+@oR+n7@w^2A3x2THLEvi8urXg774P(;!m zN<`9^WS~d2Ukop|&{d(&<99FIly$j@S&%aHLZG{I zGM|}({Q_Ah-;gR>oLmP6JK&dEuuZ7?&MysD;QJ4Bru6$B_`9W8eG-L-+pIz`l4>sM zTpq?_8h!_(*VlV#W|Wx`f@N(N%NNP~N;d|I?Hj{%CUoTrdhW^yZpD2z&9l?@Td1ZF z!}o1Yw7;bNV!DC%$n$UJb1G{)P>%mCc*uM?w5o^We8yy~)z`PI+AN?Aj4W~eNiqXs zXJqoH?`*ARIt3oHVI9~Pj_E#E7gzX(IUS4}$eIB2b6O%nHF4OuWcx*tSPP7#WAn5& z?YVh{it9yf+A)SPsDU#uzohuwfhh1NFD>6yVogv!L!%U$SdhD9wXWfh=A6&gGpG401D-8=dIt9*5sA$SBT$~{ z%=bF;Zq1gB#B+1eGmjrki@*un-_tW-11gLozc#^r9kJ=^4Md-yQ*;lRaFs|C@=?&ud;;-w&+85G`%U?wO zKuB1<(+PI-B>CQuekNe+W+X|Q^+D|!QTOR&I6GI< zF0p9E;zaUyvL9B}n?qe3fgegGkZHf2}g znLHHT*)R_4_)^7eFX5VTQhS-HmNndOU-B_U^GtrLIAaBz=U zg?O0&jpbLZuN|o~_6KI1PLHDuN-Ld4Xt0xmvJIajjQ2Zxjne)LUPuT5lVLhDSF3};2m7ku^Upr#F|TO5c;}lB zTv2|{;_hGltKa>lxBUHIPXCWDf9jcE``-7Tb=KO`UcBY}b+6sOVb?pBt{eZ*@3jBg zr`|L0N8kM9_}~2a2S>iT>Y^94p0(l2F~TC?NV1|L51 zs`=8IH$JTG(m%hV_ix|-xhH+|pME%b%jbXVsc-tupZ&_fgF9dLlnZbAy>pvS|KlsS zUGkC7c7617|F!=cUwipY&;QRqU-*MF#$LE^Zu{^4;<~0cZEZc{U61Jd)?feV#t(n| zGf#fw7vFj8)^ES!d6kEZ{$~FL9k03kvWwsP@T-0XTe|=AGoK#%$iKd8^bJ4w?fDn1 zea^Ff^ZeJp_)j;y_qBh2-RIwNZ~NL0J#yf&pV~Iw_s!uWGe3U%^IzhAzRwa|MkQdynWU0|JF;-dfr>UbIBL};_j_~^}feFzWMLYKlrm> zxp{W>yEi_4&x1ekEB|!imtS^Y^YPz%(YDw8@!Pr{|B)N^Pkrv#O%MLsqZT&(=XJmK zk8A$=Ro{L1m)>|==~;jN$8E2E|1b4k|4++Ln*96)lRx*J?N8nKkgq)N-!Hi9H$Q&a z@4e=ZtA6>dFW!0hqfZ^${h23>w*2cg^AGvKqhI*FGydgw|KZ&Czv->(ZhzNrv_AW< zpVs%}j~~3T=Zn`qdBe9aJofV%e{4f7T?{ww&BNVVlrstkR$U|J=a{%I>!e_ZHt=I5 zllhw^1y?GqbNnCl%o`hBhcR(5qGzYrEuw)e8@!tInGfieZe%vPo=tnbnVpT19X0M# z1a5yT>hplJfc^lb$z^$fCAi-vCyRks}M^YK?5I*T%!9Gj4x`Q^cBj zY0I%mkbK_+S=6|v8FHq^iC?fsHoaqMVxqjDjnNi9$x(+bpUs&sr8!746R=(s6D>yd zXrE)R7TwBN9{u&DNq}0J#O%K~hs7ugjPe^FlG!hMvFu4-3p@i@>8G-1G|HWsMmSqV zla(eMmf~vf*YCoaE43Xt0!psK6i%ImM|Webt-vEvg< zlB$y6jzq5*VwK90#w@j1T$r0icR|$Vl$9ZrH}72%@J(Z>_{5{C8i<%lS@xPTbu^OO zfM_OAl=+)PDL{F4y_AaC{WrNOUQPK%IlfcWu#vLQ9_^o-o*oLi18wJ3h^S->d~?tr z%)LBdOml1+8=Q^mj8(6+(nJ@FJ9R$JAhx*|R2Qq_TF-(8J z-Sw_tqqJ(n)uuIIgx<1G$fxD40(r|o@>j72{dt7t$Nzk{>0`Z}17>(LQA%_jL62?Cc&K$^%Cq3m#vF4|Mbl4f~U6 z-u8Kh-2(%A2O8}WZ#}-t{Tc9n;BSG?0AB^Z51jd|UG5RUCSW^&`90Da9_kq2y4xOi z_E0JL`D=7NnXNtZ>)hSldA)z{G7sY-P?-JQ13f#RV1DuLU*3Ithr0Im`2=_N4D8`h z<6ri7_jOSPg`ordLx1$}`tR(c83*j{>c4&{tM0E-?iT{T4ZH?;Gw=@JgTUVbp9a1P z+y|WY%h)#p9tJ!LSP$HILXDfX`#}$!_?( zG9bT^c_LYIDDWpuO?u6pI-h;E>&`sWDQW#_)1NKw^k-uWl8e+c<#K`g^SJLWT&!l* zhn6rghnhh%2JG17<`$eOD2e*(TyGEKZwDiF$3ERy-yr<}ti&_((6<&RwJr2?J(1(i z*wnNLYQ}A3OCY?lU^;2>arbW&mkcJ(Wi7bB7=6Qg03EsrnhCIKx}ik@X8{E|wKO{S?*nUELlG=LEf zq4HUjrg>Dn&dpeayy(*GMrNJ`G&D+RTO#=8brZ}h)j$e@HC`k77bcn?lm5WqJBxgU z>q;d|%zrzh%p;AyvyBi(E$G$aSi^&mx%oPU$Z0xNFB}9G!+BESA_)inNXIZOkIa~2 za%M9VBGCU6Gr*M|E7x5S(9m@xuB-0j&jGg45_K%F1sw~TD|PDxN5Q^ z?L}J$8pZ~SUTkHF@1MDw=(<=7|YpzN%T*a8kGIOJ_%4XLoOJ-oDuv zZzQ-nXBxg(%Pf4>rdsWazn9$tzup7z|4SSE0qy#J;Gcni1J*nr9!Ovl&;c9-=747d zuLSM@J_URm_}N=`xhCLhU>^{swhpWDS(lOV84U_(5g9%Vp}sr~vxAss;x`0(8h$H8 z81}1Xj0dZIc{nV2(N7XLW7VE^dQ1V1NgArE{QCJOoX(} zP6wY*kEK~;{;QfoIYPQe4tWlKBVC^p^{M5UL;T#}lMt<8k7!rYD1PZ4)@B=uGs1Wv z-IzO~reh-fU@nZXm0_cIjJv>au?{as3)bn<#uRK}B zx1=_wfU|jeO4IlzcF57uqoewPa%VRZNl4@$nlpbm_t<&;=^-RK8uYEBQF?ujq-KLb zw)FTw@>xW7)&&%*c(RvrVn>_x!9sa!Ll{oz%Ud}-g(f=NV6*CQSU#4epXFUDlr5yq z*NFx#k)hZTX$Xa<9b=_^$+9$(lE=2L4v~~R>yMazgL0@h)F-r>9`elNwNkNO#j;^@ zbA>jIUz1YRYfoB}`+G6h6(?J`SMn@ec3cZMxJQ|rqEc}v!^sdblCiKBtB@+iXrN|P zOcW=^pfQ?yw9XH%BsPOX1^@_^^h2f6Ql4)SR^1Y78v-fyqu{5Y|8|nHn(o*;=m(ge z4|+{nz#7>(fBmL!dG2s`i2fBThCX?8S8*g8)o~NPRh7x7IXWldx@<%y$;bXth+@yh zxJ>XCQf&}l%@xy#A*<6#=B})6cg7+v4~f^ZW)732CcY|8W9eZ@HL3lDbup~Ei!kAF zaWSPODb}<$PU@4yuT+Lvcf;~FoHgR|ifJYB6}fG=)yq1|WOW+Rk5yVYU1NDo!=&Yk z&q?}}FV0Kp*`8-TF6LpoM!x^BX)$_Hmp*KxH_h0uZE4=Vd@=nnwX%h(-c)l7BS$TT z;YBt$TP$Ot6E`Wp-~B_-H18w~!-u0q`Y}nX-Xn=3{Wt9A;I)1ZhV=ZI(C?o*AZx;j z+_51ZjkQL{v!1C15Gg@NBX$}XIOYz`PDw1-)79Az(6eP3yyNsPcPDT>xVPiJ9=HRz z?Pt2&ZvwXmcNF(H@H_xSKnkB=L76^095b$0sl?AB#IPo=g-#>X)%oK(1HctSjE%;A zrb~3;ae|DXGaQ0VMVey8e9P%AtV}ITcJ+mk=r}m$l4iEff&btYw7#ZCS{*WT3tl?( zC+FSkTAkrjv}zvN+B9Dem9ma)!`bm79L|g@D%2|Dd=U5fLE0;iA5>tJ26uCKY-~(~T=udgGw$vNujOY4Qh6#%qtXakJ*7^NV&ig!^n|g;x&4!-RajI`kl2d-n4Y$Nl5}jy*a_`KsWfh< znp4?{l3HO*>BN@J4jlpU&fJDq4#T2uyKEfWjRBGNSuGhsqP^eMETl~1bid)6+n?m0P%ZuF*iZg|^ zT8edDvS6D_Fh#`%t+MYbXQ_v!G7s&qRkW3_l%@&t%LWL+d@ep-=_yN7{^)P3C|gls zJMc$`Y@lez-#NWhF*75a8g|1Ifi4fkLVU4&DRN%o>U~r^F8;)jB^gfJ?x?8!Qe%*P zQDz;wXz!l_DNZsN&;@$6r_1A+7C)|2;^vCh0gmmocjpp3-m{Ax(`K(=v5c3-e44g2 zEVP7)RsE(DF#;EUWfefxTQuX9`yP14s~$mmp5 zYL7(#hv$C5##OUWdEL$MS#;>NS3flUWY0a2;> zaCv!jPU2XUX=aXzy?s47BxXY>S9Mw;9r16ZZ3y2It5#m`Lo(Dk;u#2OZk1pWxeK+a zB&^h^yQjvxhFLW`7HJvo@YHbpSU12Hk4?=i&Cp9U3-^1*V`pRo(xPwkd~B>Jb#GQz zryrX&S?c{}ZWsS9@H=IY$F&or6)ihDOKw(C`&BTG{1l0PRr*vo=p?tZX>$c7*&2AR zR2uL~&3lk96^jYjeWNqVwvyc}OW`5naP}M$?dhTiReEh2wxN`0tjL-b?pBjR5I!E8 zbk1pNy-H__JciU{SXzaRgx1qu;wGoYH;%I;)pkK0uZ}u?2QojB*tIk@Uj3d&3IXyM zg&xV`6@2s91@Dl?PRQ^Df1gN=cSxniKQ9V0WSMrWL7Sghd1^o9g{u9QC)w}Wld4iH z_~r=}yz?|XzfqsbsZ}LZ`zcSY_M0V{jb+s>d$DNQTgaQumRx%@>paVA#kWVTf5^4= zL!Q#ku$tK*BVc&XV+N1B-h~)Uz+#NtBahKPxol#wUD-B~bztqMyrpWt@9ydgj$neM16p zUI)UmffaNYA4^@my^(5S(x2MdBvl;HJxmCSPX){x#vvitxl=c4$umf8C@s$|`BZcw z7xN71ink$b41O=ENPMUwo$z3*WiECCl0*4C4}qtSU2j=wd1R*(6DtUkPsjC6jb5(> zd%xF)m{m)m*lL6=ZH)i3z|6g|j&Uq$RVwxTkg-ysJ#xWbmK4HT0McoO_(qRTPrw=q zSXA`3P7^Mid9Z-RXNuiXL56fnY!N+?K1JQt%w)p%1}Je7A{qX9G;xPc>yB$2WE>uh zB)kd()9%#Ra_WiZz=fi3Pli*(a173cQ9K;`pC1kJ_isHEnAM-G(EBedOKPYVTfIKXLiSteNR6N*$@r~ zN??pQPP|tIk65EkSx)J}#o37@9(hvq$+qf1tO3v9yvAv0MLbYR`NKS$J||SMV+EWd z#RKvjA-KVjmJhJ%%E+jo@vwP3rnMDhsk(kuVT9|fcZS!2A~`mF$k7IyyZt3EEBIBb4OJwe!NLP$@S3qoIvSP-?8 zm1+(qGAUkw!0EZsJO>nNJzdoTQ7E}zY2vZQsxFSStjC1+7Qg1}6XB|Q7j3TIgoK7? z99XfPgJM3gP1fQ<2J~4#|M{Y8Oa>#Tj45N<%R@ef8PKeLuXBP3i*_EEa?{y<{Y=i1 zSpYFfQbf05nXro`C#It~B1nYvicuH!^18DInARGw{Fs%&ChEQ~BH zZnwQk;s@~dM)MofYqg(dl!##n81_N^*eTB40<`1JiTe0^6cEwp{R4gJx%A~ z7U*}`pSFYAEAa9U)$TK#XEITaHS0;x|E&Hach51ZD^^2T{oPPDAbjM+GwB13YQM*- z#l_r=q!-(iD2T)x7x5)70IsP5iNR9KD<9BiNe_UmL}DdJ% zd}8GFfE^FUm3%-|hZCI)TpZjYuNL#hI@Q>u6~TDMXbhu!l9+~85o>{~vKz@D#2q50DUyzr zCaeu-sp{54pb)dVs}Fr4>X_Kj0&-nFl`Xb&HI-xUnw83@tVb_$exqS~!7pd_ zrtdvxgL#vjy2Irq4a2MuhqjD_*iyO^sFJ=w3BOFkm`1{@j$VI_ZyKRSk<9%L%?HL4y!5ZBF4*qn&97*@+(35aW%qlSW~_oM^l> z?{D+FTQWp^A2lA+A!tOb#U?3v<`w5bRh*n&?(b31I%bn?7jC>K2vIN)N>eb;By82+ z+4C6Wy@qw&atZv}_Rw^h7XExpG9MV)K`*%o1-m=Dl)4wUu&GA)W~QLVGkW_u+50Ed zvoB8iN9~V#VqNtyK;CV!5-OXoCF-&pnx+pvaT`glunvTkhE-i-fHYPJD@_%kg?TR8 z3jByrb}E2x8<&;ih9*RxqCI6DGeDDB+l$|&WW{LaRu5s($iWm)q_j4T`(N!5NkCaD zP8heY7s%O=n=J2a<)rLQm5o7BP?XQ`7&qOUg|DegODXO#R`>i~fc~ktrCIF-43TV6 zj?;*3i`7vrNt12Rj+E|U$h$0#ZPY#*Q%9YhaegB*&iFx}juajRKbcCX_6s5eT|-rp z19+f@cxTV9D6W9V;LrdXSP~BnfjohMZV7`V9{szYFxb=C(M$ERE43mIhlT+wiHUtj zDnR2tn}lmHtcGC>>h_98r~T0~;ul*j?s4`h`EbaO_jH9bzpx?~HMi0F*+-UqS*a!$ z1=*kr%3z=`c(Fe1%xEV@`><~HB+hU_Vm;eV zY@py6cS&*{5C*PV4j3uJa%|Lo;8@|xL%kRGv_L1Le;HAKRX3&Vc(zUg=wz`A;a<}NuRrY6ipbdAk{}Wy= zcbhlsDo{A$g2PnWRU0?EtK610sY`QLY;BR#H{`aP-I#oB_A*_dgW+1+cXYCLgiW~^ z;ChqH*wSVfQ9YFdb4Rb(+V5ouUGcS}>ivKNw@6S$m*$~$TANpW zB!Ob+17gQmn(vwt2^x)d6;iHr)b*_InGnigbSQYo_z{L?7~dxjpOmd(ng<+d+m(f()ZNEwJvwTFSeQ;3)mC%vgUdLSiL|1( z#fmQn65g+l^tteI!1b5QhXXCMqwrFEBVaY@lK?ed_53uhC#Rqr2GVDCnFs${G!w(> z+;hcNS(Z)tRCK0br<4SDX=H+PEdug>9WO8t*p=YI60Ez@vIAzQ!*b0|U>sCFw(y&H z>lgNkLW21rU-K;wTM@o%oOXc+E*5G-@Rl$a_z4K2cs7vDhh+)o_msc6ArAzi*pl_t zhQ6GT860Q1QvK$mx~A$oV|>b4crp|{5K7A9fdbCCE-(b83_nS0#R#Y`8i8$HC~lr? z5{~|yo96yix3p0W18d)Fx?B&i9eCpXfX5Q&5x{ETTd(eNp91op3|n@Fz;kM{4()}8 zS8=1RmEO|f&6D+8MQZ~&%J{8Jr#^D+$Y)Hf|MLm0lNdx{?GAYy`63R_vDT&ukXpEVMWf%Yu9n5 zJc-a`3AS$v${6Jt`XA&hHTL7L@U@o9wkkF?%Xx$?i8Ma5DF2#p5El}uVOcJG&6%PL z-i%4o9yin^mfX9A{5=Kdz?u9T$M2w8^b-u()F^#7*?^@{q zhHf}s2hmp(=FL4rX^OS2`COInKr;pjsz?JZXi*+fQz-HIg3u&3ZPK#V{xN>%8XaWbzRt3vC0!!qyx3!}_9T_UCG6?@Bd& z*Y}*(YAc*CjdhTn?DJCia@800uy1t+@g#h!!+tAPx9TjEjTCz^iFy?)A8C0*$Y0gS zeb}~;f14aLq3SA8IHP%L?m>J`Y9%5T!YN_(umWl0vl@<|0$juidr=5Z3?`dXe}HCH z@a<-@c%mI;{&Cz})%^aH4EoprVT{Gmkj3^YY4WM1t%B}Cwg^-sMvk$Nz?_~QMV>wT z5(N4h`Fl?DEHrWuV}~_Bg!t6=9roA|IL5ww6A|}{+r4jxxt(#1vbO`a*|khh9WLt~ z7BPq;3cm91(vRfw?)N;X%iRmy@i629fp)+Fcb>~T&<;4@&WG|2v;z*f^BmrR)5z*d z(!2A^-KNL#Crxh^>1`*ycaxsdzUOBtA5gjyS;j|`_nE+hyId=96W}PrP5bzEHerB! zpTINzcLMhUQlqtp^zI-%J>S;Z<<26FdoJ&C{TD*heF)+IkhqTm@IUJU>NUW3h<&PW z=>U1C4CnI=cMWMgiS&Lyq}RHQF!;}JA`EG$eE0ku??5a5j(Ep$&+7B(-Ej-FCDIn$ zbXk{r415Ls=lgha*YD_(6Ywj?m(I>z{c;%q!Pz2ri{6bNK@S7bXJ_xh-JLzV-B1tS zTU__hz}`N4+TYV*ZpYxBA$u?`2A~3B`lH)--`aHi?AO0>^FQD6kXyg~ z;P>5q_AL){w}0r2zx>2m@A>p=Tgx9i`?g2BJNLfp7r)su_nvKcJ>{~UxBkY3lOzA~ z7L!Yg<&f*8Cj#!So6gC(#rf%_Ls4HP*gvW;g6A+d1DQfpB6lBi*LM%}b@y&*bDgH{ zs%H+r1Ci4*`a#svalk}QESSG`R{s0)^OSwDKyVv*7BFaj3nH9{E6vD@6lj-r9W498 z(7^@{n5?G=emt5wKa={%aMO*Yo(a#vIRbwfR{-;H3s|uvK~RA~e;RWxb@?&%k`fv{n!ee%{&Jvm(ho&q;*$JR0)y>%@OO)aE+SC zPDc5j7^j^A{}XM|zqhv+-Iko;5H``>6#S+o$+<@U(W+ zH^Lbcp&vWwBOho|f8sSXJz|5;i5 zRC!CB&AQ)KBn?fMyqCS^!@xix)q_XHZZdLogd3_%9RqbAVJ>+_P@7wf5T8eqmeS^; zTFa8gqnA6RITlQhs|+K3qt@>eV+QMQ!*C>4oS%d`vV>K*m=Hrp4RzS6IO4YcHJk zX2+*d-r~nXoo}?$@Z90}0lGRy(ZKLmE~7^uEa_xns6ql7)(#qmp&!-p{hg{<^+Uyc zS7tfTwbNruy7`N35d&5qjY9kh=|YQxAcnQ&Jol|zN-oH|dv^{GqUw0)3B#r`cu)av z#@AhR&B(&oBuZs(GQG0(5{Q@CegR{)`v=#f^-e?G-o>TmMN^r5aQwQO@8a2*(oORW z^Op`E@LcyXIy=vFvkKZdyc1)^9bN0SH`xB%Vmm#Q5lz49c=7h#N4*S`>JSnwvy0W? z6g`=hrJw|)rW`6Jtb%G57#V8wo12(0B#4EGiO+I=h(J|!iA_P7;!S8xnCkMHWeJu@ z31ec%ttNaZkgQzEn%XEgM_3ayBu9;;rL9q%O(9No6GYB~ns}iNRD9p+RrP~f!?lGz zDe1X|%<3o8C9!+1R>hxGxsjO!T4a^w1&fltX8oP#;U*prL zZJ(H@Dr$8iNOgYL-ZK0kv!FFv7T=%n^SW)r1c^~NA{d)^O`5C)>@TQ7o|?BM0PY@k z%Mh(j8LUm}6d;RHRd1ESOFx^;bWQ&0M@Dh&fUZiegY?9`mdTJC)5kk%V$Vr2sE=nlscQeAYO3FkGq2b3d{?V8+N*Gam zsH`Y~3EPDtRE3MvI;0lMjY^3^axvJ%%*dezpL`0{<%ki(5|F3gAQgXsgusd<2d&NP z7bG1*jq-%+5HUOKis>{O=2~^wq$L}cEpimaHuCqIp@((!tg1_#erq==sstzMr zvc-DWEdy*{hh}ZFIk_^d5PnqFGIK7kSxh)Az}}}r%-lkqI>x0d1PlB&wQW%^UDME> zC0wj$lCA~I6E22Ry69$|gww>^*skh>_??~D_~ML3v2K|8$(6#G#Y8NoF_)!h%~U#Y z`X~-R*E@pbD~9*HiJaK~mT|T@*rKDZrjd%_#e6HlO`+K#ZpH2K8(T=SJe{h8toj(| zSUPv0aTXGYVZuBNleHKop9|{8;}exC8hE;6BASpbMA;UJiU1So7&! z?qZ-HI0oDfd>Hr!aMovbxprV2cnNS9@Fn2f&+c+Pz>UDoz>9%D1nvU90i5@_U2Zop z54;R`8*n%9eV}v?WdP=ZmjHJG_W|d9o;biU;0?gtfcwHO*9`0irh(glyMX(EM|^RY z+X@^6o({YmcsFnlaN3u4xeI`6fE$6Q1Frzy3494S>&tutev;qgF8LW<^UJAl$=+_r9a+qvED9^j6L5$55*1>NqZN8x`FVb}3~G0(ug zO}Llh_Xu3ztPR8i?l_OXee3hjBBpX0 z;VijaY92(tB|PSP*%>94;?KD;YE<8}-eel#A&|idPFeX@%i(BL{9celvGb>`yBU)R z-mC)2x*@Z<2LTs}xe3rr^r%i?8$#%E^HA^J!9fDS3M_6Uq^#IC-De6X~hel>N*)4H9h1#?%O?^1Q zFN9w33}kRaiujVGeWCU4t2Y`fO~;elilui+<8F$`puhE)}1#ycju2C zt0}$=t&LW}^6e9bXl(1HQhB$?Gm6 z!8^y7l1c7PxoLdI-9_$9{`DizJLeAZcf`%OZG>qel?q>W5=$X-zYTmv9EFt17H-K> z=yu24Jn^|%;h)bbkHfMa(xXUjkHy~Q4iJC9%B`}^SbDYPRSbAIC%F2Md8d(CH~$RQ z`Dd;SujP9+oG8x8epk9D8`g!eFULL6k85ssI`A`q=A-tWhX7{-4+S0uoCll_TmU>8 zxCnR*a0#G&=`x@N*aU0_w7)SvG!)taTtAK;zW*z)e9P+hUW1?gh9S%!ozkPmpC40U z{MmPv>yg09c1rJ6KKw3jH^)7}yX`OZ?k(^0?vuZ7?(yer>~Q?X?->BZ5Q74?tjGHddYVWKe*E!zvs&3_jPo- z+duIu2euyRbRXU7t>=%z0n{CsEoufF}*qu%ncuKsU*;UB+r{`FnI@$o%p zeDvPqU8HNjcR&9VFMHd^e&?DkuYbeGAM@`$kGuBu_jUc(&%d_qcVG6aA6@%rH#Bw5 z{o#1?86Q-))c=M2A2ECS+u#1q7w`P;54L}8_1>%Yv^}cz2fL5{@-JQUp32Ri+54~t z+T)q0J370%ce;_$G0x)-5uPnuFTdi-s~)G!-uc~CpW4;gxvkW^t8d@>($_wQ#qWoS-&cQmt$Xm|TKA2o``&PW# zS%D3}6+joTAGis4GOz$V9k>O!4R|^5YT%E6cLR3;cLSdW{sp)f_#v?BnQPsdz`4MM zz$L&&;3}XU*bVdp2Z2#w7B~hR2W|yk0=yD<1MoKB-M|Ncj{)}pUkC03egv$&d96DK zxB$2W*a%z!v;&U^hJYsllfVM-bl|zbZNTpUuLJG?{tUPa_*>u;z!!jT0RI83I!=9n zbAStgOMo`u8ek{T4;%z;0-g*k0?!2Wy9M_Rzz2ZO2ESFzEB(&Gy%1;xt^<03{lEk; z3mgHC1GfPBJun|0m=6!khkQO52d1}}X3RsY#F6RWJ#&y-V?Na)hGzs{^bSDRQ=BNe zI8!;~9%MdZ0VXLdpNZnCFy`agbRkSX*!(047XoqPq)_tlED9J}70;tP$NWt~)crzu zhJSKlX6s5-%(wuna|lzbdfy>c7Qb@UF^)xyL9fdHZ0|pqDUx@cna~aVRIXDx9(Eh2 ztb2~@q}q$+ZZTm)Q+z>q-wB&ohkIps+k=&gV|;yccpr=^Z}9sE*M(f*V!2b?k8slt zdPY5W5B}n!?wRZKnw{L&U01XU5_12R>lXKFbyWAr)4D5TBlBg1`et^*L8f~QZre`t zyf2w93HRL7cA=w%KzmRlh_V;Vh%g%NGGA{`hnA6U2lxJ3zn*dTp~Tng+{M$aUPY?C zBbCK&f6aHU-pOHUx~yjD8<{DiaN=RPudfYlah3dZSy#|M-Ys7hBwTmFCl!4tT1U`2 zv1gPwBmb5MP;%tFVmNysj8VuUo&m7oEYqUX3kvzk+wV zUsfmFi&xu)T|c*$%9Q&=D-r_LFRA&GDd=!-UOm7JRCS#DOP)>I)P^1yQ+&^co^yYX zAG6Jdu5+JTJ%}js*knIfvK{WLyxGXmpdh`k#do!oSOMLm)(|4Z9n!NO0EO;2B>#Q0 zp5cAG``8#d^%#m2kx}dB^>t}p13*(2*2`SvJlLoSU_Q^d|XEO)Q5__Cv}2 z>6&n#O3u0)b?#l!$2ttGX3YVw1A0#oX!Ba2nN{zNUsCPR?tiX1z`VD4;WoPAVXh31 zAot1>c2*d6vQoZ{w?pMc-Fox6;;!ahD{y)Ci0k5cng#!em&JCIyjNI3VFUBx(A?OW z4+3TyzPfF9ZrLGxFf%?q>wcXl_6bb6l979b8#adQAT5l2rB}J(G5_suH%#1FM8-bF zlY)Q84NoAH#pq}~&9bLcXWUkv=SH3T&C^V3!L_X#4)vH`HC&m+4iRRb-4Q(>4KMD6 zyfMz)pU6dP_zXAEe`(JMmGN@#s$o?7Ap_z1Rx?L<;$D5VDFU$i99TU*b;KQ9?Mr&Y z>In%IQLZPhhI7uH`r5i)-=PfLqq?y$MY0j)+vfsJfVE@{lm zwK&ICPh=&2D$nXT?yFXlFy*;fuDZlMZ}k*LCgvwc+^_Ov+5+9L@njjgU)Ph?WcNaz zOofZPjVIGI=w8Xwv2mmp>5W&f)`dEDkLX_KUblKC)cnn>;l8sr`XhUqUv};-dNRqL zx9W)@;M||AMj4aU{_U${OTS~aRhIQ(VMJIypwcckuPtLY+mlG(ZJX_D6cxIL-Y{>h$HqEG56Ka5g{1&b^kQ&+`sy#rD=EX>fs~VP;%{SOecfey=G)_juQ6B z<)-oAn#DQa`cL4=x9^kI9Elz8p0eiXSY=FQecPJh(3>AwqY;R7sr&RAkI;N!jaTpR z)iuLNtcf4|n`^K@kC^DP``#KUx`1QP{p{&cCCm2HSWKk;tgEixF4q~qrwYrMITPse zK|4?Ux~rf(&CMkK0WZ+buSl8Ru|Gd8?Cd+{P*`=oJ22SM$sRCEW!z)+Mw9*bf7gzLws#UkZ{|7rFiF^P6 literal 0 HcmV?d00001 diff --git a/compiled/tools/win/tool-avrdude/giveio.sys b/compiled/tools/win/tool-avrdude/giveio.sys new file mode 100644 index 0000000000000000000000000000000000000000..62a0cb66ffda02c19a6db878b32f5b4342131258 GIT binary patch literal 5248 zcmd^CZ)j6j6hCRBMmIP2ry@?=)5U#~P?J_Q~DG1vK2QqXUF6f|xRgirU2M)?mD6AiZb|Ay;?VNYtea$mB>b8%& z?Y-x|-#Pc3bI*JC+>_W#??OEQc(I!%z&WJUWNWK{KQQMbgI#l3I`=-F;GC%PN7@t5^AL)$ulfsAn1c-jvxkwH)A8 z#Aji-=OIsBaKZynu495Xk;>T1BFvhJ<_CZ&M^rlW}Q4WrDP4+WVAE9U+`pa=Mb!G61{qnPRZtrbwJ71MEzkUy09? z^T*~J_r7q!@AW|G$d!dtgQt!?FX00ij}3za@CiM{&4wE!&~~L1yB+T_8)oS#b{l8c zaW)zAnFqaQ!!4Yr_D$Y=<)Rl%!;i={MB;M`Xvl0PMI)ZMS$se~&VDvc^U~Y`j+0Tp zFH{cwbUeJ_czB)Ju!y3e@3&Q zSsq()?gNb5Z|bDAp-}le_y86@FSX5-VvF&~X4*uLd9@TfS!$c_iPP*(DY4iyIp!My z{M+0+0(;GdJC?TBH<#KLOR;&{{cVPT&EL{BUOSdTr3eK+<2?1!-Xu%E_$0sB?# zbJ+il{6*;0B1%p%l!!8}W)y%+4$^lxKcMB*OjIo#0N7a9Yvei$s*xzD8O&yVhOQQd z0CZ0*->xf4msV&^XNHw*Ov!8dVeoqPD4`wO`xK*73uiJ)u^3B_LLEapHN+Vj*EM3o zWwhI&7_DQvt`rQ8{)y;dtCk-n7kib1V@eUz#|1=NbtP>mZXdsKaK0NAy$k2?NTclC z9u^F(ct9`Y0?HxWcXew*s4Mt#a5$(1j|ATiz85?d{4#hwxDYghYeP?kwuW|w)X;08 zw?d`RN1>CLc^|w{zL#uqqLc$EzgamB-(_G>&2gvx!ux5cuJyTOHl0(F+3ZL%s}?c( z1IZzETv0Wf1Tw(0A!S1Py6ZjFpB2x*WRVU=y(fhuB?{IE<9hs#o@Y7RqLi??o{t?p z5~54?m>y+dY{=g}wH|;DX1#~5BH~c<0&djN^PQsy^Nb_IW`Qizb4I9Vxl7Nqqh}-P zAx~MW^rtM;<8$euo0rzqd%nVPm92&QV_i-Vb>c&|mKs@QH;#WhooQAe3?2qMXKTt*dEkQK-jl>wBS$+ZN?eW@~LtTa=rb42|OVMftp1#%+soIg=6C zvg@Kx@z}Djj?RnFR`a~jmV58t3T52>&^^NZ!QSOG%;i!A`&j8n~@>U;EdmK47r8~&*}_0i)6x%219;C z1@F6%N0Gs^1e19KZSi-?kSRoFU8^o2!oO!Gvko=$)5MTwMEH4U$Ox|DZ;&Bdk??%T zkX=Z4HfG2m5`GsjaWrI1Ad+&d;B_6F}DKNZoj=Fr;;hJIMy0jUnF z0!b8dS~@E?K}$=jRZeYd?T|a-(U{!g4~JWVG)8F9Xec_53eCo8P-)1}U}2UBTQ}se zEkTQINn5&z$-4|Gsx`agik?@CMO7Wsy^d;3$7w!YTh z&Uk-!?~?G{VXPIvnxSKntr5TqrZ|k^0M-bd=ywkVjpG&Js`V(S@ z=--v-+LMZe`@>cxV*QTxUVkT$RPl#hau9#?@t+>W!$m7u{BH)jvm|@Bn2@a-i+;E8 PM)wu}O~A4%=P>#=i9DqO literal 0 HcmV?d00001 diff --git a/compiled/tools/win/tool-avrdude/install_giveio.bat b/compiled/tools/win/tool-avrdude/install_giveio.bat new file mode 100644 index 0000000..4a02b09 --- /dev/null +++ b/compiled/tools/win/tool-avrdude/install_giveio.bat @@ -0,0 +1,34 @@ +@set DIRVERNAME=giveio +@set DIRVERFILE=%DIRVERNAME%.sys + +@echo Copying the driver to the windows directory +@echo target file: %WINDIR%\%DIRVERFILE% +@copy %DIRVERFILE% %WINDIR%\%DIRVERFILE% + +@echo Remove a running service if needed... +@loaddrv stop %DIRVERNAME% >NUL +@if errorlevel 2 goto install + +@loaddrv remove %DIRVERNAME% >NUL +@if errorlevel 1 goto install + +:install +@echo Installing Windows NT/2k/XP driver: %DIRVERNAME% + +@loaddrv install %DIRVERNAME% %WINDIR%\%DIRVERFILE% +@if errorlevel 3 goto error + +@loaddrv start %DIRVERNAME% +@if errorlevel 1 goto error + +@loaddrv starttype %DIRVERNAME% auto +@if errorlevel 1 goto error + +@echo Success +@goto exit + +:error +@echo ERROR: Installation of %DIRVERNAME% failed + +:exit + diff --git a/compiled/tools/win/tool-avrdude/libusb0.dll b/compiled/tools/win/tool-avrdude/libusb0.dll new file mode 100644 index 0000000000000000000000000000000000000000..6e475b90ac77bbf206e4dfe8239f37dd52e1d215 GIT binary patch literal 67680 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 literal 0 HcmV?d00001 diff --git a/compiled/tools/win/tool-avrdude/loaddrv.exe b/compiled/tools/win/tool-avrdude/loaddrv.exe new file mode 100644 index 0000000000000000000000000000000000000000..7167b4327d3181f7ac4b0e3c248bd2d48e95e8e8 GIT binary patch literal 17408 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 literal 0 HcmV?d00001 diff --git a/compiled/tools/win/tool-esptool/package.json b/compiled/tools/win/tool-esptool/package.json new file mode 100644 index 0000000..8ba4133 --- /dev/null +++ b/compiled/tools/win/tool-esptool/package.json @@ -0,0 +1,11 @@ +{ + "description": "esptool-ck", + "name": "tool-esptool", + "system": [ + "windows", + "windows_amd64", + "windows_x86" + ], + "url": "https://github.com/igrr/esptool-ck", + "version": "1.413.0" +} \ No newline at end of file diff --git a/compiled/tools/win/tool-mkspiffs/mkspiffs_espressif32_arduino.exe b/compiled/tools/win/tool-mkspiffs/mkspiffs_espressif32_arduino.exe new file mode 100644 index 0000000000000000000000000000000000000000..d89872116fc9cde8cc84c26aa7cd9b3134abe945 GIT binary patch literal 673280 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

>JANkU;h)lNFf?)eh_Hm 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 Y7D&2T1xgLhs!IR6zWyWj^jn7ZUzXhR^Z)<= literal 0 HcmV?d00001 diff --git a/compiled/tools/win/tool-avrdude/package.json b/compiled/tools/win/tool-avrdude/package.json new file mode 100644 index 0000000..0947c1f --- /dev/null +++ b/compiled/tools/win/tool-avrdude/package.json @@ -0,0 +1,11 @@ +{ + "name": "tool-avrdude", + "description": "AVRDUDE", + "system": [ + "windows", + "windows_amd64", + "windows_x86" + ], + "url": "http://www.nongnu.org/avrdude/", + "version": "1.60300.190424" +} \ No newline at end of file diff --git a/compiled/tools/win/tool-avrdude/remove_giveio.bat b/compiled/tools/win/tool-avrdude/remove_giveio.bat new file mode 100644 index 0000000..024427d --- /dev/null +++ b/compiled/tools/win/tool-avrdude/remove_giveio.bat @@ -0,0 +1,14 @@ +@set DIRVERNAME=giveio + +@loaddrv stop %DIRVERNAME% +@if errorlevel 2 goto error + +@loaddrv remove %DIRVERNAME% +@if errorlevel 1 goto error + +@goto exit + +:error +@echo ERROR: Deinstallation of %DIRVERNAME% failed + +:exit diff --git a/compiled/tools/win/tool-avrdude/status_giveio.bat b/compiled/tools/win/tool-avrdude/status_giveio.bat new file mode 100644 index 0000000..bc82147 --- /dev/null +++ b/compiled/tools/win/tool-avrdude/status_giveio.bat @@ -0,0 +1,12 @@ +@set DIRVERNAME=giveio + +@loaddrv status %DIRVERNAME% +@if errorlevel 1 goto error + +@goto exit + +:error +@echo ERROR: Status querry for %DIRVERNAME% failed + +:exit + diff --git a/compiled/tools/win/tool-bossac/bossac.exe b/compiled/tools/win/tool-bossac/bossac.exe new file mode 100644 index 0000000000000000000000000000000000000000..de31e1168822840b3a4d5705d50e796b907d9102 GIT binary patch literal 719886 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�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 literal 0 HcmV?d00001 diff --git a/compiled/tools/win/tool-bossac/package.json b/compiled/tools/win/tool-bossac/package.json new file mode 100644 index 0000000..e014037 --- /dev/null +++ b/compiled/tools/win/tool-bossac/package.json @@ -0,0 +1,11 @@ +{ + "description": "Basic Open Source SAM-BA Application (BOSSA)", + "name": "tool-bossac", + "system": [ + "windows", + "windows_amd64", + "windows_x86" + ], + "url": "https://github.com/shumatech/BOSSA", + "version": "1.10700.0" +} \ No newline at end of file diff --git a/compiled/tools/win/tool-esptool/esptool.exe b/compiled/tools/win/tool-esptool/esptool.exe new file mode 100644 index 0000000000000000000000000000000000000000..225c947dae33ae304152ea20b7b74c6fbab655e8 GIT binary patch literal 36864 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 z68