diff options
author | Ben Dooks <ben-linux@fluff.org> | 2008-10-21 09:06:42 -0400 |
---|---|---|
committer | Ben Dooks <ben-linux@fluff.org> | 2008-12-15 16:47:31 -0500 |
commit | dcb0902b470deb5500e7e459152859dc4358ca5b (patch) | |
tree | aeefef1199543bfdfa3f384a8cab996ad6503260 | |
parent | a5209797450a7c95a9b546d83dae163833f16437 (diff) |
[ARM] S3C64XX: Add <mach/debug-macro.S>
Add the necessary support for the kernel low-level
debug macros via <mach/debug-macro.S>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
-rw-r--r-- | arch/arm/mach-s3c6400/include/mach/debug-macro.S | 39 | ||||
-rw-r--r-- | arch/arm/mach-s3c6400/include/mach/hardware.h | 16 | ||||
-rw-r--r-- | arch/arm/mach-s3c6400/include/mach/map.h | 40 |
3 files changed, 95 insertions, 0 deletions
diff --git a/arch/arm/mach-s3c6400/include/mach/debug-macro.S b/arch/arm/mach-s3c6400/include/mach/debug-macro.S new file mode 100644 index 000000000000..b18ac5266dfc --- /dev/null +++ b/arch/arm/mach-s3c6400/include/mach/debug-macro.S | |||
@@ -0,0 +1,39 @@ | |||
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> | ||
diff --git a/arch/arm/mach-s3c6400/include/mach/hardware.h b/arch/arm/mach-s3c6400/include/mach/hardware.h new file mode 100644 index 000000000000..862d033e57a4 --- /dev/null +++ b/arch/arm/mach-s3c6400/include/mach/hardware.h | |||
@@ -0,0 +1,16 @@ | |||
1 | /* linux/arch/arm/mach-s3c6400/include/mach/hardware.h | ||
2 | * | ||
3 | * Copyright 2008 Openmoko, Inc. | ||
4 | * Copyright 2008 Simtec Electronics | ||
5 | * Ben Dooks <ben@simtec.co.uk> | ||
6 | * http://armlinux.simtec.co.uk/ | ||
7 | * | ||
8 | * S3C6400 - Hardware support | ||
9 | */ | ||
10 | |||
11 | #ifndef __ASM_ARCH_HARDWARE_H | ||
12 | #define __ASM_ARCH_HARDWARE_H __FILE__ | ||
13 | |||
14 | /* currently nothing here, placeholder */ | ||
15 | |||
16 | #endif /* __ASM_ARCH_IRQ_H */ | ||
diff --git a/arch/arm/mach-s3c6400/include/mach/map.h b/arch/arm/mach-s3c6400/include/mach/map.h new file mode 100644 index 000000000000..0ee6be08e748 --- /dev/null +++ b/arch/arm/mach-s3c6400/include/mach/map.h | |||
@@ -0,0 +1,40 @@ | |||
1 | /* linux/arch/arm/mach-s3c6400/include/mach/map.h | ||
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 | * S3C64XX - Memory map definitions | ||
9 | * | ||
10 | * This program is free software; you can redistribute it and/or modify | ||
11 | * it under the terms of the GNU General Public License version 2 as | ||
12 | * published by the Free Software Foundation. | ||
13 | */ | ||
14 | |||
15 | #ifndef __ASM_ARCH_MAP_H | ||
16 | #define __ASM_ARCH_MAP_H __FILE__ | ||
17 | |||
18 | #include <plat/map-base.h> | ||
19 | |||
20 | #define S3C_PA_UART (0x7F005000) | ||
21 | #define S3C_PA_UART0 (S3C_PA_UART + 0x00) | ||
22 | #define S3C_PA_UART1 (S3C_PA_UART + 0x400) | ||
23 | #define S3C_PA_UART2 (S3C_PA_UART + 0x800) | ||
24 | #define S3C_PA_UART3 (S3C_PA_UART + 0xC00) | ||
25 | #define S3C_UART_OFFSET (0x400) | ||
26 | |||
27 | #define S3C64XX_PA_TIMER (0x7F006000) | ||
28 | |||
29 | #define S3C64XX_PA_SDRAM (0x50000000) | ||
30 | #define S3C64XX_PA_VIC0 (0x71200000) | ||
31 | #define S3C64XX_PA_VIC1 (0x71300000) | ||
32 | |||
33 | /* place VICs close together */ | ||
34 | #define S3C_VA_VIC0 (S3C_VA_IRQ + 0x00) | ||
35 | #define S3C_VA_VIC1 (S3C_VA_IRQ + 0x10000) | ||
36 | |||
37 | /* compatibiltiy defines. */ | ||
38 | #define S3C_PA_TIMER S3C64XX_PA_TIMER | ||
39 | |||
40 | #endif /* __ASM_ARCH_6400_MAP_H */ | ||