Linux 5.7.6
[linux/fpc-iii.git] / arch / arm / include / debug / sirf.S
blobe73e4de0a015312fe01d344972a7998b8c6bd4d8
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 /*
3  * arch/arm/mach-prima2/include/mach/debug-macro.S
4  *
5  * Copyright (c) 2011 Cambridge Silicon Radio Limited, a CSR plc group company.
6  */
8 #define SIRF_LLUART_TXFIFO_STATUS       0x0114
9 #define SIRF_LLUART_TXFIFO_DATA 0x0118
11 #define SIRF_LLUART_TXFIFO_FULL                       (1 << 5)
13 #ifdef CONFIG_DEBUG_SIRFATLAS7_UART0
14 #define SIRF_LLUART_TXFIFO_EMPTY                        (1 << 8)
15 #else
16 #define SIRF_LLUART_TXFIFO_EMPTY                        (1 << 6)
17 #endif
20         .macro  addruart, rp, rv, tmp
21         ldr     \rp, =CONFIG_DEBUG_UART_PHYS            @ physical
22         ldr     \rv, =CONFIG_DEBUG_UART_VIRT            @ virtual
23         .endm
25         .macro  senduart,rd,rx
26         str     \rd, [\rx, #SIRF_LLUART_TXFIFO_DATA]
27         .endm
29         .macro  busyuart,rd,rx
30         .endm
32         .macro  waituart,rd,rx
33 1001:   ldr     \rd, [\rx, #SIRF_LLUART_TXFIFO_STATUS]
34         tst     \rd, #SIRF_LLUART_TXFIFO_EMPTY
35         beq     1001b
36         .endm