diff options
author | Ben Dooks <ben.dooks@codethink.co.uk> | 2016-06-21 06:20:22 -0400 |
---|---|---|
committer | Krzysztof Kozlowski <k.kozlowski@samsung.com> | 2016-06-21 07:08:09 -0400 |
commit | 4fdfa8623d0a3aca30da57980b14d1686c48c2d5 (patch) | |
tree | 05817271accbe28f99eaec62dfcf159bee5ae635 | |
parent | da81593a5a0d93fcca45baa15d0628ba8405695b (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.S | 8 |
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] |
18 | ARM_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] |
24 | ARM_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] |
33 | ARM_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] |
43 | ARM_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] |
57 | ARM_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 @@ | |||
61 | 1001: | 66 | 1001: |
62 | @ busy waiting for non fifo | 67 | @ busy waiting for non fifo |
63 | ldr \rd, [\rx, # S3C2410_UTRSTAT] | 68 | ldr \rd, [\rx, # S3C2410_UTRSTAT] |
69 | ARM_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] |
78 | ARM_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 @@ | |||
80 | 1001: | 87 | 1001: |
81 | @ idle waiting for non fifo | 88 | @ idle waiting for non fifo |
82 | ldr \rd, [\rx, # S3C2410_UTRSTAT] | 89 | ldr \rd, [\rx, # S3C2410_UTRSTAT] |
90 | ARM_BE8(rev \rd, \rd) | ||
83 | tst \rd, #S3C2410_UTRSTAT_TXFE | 91 | tst \rd, #S3C2410_UTRSTAT_TXFE |
84 | beq 1001b | 92 | beq 1001b |
85 | 93 | ||