Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | /* linux/include/asm-arm/arch-omap/debug-macro.S |
2 | * | |
3 | * Debugging macro include header | |
4 | * | |
5 | * Copyright (C) 1994-1999 Russell King | |
6 | * Moved from linux/arch/arm/kernel/debug.S by Ben Dooks | |
7 | * | |
8 | * This program is free software; you can redistribute it and/or modify | |
9 | * it under the terms of the GNU General Public License version 2 as | |
10 | * published by the Free Software Foundation. | |
11 | * | |
12 | */ | |
13 | ||
14 | .macro addruart,rx | |
15 | mrc p15, 0, \rx, c1, c0 | |
16 | tst \rx, #1 @ MMU enabled? | |
9839c6b8 | 17 | #ifdef CONFIG_ARCH_OMAP1 |
1da177e4 LT |
18 | moveq \rx, #0xff000000 @ physical base address |
19 | movne \rx, #0xfe000000 @ virtual base | |
20 | orr \rx, \rx, #0x00fb0000 | |
21 | #ifdef CONFIG_OMAP_LL_DEBUG_UART3 | |
22 | orr \rx, \rx, #0x00009000 @ UART 3 | |
23 | #endif | |
24 | #if defined(CONFIG_OMAP_LL_DEBUG_UART2) || defined(CONFIG_OMAP_LL_DEBUG_UART3) | |
25 | orr \rx, \rx, #0x00000800 @ UART 2 & 3 | |
9839c6b8 TL |
26 | #endif |
27 | ||
28 | #elif CONFIG_ARCH_OMAP2 | |
29 | moveq \rx, #0x48000000 @ physical base address | |
30 | movne \rx, #0xd8000000 @ virtual base | |
31 | orr \rx, \rx, #0x0006a000 | |
32 | #ifdef CONFIG_OMAP_LL_DEBUG_UART2 | |
33 | add \rx, \rx, #0x00002000 @ UART 2 | |
34 | #endif | |
35 | #ifdef CONFIG_OMAP_LL_DEBUG_UART3 | |
36 | add \rx, \rx, #0x00004000 @ UART 3 | |
37 | #endif | |
1da177e4 LT |
38 | #endif |
39 | .endm | |
40 | ||
41 | .macro senduart,rd,rx | |
42 | strb \rd, [\rx] | |
43 | .endm | |
44 | ||
45 | .macro busyuart,rd,rx | |
46 | 1001: ldrb \rd, [\rx, #(0x5 << 2)] @ OMAP-1510 and friends | |
47 | and \rd, \rd, #0x60 | |
48 | teq \rd, #0x60 | |
49 | beq 1002f | |
50 | ldrb \rd, [\rx, #(0x5 << 0)] @ OMAP-730 only | |
51 | and \rd, \rd, #0x60 | |
52 | teq \rd, #0x60 | |
53 | bne 1001b | |
54 | 1002: | |
55 | .endm | |
56 | ||
57 | .macro waituart,rd,rx | |
58 | .endm |