blob: e7164d570f44f705e028841e68367240fa3bfd2e [file] [log] [blame]
Andrew Scullb4b6d4a2019-01-02 15:54:55 +00001/*
2 * Broadcom BCM63xx low-level UART debug
3 *
4 * Copyright (C) 2014 Broadcom Corporation
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
9 */
10
11#include <linux/serial_bcm63xx.h>
12
13 .macro addruart, rp, rv, tmp
14 ldr \rp, =CONFIG_DEBUG_UART_PHYS
15 ldr \rv, =CONFIG_DEBUG_UART_VIRT
16 .endm
17
18 .macro senduart, rd, rx
19 /* word access do not work */
20 strb \rd, [\rx, #UART_FIFO_REG]
21 .endm
22
23 .macro waituart, rd, rx
241001: ldr \rd, [\rx, #UART_IR_REG]
25 tst \rd, #(1 << UART_IR_TXEMPTY)
26 beq 1001b
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