| /* |
| * arch/arm/mach-prima2/include/mach/debug-macro.S |
| * |
| * Copyright (c) 2011 Cambridge Silicon Radio Limited, a CSR plc group company. |
| * |
| * Licensed under GPLv2 or later. |
| */ |
| |
| #if defined(CONFIG_DEBUG_SIRFPRIMA2_UART1) |
| #define SIRFSOC_UART1_PA_BASE 0xb0060000 |
| #elif defined(CONFIG_DEBUG_SIRFMARCO_UART1) |
| #define SIRFSOC_UART1_PA_BASE 0xcc060000 |
| #else |
| #define SIRFSOC_UART1_PA_BASE 0 |
| #endif |
| |
| #define SIRFSOC_UART1_VA_BASE 0xFEC60000 |
| |
| #define SIRFSOC_UART_TXFIFO_STATUS 0x0114 |
| #define SIRFSOC_UART_TXFIFO_DATA 0x0118 |
| |
| #define SIRFSOC_UART1_TXFIFO_FULL (1 << 5) |
| #define SIRFSOC_UART1_TXFIFO_EMPTY (1 << 6) |
| |
| .macro addruart, rp, rv, tmp |
| ldr \rp, =SIRFSOC_UART1_PA_BASE @ physical |
| ldr \rv, =SIRFSOC_UART1_VA_BASE @ virtual |
| .endm |
| |
| .macro senduart,rd,rx |
| str \rd, [\rx, #SIRFSOC_UART_TXFIFO_DATA] |
| .endm |
| |
| .macro busyuart,rd,rx |
| .endm |
| |
| .macro waituart,rd,rx |
| 1001: ldr \rd, [\rx, #SIRFSOC_UART_TXFIFO_STATUS] |
| tst \rd, #SIRFSOC_UART1_TXFIFO_EMPTY |
| beq 1001b |
| .endm |
| |