Merge tag 'gpio-for-linus' of git://git.secretlab.ca/git/linux
[cascardo/linux.git] / arch / arm / include / debug / sirf.S
1 /*
2  * arch/arm/mach-prima2/include/mach/debug-macro.S
3  *
4  * Copyright (c) 2011 Cambridge Silicon Radio Limited, a CSR plc group company.
5  *
6  * Licensed under GPLv2 or later.
7  */
8
9 #if defined(CONFIG_DEBUG_SIRFPRIMA2_UART1)
10 #define SIRFSOC_UART1_PA_BASE          0xb0060000
11 #elif defined(CONFIG_DEBUG_SIRFMARCO_UART1)
12 #define SIRFSOC_UART1_PA_BASE          0xcc060000
13 #else
14 #define SIRFSOC_UART1_PA_BASE          0
15 #endif
16
17 #define SIRFSOC_UART1_VA_BASE           0xFEC60000
18
19 #define SIRFSOC_UART_TXFIFO_STATUS      0x0114
20 #define SIRFSOC_UART_TXFIFO_DATA        0x0118
21
22 #define SIRFSOC_UART1_TXFIFO_FULL                       (1 << 5)
23 #define SIRFSOC_UART1_TXFIFO_EMPTY                      (1 << 6)
24
25         .macro  addruart, rp, rv, tmp
26         ldr     \rp, =SIRFSOC_UART1_PA_BASE             @ physical
27         ldr     \rv, =SIRFSOC_UART1_VA_BASE             @ virtual
28         .endm
29
30         .macro  senduart,rd,rx
31         str     \rd, [\rx, #SIRFSOC_UART_TXFIFO_DATA]
32         .endm
33
34         .macro  busyuart,rd,rx
35         .endm
36
37         .macro  waituart,rd,rx
38 1001:   ldr     \rd, [\rx, #SIRFSOC_UART_TXFIFO_STATUS]
39         tst     \rd, #SIRFSOC_UART1_TXFIFO_EMPTY
40         beq     1001b
41         .endm
42