static void __init gic_init_irq(void) { /* ARM PBX on-board GIC */ if (core_tile_pbx11mp() || core_tile_pbxa9mp()) { gic_init(0, 29, __io_address(REALVIEW_PBX_TILE_GIC_DIST_BASE), __io_address(REALVIEW_PBX_TILE_GIC_CPU_BASE)); } else { gic_init(0, IRQ_PBX_GIC_START, __io_address(REALVIEW_PBX_GIC_DIST_BASE), __io_address(REALVIEW_PBX_GIC_CPU_BASE)); } }
static void __iomem *scu_base_addr(void) { if (machine_is_realview_eb_mp()) return __io_address(REALVIEW_EB11MP_SCU_BASE); else if (machine_is_realview_pb11mp()) return __io_address(REALVIEW_TC11MP_SCU_BASE); else if (machine_is_realview_pbx() && (core_tile_pbx11mp() || core_tile_pbxa9mp())) return __io_address(REALVIEW_PBX_TILE_SCU_BASE); else return (void __iomem *)0; }
static void __init realview_pbx_timer_init(void) { timer0_va_base = __io_address(REALVIEW_PBX_TIMER0_1_BASE); timer1_va_base = __io_address(REALVIEW_PBX_TIMER0_1_BASE) + 0x20; timer2_va_base = __io_address(REALVIEW_PBX_TIMER2_3_BASE); timer3_va_base = __io_address(REALVIEW_PBX_TIMER2_3_BASE) + 0x20; #ifdef CONFIG_LOCAL_TIMERS if (core_tile_pbx11mp() || core_tile_pbxa9mp()) twd_base = __io_address(REALVIEW_PBX_TILE_TWD_BASE); #endif realview_timer_init(IRQ_PBX_TIMER0_1); }
static void __init gic_init_irq(void) { if (core_tile_pbx11mp() || core_tile_pbxa9mp()) { gic_cpu_base_addr = __io_address(REALVIEW_PBX_TILE_GIC_CPU_BASE); gic_dist_init(0, __io_address(REALVIEW_PBX_TILE_GIC_DIST_BASE), 29); gic_cpu_init(0, __io_address(REALVIEW_PBX_TILE_GIC_CPU_BASE)); } else { gic_cpu_base_addr = __io_address(REALVIEW_PBX_GIC_CPU_BASE); gic_dist_init(0, __io_address(REALVIEW_PBX_GIC_DIST_BASE), IRQ_PBX_GIC_START); gic_cpu_init(0, __io_address(REALVIEW_PBX_GIC_CPU_BASE)); } }
static void __init realview_pbx_map_io(void) { iotable_init(realview_pbx_io_desc, ARRAY_SIZE(realview_pbx_io_desc)); if (core_tile_pbx11mp() || core_tile_pbxa9mp()) iotable_init(realview_local_io_desc, ARRAY_SIZE(realview_local_io_desc)); }