diff options
author | Barry Song <bs14@csr.com> | 2011-07-08 05:40:13 -0400 |
---|---|---|
committer | Barry Song <21cnbao@gmail.com> | 2011-07-08 19:20:51 -0400 |
commit | 31adb06f9d68f9d033284c9ab0e264b2d581bceb (patch) | |
tree | e43a95fdfd66d0a5fad0597d00d6e0a0707d4dd2 | |
parent | 02c981c07bc95ac1e42ec6c817f0c28cf3fe993a (diff) |
ARM: CSR: mapping early DEBUG_LL uart
Signed-off-by: Barry Song <baohua.song@csr.com>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
-rw-r--r-- | arch/arm/mach-prima2/Makefile | 1 | ||||
-rw-r--r-- | arch/arm/mach-prima2/common.h | 6 | ||||
-rw-r--r-- | arch/arm/mach-prima2/lluart.c | 25 | ||||
-rw-r--r-- | arch/arm/mach-prima2/prima2.c | 1 |
4 files changed, 33 insertions, 0 deletions
diff --git a/arch/arm/mach-prima2/Makefile b/arch/arm/mach-prima2/Makefile index d44f7aedda87..f2fba666c109 100644 --- a/arch/arm/mach-prima2/Makefile +++ b/arch/arm/mach-prima2/Makefile | |||
@@ -3,3 +3,4 @@ obj-y += irq.o | |||
3 | obj-y += clock.o | 3 | obj-y += clock.o |
4 | obj-y += rstc.o | 4 | obj-y += rstc.o |
5 | obj-y += prima2.o | 5 | obj-y += prima2.o |
6 | obj-$(CONFIG_DEBUG_LL) += lluart.o | ||
diff --git a/arch/arm/mach-prima2/common.h b/arch/arm/mach-prima2/common.h index fa4a3b5c674a..83e5d2128118 100644 --- a/arch/arm/mach-prima2/common.h +++ b/arch/arm/mach-prima2/common.h | |||
@@ -17,4 +17,10 @@ extern struct sys_timer sirfsoc_timer; | |||
17 | extern void __init sirfsoc_of_irq_init(void); | 17 | extern void __init sirfsoc_of_irq_init(void); |
18 | extern void __init sirfsoc_of_clk_init(void); | 18 | extern void __init sirfsoc_of_clk_init(void); |
19 | 19 | ||
20 | #ifndef CONFIG_DEBUG_LL | ||
21 | static inline void sirfsoc_map_lluart(void) {} | ||
22 | #else | ||
23 | extern void __init sirfsoc_map_lluart(void); | ||
24 | #endif | ||
25 | |||
20 | #endif | 26 | #endif |
diff --git a/arch/arm/mach-prima2/lluart.c b/arch/arm/mach-prima2/lluart.c new file mode 100644 index 000000000000..a89f9b3c8cc5 --- /dev/null +++ b/arch/arm/mach-prima2/lluart.c | |||
@@ -0,0 +1,25 @@ | |||
1 | /* | ||
2 | * Static memory mapping for DEBUG_LL | ||
3 | * | ||
4 | * Copyright (c) 2011 Cambridge Silicon Radio Limited, a CSR plc group company. | ||
5 | * | ||
6 | * Licensed under GPLv2 or later. | ||
7 | */ | ||
8 | |||
9 | #include <linux/kernel.h> | ||
10 | #include <asm/page.h> | ||
11 | #include <asm/mach/map.h> | ||
12 | #include <mach/map.h> | ||
13 | #include <mach/uart.h> | ||
14 | |||
15 | void __init sirfsoc_map_lluart(void) | ||
16 | { | ||
17 | struct map_desc sirfsoc_lluart_map = { | ||
18 | .virtual = SIRFSOC_UART1_VA_BASE, | ||
19 | .pfn = __phys_to_pfn(SIRFSOC_UART1_PA_BASE), | ||
20 | .length = SIRFSOC_UART1_SIZE, | ||
21 | .type = MT_DEVICE, | ||
22 | }; | ||
23 | |||
24 | iotable_init(&sirfsoc_lluart_map, 1); | ||
25 | } | ||
diff --git a/arch/arm/mach-prima2/prima2.c b/arch/arm/mach-prima2/prima2.c index c26947d76e12..f57124bdd143 100644 --- a/arch/arm/mach-prima2/prima2.c +++ b/arch/arm/mach-prima2/prima2.c | |||
@@ -33,6 +33,7 @@ MACHINE_START(PRIMA2_EVB, "prima2cb") | |||
33 | /* Maintainer: Barry Song <baohua.song@csr.com> */ | 33 | /* Maintainer: Barry Song <baohua.song@csr.com> */ |
34 | .boot_params = 0x00000100, | 34 | .boot_params = 0x00000100, |
35 | .init_early = sirfsoc_of_clk_init, | 35 | .init_early = sirfsoc_of_clk_init, |
36 | .map_io = sirfsoc_map_lluart, | ||
36 | .init_irq = sirfsoc_of_irq_init, | 37 | .init_irq = sirfsoc_of_irq_init, |
37 | .timer = &sirfsoc_timer, | 38 | .timer = &sirfsoc_timer, |
38 | .init_machine = sirfsoc_mach_init, | 39 | .init_machine = sirfsoc_mach_init, |