Commit 631e55f9 authored by Russell King's avatar Russell King

ARM: realview: use new init_early for clock tree and sched_clock init

Initialize the clock tree and our sched_clock() early.
Acked-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent ad3bb19c
...@@ -360,18 +360,19 @@ static struct clk_lookup lookups[] = { ...@@ -360,18 +360,19 @@ static struct clk_lookup lookups[] = {
} }
}; };
static int __init clk_init(void) void __init realview_init_early(void)
{ {
void __iomem *sys = __io_address(REALVIEW_SYS_BASE);
if (machine_is_realview_pb1176()) if (machine_is_realview_pb1176())
oscvco_clk.vcoreg = __io_address(REALVIEW_SYS_BASE) + REALVIEW_SYS_OSC0_OFFSET; oscvco_clk.vcoreg = sys + REALVIEW_SYS_OSC0_OFFSET;
else else
oscvco_clk.vcoreg = __io_address(REALVIEW_SYS_BASE) + REALVIEW_SYS_OSC4_OFFSET; oscvco_clk.vcoreg = sys + REALVIEW_SYS_OSC4_OFFSET;
clkdev_add_table(lookups, ARRAY_SIZE(lookups)); clkdev_add_table(lookups, ARRAY_SIZE(lookups));
return 0; versatile_sched_clock_init(sys + REALVIEW_SYS_24MHz_OFFSET, 24000000);
} }
core_initcall(clk_init);
/* /*
* CLCD support. * CLCD support.
...@@ -509,12 +510,6 @@ void realview_leds_event(led_event_t ledevt) ...@@ -509,12 +510,6 @@ void realview_leds_event(led_event_t ledevt)
} }
#endif /* CONFIG_LEDS */ #endif /* CONFIG_LEDS */
/*
* The sched_clock counter
*/
#define REFCOUNTER (__io_address(REALVIEW_SYS_BASE) + \
REALVIEW_SYS_24MHz_OFFSET)
/* /*
* Where is the timer (VA)? * Where is the timer (VA)?
*/ */
...@@ -530,8 +525,6 @@ void __init realview_timer_init(unsigned int timer_irq) ...@@ -530,8 +525,6 @@ void __init realview_timer_init(unsigned int timer_irq)
{ {
u32 val; u32 val;
versatile_sched_clock_init(REFCOUNTER, 24000000);
/* /*
* set clock frequency: * set clock frequency:
* REALVIEW_REFCLK is 32KHz * REALVIEW_REFCLK is 32KHz
......
...@@ -63,6 +63,7 @@ extern void realview_timer_init(unsigned int timer_irq); ...@@ -63,6 +63,7 @@ extern void realview_timer_init(unsigned int timer_irq);
extern int realview_flash_register(struct resource *res, u32 num); extern int realview_flash_register(struct resource *res, u32 num);
extern int realview_eth_register(const char *name, struct resource *res); extern int realview_eth_register(const char *name, struct resource *res);
extern int realview_usb_register(struct resource *res); extern int realview_usb_register(struct resource *res);
extern void realview_init_early(void);
extern void realview_fixup(struct machine_desc *mdesc, struct tag *tags, extern void realview_fixup(struct machine_desc *mdesc, struct tag *tags,
char **from, struct meminfo *meminfo); char **from, struct meminfo *meminfo);
extern void (*realview_reset)(char); extern void (*realview_reset)(char);
......
...@@ -487,6 +487,7 @@ MACHINE_START(REALVIEW_EB, "ARM-RealView EB") ...@@ -487,6 +487,7 @@ MACHINE_START(REALVIEW_EB, "ARM-RealView EB")
.boot_params = PHYS_OFFSET + 0x00000100, .boot_params = PHYS_OFFSET + 0x00000100,
.fixup = realview_fixup, .fixup = realview_fixup,
.map_io = realview_eb_map_io, .map_io = realview_eb_map_io,
.init_early = realview_init_early,
.init_irq = gic_init_irq, .init_irq = gic_init_irq,
.timer = &realview_eb_timer, .timer = &realview_eb_timer,
.init_machine = realview_eb_init, .init_machine = realview_eb_init,
......
...@@ -382,6 +382,7 @@ MACHINE_START(REALVIEW_PB1176, "ARM-RealView PB1176") ...@@ -382,6 +382,7 @@ MACHINE_START(REALVIEW_PB1176, "ARM-RealView PB1176")
.boot_params = PHYS_OFFSET + 0x00000100, .boot_params = PHYS_OFFSET + 0x00000100,
.fixup = realview_pb1176_fixup, .fixup = realview_pb1176_fixup,
.map_io = realview_pb1176_map_io, .map_io = realview_pb1176_map_io,
.init_early = realview_init_early,
.init_irq = gic_init_irq, .init_irq = gic_init_irq,
.timer = &realview_pb1176_timer, .timer = &realview_pb1176_timer,
.init_machine = realview_pb1176_init, .init_machine = realview_pb1176_init,
......
...@@ -384,6 +384,7 @@ MACHINE_START(REALVIEW_PB11MP, "ARM-RealView PB11MPCore") ...@@ -384,6 +384,7 @@ MACHINE_START(REALVIEW_PB11MP, "ARM-RealView PB11MPCore")
.boot_params = PHYS_OFFSET + 0x00000100, .boot_params = PHYS_OFFSET + 0x00000100,
.fixup = realview_fixup, .fixup = realview_fixup,
.map_io = realview_pb11mp_map_io, .map_io = realview_pb11mp_map_io,
.init_early = realview_init_early,
.init_irq = gic_init_irq, .init_irq = gic_init_irq,
.timer = &realview_pb11mp_timer, .timer = &realview_pb11mp_timer,
.init_machine = realview_pb11mp_init, .init_machine = realview_pb11mp_init,
......
...@@ -334,6 +334,7 @@ MACHINE_START(REALVIEW_PBA8, "ARM-RealView PB-A8") ...@@ -334,6 +334,7 @@ MACHINE_START(REALVIEW_PBA8, "ARM-RealView PB-A8")
.boot_params = PHYS_OFFSET + 0x00000100, .boot_params = PHYS_OFFSET + 0x00000100,
.fixup = realview_fixup, .fixup = realview_fixup,
.map_io = realview_pba8_map_io, .map_io = realview_pba8_map_io,
.init_early = realview_init_early,
.init_irq = gic_init_irq, .init_irq = gic_init_irq,
.timer = &realview_pba8_timer, .timer = &realview_pba8_timer,
.init_machine = realview_pba8_init, .init_machine = realview_pba8_init,
......
...@@ -417,6 +417,7 @@ MACHINE_START(REALVIEW_PBX, "ARM-RealView PBX") ...@@ -417,6 +417,7 @@ MACHINE_START(REALVIEW_PBX, "ARM-RealView PBX")
.boot_params = PHYS_OFFSET + 0x00000100, .boot_params = PHYS_OFFSET + 0x00000100,
.fixup = realview_pbx_fixup, .fixup = realview_pbx_fixup,
.map_io = realview_pbx_map_io, .map_io = realview_pbx_map_io,
.init_early = realview_init_early,
.init_irq = gic_init_irq, .init_irq = gic_init_irq,
.timer = &realview_pbx_timer, .timer = &realview_pbx_timer,
.init_machine = realview_pbx_init, .init_machine = realview_pbx_init,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment