aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/Kconfig.debug28
-rw-r--r--arch/arm/include/debug/asm9260.S29
2 files changed, 55 insertions, 2 deletions
diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
index e4917aebc31f..66ebfb88c505 100644
--- a/arch/arm/Kconfig.debug
+++ b/arch/arm/Kconfig.debug
@@ -93,6 +93,27 @@ choice
93 prompt "Kernel low-level debugging port" 93 prompt "Kernel low-level debugging port"
94 depends on DEBUG_LL 94 depends on DEBUG_LL
95 95
96 config DEBUG_ASM9260_UART
97 bool "Kernel low-level debugging via asm9260 UART"
98 depends on MACH_ASM9260
99 help
100 Say Y here if you want the debug print routines to direct
101 their output to an UART or USART port on asm9260 based
102 machines.
103
104 DEBUG_UART_PHYS | DEBUG_UART_VIRT
105
106 0x80000000 | 0xf0000000 | UART0
107 0x80004000 | 0xf0004000 | UART1
108 0x80008000 | 0xf0008000 | UART2
109 0x8000c000 | 0xf000c000 | UART3
110 0x80010000 | 0xf0010000 | UART4
111 0x80014000 | 0xf0014000 | UART5
112 0x80018000 | 0xf0018000 | UART6
113 0x8001c000 | 0xf001c000 | UART7
114 0x80020000 | 0xf0020000 | UART8
115 0x80024000 | 0xf0024000 | UART9
116
96 config AT91_DEBUG_LL_DBGU0 117 config AT91_DEBUG_LL_DBGU0
97 bool "Kernel low-level debugging on rm9200, 9260/9g20, 9261/9g10 and 9rl" 118 bool "Kernel low-level debugging on rm9200, 9260/9g20, 9261/9g10 and 9rl"
98 depends on HAVE_AT91_DBGU0 119 depends on HAVE_AT91_DBGU0
@@ -1144,6 +1165,7 @@ config DEBUG_LL_INCLUDE
1144 string 1165 string
1145 default "debug/sa1100.S" if DEBUG_SA1100 1166 default "debug/sa1100.S" if DEBUG_SA1100
1146 default "debug/8250.S" if DEBUG_LL_UART_8250 || DEBUG_UART_8250 1167 default "debug/8250.S" if DEBUG_LL_UART_8250 || DEBUG_UART_8250
1168 default "debug/asm9260.S" if DEBUG_ASM9260_UART
1147 default "debug/clps711x.S" if DEBUG_CLPS711X_UART1 || DEBUG_CLPS711X_UART2 1169 default "debug/clps711x.S" if DEBUG_CLPS711X_UART1 || DEBUG_CLPS711X_UART2
1148 default "debug/meson.S" if DEBUG_MESON_UARTAO 1170 default "debug/meson.S" if DEBUG_MESON_UARTAO
1149 default "debug/pl01x.S" if DEBUG_LL_UART_PL01X || DEBUG_UART_PL01X 1171 default "debug/pl01x.S" if DEBUG_LL_UART_PL01X || DEBUG_UART_PL01X
@@ -1248,6 +1270,7 @@ config DEBUG_UART_PHYS
1248 default 0x78000000 if DEBUG_CNS3XXX 1270 default 0x78000000 if DEBUG_CNS3XXX
1249 default 0x7c0003f8 if FOOTBRIDGE 1271 default 0x7c0003f8 if FOOTBRIDGE
1250 default 0x78000000 if DEBUG_CNS3XXX 1272 default 0x78000000 if DEBUG_CNS3XXX
1273 default 0x80010000 if DEBUG_ASM9260_UART
1251 default 0x80070000 if DEBUG_IMX23_UART 1274 default 0x80070000 if DEBUG_IMX23_UART
1252 default 0x80074000 if DEBUG_IMX28_UART 1275 default 0x80074000 if DEBUG_IMX28_UART
1253 default 0x80230000 if DEBUG_PICOXCELL_UART 1276 default 0x80230000 if DEBUG_PICOXCELL_UART
@@ -1297,13 +1320,14 @@ config DEBUG_UART_PHYS
1297 DEBUG_RCAR_GEN2_SCIF0 || DEBUG_RCAR_GEN2_SCIF2 || \ 1320 DEBUG_RCAR_GEN2_SCIF0 || DEBUG_RCAR_GEN2_SCIF2 || \
1298 DEBUG_RMOBILE_SCIFA0 || DEBUG_RMOBILE_SCIFA1 || \ 1321 DEBUG_RMOBILE_SCIFA0 || DEBUG_RMOBILE_SCIFA1 || \
1299 DEBUG_RMOBILE_SCIFA4 || DEBUG_S3C24XX_UART || \ 1322 DEBUG_RMOBILE_SCIFA4 || DEBUG_S3C24XX_UART || \
1300 DEBUG_UART_BCM63XX 1323 DEBUG_UART_BCM63XX || DEBUG_ASM9260_UART
1301 1324
1302config DEBUG_UART_VIRT 1325config DEBUG_UART_VIRT
1303 hex "Virtual base address of debug UART" 1326 hex "Virtual base address of debug UART"
1304 default 0xe0010fe0 if ARCH_RPC 1327 default 0xe0010fe0 if ARCH_RPC
1305 default 0xe1000000 if DEBUG_MSM_UART 1328 default 0xe1000000 if DEBUG_MSM_UART
1306 default 0xf0000be0 if ARCH_EBSA110 1329 default 0xf0000be0 if ARCH_EBSA110
1330 default 0xf0010000 if DEBUG_ASM9260_UART
1307 default 0xf01fb000 if DEBUG_NOMADIK_UART 1331 default 0xf01fb000 if DEBUG_NOMADIK_UART
1308 default 0xf0201000 if DEBUG_BCM2835 1332 default 0xf0201000 if DEBUG_BCM2835
1309 default 0xf1000300 if DEBUG_BCM_5301X 1333 default 0xf1000300 if DEBUG_BCM_5301X
@@ -1374,7 +1398,7 @@ config DEBUG_UART_VIRT
1374 depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \ 1398 depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
1375 DEBUG_UART_8250 || DEBUG_UART_PL01X || DEBUG_MESON_UARTAO || \ 1399 DEBUG_UART_8250 || DEBUG_UART_PL01X || DEBUG_MESON_UARTAO || \
1376 DEBUG_MSM_UART || DEBUG_QCOM_UARTDM || DEBUG_S3C24XX_UART || \ 1400 DEBUG_MSM_UART || DEBUG_QCOM_UARTDM || DEBUG_S3C24XX_UART || \
1377 DEBUG_UART_BCM63XX 1401 DEBUG_UART_BCM63XX || DEBUG_ASM9260_UART
1378 1402
1379config DEBUG_UART_8250_SHIFT 1403config DEBUG_UART_8250_SHIFT
1380 int "Register offset shift for the 8250 debug UART" 1404 int "Register offset shift for the 8250 debug UART"
diff --git a/arch/arm/include/debug/asm9260.S b/arch/arm/include/debug/asm9260.S
new file mode 100644
index 000000000000..292f85b49fca
--- /dev/null
+++ b/arch/arm/include/debug/asm9260.S
@@ -0,0 +1,29 @@
1/* Debugging macro include header
2 *
3 * Copyright (C) 1994-1999 Russell King
4 * Moved from linux/arch/arm/kernel/debug.S by Ben Dooks
5 * Modified for ASM9260 by Oleksij Remepl <linux@rempel-privat.de>
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License version 2 as
9 * published by the Free Software Foundation.
10 *
11 */
12
13 .macro addruart, rp, rv, tmp
14 ldr \rp, = CONFIG_DEBUG_UART_PHYS
15 ldr \rv, = CONFIG_DEBUG_UART_VIRT
16 .endm
17
18 .macro waituart,rd,rx
19 .endm
20
21 .macro senduart,rd,rx
22 str \rd, [\rx, #0x50] @ TXDATA
23 .endm
24
25 .macro busyuart,rd,rx
261002: ldr \rd, [\rx, #0x60] @ STAT
27 tst \rd, #1 << 27 @ TXEMPTY
28 beq 1002b @ wait until transmit done
29 .endm