ARM: add an extra temp register to the low level debugging addruart macro
[linux-2.6.git] / arch / arm / mach-s3c64xx / 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, rp, rv, tmp
25                 ldr     \rp, = S3C_PA_UART
26                 ldr     \rv, = (S3C_VA_UART + S3C_PA_UART & 0xfffff)
27 #if CONFIG_DEBUG_S3C_UART != 0
28                 add     \rp, \rp, #(0x400 * CONFIG_DEBUG_S3C_UART)
29                 add     \rv, \rv, #(0x400 * CONFIG_DEBUG_S3C_UART)
30 #endif
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>