diff --git a/src/avrdude.conf.in b/src/avrdude.conf.in index 2f6042bb..2af5578b 100644 --- a/src/avrdude.conf.in +++ b/src/avrdude.conf.in @@ -4731,6 +4731,21 @@ part parent "m324p" ; +#------------------------------------------------------------ +# ATmega164A +#------------------------------------------------------------ + +# similar to ATmega164P + +part parent "m164p" + id = "m164a"; + desc = "ATmega164A"; + signature = 0x1e 0x94 0x0f; + + ocdrev = 3; + ; + + #------------------------------------------------------------ # ATmega324PB #------------------------------------------------------------ @@ -5908,6 +5923,35 @@ part ; ; +#------------------------------------------------------------ +# ATmega169A +#------------------------------------------------------------ + +part parent "m169" + id = "m169a"; + desc = "ATmega169A"; + ; + +#------------------------------------------------------------ +# ATmega169P +#------------------------------------------------------------ + +part parent "m169" + id = "m169p"; + desc = "ATmega169P"; + signature = 0x1E 0x94 0x05; + ; + +#------------------------------------------------------------ +# ATmega169PA +#------------------------------------------------------------ + +part parent "m169" + id = "m169pa"; + desc = "ATmega169PA"; + signature = 0x1E 0x94 0x05; + ; + #------------------------------------------------------------ # ATmega329 #------------------------------------------------------------ @@ -6093,45 +6137,73 @@ part ; ; +#------------------------------------------------------------ +# ATmega329A +#------------------------------------------------------------ + +part parent "m329" + id = "m329a"; + desc = "ATmega329a"; + ; + #------------------------------------------------------------ # ATmega329P #------------------------------------------------------------ -# Identical to ATmega329 except of the signature part parent "m329" id = "m329p"; desc = "ATmega329P"; signature = 0x1e 0x95 0x0b; + ; - ocdrev = 3; +#------------------------------------------------------------ +# ATmega329PA +#------------------------------------------------------------ + +part parent "m329" + id = "m329pa"; + desc = "ATmega329PA"; + signature = 0x1e 0x95 0x0b; ; #------------------------------------------------------------ # ATmega3290 #------------------------------------------------------------ -# identical to ATmega329 - part parent "m329" id = "m3290"; desc = "ATmega3290"; signature = 0x1e 0x95 0x04; + ; - ocdrev = 3; +#------------------------------------------------------------ +# ATmega3290A +#------------------------------------------------------------ + +part parent "m329" + id = "m3290a"; + desc = "ATmega3290A"; + signature = 0x1e 0x95 0x04; ; #------------------------------------------------------------ # ATmega3290P #------------------------------------------------------------ -# identical to ATmega3290 except of the signature - -part parent "m3290" +part parent "m329" id = "m3290p"; desc = "ATmega3290P"; signature = 0x1e 0x95 0x0c; + ; - ocdrev = 3; +#------------------------------------------------------------ +# ATmega3290PA +#------------------------------------------------------------ + +part parent "m329" + id = "m3290pa"; + desc = "ATmega3290PA"; + signature = 0x1e 0x95 0x0c; ; #------------------------------------------------------------ @@ -6320,17 +6392,52 @@ part ; #------------------------------------------------------------ -# ATmega6490 +# ATmega649A #------------------------------------------------------------ -# identical to ATmega649 +part parent "m649" + id = "m649a"; + desc = "ATmega649A"; + ; + +#------------------------------------------------------------ +# ATmega649P +#------------------------------------------------------------ + +part parent "m649" + id = "m649p"; + desc = "ATmega649P"; + signature = 0x1e 0x96 0x0b; + ; + +#------------------------------------------------------------ +# ATmega6490 +#------------------------------------------------------------ part parent "m649" id = "m6490"; desc = "ATmega6490"; signature = 0x1e 0x96 0x04; + ; - ocdrev = 3; +#------------------------------------------------------------ +# ATmega6490A +#------------------------------------------------------------ + +part parent "m649" + id = "m6490a"; + desc = "ATmega6490A"; + signature = 0x1e 0x96 0x04; + ; + +#------------------------------------------------------------ +# ATmega6490P +#------------------------------------------------------------ + +part parent "m649" + id = "m6490p"; + desc = "ATmega6490P"; + signature = 0x1e 0x96 0x0C; ; #------------------------------------------------------------ @@ -14194,6 +14301,228 @@ part "x x x x x x a1 a0 o o o o o o o o"; ; ; + +#------------------------------------------------------------ +# ATmega165 +#------------------------------------------------------------ + +part + id = "m165"; + desc = "ATmega165"; + signature = 0x1e 0x94 0x10; + has_jtag = yes; +# stk500_devcode = 0x??; +# avr910_devcode = 0x??; + chip_erase_delay = 9000; + reset = io; + 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 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 = 6; + togglevtg = 0; + poweroffdelay = 0; + resetdelayms = 0; + resetdelayus = 0; + hvleavestabdelay = 15; + chiperasepulsewidth = 0; + resetdelay = 15; + chiperasepolltimeout = 10; + programfusepulsewidth = 0; + programfusepolltimeout = 5; + programlockpulsewidth = 0; + programlockpolltimeout = 5; + + idr = 0x31; + spmcr = 0x57; + eecr = 0x3f; + allowfullpagebitstream = no; + + ocdrev = 3; + + memory "eeprom" + paged = no; + page_size = 4; + size = 512; + num_pages = 128; + min_write_delay = 3600; + max_write_delay = 3600; + readback_p1 = 0x00; + readback_p2 = 0x00; + read = " 1 0 1 0 0 0 0 0", + " 0 0 0 0 0 0 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 0 0 0 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 0 0 0 0 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 = 0x00; + readback_p2 = 0x00; + 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", + " 0 0 0 0 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 0 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 = 10; + 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 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 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 "signature" + size = 3; + read = "0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0", + "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 0 0 0 0 0", + "x x x x x x x x o o o o o o o o"; + ; + ; + +#------------------------------------------------------------ +# ATmega165A +#------------------------------------------------------------ + +part parent "m165" + id = "m165a"; + desc = "ATmega165A"; + ; + +#------------------------------------------------------------ +# ATmega165P +#------------------------------------------------------------ + +part parent "m165" + id = "m165p"; + desc = "ATmega165P"; + signature = 0x1e 0x94 0x07; + ; + +#------------------------------------------------------------ +# ATmega165PA +#------------------------------------------------------------ + +part parent "m165" + id = "m165pa"; + desc = "ATmega165PA"; + signature = 0x1e 0x94 0x07; + ; + #------------------------------------------------------------ # ATmega325 #------------------------------------------------------------ @@ -14385,6 +14714,35 @@ part ; ; +#------------------------------------------------------------ +# ATmega325A +#------------------------------------------------------------ + +part parent "m325" + id = "m325a"; + desc = "ATmega325A"; + ; + +#------------------------------------------------------------ +# ATmega325P +#------------------------------------------------------------ + +part parent "m325" + id = "m325p"; + desc = "ATmega325P"; + signature = 0x1e 0x95 0x0d; + ; + +#------------------------------------------------------------ +# ATmega325PA +#------------------------------------------------------------ + +part parent "m325" + id = "m325pa"; + desc = "ATmega325PA"; + signature = 0x1e 0x95 0x0d; + ; + #------------------------------------------------------------ # ATmega645 #------------------------------------------------------------ @@ -14576,6 +14934,25 @@ part ; ; +#------------------------------------------------------------ +# ATmega645A +#------------------------------------------------------------ + +part parent "m645" + id = "m645a"; + desc = "ATmega645A"; + ; + +#------------------------------------------------------------ +# ATmega645P +#------------------------------------------------------------ + +part parent "m645" + id = "m645p"; + desc = "ATmega645P"; + signature = 0x1e 0x96 0x0d; + ; + #------------------------------------------------------------ # ATmega3250 #------------------------------------------------------------ @@ -14584,8 +14961,36 @@ part parent "m325" id = "m3250"; desc = "ATmega3250"; signature = 0x1E 0x95 0x06; + ; - ocdrev = 3; +#------------------------------------------------------------ +# ATmega3250A +#------------------------------------------------------------ + +part parent "m325" + id = "m3250a"; + desc = "ATmega3250A"; + signature = 0x1E 0x95 0x06; + ; + +#------------------------------------------------------------ +# ATmega3250P +#------------------------------------------------------------ + +part parent "m325" + id = "m3250p"; + desc = "ATmega3250P"; + signature = 0x1E 0x95 0x0e; + ; + +#------------------------------------------------------------ +# ATmega3250PA +#------------------------------------------------------------ + +part parent "m325" + id = "m3250pa"; + desc = "ATmega3250PA"; + signature = 0x1E 0x95 0x0e; ; #------------------------------------------------------------ @@ -14596,8 +15001,26 @@ part parent "m645" id = "m6450"; desc = "ATmega6450"; signature = 0x1E 0x96 0x06; + ; - ocdrev = 3; +#------------------------------------------------------------ +# ATmega6450A +#------------------------------------------------------------ + +part parent "m645" + id = "m6450a"; + desc = "ATmega6450A"; + signature = 0x1E 0x96 0x06; + ; + +#------------------------------------------------------------ +# ATmega6450P +#------------------------------------------------------------ + +part parent "m645" + id = "m6450p"; + desc = "ATmega6450P"; + signature = 0x1E 0x96 0x0e; ; #------------------------------------------------------------