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