![Nicolas Pitre](/assets/img/avatar_default.png)
Some platforms (like OMAP not to name it) are doing rather complicated hacks just to determine the base UART address to use. Let's give their addruart macro some slack by providing an extra work register which will allow for much needed cleanups. This is basically a no-op as this commit is only adding the extra argument to the macro but no one is using it yet. Signed-off-by: nicolas Pitre <nicolas.pitre@linaro.org> Reviewed-by: Kevin Hilman <khilman@ti.com>
39 lines
961 B
ArmAsm
39 lines
961 B
ArmAsm
/* arch/arm/mach-l7200/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.
|
|
*
|
|
*/
|
|
|
|
.equ io_virt, IO_BASE
|
|
.equ io_phys, IO_START
|
|
|
|
.macro addruart, rp, rv, tmp
|
|
mov \rp, #0x00044000 @ UART1
|
|
@ mov \rp, #0x00045000 @ UART2
|
|
add \rv, \rp, #io_virt @ virtual address
|
|
add \rp, \rp, #io_phys @ physical base address
|
|
.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
|