| 
									
										
										
										
											2008-08-05 16:14:15 +01:00
										 |  |  | /* arch/arm/mach-h720x/include/mach/debug-macro.S | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07: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. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  | */ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-07-22 16:34:34 +01:00
										 |  |  | #include <mach/hardware.h> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		.equ    io_virt, IO_VIRT | 
					
						
							|  |  |  | 		.equ    io_phys, IO_PHYS | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-01 23:26:53 +01:00
										 |  |  | 		.macro  addruart, rx, tmp | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 		mrc     p15, 0, \rx, c1, c0 | 
					
						
							|  |  |  | 		tst     \rx, #1  	       @ MMU enabled?
 | 
					
						
							|  |  |  | 		moveq   \rx, #io_phys	       @ physical base address | 
					
						
							|  |  |  | 		movne   \rx, #io_virt	       @ virtual address | 
					
						
							|  |  |  | 		add     \rx, \rx, #0x00020000   @ UART1
 | 
					
						
							|  |  |  | 		.endm | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		.macro  senduart,rd,rx | 
					
						
							|  |  |  | 		str     \rd, [\rx, #0x0]        @ UARTDR
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		.endm | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		.macro  waituart,rd,rx | 
					
						
							|  |  |  | 1001:		ldr     \rd, [\rx, #0x18]       @ UARTFLG
 | 
					
						
							|  |  |  | 		tst     \rd, #1 << 5	       @ UARTFLGUTXFF - 1 when full
 | 
					
						
							|  |  |  | 		bne     1001b | 
					
						
							|  |  |  | 		.endm | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		.macro  busyuart,rd,rx | 
					
						
							|  |  |  | 1001:		ldr     \rd, [\rx, #0x18]       @ UARTFLG
 | 
					
						
							|  |  |  | 		tst     \rd, #1 << 3	       @ UARTFLGUBUSY - 1 when busy
 | 
					
						
							|  |  |  | 		bne     1001b | 
					
						
							|  |  |  | 		.endm |