OpenCores
URL https://opencores.org/ocsvn/or1k_soc_on_altera_embedded_dev_kit/or1k_soc_on_altera_embedded_dev_kit/trunk

Subversion Repositories or1k_soc_on_altera_embedded_dev_kit

[/] [or1k_soc_on_altera_embedded_dev_kit/] [trunk/] [linux-2.6/] [linux-2.6.24/] [arch/] [arm/] [lib/] [delay.S] - Blame information for rev 3

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 3 xianfeng
/*
2
 *  linux/arch/arm/lib/delay.S
3
 *
4
 *  Copyright (C) 1995, 1996 Russell King
5
 *
6
 * This program is free software; you can redistribute it and/or modify
7
 * it under the terms of the GNU General Public License version 2 as
8
 * published by the Free Software Foundation.
9
 */
10
#include 
11
#include 
12
#include 
13
                .text
14
 
15
.LC0:           .word   loops_per_jiffy
16
.LC1:           .word   (2199023*HZ)>>11
17
 
18
/*
19
 * r0  <= 2000
20
 * lpj <= 0x01ffffff (max. 3355 bogomips)
21
 * HZ  <= 1000
22
 */
23
 
24
ENTRY(__udelay)
25
                ldr     r2, .LC1
26
                mul     r0, r2, r0
27
ENTRY(__const_udelay)                           @ 0 <= r0 <= 0x7fffff06
28
                ldr     r2, .LC0
29
                ldr     r2, [r2]                @ max = 0x01ffffff
30
                mov     r0, r0, lsr #14         @ max = 0x0001ffff
31
                mov     r2, r2, lsr #10         @ max = 0x00007fff
32
                mul     r0, r2, r0              @ max = 2^32-1
33
                movs    r0, r0, lsr #6
34
                moveq   pc, lr
35
 
36
/*
37
 * loops = r0 * HZ * loops_per_jiffy / 1000000
38
 *
39
 * Oh, if only we had a cycle counter...
40
 */
41
 
42
@ Delay routine
43
ENTRY(__delay)
44
                subs    r0, r0, #1
45
#if 0
46
                movls   pc, lr
47
                subs    r0, r0, #1
48
                movls   pc, lr
49
                subs    r0, r0, #1
50
                movls   pc, lr
51
                subs    r0, r0, #1
52
                movls   pc, lr
53
                subs    r0, r0, #1
54
                movls   pc, lr
55
                subs    r0, r0, #1
56
                movls   pc, lr
57
                subs    r0, r0, #1
58
                movls   pc, lr
59
                subs    r0, r0, #1
60
#endif
61
                bhi     __delay
62
                mov     pc, lr

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.