Linux 5.7.6
[linux/fpc-iii.git] / arch / arm / include / debug / pl01x.S
bloba2a553afe7b89e4409c7ba5b583d8011bb0ff0c3
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /* arch/arm/include/debug/pl01x.S
3  *
4  * Debugging macro include header
5  *
6  *  Copyright (C) 1994-1999 Russell King
7  *  Moved from linux/arch/arm/kernel/debug.S by Ben Dooks
8 */
9 #include <linux/amba/serial.h>
11 #ifdef CONFIG_DEBUG_ZTE_ZX
12 #undef UART01x_DR
13 #undef UART01x_FR
14 #define UART01x_DR     0x04
15 #define UART01x_FR     0x14
16 #endif
18 #ifdef CONFIG_DEBUG_UART_PHYS
19                 .macro  addruart, rp, rv, tmp
20                 ldr     \rp, =CONFIG_DEBUG_UART_PHYS
21                 ldr     \rv, =CONFIG_DEBUG_UART_VIRT
22                 .endm
23 #endif
25                 .macro  senduart,rd,rx
26                 strb    \rd, [\rx, #UART01x_DR]
27                 .endm
29                 .macro  waituart,rd,rx
30 1001:           ldr     \rd, [\rx, #UART01x_FR]
31  ARM_BE8(       rev     \rd, \rd )
32                 tst     \rd, #UART01x_FR_TXFF
33                 bne     1001b
34                 .endm
36                 .macro  busyuart,rd,rx
37 1001:           ldr     \rd, [\rx, #UART01x_FR]
38  ARM_BE8(       rev     \rd, \rd )
39                 tst     \rd, #UART01x_FR_BUSY
40                 bne     1001b
41                 .endm