xref: /openbmc/linux/arch/arm/include/debug/pl01x.S (revision e8f6f3b4)
1/* arch/arm/include/debug/pl01x.S
2 *
3 * Debugging macro include header
4 *
5 *  Copyright (C) 1994-1999 Russell King
6 *  Moved from linux/arch/arm/kernel/debug.S by Ben Dooks
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License version 2 as
10 * published by the Free Software Foundation.
11 *
12*/
13#include <linux/amba/serial.h>
14
15#ifdef CONFIG_DEBUG_UART_PHYS
16		.macro	addruart, rp, rv, tmp
17		ldr	\rp, =CONFIG_DEBUG_UART_PHYS
18		ldr	\rv, =CONFIG_DEBUG_UART_VIRT
19		.endm
20#endif
21
22		.macro	senduart,rd,rx
23		strb	\rd, [\rx, #UART01x_DR]
24		.endm
25
26		.macro	waituart,rd,rx
271001:		ldr	\rd, [\rx, #UART01x_FR]
28 ARM_BE8(	rev	\rd, \rd )
29		tst	\rd, #UART01x_FR_TXFF
30		bne	1001b
31		.endm
32
33		.macro	busyuart,rd,rx
341001:		ldr	\rd, [\rx, #UART01x_FR]
35 ARM_BE8(	rev	\rd, \rd )
36		tst	\rd, #UART01x_FR_BUSY
37		bne	1001b
38		.endm
39