ARM: debug: move davinci debug to generic 8250 code
Davinci's debugging is just a copy of the old 8250_32 code with a different base address. Incorporate this into the generic 8250 debug code. Acked-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
parent
f2acf003cd
commit
97bd1a48ad
|
@ -119,6 +119,7 @@ choice
|
|||
config DEBUG_DAVINCI_DA8XX_UART1
|
||||
bool "Kernel low-level debugging on DaVinci DA8XX using UART1"
|
||||
depends on ARCH_DAVINCI_DA8XX
|
||||
select DEBUG_UART_8250
|
||||
help
|
||||
Say Y here if you want the debug print routines to direct
|
||||
their output to UART1 serial port on DaVinci DA8XX devices.
|
||||
|
@ -126,6 +127,7 @@ choice
|
|||
config DEBUG_DAVINCI_DA8XX_UART2
|
||||
bool "Kernel low-level debugging on DaVinci DA8XX using UART2"
|
||||
depends on ARCH_DAVINCI_DA8XX
|
||||
select DEBUG_UART_8250
|
||||
help
|
||||
Say Y here if you want the debug print routines to direct
|
||||
their output to UART2 serial port on DaVinci DA8XX devices.
|
||||
|
@ -133,6 +135,7 @@ choice
|
|||
config DEBUG_DAVINCI_DMx_UART0
|
||||
bool "Kernel low-level debugging on DaVinci DMx using UART0"
|
||||
depends on ARCH_DAVINCI_DMx
|
||||
select DEBUG_UART_8250
|
||||
help
|
||||
Say Y here if you want the debug print routines to direct
|
||||
their output to UART0 serial port on DaVinci DMx devices.
|
||||
|
@ -140,6 +143,7 @@ choice
|
|||
config DEBUG_DAVINCI_TNETV107X_UART1
|
||||
bool "Kernel low-level debugging on DaVinci TNETV107x using UART1"
|
||||
depends on ARCH_DAVINCI_TNETV107X
|
||||
select DEBUG_UART_8250
|
||||
help
|
||||
Say Y here if you want the debug print routines to direct
|
||||
their output to UART1 serial port on DaVinci TNETV107X
|
||||
|
@ -901,11 +905,15 @@ config DEBUG_UART_8250
|
|||
|
||||
config DEBUG_UART_PHYS
|
||||
hex "Physical base address of debug UART"
|
||||
default 0x01c20000 if DEBUG_DAVINCI_DMx_UART0
|
||||
default 0x01c28000 if DEBUG_SUNXI_UART0
|
||||
default 0x01c28400 if DEBUG_SUNXI_UART1
|
||||
default 0x01d0c000 if DEBUG_DAVINCI_DA8XX_UART1
|
||||
default 0x01d0d000 if DEBUG_DAVINCI_DA8XX_UART2
|
||||
default 0x02530c00 if DEBUG_KEYSTONE_UART0
|
||||
default 0x02531000 if DEBUG_KEYSTONE_UART1
|
||||
default 0x03010fe0 if ARCH_RPC
|
||||
default 0x08108300 if DEBUG_DAVINCI_TNETV107X_UART1
|
||||
default 0x10009000 if DEBUG_REALVIEW_STD_PORT || DEBUG_CNS3XXX || \
|
||||
DEBUG_VEXPRESS_UART0_CA9
|
||||
default 0x1010c000 if DEBUG_REALVIEW_PB1176_PORT
|
||||
|
@ -982,9 +990,13 @@ config DEBUG_UART_VIRT
|
|||
default 0xfed64000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
|
||||
default 0xfed68000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
|
||||
default 0xfec02000 if DEBUG_SOCFPGA_UART
|
||||
default 0xfec20000 if DEBUG_DAVINCI_DMx_UART0
|
||||
default 0xfed0c000 if DEBUG_DAVINCI_DA8XX_UART1
|
||||
default 0xfed0d000 if DEBUG_DAVINCI_DA8XX_UART2
|
||||
default 0xfed12000 if ARCH_KIRKWOOD
|
||||
default 0xfedc0000 if ARCH_EP93XX
|
||||
default 0xfee003f8 if FOOTBRIDGE
|
||||
default 0xfee08300 if DEBUG_DAVINCI_TNETV107X_UART1
|
||||
default 0xfee20000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
|
||||
default 0xfee36000 if DEBUG_HIGHBANK_UART
|
||||
default 0xfee82340 if ARCH_IOP13XX
|
||||
|
@ -1007,7 +1019,9 @@ config DEBUG_UART_8250_WORD
|
|||
depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
|
||||
depends on DEBUG_UART_8250_SHIFT >= 2
|
||||
default y if DEBUG_PICOXCELL_UART || DEBUG_SOCFPGA_UART || \
|
||||
ARCH_KEYSTONE
|
||||
ARCH_KEYSTONE || \
|
||||
DEBUG_DAVINCI_DMx_UART0 || DEBUG_DAVINCI_DA8XX_UART1 || \
|
||||
DEBUG_DAVINCI_DA8XX_UART2 || DEBUG_DAVINCI_TNETV107X_UART1
|
||||
|
||||
config DEBUG_UART_8250_FLOW_CONTROL
|
||||
bool "Enable flow control for 8250 UART"
|
||||
|
|
|
@ -1,65 +0,0 @@
|
|||
/*
|
||||
* Debugging macro for DaVinci
|
||||
*
|
||||
* Author: Kevin Hilman, MontaVista Software, Inc. <source@mvista.com>
|
||||
*
|
||||
* 2007 (c) MontaVista Software, Inc. This file is licensed under
|
||||
* the terms of the GNU General Public License version 2. This program
|
||||
* is licensed "as is" without any warranty of any kind, whether express
|
||||
* or implied.
|
||||
*/
|
||||
|
||||
/* Modifications
|
||||
* Jan 2009 Chaithrika U S Added senduart, busyuart, waituart
|
||||
* macros, based on debug-8250.S file
|
||||
* but using 32-bit accesses required for
|
||||
* some davinci devices.
|
||||
*/
|
||||
|
||||
#include <linux/serial_reg.h>
|
||||
|
||||
#include <mach/serial.h>
|
||||
|
||||
#define UART_SHIFT 2
|
||||
|
||||
#if defined(CONFIG_DEBUG_DAVINCI_DMx_UART0)
|
||||
#define UART_BASE DAVINCI_UART0_BASE
|
||||
#elif defined(CONFIG_DEBUG_DAVINCI_DA8XX_UART1)
|
||||
#define UART_BASE DA8XX_UART1_BASE
|
||||
#elif defined(CONFIG_DEBUG_DAVINCI_DA8XX_UART2)
|
||||
#define UART_BASE DA8XX_UART2_BASE
|
||||
#elif defined(CONFIG_DEBUG_DAVINCI_TNETV107X_UART1)
|
||||
#define UART_BASE TNETV107X_UART2_BASE
|
||||
#define UART_VIRTBASE TNETV107X_UART2_VIRT
|
||||
#else
|
||||
#error "Select a specifc port for DEBUG_LL"
|
||||
#endif
|
||||
|
||||
#ifndef UART_VIRTBASE
|
||||
#define UART_VIRTBASE IO_ADDRESS(UART_BASE)
|
||||
#endif
|
||||
|
||||
.macro addruart, rp, rv, tmp
|
||||
ldr \rp, =UART_BASE
|
||||
ldr \rv, =UART_VIRTBASE
|
||||
.endm
|
||||
|
||||
.macro senduart,rd,rx
|
||||
str \rd, [\rx, #UART_TX << UART_SHIFT]
|
||||
.endm
|
||||
|
||||
.macro busyuart,rd,rx
|
||||
1002: ldr \rd, [\rx, #UART_LSR << UART_SHIFT]
|
||||
and \rd, \rd, #UART_LSR_TEMT | UART_LSR_THRE
|
||||
teq \rd, #UART_LSR_TEMT | UART_LSR_THRE
|
||||
bne 1002b
|
||||
.endm
|
||||
|
||||
.macro waituart,rd,rx
|
||||
#ifdef FLOW_CONTROL
|
||||
1001: ldr \rd, [\rx, #UART_MSR << UART_SHIFT]
|
||||
tst \rd, #UART_MSR_CTS
|
||||
beq 1001b
|
||||
#endif
|
||||
.endm
|
||||
|
Loading…
Reference in New Issue