diff options
-rw-r--r-- | arch/arm/Kconfig.debug | 28 | ||||
-rw-r--r-- | arch/arm/include/debug/asm9260.S | 29 |
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 | ||
1302 | config DEBUG_UART_VIRT | 1325 | config 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 | ||
1379 | config DEBUG_UART_8250_SHIFT | 1403 | config 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 | ||
26 | 1002: ldr \rd, [\rx, #0x60] @ STAT | ||
27 | tst \rd, #1 << 27 @ TXEMPTY | ||
28 | beq 1002b @ wait until transmit done | ||
29 | .endm | ||