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