| Russell King | 268099e | 2006-03-16 20:40:25 +0000 | [diff] [blame] | 1 | /* | 
| Uwe Zeisberger | f30c226 | 2006-10-03 23:01:26 +0200 | [diff] [blame] | 2 | * linux/include/asm-arm/hardware/debug-8250.S | 
| Russell King | 268099e | 2006-03-16 20:40:25 +0000 | [diff] [blame] | 3 | * | 
|  | 4 | *  Copyright (C) 1994-1999 Russell King | 
|  | 5 | * | 
|  | 6 | * This program is free software; you can redistribute it and/or modify | 
|  | 7 | * it under the terms of the GNU General Public License version 2 as | 
|  | 8 | * published by the Free Software Foundation. | 
|  | 9 | */ | 
|  | 10 | #include <linux/serial_reg.h> | 
|  | 11 |  | 
|  | 12 | .macro	senduart,rd,rx | 
|  | 13 | strb	\rd, [\rx, #UART_TX << UART_SHIFT] | 
|  | 14 | .endm | 
|  | 15 |  | 
|  | 16 | .macro	busyuart,rd,rx | 
|  | 17 | 1002:		ldrb	\rd, [\rx, #UART_LSR << UART_SHIFT] | 
|  | 18 | and	\rd, \rd, #UART_LSR_TEMT | UART_LSR_THRE | 
|  | 19 | teq	\rd, #UART_LSR_TEMT | UART_LSR_THRE | 
|  | 20 | bne	1002b | 
|  | 21 | .endm | 
|  | 22 |  | 
|  | 23 | .macro	waituart,rd,rx | 
|  | 24 | #ifdef FLOW_CONTROL | 
|  | 25 | 1001:		ldrb	\rd, [\rx, #UART_MSR << UART_SHIFT] | 
|  | 26 | tst	\rd, #UART_MSR_CTS | 
|  | 27 | beq	1001b | 
|  | 28 | #endif | 
|  | 29 | .endm |