diff options
Diffstat (limited to 'arch/arm/mach-omap2/include/mach/debug-macro.S')
-rw-r--r-- | arch/arm/mach-omap2/include/mach/debug-macro.S | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/arch/arm/mach-omap2/include/mach/debug-macro.S b/arch/arm/mach-omap2/include/mach/debug-macro.S index 6a4d4136002e..6049f465ec84 100644 --- a/arch/arm/mach-omap2/include/mach/debug-macro.S +++ b/arch/arm/mach-omap2/include/mach/debug-macro.S | |||
@@ -19,6 +19,9 @@ | |||
19 | 19 | ||
20 | #define UART_OFFSET(addr) ((addr) & 0x00ffffff) | 20 | #define UART_OFFSET(addr) ((addr) & 0x00ffffff) |
21 | 21 | ||
22 | #define omap_uart_v2p(x) ((x) - PAGE_OFFSET + PLAT_PHYS_OFFSET) | ||
23 | #define omap_uart_p2v(x) ((x) - PLAT_PHYS_OFFSET + PAGE_OFFSET) | ||
24 | |||
22 | .pushsection .data | 25 | .pushsection .data |
23 | omap_uart_phys: .word 0 | 26 | omap_uart_phys: .word 0 |
24 | omap_uart_virt: .word 0 | 27 | omap_uart_virt: .word 0 |
@@ -36,7 +39,7 @@ omap_uart_lsr: .word 0 | |||
36 | /* Use omap_uart_phys/virt if already configured */ | 39 | /* Use omap_uart_phys/virt if already configured */ |
37 | 10: mrc p15, 0, \rp, c1, c0 | 40 | 10: mrc p15, 0, \rp, c1, c0 |
38 | tst \rp, #1 @ MMU enabled? | 41 | tst \rp, #1 @ MMU enabled? |
39 | ldreq \rp, =__virt_to_phys(omap_uart_phys) @ MMU not enabled | 42 | ldreq \rp, =omap_uart_v2p(omap_uart_phys) @ MMU disabled |
40 | ldrne \rp, =omap_uart_phys @ MMU enabled | 43 | ldrne \rp, =omap_uart_phys @ MMU enabled |
41 | add \rv, \rp, #4 @ omap_uart_virt | 44 | add \rv, \rp, #4 @ omap_uart_virt |
42 | ldr \rp, [\rp, #0] | 45 | ldr \rp, [\rp, #0] |
@@ -49,7 +52,7 @@ omap_uart_lsr: .word 0 | |||
49 | mrc p15, 0, \rp, c1, c0 | 52 | mrc p15, 0, \rp, c1, c0 |
50 | tst \rp, #1 @ MMU enabled? | 53 | tst \rp, #1 @ MMU enabled? |
51 | ldreq \rp, =OMAP_UART_INFO @ MMU not enabled | 54 | ldreq \rp, =OMAP_UART_INFO @ MMU not enabled |
52 | ldrne \rp, =__phys_to_virt(OMAP_UART_INFO) @ MMU enabled | 55 | ldrne \rp, =omap_uart_p2v(OMAP_UART_INFO) @ MMU enabled |
53 | ldr \rp, [\rp, #0] | 56 | ldr \rp, [\rp, #0] |
54 | 57 | ||
55 | /* Select the UART to use based on the UART1 scratchpad value */ | 58 | /* Select the UART to use based on the UART1 scratchpad value */ |
@@ -94,7 +97,7 @@ omap_uart_lsr: .word 0 | |||
94 | 95: ldr \rp, =ZOOM_UART_BASE | 97 | 95: ldr \rp, =ZOOM_UART_BASE |
95 | mrc p15, 0, \rv, c1, c0 | 98 | mrc p15, 0, \rv, c1, c0 |
96 | tst \rv, #1 @ MMU enabled? | 99 | tst \rv, #1 @ MMU enabled? |
97 | ldreq \rv, =__virt_to_phys(omap_uart_phys) @ MMU not enabled | 100 | ldreq \rv, =omap_uart_v2p(omap_uart_phys) @ MMU disabled |
98 | ldrne \rv, =omap_uart_phys @ MMU enabled | 101 | ldrne \rv, =omap_uart_phys @ MMU enabled |
99 | str \rp, [\rv, #0] | 102 | str \rp, [\rv, #0] |
100 | ldr \rp, =ZOOM_UART_VIRT | 103 | ldr \rp, =ZOOM_UART_VIRT |
@@ -109,7 +112,7 @@ omap_uart_lsr: .word 0 | |||
109 | 98: add \rp, \rp, #0x48000000 @ phys base | 112 | 98: add \rp, \rp, #0x48000000 @ phys base |
110 | mrc p15, 0, \rv, c1, c0 | 113 | mrc p15, 0, \rv, c1, c0 |
111 | tst \rv, #1 @ MMU enabled? | 114 | tst \rv, #1 @ MMU enabled? |
112 | ldreq \rv, =__virt_to_phys(omap_uart_phys) @ MMU not enabled | 115 | ldreq \rv, =omap_uart_v2p(omap_uart_phys) @ MMU disabled |
113 | ldrne \rv, =omap_uart_phys @ MMU enabled | 116 | ldrne \rv, =omap_uart_phys @ MMU enabled |
114 | str \rp, [\rv, #0] | 117 | str \rp, [\rv, #0] |
115 | sub \rp, \rp, #0x48000000 @ phys base | 118 | sub \rp, \rp, #0x48000000 @ phys base |
@@ -131,7 +134,7 @@ omap_uart_lsr: .word 0 | |||
131 | .macro busyuart,rd,rx | 134 | .macro busyuart,rd,rx |
132 | 1001: mrc p15, 0, \rd, c1, c0 | 135 | 1001: mrc p15, 0, \rd, c1, c0 |
133 | tst \rd, #1 @ MMU enabled? | 136 | tst \rd, #1 @ MMU enabled? |
134 | ldreq \rd, =__virt_to_phys(omap_uart_lsr) @ MMU not enabled | 137 | ldreq \rd, =omap_uart_v2p(omap_uart_lsr) @ MMU disabled |
135 | ldrne \rd, =omap_uart_lsr @ MMU enabled | 138 | ldrne \rd, =omap_uart_lsr @ MMU enabled |
136 | ldr \rd, [\rd, #0] | 139 | ldr \rd, [\rd, #0] |
137 | ldrb \rd, [\rx, \rd] | 140 | ldrb \rd, [\rx, \rd] |