9d142ccf654bbab3fa046b0d9576b4982025eb78
[linux-3.10.git] / arch / arm / mach-s5pc100 / include / mach / debug-macro.S
1 /* arch/arm/mach-s5pc100/include/mach/debug-macro.S
2  *
3  * Copyright 2009 Samsung Electronics Co.
4  *      Byungho Min <bhmin@samsung.com>
5  *
6  *
7  * Based on mach-s3c6400/include/mach/debug-macro.S
8  *
9  * This program is free software; you can redistribute it and/or modify
10  * it under the terms of the GNU General Public License version 2 as
11  * published by the Free Software Foundation.
12 */
13
14 /* pull in the relevant register and map files. */
15
16 #include <mach/map.h>
17 #include <plat/regs-serial.h>
18
19         /* note, for the boot process to work we have to keep the UART
20          * virtual address aligned to an 1MiB boundary for the L1
21          * mapping the head code makes. We keep the UART virtual address
22          * aligned and add in the offset when we load the value here.
23          */
24
25         .macro addruart, rx
26                 mrc     p15, 0, \rx, c1, c0
27                 tst     \rx, #1
28                 ldreq   \rx, = S3C_PA_UART
29                 ldrne   \rx, = (S3C_VA_UART + S3C_PA_UART & 0xfffff)
30                 add     \rx, \rx, #(0x400 * CONFIG_DEBUG_S3C_UART)
31         .endm
32
33 /* include the reset of the code which will do the work, we're only
34  * compiling for a single cpu processor type so the default of s3c2440
35  * will be fine with us.
36  */
37
38 #include <plat/debug-macro.S>