ARM: OMAP2PLUS: DSS: Ensure DSS works correctly if display is enabled in bootloader
[pandora-kernel.git] / arch / arm / mach-picoxcell / include / mach / debug-macro.S
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>
14
15 #define UART_SHIFT 2
16
17                 .macro  addruart, rp, rv
18                 ldr     \rv, =PHYS_TO_IO(PICOXCELL_UART1_BASE)
19                 ldr     \rp, =PICOXCELL_UART1_BASE
20                 .endm
21
22                 .macro  senduart,rd,rx
23                 str     \rd, [\rx, #UART_TX << UART_SHIFT]
24                 .endm
25
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
32
33                 /* The UART's don't have any flow control IO's wired up. */
34                 .macro  waituart,rd,rx
35                 .endm