summaryrefslogtreecommitdiffstats
path: root/arch/arm/include/debug
diff options
context:
space:
mode:
authorLinus Walleij <linus.walleij@linaro.org>2013-04-05 16:07:31 +0200
committerLinus Walleij <linus.walleij@linaro.org>2013-04-08 13:59:14 +0200
commit9bed3e05e94fbdfc986fba4be7fa5e83db909874 (patch)
treea8f2047f62f925747388a742633730b042f129f1 /arch/arm/include/debug
parentARM: ux500: move debugmacro to debug includes (diff)
downloadlinux-9bed3e05e94fbdfc986fba4be7fa5e83db909874.tar.xz
linux-9bed3e05e94fbdfc986fba4be7fa5e83db909874.zip
ARM: ux500: make debug macro stand-alone
This pushes the knowledge of physical addresses down into the debug macro so we can get rid of the <mach/hardware.h> dependency. Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'arch/arm/include/debug')
-rw-r--r--arch/arm/include/debug/ux500.S23
1 files changed, 16 insertions, 7 deletions
diff --git a/arch/arm/include/debug/ux500.S b/arch/arm/include/debug/ux500.S
index 67035223334a..2848857f5b62 100644
--- a/arch/arm/include/debug/ux500.S
+++ b/arch/arm/include/debug/ux500.S
@@ -8,7 +8,7 @@
* published by the Free Software Foundation.
*
*/
-#include <mach/hardware.h>
+
#if CONFIG_UX500_DEBUG_UART > 2
#error Invalid Ux500 debug UART
@@ -21,19 +21,28 @@
*/
#ifdef CONFIG_UX500_SOC_DB8500
-#define __UX500_UART(n) U8500_UART##n##_BASE
+#define U8500_UART0_PHYS_BASE (0x80120000)
+#define U8500_UART1_PHYS_BASE (0x80121000)
+#define U8500_UART2_PHYS_BASE (0x80007000)
+#define U8500_UART0_VIRT_BASE (0xa8120000)
+#define U8500_UART1_VIRT_BASE (0xa8121000)
+#define U8500_UART2_VIRT_BASE (0xa8007000)
+#define __UX500_PHYS_UART(n) U8500_UART##n##_PHYS_BASE
+#define __UX500_VIRT_UART(n) U8500_UART##n##_VIRT_BASE
#endif
-#ifndef __UX500_UART
+#if !defined(__UX500_PHYS_UART) || !defined(__UX500_VIRT_UART)
#error Unknown SOC
#endif
-#define UX500_UART(n) __UX500_UART(n)
-#define UART_BASE UX500_UART(CONFIG_UX500_DEBUG_UART)
+#define UX500_PHYS_UART(n) __UX500_PHYS_UART(n)
+#define UX500_VIRT_UART(n) __UX500_VIRT_UART(n)
+#define UART_PHYS_BASE UX500_PHYS_UART(CONFIG_UX500_DEBUG_UART)
+#define UART_VIRT_BASE UX500_VIRT_UART(CONFIG_UX500_DEBUG_UART)
.macro addruart, rp, rv, tmp
- ldr \rp, =UART_BASE @ no, physical address
- ldr \rv, =IO_ADDRESS(UART_BASE) @ yes, virtual address
+ ldr \rp, =UART_PHYS_BASE @ no, physical address
+ ldr \rv, =UART_VIRT_BASE @ yes, virtual address
.endm
#include <asm/hardware/debug-pl01x.S>