1 /* SPDX-License-Identifier: GPL-2.0-only */ 2 /* arch/arm/include/debug/pl01x.S 3 * 4 * Debugging macro include header 5 * 6 * Copyright (C) 1994-1999 Russell King 7 * Moved from linux/arch/arm/kernel/debug.S by Ben Dooks 8 */ 9 #include <linux/amba/serial.h> 10 11 #ifdef CONFIG_DEBUG_ZTE_ZX 12 #undef UART01x_DR 13 #undef UART01x_FR 14 #define UART01x_DR 0x04 15 #define UART01x_FR 0x14 16 #endif 17 18 #ifdef CONFIG_DEBUG_UART_PHYS 19 .macro addruart, rp, rv, tmp 20 ldr \rp, =CONFIG_DEBUG_UART_PHYS 21 ldr \rv, =CONFIG_DEBUG_UART_VIRT 22 .endm 23 #endif 24 25 .macro senduart,rd,rx 26 strb \rd, [\rx, #UART01x_DR] 27 .endm 28 29 .macro waituartcts,rd,rx 30 .endm 31 32 .macro waituarttxrdy,rd,rx 33 1001: ldr \rd, [\rx, #UART01x_FR] 34 ARM_BE8( rev \rd, \rd ) 35 tst \rd, #UART01x_FR_TXFF 36 bne 1001b 37 .endm 38 39 .macro busyuart,rd,rx 40 1001: ldr \rd, [\rx, #UART01x_FR] 41 ARM_BE8( rev \rd, \rd ) 42 tst \rd, #UART01x_FR_BUSY 43 bne 1001b 44 .endm 45