aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRussell King <rmk@dyn-67.arm.linux.org.uk>2006-03-16 15:50:34 -0500
committerRussell King <rmk+kernel@arm.linux.org.uk>2006-03-21 17:05:58 -0500
commit71dccd0f158a8077c92d51f213b55991b7a0e47e (patch)
treee5a3f3284db0669b63ea8ad6a263f226aca48dd1
parent268099e3ccca5a988632ce18abd21d809d632ddc (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.S18
-rw-r--r--include/asm-arm/arch-realview/debug-macro.S18
-rw-r--r--include/asm-arm/arch-versatile/debug-macro.S18
-rw-r--r--include/asm-arm/hardware/debug-pl01x.S29
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
291001: 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
351001: 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
291001: 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
351001: 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
301001: 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
361001: 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
201001: ldr \rd, [\rx, #UART01x_FR]
21 tst \rd, #UART01x_FR_TXFF
22 bne 1001b
23 .endm
24
25 .macro busyuart,rd,rx
261001: ldr \rd, [\rx, #UART01x_FR]
27 tst \rd, #UART01x_FR_BUSY
28 bne 1001b
29 .endm