xref: /linux/arch/arm/include/debug/bcm63xx.S (revision 17cfcb68af3bc7d5e8ae08779b1853310a2949f3)
1/* SPDX-License-Identifier: GPL-2.0-only */
2/*
3 * Broadcom BCM63xx low-level UART debug
4 *
5 * Copyright (C) 2014 Broadcom Corporation
6 */
7
8#include <linux/serial_bcm63xx.h>
9
10	.macro	addruart, rp, rv, tmp
11	ldr	\rp, =CONFIG_DEBUG_UART_PHYS
12	ldr	\rv, =CONFIG_DEBUG_UART_VIRT
13	.endm
14
15	.macro	senduart, rd, rx
16	/* word access do not work */
17	strb	\rd, [\rx, #UART_FIFO_REG]
18	.endm
19
20	.macro	waituart, rd, rx
211001:	ldr	\rd, [\rx, #UART_IR_REG]
22	tst	\rd, #(1 << UART_IR_TXEMPTY)
23	beq	1001b
24	.endm
25
26	.macro	busyuart, rd, rx
271002:	ldr	\rd, [\rx, #UART_IR_REG]
28	tst	\rd, #(1 << UART_IR_TXTRESH)
29	beq	1002b
30	.endm
31