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 |
21 | 1001: 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 |
30 | 1002: ldr \rd, [\rx, #UART_IR_REG] |
31 | tst \rd, #(1 << UART_IR_TXTRESH) |
32 | beq 1002b |
33 | .endm |
34 | |