 01ea63d993
			
		
	
	
	01ea63d993
	
	
	
		
			
			this patch adds UART0 and UART1 as LLUART port, as the new Atlas7 registers layout are different, it also refines some names of old hard-coded MARCOs and uses CONFIG_DEBUG_UART_PHYS/DEBUG_UART_VIRT to define different base addresses for multiple ports. Signed-off-by: Guo Zeng <Guo.Zeng@csr.com> Signed-off-by: Zhiwu Song <Zhiwu.Song@csr.com> Signed-off-by: Barry Song <Baohua.Song@csr.com> Acked-by: Arnd Bergmann <arnd@arndb.de>
		
			
				
	
	
		
			38 lines
		
	
	
	
		
			824 B
			
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
	
		
			824 B
			
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
| /*
 | |
|  * arch/arm/mach-prima2/include/mach/debug-macro.S
 | |
|  *
 | |
|  * Copyright (c) 2011 Cambridge Silicon Radio Limited, a CSR plc group company.
 | |
|  *
 | |
|  * Licensed under GPLv2 or later.
 | |
|  */
 | |
| 
 | |
| #define SIRF_LLUART_TXFIFO_STATUS	0x0114
 | |
| #define SIRF_LLUART_TXFIFO_DATA	0x0118
 | |
| 
 | |
| #define SIRF_LLUART_TXFIFO_FULL                       (1 << 5)
 | |
| 
 | |
| #ifdef CONFIG_DEBUG_SIRFATLAS7_UART0
 | |
| #define SIRF_LLUART_TXFIFO_EMPTY			(1 << 8)
 | |
| #else
 | |
| #define SIRF_LLUART_TXFIFO_EMPTY			(1 << 6)
 | |
| #endif
 | |
| 
 | |
| 
 | |
| 	.macro	addruart, rp, rv, tmp
 | |
| 	ldr	\rp, =CONFIG_DEBUG_UART_PHYS		@ physical
 | |
| 	ldr	\rv, =CONFIG_DEBUG_UART_VIRT		@ virtual
 | |
| 	.endm
 | |
| 
 | |
| 	.macro	senduart,rd,rx
 | |
| 	str	\rd, [\rx, #SIRF_LLUART_TXFIFO_DATA]
 | |
| 	.endm
 | |
| 
 | |
| 	.macro	busyuart,rd,rx
 | |
| 	.endm
 | |
| 
 | |
| 	.macro	waituart,rd,rx
 | |
| 1001:	ldr	\rd, [\rx, #SIRF_LLUART_TXFIFO_STATUS]
 | |
| 	tst	\rd, #SIRF_LLUART_TXFIFO_EMPTY
 | |
| 	beq	1001b
 | |
| 	.endm
 | |
| 
 |