xref: /openbmc/linux/arch/mips/include/asm/delay.h (revision e3bf887d73309808d47c74f2f024d2497c8f7048)
1384740dcSRalf Baechle /*
2384740dcSRalf Baechle  * This file is subject to the terms and conditions of the GNU General Public
3384740dcSRalf Baechle  * License.  See the file "COPYING" in the main directory of this archive
4384740dcSRalf Baechle  * for more details.
5384740dcSRalf Baechle  *
6384740dcSRalf Baechle  * Copyright (C) 1994 by Waldorf Electronics
7384740dcSRalf Baechle  * Copyright (C) 1995 - 2000, 01, 03 by Ralf Baechle
8384740dcSRalf Baechle  * Copyright (C) 1999, 2000 Silicon Graphics, Inc.
9384740dcSRalf Baechle  * Copyright (C) 2007  Maciej W. Rozycki
10384740dcSRalf Baechle  */
11384740dcSRalf Baechle #ifndef _ASM_DELAY_H
12384740dcSRalf Baechle #define _ASM_DELAY_H
13384740dcSRalf Baechle 
14*e3bf887dSRalf Baechle #include <linux/param.h>
15*e3bf887dSRalf Baechle 
165636919bSRalf Baechle extern void __delay(unsigned int loops);
175636919bSRalf Baechle extern void __ndelay(unsigned int ns);
185636919bSRalf Baechle extern void __udelay(unsigned int us);
19384740dcSRalf Baechle 
2039027ff0SRalf Baechle #define ndelay(ns) __ndelay(ns)
215636919bSRalf Baechle #define udelay(us) __udelay(us)
22384740dcSRalf Baechle 
23384740dcSRalf Baechle /* make sure "usecs *= ..." in udelay do not overflow. */
24384740dcSRalf Baechle #if HZ >= 1000
25384740dcSRalf Baechle #define MAX_UDELAY_MS	1
26384740dcSRalf Baechle #elif HZ <= 200
27384740dcSRalf Baechle #define MAX_UDELAY_MS	5
28384740dcSRalf Baechle #else
29384740dcSRalf Baechle #define MAX_UDELAY_MS	(1000 / HZ)
30384740dcSRalf Baechle #endif
31384740dcSRalf Baechle 
32384740dcSRalf Baechle #endif /* _ASM_DELAY_H */
33