diff options
author | Russell King <rmk@dyn-67.arm.linux.org.uk> | 2006-03-16 15:50:34 -0500 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2006-03-21 17:05:58 -0500 |
commit | 71dccd0f158a8077c92d51f213b55991b7a0e47e (patch) | |
tree | e5a3f3284db0669b63ea8ad6a263f226aca48dd1 | |
parent | 268099e3ccca5a988632ce18abd21d809d632ddc (diff) |
[ARM] Collect Primecell PL01x-based debug implementations together
Several ARM machine implementations used a PL01x primecell compatible
serial port for debugging purposes, and indepdently implemented the low
level debug macros every time. Provide a common implementation and
convert these implementations to use this version.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
-rw-r--r-- | include/asm-arm/arch-integrator/debug-macro.S | 18 | ||||
-rw-r--r-- | include/asm-arm/arch-realview/debug-macro.S | 18 | ||||
-rw-r--r-- | include/asm-arm/arch-versatile/debug-macro.S | 18 | ||||
-rw-r--r-- | include/asm-arm/hardware/debug-pl01x.S | 29 |
4 files changed, 32 insertions, 51 deletions
diff --git a/include/asm-arm/arch-integrator/debug-macro.S b/include/asm-arm/arch-integrator/debug-macro.S index 031d30941791..85b327c352df 100644 --- a/include/asm-arm/arch-integrator/debug-macro.S +++ b/include/asm-arm/arch-integrator/debug-macro.S | |||
@@ -11,8 +11,6 @@ | |||
11 | * | 11 | * |
12 | */ | 12 | */ |
13 | 13 | ||
14 | #include <linux/amba/serial.h> | ||
15 | |||
16 | .macro addruart,rx | 14 | .macro addruart,rx |
17 | mrc p15, 0, \rx, c1, c0 | 15 | mrc p15, 0, \rx, c1, c0 |
18 | tst \rx, #1 @ MMU enabled? | 16 | tst \rx, #1 @ MMU enabled? |
@@ -21,18 +19,4 @@ | |||
21 | addne \rx, \rx, #0x16000000 >> 4 | 19 | addne \rx, \rx, #0x16000000 >> 4 |
22 | .endm | 20 | .endm |
23 | 21 | ||
24 | .macro senduart,rd,rx | 22 | #include <asm/hardware/debug-pl01x.S> |
25 | strb \rd, [\rx, #UART01x_DR] | ||
26 | .endm | ||
27 | |||
28 | .macro waituart,rd,rx | ||
29 | 1001: ldr \rd, [\rx, #0x18] @ UARTFLG | ||
30 | tst \rd, #1 << 5 @ UARTFLGUTXFF - 1 when full | ||
31 | bne 1001b | ||
32 | .endm | ||
33 | |||
34 | .macro busyuart,rd,rx | ||
35 | 1001: ldr \rd, [\rx, #0x18] @ UARTFLG | ||
36 | tst \rd, #1 << 3 @ UARTFLGUBUSY - 1 when busy | ||
37 | bne 1001b | ||
38 | .endm | ||
diff --git a/include/asm-arm/arch-realview/debug-macro.S b/include/asm-arm/arch-realview/debug-macro.S index 017ad996848d..f17efc65518a 100644 --- a/include/asm-arm/arch-realview/debug-macro.S +++ b/include/asm-arm/arch-realview/debug-macro.S | |||
@@ -11,8 +11,6 @@ | |||
11 | * | 11 | * |
12 | */ | 12 | */ |
13 | 13 | ||
14 | #include <linux/amba/serial.h> | ||
15 | |||
16 | .macro addruart,rx | 14 | .macro addruart,rx |
17 | mrc p15, 0, \rx, c1, c0 | 15 | mrc p15, 0, \rx, c1, c0 |
18 | tst \rx, #1 @ MMU enabled? | 16 | tst \rx, #1 @ MMU enabled? |
@@ -21,18 +19,4 @@ | |||
21 | orr \rx, \rx, #0x00009000 | 19 | orr \rx, \rx, #0x00009000 |
22 | .endm | 20 | .endm |
23 | 21 | ||
24 | .macro senduart,rd,rx | 22 | #include <asm/hardware/debug-pl01x.S> |
25 | strb \rd, [\rx, #UART01x_DR] | ||
26 | .endm | ||
27 | |||
28 | .macro waituart,rd,rx | ||
29 | 1001: ldr \rd, [\rx, #0x18] @ UARTFLG | ||
30 | tst \rd, #1 << 5 @ UARTFLGUTXFF - 1 when full | ||
31 | bne 1001b | ||
32 | .endm | ||
33 | |||
34 | .macro busyuart,rd,rx | ||
35 | 1001: ldr \rd, [\rx, #0x18] @ UARTFLG | ||
36 | tst \rd, #1 << 3 @ UARTFLGUBUSY - 1 when busy | ||
37 | bne 1001b | ||
38 | .endm | ||
diff --git a/include/asm-arm/arch-versatile/debug-macro.S b/include/asm-arm/arch-versatile/debug-macro.S index ef6167116dbb..fe106d184e62 100644 --- a/include/asm-arm/arch-versatile/debug-macro.S +++ b/include/asm-arm/arch-versatile/debug-macro.S | |||
@@ -11,8 +11,6 @@ | |||
11 | * | 11 | * |
12 | */ | 12 | */ |
13 | 13 | ||
14 | #include <linux/amba/serial.h> | ||
15 | |||
16 | .macro addruart,rx | 14 | .macro addruart,rx |
17 | mrc p15, 0, \rx, c1, c0 | 15 | mrc p15, 0, \rx, c1, c0 |
18 | tst \rx, #1 @ MMU enabled? | 16 | tst \rx, #1 @ MMU enabled? |
@@ -22,18 +20,4 @@ | |||
22 | orr \rx, \rx, #0x00001000 | 20 | orr \rx, \rx, #0x00001000 |
23 | .endm | 21 | .endm |
24 | 22 | ||
25 | .macro senduart,rd,rx | 23 | #include <asm/hardware/debug-pl01x.S> |
26 | strb \rd, [\rx, #UART01x_DR] | ||
27 | .endm | ||
28 | |||
29 | .macro waituart,rd,rx | ||
30 | 1001: ldr \rd, [\rx, #0x18] @ UARTFLG | ||
31 | tst \rd, #1 << 5 @ UARTFLGUTXFF - 1 when full | ||
32 | bne 1001b | ||
33 | .endm | ||
34 | |||
35 | .macro busyuart,rd,rx | ||
36 | 1001: ldr \rd, [\rx, #0x18] @ UARTFLG | ||
37 | tst \rd, #1 << 3 @ UARTFLGUBUSY - 1 when busy | ||
38 | bne 1001b | ||
39 | .endm | ||
diff --git a/include/asm-arm/hardware/debug-pl01x.S b/include/asm-arm/hardware/debug-pl01x.S new file mode 100644 index 000000000000..db0d0f7de5e9 --- /dev/null +++ b/include/asm-arm/hardware/debug-pl01x.S | |||
@@ -0,0 +1,29 @@ | |||
1 | /* linux/include/asm-arm/arch-integrator/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 | #include <linux/amba/serial.h> | ||
14 | |||
15 | .macro senduart,rd,rx | ||
16 | strb \rd, [\rx, #UART01x_DR] | ||
17 | .endm | ||
18 | |||
19 | .macro waituart,rd,rx | ||
20 | 1001: ldr \rd, [\rx, #UART01x_FR] | ||
21 | tst \rd, #UART01x_FR_TXFF | ||
22 | bne 1001b | ||
23 | .endm | ||
24 | |||
25 | .macro busyuart,rd,rx | ||
26 | 1001: ldr \rd, [\rx, #UART01x_FR] | ||
27 | tst \rd, #UART01x_FR_BUSY | ||
28 | bne 1001b | ||
29 | .endm | ||