summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-lh7a40x/include/mach/debug-macro.S
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2008-08-13 13:08:47 +0200
committerIngo Molnar <mingo@elte.hu>2008-08-13 13:08:47 +0200
commita12e61df4fa1cfae7a6b76976fa65a6fcb048e3f (patch)
tree957c915298b299902aa80afa7c78e94c71b3dc25 /arch/arm/mach-lh7a40x/include/mach/debug-macro.S
parent7b27718bdb1b70166383dec91391df5534d449ee (diff)
parent30a2f3c60a84092c8084dfe788b710f8d0768cd4 (diff)
Merge commit 'v2.6.27-rc3' into x86/urgent
Diffstat (limited to 'arch/arm/mach-lh7a40x/include/mach/debug-macro.S')
-rw-r--r--arch/arm/mach-lh7a40x/include/mach/debug-macro.S39
1 files changed, 39 insertions, 0 deletions
diff --git a/arch/arm/mach-lh7a40x/include/mach/debug-macro.S b/arch/arm/mach-lh7a40x/include/mach/debug-macro.S
new file mode 100644
index 00000000000..85141ed5383
--- /dev/null
+++ b/arch/arm/mach-lh7a40x/include/mach/debug-macro.S
@@ -0,0 +1,39 @@
+/* arch/arm/mach-lh7a40x/include/mach/debug-macro.S
+ *
+ * Debugging macro include header
+ *
+ * Copyright (C) 1994-1999 Russell King
+ * Moved from linux/arch/arm/kernel/debug.S by Ben Dooks
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+*/
+
+ @ It is not known if this will be appropriate for every 40x
+ @ board.
+
+ .macro addruart,rx
+ mrc p15, 0, \rx, c1, c0
+ tst \rx, #1 @ MMU enabled?
+ mov \rx, #0x00000700 @ offset from base
+ orreq \rx, \rx, #0x80000000 @ physical base
+ orrne \rx, \rx, #0xf8000000 @ virtual base
+ .endm
+
+ .macro senduart,rd,rx
+ strb \rd, [\rx] @ DATA
+ .endm
+
+ .macro busyuart,rd,rx @ spin while busy
+1001: ldr \rd, [\rx, #0x10] @ STATUS
+ tst \rd, #1 << 3 @ BUSY (TX FIFO not empty)
+ bne 1001b @ yes, spin
+ .endm
+
+ .macro waituart,rd,rx @ wait for Tx FIFO room
+1001: ldrb \rd, [\rx, #0x10] @ STATUS
+ tst \rd, #1 << 5 @ TXFF (TX FIFO full)
+ bne 1001b @ yes, spin
+ .endm