14 #define DRV_NAME "SE7343-FPGA"
15 #define pr_fmt(fmt) DRV_NAME ": " fmt
17 #define irq_reg_readl ioread16
18 #define irq_reg_writel iowrite16
25 #include <asm/sizes.h>
28 #define PA_CPLD_BASE_ADDR 0x11400000
29 #define PA_CPLD_ST_REG 0x08
30 #define PA_CPLD_IMSK_REG 0x0a
32 static void __iomem *se7343_irq_regs;
35 static void se7343_irq_demux(
unsigned int irq,
struct irq_desc *
desc)
52 static void __init se7343_domain_init(
void)
59 printk(
"Failed to get IRQ domain\n");
67 printk(
"Failed to allocate IRQ %d\n", i);
73 static void __init se7343_gc_init(
void)
75 struct irq_chip_generic *
gc;
76 struct irq_chip_type *
ct;
77 unsigned int irq_base;
93 IRQ_GC_INIT_MASK_CACHE,
96 irq_set_chained_handler(
IRQ0_IRQ, se7343_irq_demux);
99 irq_set_chained_handler(
IRQ1_IRQ, se7343_irq_demux);
102 irq_set_chained_handler(
IRQ4_IRQ, se7343_irq_demux);
105 irq_set_chained_handler(
IRQ5_IRQ, se7343_irq_demux);
116 pr_err(
"Failed to remap CPLD\n");
127 se7343_domain_init();