forked from Minki/linux
58d0398535
Use the UART0 peripheral for low level debug. Only the UART port 0 is currently supported. Signed-off-by: Jun Nie <jun.nie@linaro.org> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
46 lines
1004 B
ArmAsm
46 lines
1004 B
ArmAsm
/* arch/arm/include/debug/pl01x.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 <linux/amba/serial.h>
|
|
|
|
#ifdef CONFIG_DEBUG_ZTE_ZX
|
|
#undef UART01x_DR
|
|
#undef UART01x_FR
|
|
#define UART01x_DR 0x04
|
|
#define UART01x_FR 0x14
|
|
#endif
|
|
|
|
#ifdef CONFIG_DEBUG_UART_PHYS
|
|
.macro addruart, rp, rv, tmp
|
|
ldr \rp, =CONFIG_DEBUG_UART_PHYS
|
|
ldr \rv, =CONFIG_DEBUG_UART_VIRT
|
|
.endm
|
|
#endif
|
|
|
|
.macro senduart,rd,rx
|
|
strb \rd, [\rx, #UART01x_DR]
|
|
.endm
|
|
|
|
.macro waituart,rd,rx
|
|
1001: ldr \rd, [\rx, #UART01x_FR]
|
|
ARM_BE8( rev \rd, \rd )
|
|
tst \rd, #UART01x_FR_TXFF
|
|
bne 1001b
|
|
.endm
|
|
|
|
.macro busyuart,rd,rx
|
|
1001: ldr \rd, [\rx, #UART01x_FR]
|
|
ARM_BE8( rev \rd, \rd )
|
|
tst \rd, #UART01x_FR_BUSY
|
|
bne 1001b
|
|
.endm
|