summaryrefslogtreecommitdiff
path: root/arch/arm/kernel/debug.S
diff options
context:
space:
mode:
authorRussell King <rmk@flint.arm.linux.org.uk>2004-04-22 01:33:52 +0100
committerRussell King <rmk@flint.arm.linux.org.uk>2004-04-22 01:33:52 +0100
commitd8371fcd7cc2ad658932083728ad1984f5328a4f (patch)
tree5e0a64be8204094f65008d065d1a347de064028d /arch/arm/kernel/debug.S
parent7a928ead369c5d24be14ed57227477679966fa5d (diff)
[ARM] Add support for ARM Versatile platform.
This cset adds minimal support for ARM Ltd's ARM926EJ-S "Versatile" platform.
Diffstat (limited to 'arch/arm/kernel/debug.S')
-rw-r--r--arch/arm/kernel/debug.S29
1 files changed, 29 insertions, 0 deletions
diff --git a/arch/arm/kernel/debug.S b/arch/arm/kernel/debug.S
index 5db32be694c0..319b21e4fc78 100644
--- a/arch/arm/kernel/debug.S
+++ b/arch/arm/kernel/debug.S
@@ -550,6 +550,35 @@
1002: @ exit busyuart
.endm
+
+#elif defined(CONFIG_ARCH_VERSATILE_PB)
+
+#include <asm/hardware/amba_serial.h>
+
+ .macro addruart,rx
+ mrc p15, 0, \rx, c1, c0
+ tst \rx, #1 @ MMU enabled?
+ moveq \rx, #0x10000000
+ movne \rx, #0xf1000000 @ virtual base
+ orr \rx, \rx, #0x001F0000
+ orr \rx, \rx, #0x00001000
+ .endm
+
+ .macro senduart,rd,rx
+ strb \rd, [\rx, #UART01x_DR]
+ .endm
+
+ .macro waituart,rd,rx
+1001: ldr \rd, [\rx, #0x18] @ UARTFLG
+ tst \rd, #1 << 5 @ UARTFLGUTXFF - 1 when full
+ bne 1001b
+ .endm
+
+ .macro busyuart,rd,rx
+1001: ldr \rd, [\rx, #0x18] @ UARTFLG
+ tst \rd, #1 << 3 @ UARTFLGUBUSY - 1 when busy
+ bne 1001b
+ .endm
#else
#error Unknown architecture
#endif