1*d2912cb1SThomas Gleixner/* SPDX-License-Identifier: GPL-2.0-only */ 2b51312beSFlorian Fainelli/* 3b51312beSFlorian Fainelli * Broadcom BCM63xx low-level UART debug 4b51312beSFlorian Fainelli * 5b51312beSFlorian Fainelli * Copyright (C) 2014 Broadcom Corporation 6b51312beSFlorian Fainelli */ 7b51312beSFlorian Fainelli 8b51312beSFlorian Fainelli#include <linux/serial_bcm63xx.h> 9b51312beSFlorian Fainelli 10b51312beSFlorian Fainelli .macro addruart, rp, rv, tmp 11b51312beSFlorian Fainelli ldr \rp, =CONFIG_DEBUG_UART_PHYS 12b51312beSFlorian Fainelli ldr \rv, =CONFIG_DEBUG_UART_VIRT 13b51312beSFlorian Fainelli .endm 14b51312beSFlorian Fainelli 15b51312beSFlorian Fainelli .macro senduart, rd, rx 16b51312beSFlorian Fainelli /* word access do not work */ 17b51312beSFlorian Fainelli strb \rd, [\rx, #UART_FIFO_REG] 18b51312beSFlorian Fainelli .endm 19b51312beSFlorian Fainelli 20b51312beSFlorian Fainelli .macro waituart, rd, rx 21b51312beSFlorian Fainelli1001: ldr \rd, [\rx, #UART_IR_REG] 22b51312beSFlorian Fainelli tst \rd, #(1 << UART_IR_TXEMPTY) 23b51312beSFlorian Fainelli beq 1001b 24b51312beSFlorian Fainelli .endm 25b51312beSFlorian Fainelli 26b51312beSFlorian Fainelli .macro busyuart, rd, rx 27b51312beSFlorian Fainelli1002: ldr \rd, [\rx, #UART_IR_REG] 28b51312beSFlorian Fainelli tst \rd, #(1 << UART_IR_TXTRESH) 29b51312beSFlorian Fainelli beq 1002b 30b51312beSFlorian Fainelli .endm 31