 9729c0ca19
			
		
	
	
	9729c0ca19
	
	
	
		
			
			IO_BASE shoule be IO_VIRT, and IO_START should be IO_PHYS. We also need mach/hardware.h for these definitions. Signed-off-by: Jeremy Kerr <jeremy.kerr@canonical.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
		
			
				
	
	
		
			42 lines
		
	
	
	
		
			1.1 KiB
			
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
	
		
			1.1 KiB
			
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
| /* arch/arm/mach-h720x/include/mach/debug-macro.S
 | |
|  *
 | |
|  * 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.
 | |
|  *
 | |
| */
 | |
| 
 | |
| #include <mach/hardware.h>
 | |
| 
 | |
| 		.equ    io_virt, IO_VIRT
 | |
| 		.equ    io_phys, IO_PHYS
 | |
| 
 | |
| 		.macro  addruart, rx, tmp
 | |
| 		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
 |