diff options
author | Lennert Buytenhek <buytenh@wantstofly.org> | 2010-10-15 10:50:26 -0400 |
---|---|---|
committer | Nicolas Pitre <nico@fluxnic.net> | 2011-03-03 16:27:01 -0500 |
commit | 4ee1f6b574765a6c97f945e6b0277e5ccac38cb5 (patch) | |
tree | c5e0667c637bd13ddcaca694a571b82254e278eb /arch/arm/mach-loki | |
parent | 40ff15a6cb9e7e84b72ef962d9d27551fb00f54b (diff) |
ARM: Remove dependency of plat-orion time code on mach directory includes.
This patch makes the various mach dirs that use the plat-orion time
code pass in timer and bridge addresses explicitly, instead of having
plat-orion get those values by including a mach dir include file --
the latter mechanism is problematic if you want to support multiple
ARM platforms in the same kernel image.
Signed-off-by: Lennert Buytenhek <buytenh@secretlab.ca>
Signed-off-by: Nicolas Pitre <nico@fluxnic.net>
Diffstat (limited to 'arch/arm/mach-loki')
-rw-r--r-- | arch/arm/mach-loki/common.c | 9 | ||||
-rw-r--r-- | arch/arm/mach-loki/common.h | 1 | ||||
-rw-r--r-- | arch/arm/mach-loki/include/mach/bridge-regs.h | 5 | ||||
-rw-r--r-- | arch/arm/mach-loki/lb88rc8480-setup.c | 1 |
4 files changed, 10 insertions, 6 deletions
diff --git a/arch/arm/mach-loki/common.c b/arch/arm/mach-loki/common.c index 818f19d7ab1f..e41e909cf8f4 100644 --- a/arch/arm/mach-loki/common.c +++ b/arch/arm/mach-loki/common.c | |||
@@ -18,6 +18,7 @@ | |||
18 | #include <asm/timex.h> | 18 | #include <asm/timex.h> |
19 | #include <asm/mach/map.h> | 19 | #include <asm/mach/map.h> |
20 | #include <asm/mach/time.h> | 20 | #include <asm/mach/time.h> |
21 | #include <mach/bridge-regs.h> | ||
21 | #include <mach/loki.h> | 22 | #include <mach/loki.h> |
22 | #include <plat/orion_nand.h> | 23 | #include <plat/orion_nand.h> |
23 | #include <plat/time.h> | 24 | #include <plat/time.h> |
@@ -290,9 +291,15 @@ void __init loki_uart1_init(void) | |||
290 | /***************************************************************************** | 291 | /***************************************************************************** |
291 | * Time handling | 292 | * Time handling |
292 | ****************************************************************************/ | 293 | ****************************************************************************/ |
294 | void __init loki_init_early(void) | ||
295 | { | ||
296 | orion_time_set_base(TIMER_VIRT_BASE); | ||
297 | } | ||
298 | |||
293 | static void loki_timer_init(void) | 299 | static void loki_timer_init(void) |
294 | { | 300 | { |
295 | orion_time_init(IRQ_LOKI_BRIDGE, LOKI_TCLK); | 301 | orion_time_init(BRIDGE_VIRT_BASE, BRIDGE_INT_TIMER1_CLR, |
302 | IRQ_LOKI_BRIDGE, LOKI_TCLK); | ||
296 | } | 303 | } |
297 | 304 | ||
298 | struct sys_timer loki_timer = { | 305 | struct sys_timer loki_timer = { |
diff --git a/arch/arm/mach-loki/common.h b/arch/arm/mach-loki/common.h index 26054fd0f05e..a315dcf8887c 100644 --- a/arch/arm/mach-loki/common.h +++ b/arch/arm/mach-loki/common.h | |||
@@ -18,6 +18,7 @@ struct mv643xx_eth_platform_data; | |||
18 | */ | 18 | */ |
19 | void loki_map_io(void); | 19 | void loki_map_io(void); |
20 | void loki_init(void); | 20 | void loki_init(void); |
21 | void loki_init_early(void); | ||
21 | void loki_init_irq(void); | 22 | void loki_init_irq(void); |
22 | 23 | ||
23 | extern struct mbus_dram_target_info loki_mbus_dram_info; | 24 | extern struct mbus_dram_target_info loki_mbus_dram_info; |
diff --git a/arch/arm/mach-loki/include/mach/bridge-regs.h b/arch/arm/mach-loki/include/mach/bridge-regs.h index a3fabf70044f..fd87732097cd 100644 --- a/arch/arm/mach-loki/include/mach/bridge-regs.h +++ b/arch/arm/mach-loki/include/mach/bridge-regs.h | |||
@@ -17,11 +17,6 @@ | |||
17 | #define SYSTEM_SOFT_RESET (BRIDGE_VIRT_BASE | 0x010c) | 17 | #define SYSTEM_SOFT_RESET (BRIDGE_VIRT_BASE | 0x010c) |
18 | #define SOFT_RESET 0x00000001 | 18 | #define SOFT_RESET 0x00000001 |
19 | 19 | ||
20 | #define BRIDGE_CAUSE (BRIDGE_VIRT_BASE | 0x0110) | ||
21 | |||
22 | #define BRIDGE_MASK (BRIDGE_VIRT_BASE | 0x0114) | ||
23 | #define BRIDGE_INT_TIMER0 0x0002 | ||
24 | #define BRIDGE_INT_TIMER1 0x0004 | ||
25 | #define BRIDGE_INT_TIMER1_CLR 0x0004 | 20 | #define BRIDGE_INT_TIMER1_CLR 0x0004 |
26 | 21 | ||
27 | #define IRQ_VIRT_BASE (BRIDGE_VIRT_BASE | 0x0200) | 22 | #define IRQ_VIRT_BASE (BRIDGE_VIRT_BASE | 0x0200) |
diff --git a/arch/arm/mach-loki/lb88rc8480-setup.c b/arch/arm/mach-loki/lb88rc8480-setup.c index a1e75e7fc500..35eae4e6abb2 100644 --- a/arch/arm/mach-loki/lb88rc8480-setup.c +++ b/arch/arm/mach-loki/lb88rc8480-setup.c | |||
@@ -93,6 +93,7 @@ MACHINE_START(LB88RC8480, "Marvell LB88RC8480 Development Board") | |||
93 | .boot_params = 0x00000100, | 93 | .boot_params = 0x00000100, |
94 | .init_machine = lb88rc8480_init, | 94 | .init_machine = lb88rc8480_init, |
95 | .map_io = loki_map_io, | 95 | .map_io = loki_map_io, |
96 | .init_early = loki_init_early, | ||
96 | .init_irq = loki_init_irq, | 97 | .init_irq = loki_init_irq, |
97 | .timer = &loki_timer, | 98 | .timer = &loki_timer, |
98 | MACHINE_END | 99 | MACHINE_END |