ARM: ux500: make debug macro stand-alone
authorLinus Walleij <linus.walleij@linaro.org>
Fri, 5 Apr 2013 14:07:31 +0000 (16:07 +0200)
committerLinus Walleij <linus.walleij@linaro.org>
Mon, 8 Apr 2013 11:59:14 +0000 (13:59 +0200)
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>
arch/arm/include/debug/ux500.S

index 6703522..2848857 100644 (file)
@@ -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
  */
 
 #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>