Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/kyle/parisc-2.6
[pandora-kernel.git] / arch / arm / plat-spear / include / plat / debug-macro.S
1 /*
2  * arch/arm/plat-spear/include/plat/debug-macro.S
3  *
4  * Debugging macro include header for spear platform
5  *
6  * Copyright (C) 2009 ST Microelectronics
7  * Viresh Kumar<viresh.kumar@st.com>
8  *
9  * This file is licensed under the terms of the GNU General Public
10  * License version 2. This program is licensed "as is" without any
11  * warranty of any kind, whether express or implied.
12  */
13
14 #include <linux/amba/serial.h>
15 #include <mach/spear.h>
16
17                 .macro  addruart, rx
18                 mrc     p15, 0, \rx, c1, c0
19                 tst     \rx, #1                                 @ MMU enabled?
20                 moveq   \rx, =SPEAR_DBG_UART_BASE               @ Physical base
21                 movne   \rx, =VA_SPEAR_DBG_UART_BASE            @ Virtual base
22                 .endm
23
24                 .macro  senduart, rd, rx
25                 strb    \rd, [\rx, #UART01x_DR]                 @ ASC_TX_BUFFER
26                 .endm
27
28                 .macro  waituart, rd, rx
29 1001:           ldr     \rd, [\rx, #UART01x_FR]                 @ FLAG REGISTER
30                 tst     \rd, #UART01x_FR_TXFF                   @ TX_FULL
31                 bne     1001b
32                 .endm
33
34                 .macro  busyuart, rd, rx
35 1002:           ldr     \rd, [\rx, #UART01x_FR]                 @ FLAG REGISTER
36                 tst     \rd, #UART011_FR_TXFE                   @ TX_EMPTY
37                 beq     1002b
38                 .endm