Merge tag 'v3.3.7' into 3.3/master
[zen-stable.git] / arch / arm / mach-picoxcell / include / mach / debug-macro.S
blob58d4ee3ae9499d062cd68e972596dbc6f0ffc521
1 /*
2  * Copyright (c) 2011 Picochip Ltd., Jamie Iles
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License version 2 as
6  * published by the Free Software Foundation.
7  *
8  * Derived from arch/arm/mach-davinci/include/mach/debug-macro.S to use 32-bit
9  * accesses to the 8250.
10  */
11 #include <linux/serial_reg.h>
12 #include <mach/hardware.h>
13 #include <mach/map.h>
15 #define UART_SHIFT 2
17                 .macro  addruart, rp, rv, tmp
18                 ldr     \rv, =PHYS_TO_IO(PICOXCELL_UART1_BASE)
19                 ldr     \rp, =PICOXCELL_UART1_BASE
20                 .endm
22                 .macro  senduart,rd,rx
23                 str     \rd, [\rx, #UART_TX << UART_SHIFT]
24                 .endm
26                 .macro  busyuart,rd,rx
27 1002:           ldr     \rd, [\rx, #UART_LSR << UART_SHIFT]
28                 and     \rd, \rd, #UART_LSR_TEMT | UART_LSR_THRE
29                 teq     \rd, #UART_LSR_TEMT | UART_LSR_THRE
30                 bne     1002b
31                 .endm
33                 /* The UART's don't have any flow control IO's wired up. */
34                 .macro  waituart,rd,rx
35                 .endm