1*4882a593Smuzhiyun/* SPDX-License-Identifier: GPL-2.0-or-later */ 2*4882a593Smuzhiyun/* 3*4882a593Smuzhiyun * arch/arm/mach-prima2/include/mach/debug-macro.S 4*4882a593Smuzhiyun * 5*4882a593Smuzhiyun * Copyright (c) 2011 Cambridge Silicon Radio Limited, a CSR plc group company. 6*4882a593Smuzhiyun */ 7*4882a593Smuzhiyun 8*4882a593Smuzhiyun#define SIRF_LLUART_TXFIFO_STATUS 0x0114 9*4882a593Smuzhiyun#define SIRF_LLUART_TXFIFO_DATA 0x0118 10*4882a593Smuzhiyun 11*4882a593Smuzhiyun#define SIRF_LLUART_TXFIFO_FULL (1 << 5) 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun#ifdef CONFIG_DEBUG_SIRFATLAS7_UART0 14*4882a593Smuzhiyun#define SIRF_LLUART_TXFIFO_EMPTY (1 << 8) 15*4882a593Smuzhiyun#else 16*4882a593Smuzhiyun#define SIRF_LLUART_TXFIFO_EMPTY (1 << 6) 17*4882a593Smuzhiyun#endif 18*4882a593Smuzhiyun 19*4882a593Smuzhiyun 20*4882a593Smuzhiyun .macro addruart, rp, rv, tmp 21*4882a593Smuzhiyun ldr \rp, =CONFIG_DEBUG_UART_PHYS @ physical 22*4882a593Smuzhiyun ldr \rv, =CONFIG_DEBUG_UART_VIRT @ virtual 23*4882a593Smuzhiyun .endm 24*4882a593Smuzhiyun 25*4882a593Smuzhiyun .macro senduart,rd,rx 26*4882a593Smuzhiyun str \rd, [\rx, #SIRF_LLUART_TXFIFO_DATA] 27*4882a593Smuzhiyun .endm 28*4882a593Smuzhiyun 29*4882a593Smuzhiyun .macro busyuart,rd,rx 30*4882a593Smuzhiyun .endm 31*4882a593Smuzhiyun 32*4882a593Smuzhiyun .macro waituartcts,rd,rx 33*4882a593Smuzhiyun .endm 34*4882a593Smuzhiyun 35*4882a593Smuzhiyun .macro waituarttxrdy,rd,rx 36*4882a593Smuzhiyun1001: ldr \rd, [\rx, #SIRF_LLUART_TXFIFO_STATUS] 37*4882a593Smuzhiyun tst \rd, #SIRF_LLUART_TXFIFO_EMPTY 38*4882a593Smuzhiyun beq 1001b 39*4882a593Smuzhiyun .endm 40*4882a593Smuzhiyun 41