1/* linux/include/asm-arm/arch-omap/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 14 .macro addruart,rx 15 mrc p15, 0, \rx, c1, c0 16 tst \rx, #1 @ MMU enabled? 17#ifdef CONFIG_ARCH_OMAP1 18 moveq \rx, #0xff000000 @ physical base address 19 movne \rx, #0xfe000000 @ virtual base 20 orr \rx, \rx, #0x00fb0000 21#ifdef CONFIG_OMAP_LL_DEBUG_UART3 22 orr \rx, \rx, #0x00009000 @ UART 3 23#endif 24#if defined(CONFIG_OMAP_LL_DEBUG_UART2) || defined(CONFIG_OMAP_LL_DEBUG_UART3) 25 orr \rx, \rx, #0x00000800 @ UART 2 & 3 26#endif 27 28#elif CONFIG_ARCH_OMAP2 29 moveq \rx, #0x48000000 @ physical base address 30 movne \rx, #0xd8000000 @ virtual base 31 orr \rx, \rx, #0x0006a000 32#ifdef CONFIG_OMAP_LL_DEBUG_UART2 33 add \rx, \rx, #0x00002000 @ UART 2 34#endif 35#ifdef CONFIG_OMAP_LL_DEBUG_UART3 36 add \rx, \rx, #0x00004000 @ UART 3 37#endif 38#endif 39 .endm 40 41 .macro senduart,rd,rx 42 strb \rd, [\rx] 43 .endm 44 45 .macro busyuart,rd,rx 461001: ldrb \rd, [\rx, #(0x5 << 2)] @ OMAP-1510 and friends 47 and \rd, \rd, #0x60 48 teq \rd, #0x60 49 beq 1002f 50 ldrb \rd, [\rx, #(0x5 << 0)] @ OMAP-730 only 51 and \rd, \rd, #0x60 52 teq \rd, #0x60 53 bne 1001b 541002: 55 .endm 56 57 .macro waituart,rd,rx 58 .endm 59