forked from Minki/linux
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>
39 lines
824 B
ArmAsm
39 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
|
|
|