diff options
Diffstat (limited to 'arch/arm/mach-omap2/include/mach/debug-macro.S')
| -rw-r--r-- | arch/arm/mach-omap2/include/mach/debug-macro.S | 29 | 
1 files changed, 21 insertions, 8 deletions
diff --git a/arch/arm/mach-omap2/include/mach/debug-macro.S b/arch/arm/mach-omap2/include/mach/debug-macro.S index 35b24409a0c..09331bbbda5 100644 --- a/arch/arm/mach-omap2/include/mach/debug-macro.S +++ b/arch/arm/mach-omap2/include/mach/debug-macro.S @@ -36,7 +36,7 @@ omap_uart_lsr:	.word	0  		/* Use omap_uart_phys/virt if already configured */  10:		mrc	p15, 0, \rx, c1, c0  		tst	\rx, #1			@ MMU enabled? -		ldreq	\rx, =omap_uart_phys	@ physical base address +		ldreq	\rx, =__virt_to_phys(omap_uart_phys)	@ physical base address  		ldrne	\rx, =omap_uart_virt	@ virtual base address  		ldr	\rx, [\rx, #0]  		cmp	\rx, #0			@ is port configured? @@ -89,26 +89,36 @@ omap_uart_lsr:	.word	0  44:		mov	\rx, #UART_OFFSET(OMAP4_UART4_BASE)  		b	98f  95:		ldr	\rx, =ZOOM_UART_BASE -		ldr	\tmp, =omap_uart_phys +		mrc	p15, 0, \tmp, c1, c0 +		tst	\tmp, #1		@ MMU enabled? +		ldreq	\tmp, =__virt_to_phys(omap_uart_phys) +		ldrne	\tmp, =omap_uart_phys  		str	\rx, [\tmp, #0]  		ldr	\rx, =ZOOM_UART_VIRT -		ldr	\tmp, =omap_uart_virt +		ldreq	\tmp, =__virt_to_phys(omap_uart_virt) +		ldrne	\tmp, =omap_uart_virt  		str	\rx, [\tmp, #0]  		mov	\rx, #(UART_LSR << ZOOM_PORT_SHIFT) -		ldr	\tmp, =omap_uart_lsr +		ldreq	\tmp, =__virt_to_phys(omap_uart_lsr) +		ldrne	\tmp, =omap_uart_lsr  		str	\rx, [\tmp, #0]  		b	10b  		/* Store both phys and virt address for the uart */  98:		add	\rx, \rx, #0x48000000	@ phys base -		ldr	\tmp, =omap_uart_phys +		mrc	p15, 0, \tmp, c1, c0 +		tst	\tmp, #1		@ MMU enabled? +		ldreq	\tmp, =__virt_to_phys(omap_uart_phys) +		ldrne	\tmp, =omap_uart_phys  		str	\rx, [\tmp, #0]  		sub	\rx, \rx, #0x48000000	@ phys base  		add	\rx, \rx, #0xfa000000	@ virt base -		ldr	\tmp, =omap_uart_virt +		ldreq	\tmp, =__virt_to_phys(omap_uart_virt) +		ldrne	\tmp, =omap_uart_virt  		str	\rx, [\tmp, #0]  		mov	\rx, #(UART_LSR << OMAP_PORT_SHIFT) -		ldr	\tmp, =omap_uart_lsr +		ldreq	\tmp, =__virt_to_phys(omap_uart_lsr) +		ldrne	\tmp, =omap_uart_lsr  		str	\rx, [\tmp, #0]  		b	10b @@ -120,7 +130,10 @@ omap_uart_lsr:	.word	0  		.endm  		.macro	busyuart,rd,rx -1001:		ldr	\rd, =omap_uart_lsr +1001:		mrc	p15, 0, \rd, c1, c0 +		tst	\rd, #1		@ MMU enabled? +		ldreq	\rd, =__virt_to_phys(omap_uart_lsr) +		ldrne	\rd, =omap_uart_lsr  		ldr	\rd, [\rd, #0]  		ldrb	\rd, [\rx, \rd]  		and	\rd, \rd, #(UART_LSR_TEMT | UART_LSR_THRE)  |