static void __init realview_pba8_timer_init(void) { timer0_va_base = __io_address(REALVIEW_PBA8_TIMER0_1_BASE); timer1_va_base = __io_address(REALVIEW_PBA8_TIMER0_1_BASE) + 0x20; timer2_va_base = __io_address(REALVIEW_PBA8_TIMER2_3_BASE); timer3_va_base = __io_address(REALVIEW_PBA8_TIMER2_3_BASE) + 0x20; realview_clk_init(__io_address(REALVIEW_SYS_BASE), false); realview_timer_init(IRQ_PBA8_TIMER0_1); }
static void __init realview_pb1176_timer_init(void) { timer0_va_base = __io_address(REALVIEW_PB1176_TIMER0_1_BASE); timer1_va_base = __io_address(REALVIEW_PB1176_TIMER0_1_BASE) + 0x20; timer2_va_base = __io_address(REALVIEW_PB1176_TIMER2_3_BASE); timer3_va_base = __io_address(REALVIEW_PB1176_TIMER2_3_BASE) + 0x20; realview_clk_init(__io_address(REALVIEW_SYS_BASE), true); realview_timer_init(IRQ_DC1176_TIMER0); }
static int __init realview_early_init(struct vmm_devtree_node *node) { /* Initialize sysreg */ realview_sysreg_of_early_init(); /* Intialize realview clocking */ realview_clk_init((void *)realview_system_base(), FALSE); /* Setup CLCD (before probing) */ node = vmm_devtree_find_compatible(NULL, NULL, "arm,pl111"); if (node) { node->system_data = &clcd_system_data; } vmm_devtree_dref_node(node); return VMM_OK; }
static void __init realview_eb_timer_init(void) { unsigned int timer_irq; timer0_va_base = __io_address(REALVIEW_EB_TIMER0_1_BASE); timer1_va_base = __io_address(REALVIEW_EB_TIMER0_1_BASE) + 0x20; timer2_va_base = __io_address(REALVIEW_EB_TIMER2_3_BASE); timer3_va_base = __io_address(REALVIEW_EB_TIMER2_3_BASE) + 0x20; if (core_tile_eb11mp() || core_tile_a9mp()) timer_irq = IRQ_EB11MP_TIMER0_1; else timer_irq = IRQ_EB_TIMER0_1; realview_clk_init(__io_address(REALVIEW_SYS_BASE), false); realview_timer_init(timer_irq); realview_eb_twd_init(); }