aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBen Dooks <ben.dooks@codethink.co.uk>2016-06-21 06:20:22 -0400
committerKrzysztof Kozlowski <k.kozlowski@samsung.com>2016-06-21 07:08:09 -0400
commit4fdfa8623d0a3aca30da57980b14d1686c48c2d5 (patch)
tree05817271accbe28f99eaec62dfcf159bee5ae635
parentda81593a5a0d93fcca45baa15d0628ba8405695b (diff)
ARM: EXYNOS: Fixup debug macros for big-endian
The exynos low-level debug macros need to be fixed if the system is being built big endian. Add the necessary endian swaps for accessing the registers to get output working again Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk> Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
-rw-r--r--arch/arm/include/debug/samsung.S8
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/arm/include/debug/samsung.S b/arch/arm/include/debug/samsung.S
index 8d8d922e5e44..f4eeed2a1981 100644
--- a/arch/arm/include/debug/samsung.S
+++ b/arch/arm/include/debug/samsung.S
@@ -15,11 +15,13 @@
15 15
16 .macro fifo_level_s5pv210 rd, rx 16 .macro fifo_level_s5pv210 rd, rx
17 ldr \rd, [\rx, # S3C2410_UFSTAT] 17 ldr \rd, [\rx, # S3C2410_UFSTAT]
18ARM_BE8(rev \rd, \rd)
18 and \rd, \rd, #S5PV210_UFSTAT_TXMASK 19 and \rd, \rd, #S5PV210_UFSTAT_TXMASK
19 .endm 20 .endm
20 21
21 .macro fifo_full_s5pv210 rd, rx 22 .macro fifo_full_s5pv210 rd, rx
22 ldr \rd, [\rx, # S3C2410_UFSTAT] 23 ldr \rd, [\rx, # S3C2410_UFSTAT]
24ARM_BE8(rev \rd, \rd)
23 tst \rd, #S5PV210_UFSTAT_TXFULL 25 tst \rd, #S5PV210_UFSTAT_TXFULL
24 .endm 26 .endm
25 27
@@ -28,6 +30,7 @@
28 30
29 .macro fifo_level_s3c2440 rd, rx 31 .macro fifo_level_s3c2440 rd, rx
30 ldr \rd, [\rx, # S3C2410_UFSTAT] 32 ldr \rd, [\rx, # S3C2410_UFSTAT]
33ARM_BE8(rev \rd, \rd)
31 and \rd, \rd, #S3C2440_UFSTAT_TXMASK 34 and \rd, \rd, #S3C2440_UFSTAT_TXMASK
32 .endm 35 .endm
33 36
@@ -37,6 +40,7 @@
37 40
38 .macro fifo_full_s3c2440 rd, rx 41 .macro fifo_full_s3c2440 rd, rx
39 ldr \rd, [\rx, # S3C2410_UFSTAT] 42 ldr \rd, [\rx, # S3C2410_UFSTAT]
43ARM_BE8(rev \rd, \rd)
40 tst \rd, #S3C2440_UFSTAT_TXFULL 44 tst \rd, #S3C2440_UFSTAT_TXFULL
41 .endm 45 .endm
42 46
@@ -50,6 +54,7 @@
50 54
51 .macro busyuart, rd, rx 55 .macro busyuart, rd, rx
52 ldr \rd, [\rx, # S3C2410_UFCON] 56 ldr \rd, [\rx, # S3C2410_UFCON]
57ARM_BE8(rev \rd, \rd)
53 tst \rd, #S3C2410_UFCON_FIFOMODE @ fifo enabled? 58 tst \rd, #S3C2410_UFCON_FIFOMODE @ fifo enabled?
54 beq 1001f @ 59 beq 1001f @
55 @ FIFO enabled... 60 @ FIFO enabled...
@@ -61,6 +66,7 @@
611001: 661001:
62 @ busy waiting for non fifo 67 @ busy waiting for non fifo
63 ldr \rd, [\rx, # S3C2410_UTRSTAT] 68 ldr \rd, [\rx, # S3C2410_UTRSTAT]
69ARM_BE8(rev \rd, \rd)
64 tst \rd, #S3C2410_UTRSTAT_TXFE 70 tst \rd, #S3C2410_UTRSTAT_TXFE
65 beq 1001b 71 beq 1001b
66 72
@@ -69,6 +75,7 @@
69 75
70 .macro waituart,rd,rx 76 .macro waituart,rd,rx
71 ldr \rd, [\rx, # S3C2410_UFCON] 77 ldr \rd, [\rx, # S3C2410_UFCON]
78ARM_BE8(rev \rd, \rd)
72 tst \rd, #S3C2410_UFCON_FIFOMODE @ fifo enabled? 79 tst \rd, #S3C2410_UFCON_FIFOMODE @ fifo enabled?
73 beq 1001f @ 80 beq 1001f @
74 @ FIFO enabled... 81 @ FIFO enabled...
@@ -80,6 +87,7 @@
801001: 871001:
81 @ idle waiting for non fifo 88 @ idle waiting for non fifo
82 ldr \rd, [\rx, # S3C2410_UTRSTAT] 89 ldr \rd, [\rx, # S3C2410_UTRSTAT]
90ARM_BE8(rev \rd, \rd)
83 tst \rd, #S3C2410_UTRSTAT_TXFE 91 tst \rd, #S3C2410_UTRSTAT_TXFE
84 beq 1001b 92 beq 1001b
85 93