diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2013-07-07 12:42:46 +0200 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2013-08-25 18:11:03 +0200 |
commit | 0b4cccbec60678212eccdb42dc1e1c233ddf7092 (patch) | |
tree | 6459ff818dec42f9e640bc3a6b4ab149f92b53cd /arch/arm/include/debug/8250.S | |
parent | ARM: debug: move 8250 debug include into arch/arm/include/debug/ (diff) | |
download | linux-0b4cccbec60678212eccdb42dc1e1c233ddf7092.tar.xz linux-0b4cccbec60678212eccdb42dc1e1c233ddf7092.zip |
ARM: debug: add support for word accesses to debug/8250.S
Add 32-bit word access support to debug/8250.S and convert Picoxcell
and SoCFPGA to this.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/include/debug/8250.S')
-rw-r--r-- | arch/arm/include/debug/8250.S | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/arch/arm/include/debug/8250.S b/arch/arm/include/debug/8250.S index 92cab395677a..7a2baf913aa0 100644 --- a/arch/arm/include/debug/8250.S +++ b/arch/arm/include/debug/8250.S @@ -14,14 +14,32 @@ ldr \rv, =CONFIG_DEBUG_UART_VIRT .endm +#ifdef CONFIG_DEBUG_UART_8250_WORD + .macro store, rd, rx:vararg + str \rd, \rx + .endm + + .macro load, rd, rx:vararg + ldr \rd, \rx + .endm +#else + .macro store, rd, rx:vararg + strb \rd, \rx + .endm + + .macro load, rd, rx:vararg + ldrb \rd, \rx + .endm +#endif + #define UART_SHIFT CONFIG_DEBUG_UART_8250_SHIFT .macro senduart,rd,rx - strb \rd, [\rx, #UART_TX << UART_SHIFT] + store \rd, [\rx, #UART_TX << UART_SHIFT] .endm .macro busyuart,rd,rx -1002: ldrb \rd, [\rx, #UART_LSR << UART_SHIFT] +1002: load \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 @@ -29,7 +47,7 @@ .macro waituart,rd,rx #ifdef CONFIG_DEBUG_UART_8250_FLOW_CONTROL -1001: ldrb \rd, [\rx, #UART_MSR << UART_SHIFT] +1001: load \rd, [\rx, #UART_MSR << UART_SHIFT] tst \rd, #UART_MSR_CTS beq 1001b #endif |