]> pilppa.com Git - linux-2.6-omap-h63xx.git/commitdiff
MXC: add debug-macro.S for mxc
authorSascha Hauer <s.hauer@pengutronix.de>
Sat, 5 Jul 2008 08:02:51 +0000 (10:02 +0200)
committerRobert Schwebel <r.schwebel@pengutronix.de>
Sat, 5 Jul 2008 08:02:51 +0000 (10:02 +0200)
This patch adds debug-macro.S for arch-mxc

Disadvantage: Due to the board specific UART definition, these macros (and
compile time) will fail for multi board kernels.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
include/asm-arm/arch-mxc/board-mx31ads.h
include/asm-arm/arch-mxc/debug-macro.S [new file with mode: 0644]

index 8590127760a85df6b236763758fb2bfc8070ad69..1bc6fb0f9a8380d18e55535eab5c669ef6dddc2d 100644 (file)
 
 #define MXC_MAX_EXP_IO_LINES   16
 
+/* mandatory for CONFIG_LL_DEBUG */
+
+#define MXC_LL_UART_PADDR      UART1_BASE_ADDR
+#define MXC_LL_UART_VADDR      AIPS1_IO_ADDRESS(UART1_BASE_ADDR)
+
 #endif /* __ASM_ARCH_MXC_BOARD_MX31ADS_H__ */
diff --git a/include/asm-arm/arch-mxc/debug-macro.S b/include/asm-arm/arch-mxc/debug-macro.S
new file mode 100644 (file)
index 0000000..34befbb
--- /dev/null
@@ -0,0 +1,38 @@
+/* linux/include/asm-arm/arch-imx/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.
+ *
+ */
+
+#include <asm/arch/hardware.h>
+
+#ifdef CONFIG_MACH_MX31ADS
+#include <asm/arch/board-mx31ads.h>
+#endif
+
+               .macro  addruart,rx
+               mrc     p15, 0, \rx, c1, c0
+               tst     \rx, #1                 @ MMU enabled?
+               ldreq   \rx, =MXC_LL_UART_PADDR @ physical
+               ldrne   \rx, =MXC_LL_UART_VADDR @ virtual
+               .endm
+
+               .macro  senduart,rd,rx
+               str     \rd, [\rx, #0x40]       @ TXDATA
+               .endm
+
+               .macro  waituart,rd,rx
+               .endm
+
+               .macro  busyuart,rd,rx
+1002:          ldr     \rd, [\rx, #0x98]       @ SR2
+               tst     \rd, #1 << 3            @ TXDC
+               beq     1002b                   @ wait until transmit done
+               .endm