From f93a329da085fd88174e213d4d20a9bbb1605996 Mon Sep 17 00:00:00 2001
From: Joerg Wunsch <j@uriah.heep.sax.de>
Date: Mon, 21 Aug 2006 20:19:35 +0000
Subject: [PATCH] Add (rather conservative) write delay timing values to the
 *fuse and lock memory spaces of all devices where they have been missing. 
 Add the lock memory space to the ATmega48 section.

Closes bug #14920: tiny2313 fuses and AVRDUDE 5.0
Closes bug #15751: atmega48: no lock bits defined


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@619 81a1dc3b-b13d-400b-aceb-764788c761c2
---
 ChangeLog       |   9 ++
 avrdude.conf.in | 277 ++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 286 insertions(+)

diff --git a/ChangeLog b/ChangeLog
index c0ade5a4..0b5d3262 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2006-08-21 Joerg Wunsch <j@uriah.heep.sax.de>
+
+	* avrdude.conf.in: Add (rather conservative) write delay timing
+	values to the *fuse and lock memory spaces of all devices where
+	they have been missing.  Add the lock memory space to the ATmega48
+	section.
+	Closes bug #14920: tiny2313 fuses and AVRDUDE 5.0
+	Closes bug #15751: atmega48: no lock bits defined
+
 2006-08-21 Joerg Wunsch <j@uriah.heep.sax.de>
 
 	* avrdude.conf.in: Fix the size of the calibration memory space
diff --git a/avrdude.conf.in b/avrdude.conf.in
index acf63742..df716580 100644
--- a/avrdude.conf.in
+++ b/avrdude.conf.in
@@ -773,6 +773,8 @@ part
 
         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"
@@ -788,6 +790,8 @@ part
 
         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;
     ;
 ;
 
@@ -1060,6 +1064,8 @@ part
 
         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"
@@ -1075,6 +1081,8 @@ part
 
         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;
     ;
 ;
 
@@ -1411,6 +1419,8 @@ part
         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;
       ;
   ;
 
@@ -1938,6 +1948,8 @@ part
 			  "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;
@@ -1945,6 +1957,8 @@ part
 			  "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;
       ;
   ;
 
@@ -2055,6 +2069,8 @@ part
 			  "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;
@@ -2062,6 +2078,8 @@ part
 			  "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;
       ;
   ;
 
@@ -2182,6 +2200,8 @@ part
 
         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"
@@ -2191,6 +2211,8 @@ part
 
         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"
@@ -2328,6 +2350,8 @@ part
 
         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"
@@ -2337,6 +2361,8 @@ part
 
         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"
@@ -2346,6 +2372,8 @@ part
 
         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"
@@ -2355,6 +2383,8 @@ part
 
         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"
@@ -2501,6 +2531,8 @@ part
 
         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"
@@ -2510,6 +2542,8 @@ part
 
         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"
@@ -2519,6 +2553,8 @@ part
 
         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"
@@ -2528,6 +2564,8 @@ part
 
         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"
@@ -2672,6 +2710,8 @@ part
 
         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"
@@ -2681,6 +2721,8 @@ part
 
         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"
@@ -2690,6 +2732,8 @@ part
 
         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"
@@ -2699,6 +2743,8 @@ part
 
         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"
@@ -2842,6 +2888,8 @@ part
 
         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"
@@ -2851,6 +2899,8 @@ part
 
         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"
@@ -2860,6 +2910,8 @@ part
 
         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;
@@ -3004,6 +3056,8 @@ part
 
         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"
@@ -3013,6 +3067,8 @@ part
 
         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"
@@ -3022,6 +3078,8 @@ part
 
         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"
@@ -3032,6 +3090,8 @@ part
 
         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"
@@ -3178,6 +3238,8 @@ part
 
         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"
@@ -3187,6 +3249,8 @@ part
 
         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"
@@ -3196,6 +3260,8 @@ part
 
         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"
@@ -3206,6 +3272,8 @@ part
 
         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"
@@ -3352,6 +3420,8 @@ part
 
         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"
@@ -3361,6 +3431,8 @@ part
 
         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"
@@ -3370,6 +3442,8 @@ part
 
         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"
@@ -3380,6 +3454,8 @@ part
 
         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"
@@ -4045,6 +4121,8 @@ part
 
     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";
 
@@ -4218,6 +4296,8 @@ part
 
     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";
 
@@ -4389,6 +4469,8 @@ part
 
     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";
 
@@ -4562,6 +4644,8 @@ part
 
     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";
 
@@ -5494,6 +5578,8 @@ part
 
         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"
@@ -5503,6 +5589,8 @@ part
 
         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"
@@ -5512,6 +5600,8 @@ part
 
         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 o  o o o o";
+        min_write_delay = 9000;
+        max_write_delay = 9000;
       ;
 
     memory "calibration"
@@ -5680,6 +5770,17 @@ part
                           "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",
@@ -6181,6 +6282,8 @@ part
          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 = 9000;
+        max_write_delay = 9000;
        ;
 
      memory "lfuse"
@@ -6190,6 +6293,8 @@ part
 
          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"
@@ -6199,6 +6304,8 @@ part
 
          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"
@@ -6208,6 +6315,8 @@ part
 
          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:
@@ -6340,6 +6449,8 @@ part
 
          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"
@@ -6349,6 +6460,8 @@ part
 
          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"
@@ -6358,6 +6471,8 @@ part
 
          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"
@@ -6367,6 +6482,8 @@ part
 
          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"
@@ -6499,6 +6616,8 @@ part
 
          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"
@@ -6508,6 +6627,8 @@ part
 
          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"
@@ -6517,6 +6638,8 @@ part
 
          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"
