diff options
author | Lennert Buytenhek <buytenh@wantstofly.org> | 2006-04-09 22:20:57 +0100 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2006-04-09 22:20:57 +0100 |
commit | 932355797530f5bd4e1355a2c384e9f3ccc3dcbc (patch) | |
tree | 97ef892c3b02b3275731e898a46c6c2a6b9f1f98 /include/asm-arm/arch-ixp23xx | |
parent | c5b8ef62b5df9530c573f00f4106742661425392 (diff) | |
download | op-kernel-dev-932355797530f5bd4e1355a2c384e9f3ccc3dcbc.zip op-kernel-dev-932355797530f5bd4e1355a2c384e9f3ccc3dcbc.tar.gz |
[ARM] 3459/1: ixp23xx: fix debug serial macros for big-endian operation
Patch from Lennert Buytenhek
The debug-8250 macros do byte accesses, which means that if we're in
big-endian mode, we need to logically OR the UART address with 3, as
the LSB byte lane (where UART data and status is transferred) has the
highest byte address in the word when we are in big-endian mode.
It's unclear why this problem didn't surface earlier.
Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'include/asm-arm/arch-ixp23xx')
-rw-r--r-- | include/asm-arm/arch-ixp23xx/debug-macro.S | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/include/asm-arm/arch-ixp23xx/debug-macro.S b/include/asm-arm/arch-ixp23xx/debug-macro.S index eb99fd6..2b25e64 100644 --- a/include/asm-arm/arch-ixp23xx/debug-macro.S +++ b/include/asm-arm/arch-ixp23xx/debug-macro.S @@ -17,6 +17,9 @@ tst \rx, #1 @ mmu enabled? ldreq \rx, =IXP23XX_PERIPHERAL_PHYS @ physical ldrne \rx, =IXP23XX_PERIPHERAL_VIRT @ virtual +#ifdef __ARMEB__ + orr \rx, \rx, #0x00000003 +#endif .endm #define UART_SHIFT 2 |