commit 2b6ae614567d54f4716f1f3d4a63c846f3caea10
Author: Maksim Kuleshov <mmcx@ucs.ru>
Date:   Tue Nov 1 20:00:19 2011 +0400

    include/delay.h: delay_us >255us without decreasing resolution
    
    Signed-off-by: Maksim Kuleshov <mmcx@mail.ru>

diff --git a/avr-libc/include/util/delay.h.in b/avr-libc/include/util/delay.h.in
index 9ee95bb..59ec33a 100644
--- a/avr-libc/include/util/delay.h.in
+++ b/avr-libc/include/util/delay.h.in
@@ -225,6 +225,7 @@ _delay_us(double __us)
 {
 	uint8_t __ticks;
 	double __tmp ; 
+	double __tmp2 ; 
 #if __HAS_DELAY_CYCLES && defined(__OPTIMIZE__) && \
   !defined(__DELAY_BACKWARD_COMPATIBLE__) &&	   \
   __STDC_HOSTED__
@@ -247,11 +248,17 @@ _delay_us(double __us)
 
 #else
 	__tmp = ((F_CPU) / 3e6) * __us;
+	__tmp2 = ((F_CPU) / 4e6) * __us;
 	if (__tmp < 1.0)
 		__ticks = 1;
-	else if (__tmp > 255)
+	else if (__tmp2 > 65535)
 	{
 		_delay_ms(__us / 1000.0);
+	}
+	else if (__tmp > 255)
+	{
+		uint16_t __ticks=(uint16_t)__tmp2;
+		_delay_loop_2(__ticks);
 		return;
 	}
 	else
