xref: /openbmc/linux/arch/arm/include/debug/bcm63xx.S (revision 9b9c2cd4)
1/*
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
34