2013-07-07 19:36:46 +08:00
|
|
|
/* arch/arm/include/debug/pl01x.S
|
2006-03-17 04:50:34 +08:00
|
|
|
*
|
|
|
|
* 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>
|
|
|
|
|
2015-04-28 17:18:07 +08:00
|
|
|
#ifdef CONFIG_DEBUG_ZTE_ZX
|
|
|
|
#undef UART01x_DR
|
|
|
|
#undef UART01x_FR
|
|
|
|
#define UART01x_DR 0x04
|
|
|
|
#define UART01x_FR 0x14
|
|
|
|
#endif
|
|
|
|
|
2013-07-07 19:32:16 +08:00
|
|
|
#ifdef CONFIG_DEBUG_UART_PHYS
|
|
|
|
.macro addruart, rp, rv, tmp
|
|
|
|
ldr \rp, =CONFIG_DEBUG_UART_PHYS
|
|
|
|
ldr \rv, =CONFIG_DEBUG_UART_VIRT
|
|
|
|
.endm
|
|
|
|
#endif
|
|
|
|
|
2006-03-17 04:50:34 +08:00
|
|
|
.macro senduart,rd,rx
|
|
|
|
strb \rd, [\rx, #UART01x_DR]
|
|
|
|
.endm
|
|
|
|
|
|
|
|
.macro waituart,rd,rx
|
|
|
|
1001: ldr \rd, [\rx, #UART01x_FR]
|
2013-02-07 02:25:36 +08:00
|
|
|
ARM_BE8( rev \rd, \rd )
|
2006-03-17 04:50:34 +08:00
|
|
|
tst \rd, #UART01x_FR_TXFF
|
|
|
|
bne 1001b
|
|
|
|
.endm
|
|
|
|
|
|
|
|
.macro busyuart,rd,rx
|
|
|
|
1001: ldr \rd, [\rx, #UART01x_FR]
|
2013-02-07 02:25:36 +08:00
|
|
|
ARM_BE8( rev \rd, \rd )
|
2006-03-17 04:50:34 +08:00
|
|
|
tst \rd, #UART01x_FR_BUSY
|
|
|
|
bne 1001b
|
|
|
|
.endm
|