Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-only */
0002 /*
0003  * Broadcom BCM63xx low-level UART debug
0004  *
0005  * Copyright (C) 2014 Broadcom Corporation
0006  */
0007 
0008 #include <linux/serial_bcm63xx.h>
0009 
0010     .macro  addruart, rp, rv, tmp
0011     ldr \rp, =CONFIG_DEBUG_UART_PHYS
0012     ldr \rv, =CONFIG_DEBUG_UART_VIRT
0013     .endm
0014 
0015     .macro  senduart, rd, rx
0016     /* word access do not work */
0017     strb    \rd, [\rx, #UART_FIFO_REG]
0018     .endm
0019 
0020     .macro  waituarttxrdy, rd, rx
0021 1001:   ldr \rd, [\rx, #UART_IR_REG]
0022     tst \rd, #(1 << UART_IR_TXEMPTY)
0023     beq 1001b
0024     .endm
0025 
0026     .macro  waituartcts, rd, rx
0027     .endm
0028 
0029     .macro  busyuart, rd, rx
0030 1002:   ldr \rd, [\rx, #UART_IR_REG]
0031     tst \rd, #(1 << UART_IR_TXTRESH)
0032     beq 1002b
0033     .endm