diff options
author | Stephen Boyd <sboyd@codeaurora.org> | 2014-06-30 17:49:39 -0400 |
---|---|---|
committer | Kumar Gala <galak@codeaurora.org> | 2015-01-19 12:42:03 -0500 |
commit | 9edb4b132f1879a24ac2b4495239175fa13b27fe (patch) | |
tree | e71d76c6ee0aaf4fb40b8620aaaf1e167490f329 /arch/arm/include | |
parent | 30cd65523eeef8c8ce9fff9b900b349341ae5f74 (diff) |
ARM: debug: msm: Support big-endian CPUs
If the CPU is in big-endian mode these macros will access the
hardware incorrectly. Reverse thins as necessary to fix this.
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Kumar Gala <galak@codeaurora.org>
Diffstat (limited to 'arch/arm/include')
-rw-r--r-- | arch/arm/include/debug/msm.S | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/arm/include/debug/msm.S b/arch/arm/include/debug/msm.S index 9ef57612811d..e55a9426b496 100644 --- a/arch/arm/include/debug/msm.S +++ b/arch/arm/include/debug/msm.S | |||
@@ -23,6 +23,7 @@ | |||
23 | .endm | 23 | .endm |
24 | 24 | ||
25 | .macro senduart, rd, rx | 25 | .macro senduart, rd, rx |
26 | ARM_BE8(rev \rd, \rd ) | ||
26 | #ifdef CONFIG_DEBUG_QCOM_UARTDM | 27 | #ifdef CONFIG_DEBUG_QCOM_UARTDM |
27 | @ Write the 1 character to UARTDM_TF | 28 | @ Write the 1 character to UARTDM_TF |
28 | str \rd, [\rx, #0x70] | 29 | str \rd, [\rx, #0x70] |
@@ -35,24 +36,29 @@ | |||
35 | #ifdef CONFIG_DEBUG_QCOM_UARTDM | 36 | #ifdef CONFIG_DEBUG_QCOM_UARTDM |
36 | @ check for TX_EMT in UARTDM_SR | 37 | @ check for TX_EMT in UARTDM_SR |
37 | ldr \rd, [\rx, #0x08] | 38 | ldr \rd, [\rx, #0x08] |
39 | ARM_BE8(rev \rd, \rd ) | ||
38 | tst \rd, #0x08 | 40 | tst \rd, #0x08 |
39 | bne 1002f | 41 | bne 1002f |
40 | @ wait for TXREADY in UARTDM_ISR | 42 | @ wait for TXREADY in UARTDM_ISR |
41 | 1001: ldr \rd, [\rx, #0x14] | 43 | 1001: ldr \rd, [\rx, #0x14] |
44 | ARM_BE8(rev \rd, \rd ) | ||
42 | tst \rd, #0x80 | 45 | tst \rd, #0x80 |
43 | beq 1001b | 46 | beq 1001b |
44 | 1002: | 47 | 1002: |
45 | @ Clear TX_READY by writing to the UARTDM_CR register | 48 | @ Clear TX_READY by writing to the UARTDM_CR register |
46 | mov \rd, #0x300 | 49 | mov \rd, #0x300 |
50 | ARM_BE8(rev \rd, \rd ) | ||
47 | str \rd, [\rx, #0x10] | 51 | str \rd, [\rx, #0x10] |
48 | @ Write 0x1 to NCF register | 52 | @ Write 0x1 to NCF register |
49 | mov \rd, #0x1 | 53 | mov \rd, #0x1 |
54 | ARM_BE8(rev \rd, \rd ) | ||
50 | str \rd, [\rx, #0x40] | 55 | str \rd, [\rx, #0x40] |
51 | @ UARTDM reg. Read to induce delay | 56 | @ UARTDM reg. Read to induce delay |
52 | ldr \rd, [\rx, #0x08] | 57 | ldr \rd, [\rx, #0x08] |
53 | #else | 58 | #else |
54 | @ wait for TX_READY | 59 | @ wait for TX_READY |
55 | 1001: ldr \rd, [\rx, #0x08] | 60 | 1001: ldr \rd, [\rx, #0x08] |
61 | ARM_BE8(rev \rd, \rd ) | ||
56 | tst \rd, #0x04 | 62 | tst \rd, #0x04 |
57 | beq 1001b | 63 | beq 1001b |
58 | #endif | 64 | #endif |