@@ -6526,6 +6649,8 @@ part
 
          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"
@@ -6654,6 +6779,8 @@ part
          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 = 9000;
+        max_write_delay = 9000;
        ;
 
      memory "lfuse"
@@ -6663,6 +6790,8 @@ part
 
          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"
@@ -6672,6 +6801,8 @@ part
 
          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"
@@ -6681,6 +6812,8 @@ part
 
          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"
@@ -6810,6 +6943,8 @@ part
          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 = 9000;
+        max_write_delay = 9000;
        ;
 
      memory "lfuse"
@@ -6819,6 +6954,8 @@ part
 
          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"
@@ -6828,6 +6965,8 @@ part
 
          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"
@@ -6837,6 +6976,8 @@ part
 
          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"
@@ -6965,6 +7106,8 @@ part
          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 = 9000;
+        max_write_delay = 9000;
        ;
 
      memory "lfuse"
@@ -6974,6 +7117,8 @@ part
 
          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"
@@ -6983,6 +7128,8 @@ part
 
          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"
@@ -6992,6 +7139,8 @@ part
 
          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"
@@ -7130,6 +7279,8 @@ part
 
         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"
@@ -7139,6 +7290,8 @@ part
 
         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"
@@ -7148,6 +7301,8 @@ part
 
         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"
@@ -7157,6 +7312,8 @@ part
 
         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"
@@ -7300,6 +7457,8 @@ part
 
         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"
@@ -7309,6 +7468,8 @@ part
 
         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"
@@ -7318,6 +7479,8 @@ part
 
         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"
@@ -7327,6 +7490,8 @@ part
 
         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"
@@ -7471,6 +7636,8 @@ part
 
         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"
@@ -7480,6 +7647,8 @@ part
 
         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"
@@ -7489,6 +7658,8 @@ part
 
         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"
@@ -7498,6 +7669,8 @@ part
 
         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"
@@ -7646,6 +7819,8 @@ part
 
         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"
@@ -7655,6 +7830,8 @@ part
 
         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"
@@ -7664,6 +7841,8 @@ part
 
         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"
@@ -7673,6 +7852,8 @@ part
 
         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"
@@ -7821,6 +8002,8 @@ part
 
         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"
@@ -7830,6 +8013,8 @@ part
 
         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"
@@ -7839,6 +8024,8 @@ part
 
         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"
@@ -7848,6 +8035,8 @@ part
 
         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"
@@ -7984,6 +8173,8 @@ part
                            "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"
@@ -7993,6 +8184,8 @@ part
 
          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"
@@ -8002,6 +8195,8 @@ part
 
          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"
@@ -8011,6 +8206,8 @@ part
 
          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"
@@ -8141,6 +8338,8 @@ part
                            "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"
@@ -8150,6 +8349,8 @@ part
 
          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"
@@ -8159,6 +8360,8 @@ part
 
          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"
@@ -8168,6 +8371,8 @@ part
 
          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"
@@ -8299,6 +8504,8 @@ part
                            "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"
@@ -8308,6 +8515,8 @@ part
 
          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"
@@ -8317,6 +8526,8 @@ part
 
          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"
@@ -8326,6 +8537,8 @@ part
 
          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"
@@ -8464,6 +8677,8 @@ part
 
         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"
@@ -8473,6 +8688,8 @@ part
 
         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"
@@ -8482,6 +8699,8 @@ part
 
         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"
@@ -8491,6 +8710,8 @@ part
 
         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"
@@ -8636,6 +8857,8 @@ part
 
         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"
@@ -8645,6 +8868,8 @@ part
 
         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"
@@ -8654,6 +8879,8 @@ part
 
         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"
@@ -8663,6 +8890,8 @@ part
 
         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"
@@ -8806,6 +9035,8 @@ part
 
         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"
@@ -8815,6 +9046,8 @@ part
 
         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"
@@ -8824,6 +9057,8 @@ part
 
         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"
@@ -8833,6 +9068,8 @@ part
 
         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"
@@ -8977,6 +9214,8 @@ part
 
         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"
@@ -8986,6 +9225,8 @@ part
 
         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"
@@ -8995,6 +9236,8 @@ part
 
         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"
@@ -9004,6 +9247,8 @@ part
 
         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"
@@ -9155,6 +9400,8 @@ part
 
         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"
@@ -9164,6 +9411,8 @@ part
 
         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"
@@ -9173,6 +9422,8 @@ part
 
         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"
@@ -9183,6 +9434,8 @@ part
 
         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;
       ;
 
 #   ATmega325 has Signature Bytes: 0x1E 0x95 0x05.
@@ -9336,6 +9589,8 @@ part
 
         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"
@@ -9345,6 +9600,8 @@ part
 
         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"
@@ -9354,6 +9611,8 @@ part
 
         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"
@@ -9364,6 +9623,8 @@ part
 
         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;
       ;
 
 #   ATmega645 has Signature Bytes: 0x1E 0x96 0x05.
@@ -9517,6 +9778,8 @@ part
 
         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"
@@ -9526,6 +9789,8 @@ part
 
         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"
@@ -9535,6 +9800,8 @@ part
 
         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"
@@ -9545,6 +9812,8 @@ part
 
         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;
       ;
 
 #   ATmega3250 has Signature Bytes: 0x1E 0x95 0x06.
@@ -9698,6 +9967,8 @@ part
 
         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"
@@ -9707,6 +9978,8 @@ part
 
         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"
@@ -9716,6 +9989,8 @@ part
 
         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"
@@ -9726,6 +10001,8 @@ part
 
         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;
       ;
 
 #   ATmega6450 has Signature Bytes: 0x1E 0x96 0x06..