700fb05ee8155770f5734ad340ce616e5b8a8e50
[linux-2.6.git] / arch / arm / mach-ux500 / include / mach / debug-macro.S
1 /*
2  * Debugging macro include header
3  *
4  *  Copyright (C) 2009 ST-Ericsson
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License version 2 as
8  * published by the Free Software Foundation.
9  *
10  */
11 #include <mach/hardware.h>
12
13 #if CONFIG_UX500_DEBUG_UART > 2
14 #error Invalid Ux500 debug UART
15 #endif
16
17 /*
18  * DEBUG_LL only works if only one SOC is built in.  We don't use #else below
19  * in order to get "__UX500_UART redefined" warnings if more than one SOC is
20  * built, so that there's some hint during the build that something is wrong.
21  */
22
23 #ifdef CONFIG_UX500_SOC_DB5500
24 #define __UX500_UART(n) U5500_UART##n##_BASE
25 #endif
26
27 #ifdef CONFIG_UX500_SOC_DB8500
28 #define __UX500_UART(n) U8500_UART##n##_BASE
29 #endif
30
31 #ifndef __UX500_UART
32 #error Unknown SOC
33 #endif
34
35 #define UX500_UART(n)   __UX500_UART(n)
36 #define UART_BASE       UX500_UART(CONFIG_UX500_DEBUG_UART)
37
38         .macro  addruart, rp, rv
39         ldr     \rp, =UART_BASE                         @ no, physical address
40         ldr     \rv, =IO_ADDRESS(UART_BASE)             @ yes, virtual address
41         .endm
42
43 #include <asm/hardware/debug-pl01x.S>