xref: /linux/arch/arm/include/debug/bcm63xx.S (revision cbecf716ca618fd44feda6bd9a64a8179d031fc5)
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	waituarttxrdy, rd, rx
211001:	ldr	\rd, [\rx, #UART_IR_REG]
22	tst	\rd, #(1 << UART_IR_TXEMPTY)
23	beq	1001b
24	.endm
25
26	.macro	waituartcts, rd, rx
27	.endm
28
29	.macro	busyuart, rd, rx
301002:	ldr	\rd, [\rx, #UART_IR_REG]
31	tst	\rd, #(1 << UART_IR_TXTRESH)
32	beq	1002b
33	.endm
34