GNU Linux-libre 5.19-rc6-gnu
[releases.git] / arch / arm / include / debug / pl01x.S
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>
10
11 #ifdef CONFIG_DEBUG_UART_PHYS
12                 .macro  addruart, rp, rv, tmp
13                 ldr     \rp, =CONFIG_DEBUG_UART_PHYS
14                 ldr     \rv, =CONFIG_DEBUG_UART_VIRT
15                 .endm
16 #endif
17
18                 .macro  senduart,rd,rx
19                 strb    \rd, [\rx, #UART01x_DR]
20                 .endm
21
22                 .macro  waituartcts,rd,rx
23                 .endm
24
25                 .macro  waituarttxrdy,rd,rx
26 1001:           ldr     \rd, [\rx, #UART01x_FR]
27  ARM_BE8(       rev     \rd, \rd )
28                 tst     \rd, #UART01x_FR_TXFF
29                 bne     1001b
30                 .endm
31
32                 .macro  busyuart,rd,rx
33 1001:           ldr     \rd, [\rx, #UART01x_FR]
34  ARM_BE8(       rev     \rd, \rd )
35                 tst     \rd, #UART01x_FR_BUSY
36                 bne     1001b
37                 .endm