1d2912cb1SThomas 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 20*2c50a570SLinus Walleij .macro waituarttxrdy, 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 26*2c50a570SLinus Walleij .macro waituartcts, rd, rx 27*2c50a570SLinus Walleij .endm 28*2c50a570SLinus Walleij 29b51312beSFlorian Fainelli .macro busyuart, rd, rx 30b51312beSFlorian Fainelli1002: ldr \rd, [\rx, #UART_IR_REG] 31b51312beSFlorian Fainelli tst \rd, #(1 << UART_IR_TXTRESH) 32b51312beSFlorian Fainelli beq 1002b 33b51312beSFlorian Fainelli .endm 34