diff options
Diffstat (limited to 'arch/arm/mach-kirkwood/common.c')
-rw-r--r-- | arch/arm/mach-kirkwood/common.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/arch/arm/mach-kirkwood/common.c b/arch/arm/mach-kirkwood/common.c index 3688123b5ad..20e71df3e3b 100644 --- a/arch/arm/mach-kirkwood/common.c +++ b/arch/arm/mach-kirkwood/common.c | |||
@@ -21,6 +21,7 @@ | |||
21 | #include <net/dsa.h> | 21 | #include <net/dsa.h> |
22 | #include <asm/page.h> | 22 | #include <asm/page.h> |
23 | #include <asm/timex.h> | 23 | #include <asm/timex.h> |
24 | #include <asm/kexec.h> | ||
24 | #include <asm/mach/map.h> | 25 | #include <asm/mach/map.h> |
25 | #include <asm/mach/time.h> | 26 | #include <asm/mach/time.h> |
26 | #include <mach/kirkwood.h> | 27 | #include <mach/kirkwood.h> |
@@ -846,9 +847,14 @@ static void __init kirkwood_wdt_init(void) | |||
846 | /***************************************************************************** | 847 | /***************************************************************************** |
847 | * Time handling | 848 | * Time handling |
848 | ****************************************************************************/ | 849 | ****************************************************************************/ |
850 | void __init kirkwood_init_early(void) | ||
851 | { | ||
852 | orion_time_set_base(TIMER_VIRT_BASE); | ||
853 | } | ||
854 | |||
849 | int kirkwood_tclk; | 855 | int kirkwood_tclk; |
850 | 856 | ||
851 | int __init kirkwood_find_tclk(void) | 857 | static int __init kirkwood_find_tclk(void) |
852 | { | 858 | { |
853 | u32 dev, rev; | 859 | u32 dev, rev; |
854 | 860 | ||
@@ -864,7 +870,9 @@ int __init kirkwood_find_tclk(void) | |||
864 | static void __init kirkwood_timer_init(void) | 870 | static void __init kirkwood_timer_init(void) |
865 | { | 871 | { |
866 | kirkwood_tclk = kirkwood_find_tclk(); | 872 | kirkwood_tclk = kirkwood_find_tclk(); |
867 | orion_time_init(IRQ_KIRKWOOD_BRIDGE, kirkwood_tclk); | 873 | |
874 | orion_time_init(BRIDGE_VIRT_BASE, BRIDGE_INT_TIMER1_CLR, | ||
875 | IRQ_KIRKWOOD_BRIDGE, kirkwood_tclk); | ||
868 | } | 876 | } |
869 | 877 | ||
870 | struct sys_timer kirkwood_timer = { | 878 | struct sys_timer kirkwood_timer = { |
@@ -1003,6 +1011,10 @@ void __init kirkwood_init(void) | |||
1003 | kirkwood_xor0_init(); | 1011 | kirkwood_xor0_init(); |
1004 | kirkwood_xor1_init(); | 1012 | kirkwood_xor1_init(); |
1005 | kirkwood_crypto_init(); | 1013 | kirkwood_crypto_init(); |
1014 | |||
1015 | #ifdef CONFIG_KEXEC | ||
1016 | kexec_reinit = kirkwood_enable_pcie; | ||
1017 | #endif | ||
1006 | } | 1018 | } |
1007 | 1019 | ||
1008 | static int __init kirkwood_clock_gate(void) | 1020 | static int __init kirkwood_clock_gate(void) |