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

source code of linux/arch/arm/include/debug/bcm63xx.S