static void __init intcp_init_irq(void) { u32 pic_mask, cic_mask, sic_mask; /* These masks are for the HW IRQ registers */ pic_mask = ~((~0u) << (11 - 0)); pic_mask |= (~((~0u) << (29 - 22))) << 22; cic_mask = ~((~0u) << (1 + IRQ_CIC_END - IRQ_CIC_START)); sic_mask = ~((~0u) << (1 + IRQ_SIC_END - IRQ_SIC_START)); /* * Disable all interrupt sources */ writel(0xffffffff, INTCP_VA_PIC_BASE + IRQ_ENABLE_CLEAR); writel(0xffffffff, INTCP_VA_PIC_BASE + FIQ_ENABLE_CLEAR); writel(0xffffffff, INTCP_VA_CIC_BASE + IRQ_ENABLE_CLEAR); writel(0xffffffff, INTCP_VA_CIC_BASE + FIQ_ENABLE_CLEAR); writel(sic_mask, INTCP_VA_SIC_BASE + IRQ_ENABLE_CLEAR); writel(sic_mask, INTCP_VA_SIC_BASE + FIQ_ENABLE_CLEAR); fpga_irq_init(INTCP_VA_PIC_BASE, "PIC", IRQ_PIC_START, -1, pic_mask, NULL); fpga_irq_init(INTCP_VA_CIC_BASE, "CIC", IRQ_CIC_START, -1, cic_mask, NULL); fpga_irq_init(INTCP_VA_SIC_BASE, "SIC", IRQ_SIC_START, IRQ_CP_CPPLDINT, sic_mask, NULL); integrator_clk_init(true); }
static void __init ap_init_irq_of(void) { /* disable core module IRQs */ writel(0xffffffffU, VA_CMIC_BASE + IRQ_ENABLE_CLEAR); of_irq_init(fpga_irq_of_match); integrator_clk_init(false); }
static void __init ap_init_irq(void) { /* Disable all interrupts initially. */ /* Do the core module ones */ writel(-1, VA_CMIC_BASE + IRQ_ENABLE_CLEAR); /* do the header card stuff next */ writel(-1, VA_IC_BASE + IRQ_ENABLE_CLEAR); writel(-1, VA_IC_BASE + FIQ_ENABLE_CLEAR); fpga_irq_init(VA_IC_BASE, "SC", IRQ_PIC_START, -1, INTEGRATOR_SC_VALID_INT, NULL); integrator_clk_init(false); }
static void __init intcp_init_irq_of(void) { of_irq_init(fpga_irq_of_match); integrator_clk_init(true); }