aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2013-07-06 23:13:15 +0100
committerRussell King <rmk+kernel@arm.linux.org.uk>2013-08-25 17:11:00 +0100
commit4a00364736519764a76af566be98eeeabb6fbce5 (patch)
tree2eae43823a6eb68031bb221e6c7dbc9f641f8988
parent7610b607b03ada21e89d964ec27d87a5b93c3d7f (diff)
downloadlinux-linaro-stable-4a00364736519764a76af566be98eeeabb6fbce5.tar.gz
ARM: debug: provide 8250 debug uart register shift configuration option
Move the definition of the UART register shift out of the platform specific header file into the Kconfig files. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
-rw-r--r--arch/arm/Kconfig.debug28
-rw-r--r--arch/arm/include/asm/hardware/debug-8250.S4
-rw-r--r--arch/arm/include/debug/mvebu.S1
-rw-r--r--arch/arm/include/debug/nspire.S1
-rw-r--r--arch/arm/include/debug/pxa.S1
-rw-r--r--arch/arm/include/debug/rockchip.S1
-rw-r--r--arch/arm/include/debug/sunxi.S1
-rw-r--r--arch/arm/mach-dove/include/mach/debug-macro.S1
-rw-r--r--arch/arm/mach-ebsa110/include/mach/debug-macro.S1
-rw-r--r--arch/arm/mach-footbridge/include/mach/debug-macro.S1
-rw-r--r--arch/arm/mach-gemini/include/mach/debug-macro.S1
-rw-r--r--arch/arm/mach-iop13xx/include/mach/debug-macro.S1
-rw-r--r--arch/arm/mach-iop32x/include/mach/debug-macro.S1
-rw-r--r--arch/arm/mach-iop33x/include/mach/debug-macro.S1
-rw-r--r--arch/arm/mach-ixp4xx/include/mach/debug-macro.S1
-rw-r--r--arch/arm/mach-kirkwood/include/mach/debug-macro.S1
-rw-r--r--arch/arm/mach-lpc32xx/include/mach/debug-macro.S1
-rw-r--r--arch/arm/mach-mv78xx0/include/mach/debug-macro.S1
-rw-r--r--arch/arm/mach-orion5x/include/mach/debug-macro.S1
-rw-r--r--arch/arm/mach-rpc/include/mach/debug-macro.S1
20 files changed, 30 insertions, 20 deletions
diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
index 8d3bc84fb612..f7c0efc615c7 100644
--- a/arch/arm/Kconfig.debug
+++ b/arch/arm/Kconfig.debug
@@ -275,6 +275,7 @@ choice
config DEBUG_MMP_UART2
bool "Kernel low-level debugging message via MMP UART2"
depends on ARCH_MMP
+ select DEBUG_UART_8250
help
Say Y here if you want kernel low-level debugging support
on MMP UART2.
@@ -282,6 +283,7 @@ choice
config DEBUG_MMP_UART3
bool "Kernel low-level debugging message via MMP UART3"
depends on ARCH_MMP
+ select DEBUG_UART_8250
help
Say Y here if you want kernel low-level debugging support
on MMP UART3.
@@ -326,6 +328,7 @@ choice
config DEBUG_MVEBU_UART
bool "Kernel low-level debugging messages via MVEBU UART (old bootloaders)"
depends on ARCH_MVEBU
+ select DEBUG_UART_8250
help
Say Y here if you want kernel low-level debugging support
on MVEBU based platforms.
@@ -344,6 +347,7 @@ choice
config DEBUG_MVEBU_UART_ALTERNATE
bool "Kernel low-level debugging messages via MVEBU UART (new bootloaders)"
depends on ARCH_MVEBU
+ select DEBUG_UART_8250
help
Say Y here if you want kernel low-level debugging support
on MVEBU based platforms.
@@ -365,6 +369,7 @@ choice
config DEBUG_NSPIRE_CLASSIC_UART
bool "Kernel low-level debugging via TI-NSPIRE 8250 UART"
depends on ARCH_NSPIRE
+ select DEBUG_UART_8250
help
Say Y here if you want kernel low-level debugging support
on TI-NSPIRE classic models.
@@ -453,6 +458,7 @@ choice
config DEBUG_PXA_UART1
depends on ARCH_PXA
bool "Use PXA UART1 for low-level debug"
+ select DEBUG_UART_8250
help
Say Y here if you want kernel low-level debugging support
on PXA UART1.
@@ -477,6 +483,7 @@ choice
bool "Kernel low-level debugging messages via Rockchip RK29 UART0"
depends on ARCH_ROCKCHIP
select DEBUG_ROCKCHIP_UART
+ select DEBUG_UART_8250
help
Say Y here if you want kernel low-level debugging support
on Rockchip based platforms.
@@ -485,6 +492,7 @@ choice
bool "Kernel low-level debugging messages via Rockchip RK29 UART1"
depends on ARCH_ROCKCHIP
select DEBUG_ROCKCHIP_UART
+ select DEBUG_UART_8250
help
Say Y here if you want kernel low-level debugging support
on Rockchip based platforms.
@@ -493,6 +501,7 @@ choice
bool "Kernel low-level debugging messages via Rockchip RK29 UART2"
depends on ARCH_ROCKCHIP
select DEBUG_ROCKCHIP_UART
+ select DEBUG_UART_8250
help
Say Y here if you want kernel low-level debugging support
on Rockchip based platforms.
@@ -501,6 +510,7 @@ choice
bool "Kernel low-level debugging messages via Rockchip RK3X UART0"
depends on ARCH_ROCKCHIP
select DEBUG_ROCKCHIP_UART
+ select DEBUG_UART_8250
help
Say Y here if you want kernel low-level debugging support
on Rockchip based platforms.
@@ -509,6 +519,7 @@ choice
bool "Kernel low-level debugging messages via Rockchip RK3X UART1"
depends on ARCH_ROCKCHIP
select DEBUG_ROCKCHIP_UART
+ select DEBUG_UART_8250
help
Say Y here if you want kernel low-level debugging support
on Rockchip based platforms.
@@ -517,6 +528,7 @@ choice
bool "Kernel low-level debugging messages via Rockchip RK3X UART2"
depends on ARCH_ROCKCHIP
select DEBUG_ROCKCHIP_UART
+ select DEBUG_UART_8250
help
Say Y here if you want kernel low-level debugging support
on Rockchip based platforms.
@@ -525,6 +537,7 @@ choice
bool "Kernel low-level debugging messages via Rockchip RK3X UART3"
depends on ARCH_ROCKCHIP
select DEBUG_ROCKCHIP_UART
+ select DEBUG_UART_8250
help
Say Y here if you want kernel low-level debugging support
on Rockchip based platforms.
@@ -587,6 +600,7 @@ choice
config DEBUG_SUNXI_UART0
bool "Kernel low-level debugging messages via sunXi UART0"
depends on ARCH_SUNXI
+ select DEBUG_UART_8250
help
Say Y here if you want kernel low-level debugging support
on Allwinner A1X based platforms on the UART0.
@@ -594,6 +608,7 @@ choice
config DEBUG_SUNXI_UART1
bool "Kernel low-level debugging messages via sunXi UART1"
depends on ARCH_SUNXI
+ select DEBUG_UART_8250
help
Say Y here if you want kernel low-level debugging support
on Allwinner A1X based platforms on the UART1.
@@ -857,8 +872,17 @@ config DEBUG_LL_INCLUDE
default "mach/debug-macro.S"
config DEBUG_UART_8250
- def_bool ARCH_EBSA110 || (FOOTBRIDGE && !DEBUG_DC21285_PORT) || \
- ARCH_GEMINI || ARCH_RPC
+ def_bool ARCH_DOVE || ARCH_EBSA110 || \
+ (FOOTBRIDGE && !DEBUG_DC21285_PORT) || \
+ ARCH_GEMINI || ARCH_IOP13XX || ARCH_IOP32X || \
+ ARCH_IOP33X || ARCH_IXP4XX || ARCH_KIRKWOOD || \
+ ARCH_LPC32XX || ARCH_MV78XX0 || ARCH_ORION5X || ARCH_RPC
+
+config DEBUG_UART_8250_SHIFT
+ int "Register offset shift for the 8250 debug UART"
+ depends on DEBUG_UART_8250
+ default 0 if FOOTBRIDGE || ARCH_IOP32X
+ default 2
config DEBUG_UART_8250_FLOW_CONTROL
bool "Enable flow control for 8250 UART"
diff --git a/arch/arm/include/asm/hardware/debug-8250.S b/arch/arm/include/asm/hardware/debug-8250.S
index bca304576be0..a0e6e173c554 100644
--- a/arch/arm/include/asm/hardware/debug-8250.S
+++ b/arch/arm/include/asm/hardware/debug-8250.S
@@ -9,6 +9,10 @@
*/
#include <linux/serial_reg.h>
+#ifndef UART_SHIFT
+#define UART_SHIFT CONFIG_DEBUG_UART_8250_SHIFT
+#endif
+
.macro senduart,rd,rx
strb \rd, [\rx, #UART_TX << UART_SHIFT]
.endm
diff --git a/arch/arm/include/debug/mvebu.S b/arch/arm/include/debug/mvebu.S
index 6517311a1c91..0d0d82062f63 100644
--- a/arch/arm/include/debug/mvebu.S
+++ b/arch/arm/include/debug/mvebu.S
@@ -26,5 +26,4 @@
orr \rv, \rv, #0x00012000
.endm
-#define UART_SHIFT 2
#include <asm/hardware/debug-8250.S>
diff --git a/arch/arm/include/debug/nspire.S b/arch/arm/include/debug/nspire.S
index 886fd276fcbc..887463672b66 100644
--- a/arch/arm/include/debug/nspire.S
+++ b/arch/arm/include/debug/nspire.S
@@ -23,6 +23,5 @@
#endif
#ifdef CONFIG_DEBUG_NSPIRE_CLASSIC_UART
-#define UART_SHIFT 2
#include <asm/hardware/debug-8250.S>
#endif
diff --git a/arch/arm/include/debug/pxa.S b/arch/arm/include/debug/pxa.S
index e1e795aa3d7f..f10fba50c770 100644
--- a/arch/arm/include/debug/pxa.S
+++ b/arch/arm/include/debug/pxa.S
@@ -29,5 +29,4 @@
ldr \rv, =PXA_UART_REG_VIRT_BASE
.endm
-#define UART_SHIFT 2
#include <asm/hardware/debug-8250.S>
diff --git a/arch/arm/include/debug/rockchip.S b/arch/arm/include/debug/rockchip.S
index cfd883e69588..80ae8cadb064 100644
--- a/arch/arm/include/debug/rockchip.S
+++ b/arch/arm/include/debug/rockchip.S
@@ -38,5 +38,4 @@
ldr \rv, =ROCKCHIP_UART_DEBUG_VIRT_BASE
.endm
-#define UART_SHIFT 2
#include <asm/hardware/debug-8250.S>
diff --git a/arch/arm/include/debug/sunxi.S b/arch/arm/include/debug/sunxi.S
index 04eb56d5db2c..65d09816c720 100644
--- a/arch/arm/include/debug/sunxi.S
+++ b/arch/arm/include/debug/sunxi.S
@@ -23,5 +23,4 @@
ldr \rv, =SUNXI_UART_DEBUG_VIRT_BASE
.endm
-#define UART_SHIFT 2
#include <asm/hardware/debug-8250.S>
diff --git a/arch/arm/mach-dove/include/mach/debug-macro.S b/arch/arm/mach-dove/include/mach/debug-macro.S
index 5929cbc59161..182a6108a2e6 100644
--- a/arch/arm/mach-dove/include/mach/debug-macro.S
+++ b/arch/arm/mach-dove/include/mach/debug-macro.S
@@ -15,5 +15,4 @@
orr \rv, \rv, #0x00012000
.endm
-#define UART_SHIFT 2
#include <asm/hardware/debug-8250.S>
diff --git a/arch/arm/mach-ebsa110/include/mach/debug-macro.S b/arch/arm/mach-ebsa110/include/mach/debug-macro.S
index 9b66e79632a9..984f0fa4812a 100644
--- a/arch/arm/mach-ebsa110/include/mach/debug-macro.S
+++ b/arch/arm/mach-ebsa110/include/mach/debug-macro.S
@@ -17,5 +17,4 @@
mov \rp, \rv
.endm
-#define UART_SHIFT 2
#include <asm/hardware/debug-8250.S>
diff --git a/arch/arm/mach-footbridge/include/mach/debug-macro.S b/arch/arm/mach-footbridge/include/mach/debug-macro.S
index 18130fe99f28..a209936d6d98 100644
--- a/arch/arm/mach-footbridge/include/mach/debug-macro.S
+++ b/arch/arm/mach-footbridge/include/mach/debug-macro.S
@@ -22,7 +22,6 @@
orr \rp, \rp, #0x7c000000 @ physical
.endm
-#define UART_SHIFT 0
#include <asm/hardware/debug-8250.S>
#else
diff --git a/arch/arm/mach-gemini/include/mach/debug-macro.S b/arch/arm/mach-gemini/include/mach/debug-macro.S
index cdee448dd34e..2d94ea46ec64 100644
--- a/arch/arm/mach-gemini/include/mach/debug-macro.S
+++ b/arch/arm/mach-gemini/include/mach/debug-macro.S
@@ -16,5 +16,4 @@
ldr \rv, =IO_ADDRESS(GEMINI_UART_BASE) @ virtual
.endm
-#define UART_SHIFT 2
#include <asm/hardware/debug-8250.S>
diff --git a/arch/arm/mach-iop13xx/include/mach/debug-macro.S b/arch/arm/mach-iop13xx/include/mach/debug-macro.S
index d869a6f67e5c..4a776ca41960 100644
--- a/arch/arm/mach-iop13xx/include/mach/debug-macro.S
+++ b/arch/arm/mach-iop13xx/include/mach/debug-macro.S
@@ -20,5 +20,4 @@
orr \rp, \rp, #0x00d80000
.endm
-#define UART_SHIFT 2
#include <asm/hardware/debug-8250.S>
diff --git a/arch/arm/mach-iop32x/include/mach/debug-macro.S b/arch/arm/mach-iop32x/include/mach/debug-macro.S
index 363bdf90b34d..a090573f16c8 100644
--- a/arch/arm/mach-iop32x/include/mach/debug-macro.S
+++ b/arch/arm/mach-iop32x/include/mach/debug-macro.S
@@ -17,5 +17,4 @@
mov \rv, \rp
.endm
-#define UART_SHIFT 0
#include <asm/hardware/debug-8250.S>
diff --git a/arch/arm/mach-iop33x/include/mach/debug-macro.S b/arch/arm/mach-iop33x/include/mach/debug-macro.S
index 361be1f6026e..894bf7ce857e 100644
--- a/arch/arm/mach-iop33x/include/mach/debug-macro.S
+++ b/arch/arm/mach-iop33x/include/mach/debug-macro.S
@@ -18,5 +18,4 @@
orr \rp, #0xff000000 @ physical
.endm
-#define UART_SHIFT 2
#include <asm/hardware/debug-8250.S>
diff --git a/arch/arm/mach-ixp4xx/include/mach/debug-macro.S b/arch/arm/mach-ixp4xx/include/mach/debug-macro.S
index ff686cbc5df4..403bd35a5468 100644
--- a/arch/arm/mach-ixp4xx/include/mach/debug-macro.S
+++ b/arch/arm/mach-ixp4xx/include/mach/debug-macro.S
@@ -22,5 +22,4 @@
orr \rp, \rp, #0xc8000000 @ physical
.endm
-#define UART_SHIFT 2
#include <asm/hardware/debug-8250.S>
diff --git a/arch/arm/mach-kirkwood/include/mach/debug-macro.S b/arch/arm/mach-kirkwood/include/mach/debug-macro.S
index f785d401a607..51eee02ab5e0 100644
--- a/arch/arm/mach-kirkwood/include/mach/debug-macro.S
+++ b/arch/arm/mach-kirkwood/include/mach/debug-macro.S
@@ -15,5 +15,4 @@
orr \rv, \rv, #0x00012000
.endm
-#define UART_SHIFT 2
#include <asm/hardware/debug-8250.S>
diff --git a/arch/arm/mach-lpc32xx/include/mach/debug-macro.S b/arch/arm/mach-lpc32xx/include/mach/debug-macro.S
index 351bd6c84909..11f986eb471c 100644
--- a/arch/arm/mach-lpc32xx/include/mach/debug-macro.S
+++ b/arch/arm/mach-lpc32xx/include/mach/debug-macro.S
@@ -25,5 +25,4 @@
ldrne \rv, =0xF4090000
.endm
-#define UART_SHIFT 2
#include <asm/hardware/debug-8250.S>
diff --git a/arch/arm/mach-mv78xx0/include/mach/debug-macro.S b/arch/arm/mach-mv78xx0/include/mach/debug-macro.S
index a7df02b049b7..0fce467ede13 100644
--- a/arch/arm/mach-mv78xx0/include/mach/debug-macro.S
+++ b/arch/arm/mach-mv78xx0/include/mach/debug-macro.S
@@ -15,5 +15,4 @@
orr \rv, \rv, #0x00012000
.endm
-#define UART_SHIFT 2
#include <asm/hardware/debug-8250.S>
diff --git a/arch/arm/mach-orion5x/include/mach/debug-macro.S b/arch/arm/mach-orion5x/include/mach/debug-macro.S
index f340ed8f8dd0..52f29ef747b2 100644
--- a/arch/arm/mach-orion5x/include/mach/debug-macro.S
+++ b/arch/arm/mach-orion5x/include/mach/debug-macro.S
@@ -17,5 +17,4 @@
orr \rv, \rv, #0x00012000
.endm
-#define UART_SHIFT 2
#include <asm/hardware/debug-8250.S>
diff --git a/arch/arm/mach-rpc/include/mach/debug-macro.S b/arch/arm/mach-rpc/include/mach/debug-macro.S
index a92753d0daeb..fcb545083547 100644
--- a/arch/arm/mach-rpc/include/mach/debug-macro.S
+++ b/arch/arm/mach-rpc/include/mach/debug-macro.S
@@ -18,5 +18,4 @@
orr \rp, \rp, #0x03000000 @ physical
.endm
-#define UART_SHIFT 2
#include <asm/hardware/debug-8250.S>