From 71029c515a14128b64f7e7983bb3ade8164914b5 Mon Sep 17 00:00:00 2001 From: Stefan Rueger Date: Sat, 13 Jul 2024 14:30:22 +0100 Subject: [PATCH] Fix write delays for some classic parts Compared the T WD_FUSE etc values in the data sheets for m169, m169a, m169p, m169pa, m3290a, m3290p, m3290pa, m329a, m329p, m329pa, m6490a, m6490p, m649a, m649p and m8535. --- src/avrdude.conf.in | 85 +++++++++++++++++++++++++++++++++++++-------- 1 file changed, 71 insertions(+), 14 deletions(-) diff --git a/src/avrdude.conf.in b/src/avrdude.conf.in index f874d40b..623462ed 100644 --- a/src/avrdude.conf.in +++ b/src/avrdude.conf.in @@ -7098,8 +7098,8 @@ part # m169 memory "lfuse" size = 1; initval = 0x62; - min_write_delay = 2000; - max_write_delay = 2000; + min_write_delay = 4500; + max_write_delay = 4500; read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; ; @@ -7107,8 +7107,8 @@ part # m169 memory "hfuse" size = 1; initval = 0x99; - min_write_delay = 2000; - max_write_delay = 2000; + min_write_delay = 4500; + max_write_delay = 4500; read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; ; @@ -7117,8 +7117,8 @@ part # m169 size = 1; initval = 0xff; bitmask = 0x0f; - min_write_delay = 2000; - max_write_delay = 2000; + min_write_delay = 4500; + max_write_delay = 4500; read = "0101.0000--0000.1000--xxxx.xxxx--oooo.oooo"; write = "1010.1100--1010.0100--xxxx.xxxx--xxxx.iiii"; ; @@ -7127,8 +7127,8 @@ part # m169 size = 1; initval = 0xff; bitmask = 0x3f; - min_write_delay = 2000; - max_write_delay = 2000; + min_write_delay = 4500; + max_write_delay = 4500; read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; ; @@ -7174,6 +7174,8 @@ part parent "m169" # m169a resetdelay = 15; memory "eeprom" + min_write_delay = 3600; + max_write_delay = 3600; readback = 0x00 0x00; ; @@ -7221,6 +7223,8 @@ part parent "m169" # m169p resetdelay = 15; memory "eeprom" + min_write_delay = 3600; + max_write_delay = 3600; readback = 0x00 0x00; ; @@ -7263,6 +7267,8 @@ part parent "m169" # m169pa resetdelay = 15; memory "eeprom" + min_write_delay = 3600; + max_write_delay = 3600; readback = 0x00 0x00; ; @@ -7442,6 +7448,11 @@ part parent "m329" # m329a "ATmega329A-MN: QFN64, Fmax=20 MHz, T=[-40 C, 105 C], Vcc=[1.8 V, 5.5 V]", "ATmega329A-MU: VQFN64, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; mcuid = 122; + + memory "eeprom" + min_write_delay = 3600; + max_write_delay = 3600; + ; ; #------------------------------------------------------------ @@ -7468,6 +7479,11 @@ part parent "m329" # m329p "ATmega329PV-10MUR: VQFN64, Fmax=10 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; mcuid = 123; signature = 0x1e 0x95 0x0b; + + memory "eeprom" + min_write_delay = 3600; + max_write_delay = 3600; + ; ; #------------------------------------------------------------ @@ -7486,6 +7502,11 @@ part parent "m329" # m329pa "ATmega329PA-MUR: VQFN64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]"; mcuid = 124; signature = 0x1e 0x95 0x0b; + + memory "eeprom" + min_write_delay = 3600; + max_write_delay = 3600; + ; ; #------------------------------------------------------------ @@ -7520,6 +7541,11 @@ part parent "m329" # m3290a mcuid = 151; n_interrupts = 25; signature = 0x1e 0x95 0x04; + + memory "eeprom" + min_write_delay = 3600; + max_write_delay = 3600; + ; ; #------------------------------------------------------------ @@ -7538,6 +7564,11 @@ part parent "m329" # m3290p mcuid = 152; n_interrupts = 25; signature = 0x1e 0x95 0x0c; + + memory "eeprom" + min_write_delay = 3600; + max_write_delay = 3600; + ; ; #------------------------------------------------------------ @@ -7554,6 +7585,11 @@ part parent "m329" # m3290pa mcuid = 153; n_interrupts = 25; signature = 0x1e 0x95 0x0c; + + memory "eeprom" + min_write_delay = 3600; + max_write_delay = 3600; + ; ; #------------------------------------------------------------ @@ -7723,6 +7759,11 @@ part parent "m649" # m649a "ATmega649A-MU: VQFN64, Fmax=16 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]", "ATmega649A-MUR: VQFN64, Fmax=16 MHz, T=[N/A, N/A], Vcc=[1.8 V, 5.5 V]"; mcuid = 136; + + memory "eeprom" + min_write_delay = 3600; + max_write_delay = 3600; + ; ; #------------------------------------------------------------ @@ -7739,6 +7780,11 @@ part parent "m649" # m649p "ATmega649P-MUR: VQFN64, Fmax=N/A, T=[N/A, N/A], Vcc=[N/A, N/A]"; mcuid = 137; signature = 0x1e 0x96 0x0b; + + memory "eeprom" + min_write_delay = 3600; + max_write_delay = 3600; + ; ; #------------------------------------------------------------ @@ -7773,6 +7819,11 @@ part parent "m649" # m6490a mcuid = 158; n_interrupts = 25; signature = 0x1e 0x96 0x04; + + memory "eeprom" + min_write_delay = 3600; + max_write_delay = 3600; + ; ; #------------------------------------------------------------ @@ -7789,6 +7840,11 @@ part parent "m649" # m6490p mcuid = 159; n_interrupts = 25; signature = 0x1e 0x96 0x0c; + + memory "eeprom" + min_write_delay = 3600; + max_write_delay = 3600; + ; ; #------------------------------------------------------------ @@ -8470,8 +8526,8 @@ part # m8535 memory "lfuse" size = 1; initval = 0xe1; - min_write_delay = 2000; - max_write_delay = 2000; + min_write_delay = 4500; + max_write_delay = 4500; read = "0101.0000--0000.0000--xxxx.xxxx--oooo.oooo"; write = "1010.1100--1010.0000--xxxx.xxxx--iiii.iiii"; ; @@ -8479,8 +8535,8 @@ part # m8535 memory "hfuse" size = 1; initval = 0xd9; - min_write_delay = 2000; - max_write_delay = 2000; + min_write_delay = 4500; + max_write_delay = 4500; read = "0101.1000--0000.1000--xxxx.xxxx--oooo.oooo"; write = "1010.1100--1010.1000--xxxx.xxxx--iiii.iiii"; ; @@ -8489,8 +8545,8 @@ part # m8535 size = 1; initval = 0xff; bitmask = 0x3f; - min_write_delay = 2000; - max_write_delay = 2000; + min_write_delay = 4500; + max_write_delay = 4500; read = "0101.1000--0000.0000--xxxx.xxxx--oooo.oooo"; write = "1010.1100--111x.xxxx--xxxx.xxxx--11ii.iiii"; ; @@ -14699,6 +14755,7 @@ part parent "t44" # t44a "ATtiny44A-SSUR: SOIC14N, Fmax=20 MHz, T=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"; mcuid = XVII + IV; # 21; + ; #------------------------------------------------------------