| 
									
										
										
										
											2015-01-09 18:34:03 +01:00
										 |  |  | /* | 
					
						
							| 
									
										
										
										
											2006-06-19 15:27:53 +01:00
										 |  |  |  * Debugging macro include header | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  *  Copyright (C) 1994-1999 Russell King | 
					
						
							|  |  |  |  *  Moved from linux/arch/arm/kernel/debug.S by Ben Dooks | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * This program is free software; you can redistribute it and/or modify
 | 
					
						
							|  |  |  |  * it under the terms of the GNU General Public License version 2 as | 
					
						
							|  |  |  |  * published by the Free Software Foundation. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  | */ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-01-09 18:34:03 +01:00
										 |  |  | #define UART_DATA 0 | 
					
						
							|  |  |  | #define UART_FLAG 0x18 | 
					
						
							|  |  |  | #define UART_FLAG_BUSY (1 << 3) | 
					
						
							| 
									
										
										
										
											2006-06-19 15:27:53 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-08-31 22:55:46 -04:00
										 |  |  | 		.macro	addruart, rp, rv, tmp | 
					
						
							| 
									
										
										
										
											2015-01-09 18:34:03 +01:00
										 |  |  | 		ldr	\rp, =CONFIG_DEBUG_UART_PHYS | 
					
						
							|  |  |  | 		ldr	\rv, =CONFIG_DEBUG_UART_VIRT | 
					
						
							| 
									
										
										
										
											2006-06-19 15:27:53 +01:00
										 |  |  | 		.endm | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		.macro	senduart,rd,rx | 
					
						
							| 
									
										
										
										
											2015-01-09 18:34:03 +01:00
										 |  |  | 		str	\rd, [\rx, #UART_DATA] | 
					
						
							| 
									
										
										
										
											2006-06-19 15:27:53 +01:00
										 |  |  | 		.endm | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		.macro	busyuart,rd,rx | 
					
						
							| 
									
										
										
										
											2015-01-09 18:34:03 +01:00
										 |  |  | 1002:		ldr	\rd, [\rx, #UART_FLAG] | 
					
						
							|  |  |  | 		tst	\rd, #UART_FLAG_BUSY | 
					
						
							| 
									
										
										
										
											2006-06-19 15:27:53 +01:00
										 |  |  | 		bne	1002b | 
					
						
							|  |  |  | 		.endm | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		.macro	waituart,rd,rx | 
					
						
							| 
									
										
										
										
											2015-01-09 18:34:03 +01:00
										 |  |  | 1001:		ldr	\rd, [\rx, #UART_FLAG] | 
					
						
							|  |  |  | 		tst	\rd, #UART_FLAG_BUSY | 
					
						
							| 
									
										
										
										
											2006-06-19 15:27:53 +01:00
										 |  |  | 		bne	1001b | 
					
						
							|  |  |  | 		.endm |