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  */
7 
8 #define SIRF_LLUART_TXFIFO_STATUS	0x0114
9 #define SIRF_LLUART_TXFIFO_DATA	0x0118
10 
11 #define SIRF_LLUART_TXFIFO_FULL                       (1 << 5)
12 
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
18 
19 
20 	.macro	addruart, rp, rv, tmp
21 	ldr	\rp, =CONFIG_DEBUG_UART_PHYS		@ physical
22 	ldr	\rv, =CONFIG_DEBUG_UART_VIRT		@ virtual
23 	.endm
24 
25 	.macro	senduart,rd,rx
26 	str	\rd, [\rx, #SIRF_LLUART_TXFIFO_DATA]
27 	.endm
28 
29 	.macro	busyuart,rd,rx
30 	.endm
31 
32 	.macro	waituartcts,rd,rx
33 	.endm
34 
35 	.macro	waituarttxrdy,rd,rx
36 1001:	ldr	\rd, [\rx, #SIRF_LLUART_TXFIFO_STATUS]
37 	tst	\rd, #SIRF_LLUART_TXFIFO_EMPTY
38 	beq	1001b
39 	.endm
40 
41