ARM: add an extra temp register to the low level debugging addruart macro
[linux-2.6.git] / arch / arm / mach-zynq / include / mach / debug-macro.S
1 /* arch/arm/mach-zynq/include/mach/debug-macro.S
2  *
3  * Debugging macro include header
4  *
5  *  Copyright (C) 2011 Xilinx
6  *
7  * This software is licensed under the terms of the GNU General Public
8  * License version 2, as published by the Free Software Foundation, and
9  * may be copied, distributed, and modified under those terms.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  */
16
17 #include <mach/zynq_soc.h>
18 #include <mach/uart.h>
19
20                 .macro  addruart, rp, rv, tmp
21                 ldr     \rp, =LL_UART_PADDR     @ physical
22                 ldr     \rv, =LL_UART_VADDR     @ virtual
23                 .endm
24
25                 .macro  senduart,rd,rx
26                 str     \rd, [\rx, #UART_FIFO_OFFSET]   @ TXDATA
27                 .endm
28
29                 .macro  waituart,rd,rx
30                 .endm
31
32                 .macro  busyuart,rd,rx
33 1002:           ldr     \rd, [\rx, #UART_SR_OFFSET]     @ get status register
34                 tst     \rd, #UART_SR_TXFULL            @
35                 bne     1002b                   @ wait if FIFO is full
36                 .endm