xref: /openbmc/linux/arch/arm/include/debug/vt8500.S (revision 2c50a570)
1d2912cb1SThomas Gleixner/* SPDX-License-Identifier: GPL-2.0-only */
2b61a2722STony Prisk/*
3b61a2722STony Prisk * Debugging macro include header
4b61a2722STony Prisk *
5b61a2722STony Prisk *  Copyright (C) 2010 Alexey Charkov <alchark@gmail.com>
6b61a2722STony Prisk *    Moved from arch/arm/mach-vt8500/include/mach/debug-macro.S
7b61a2722STony Prisk *    Minor changes for readability.
8b61a2722STony Prisk */
9b61a2722STony Prisk
10b61a2722STony Prisk#define DEBUG_LL_PHYS_BASE		0xD8000000
11b61a2722STony Prisk#define DEBUG_LL_VIRT_BASE		0xF8000000
12b61a2722STony Prisk#define DEBUG_LL_UART_OFFSET		0x00200000
13b61a2722STony Prisk
14b61a2722STony Prisk#if defined(CONFIG_DEBUG_VT8500_UART0)
15b61a2722STony Prisk	.macro	addruart, rp, rv, tmp
16b61a2722STony Prisk	mov	\rp,      #DEBUG_LL_UART_OFFSET
17b61a2722STony Prisk	orr	\rv, \rp, #DEBUG_LL_VIRT_BASE
18b61a2722STony Prisk	orr	\rp, \rp, #DEBUG_LL_PHYS_BASE
19b61a2722STony Prisk	.endm
20b61a2722STony Prisk
21b61a2722STony Prisk	.macro	senduart,rd,rx
22b61a2722STony Prisk	strb	\rd, [\rx, #0]
23b61a2722STony Prisk	.endm
24b61a2722STony Prisk
25b61a2722STony Prisk	.macro	busyuart,rd,rx
26b61a2722STony Prisk1001:	ldr	\rd, [\rx, #0x1c]
27b61a2722STony Prisk	ands	\rd, \rd, #0x2
28b61a2722STony Prisk	bne	1001b
29b61a2722STony Prisk	.endm
30b61a2722STony Prisk
312c50a570SLinus Walleij	.macro	waituartcts,rd,rx
322c50a570SLinus Walleij	.endm
332c50a570SLinus Walleij
342c50a570SLinus Walleij	.macro	waituarttxrdy,rd,rx
35b61a2722STony Prisk	.endm
36b61a2722STony Prisk
37b61a2722STony Prisk#endif
38