summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Dooks <ben.dooks@codethink.co.uk>2013-02-06 18:25:36 +0000
committerBen Dooks <ben.dooks@codethink.co.uk>2013-08-27 21:57:55 +0100
commit7efefb53277bae8ea9f8c16959ae27fd520c8ade (patch)
tree2a1f9d0e0a3e9c6cd6f31806c8d6f439dc89d4e2
parent7a9a2929ab8ef01160f45b8a378bbff2e09cf13a (diff)
downloadlinux-7efefb53277bae8ea9f8c16959ae27fd520c8ade.tar.gz
ARM: pl01x debug code endian fix
The PL01X debug code needs to take into account which endian mode the processor is running in. If it is big-endian, ensure the data is swapped appropriately. Note, we could do this slightly more efficiently if we have an macro to do the necessary swap for the bits used by test. Reviewed-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
-rw-r--r--arch/arm/include/asm/hardware/debug-pl01x.S2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/arm/include/asm/hardware/debug-pl01x.S b/arch/arm/include/asm/hardware/debug-pl01x.S
index f9fd083eff63..6489d1ffe3c8 100644
--- a/arch/arm/include/asm/hardware/debug-pl01x.S
+++ b/arch/arm/include/asm/hardware/debug-pl01x.S
@@ -18,12 +18,14 @@
.macro waituart,rd,rx
1001: ldr \rd, [\rx, #UART01x_FR]
+ ARM_BE8( rev \rd, \rd )
tst \rd, #UART01x_FR_TXFF
bne 1001b
.endm
.macro busyuart,rd,rx
1001: ldr \rd, [\rx, #UART01x_FR]
+ ARM_BE8( rev \rd, \rd )
tst \rd, #UART01x_FR_BUSY
bne 1001b
.endm