Merge branch 'akpm' (incoming from Andrew Morton)
[firefly-linux-kernel-4.4.55.git] / arch / arm / include / debug / ux500.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
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_DB8500
24 #define U8500_UART0_PHYS_BASE   (0x80120000)
25 #define U8500_UART1_PHYS_BASE   (0x80121000)
26 #define U8500_UART2_PHYS_BASE   (0x80007000)
27 #define U8500_UART0_VIRT_BASE   (0xf8120000)
28 #define U8500_UART1_VIRT_BASE   (0xf8121000)
29 #define U8500_UART2_VIRT_BASE   (0xf8007000)
30 #define __UX500_PHYS_UART(n)    U8500_UART##n##_PHYS_BASE
31 #define __UX500_VIRT_UART(n)    U8500_UART##n##_VIRT_BASE
32 #endif
33
34 #if !defined(__UX500_PHYS_UART) || !defined(__UX500_VIRT_UART)
35 #error Unknown SOC
36 #endif
37
38 #define UX500_PHYS_UART(n)      __UX500_PHYS_UART(n)
39 #define UX500_VIRT_UART(n)      __UX500_VIRT_UART(n)
40 #define UART_PHYS_BASE  UX500_PHYS_UART(CONFIG_UX500_DEBUG_UART)
41 #define UART_VIRT_BASE  UX500_VIRT_UART(CONFIG_UX500_DEBUG_UART)
42
43         .macro  addruart, rp, rv, tmp
44         ldr     \rp, =UART_PHYS_BASE            @ no, physical address
45         ldr     \rv, =UART_VIRT_BASE            @ yes, virtual address
46         .endm
47
48 #include <asm/hardware/debug-pl01x.S>