2 * SDK7786 FPGA IRQ Controller Support.
4 * Copyright (C) 2010 Matt Fleming
5 * Copyright (C) 2010 Paul Mundt
7 * This file is subject to the terms and conditions of the GNU General Public
8 * License. See the file "COPYING" in the main directory of this archive
11 #include <linux/irq.h>
12 #include <mach/fpga.h>
26 CRYSTAL_FAIL_BIT
= 12,
30 void __init
sdk7786_init_irq(void)
34 /* Enable priority encoding for all IRLs */
35 fpga_write_reg(fpga_read_reg(INTMSR
) | 0x0303, INTMSR
);
37 /* Clear FPGA interrupt status registers */
38 fpga_write_reg(0x0000, INTASR
);
39 fpga_write_reg(0x0000, INTBSR
);
41 /* Unmask FPGA interrupts */
42 tmp
= fpga_read_reg(INTAMR
);
43 tmp
&= ~(1 << ETH_IRQ_BIT
);
44 fpga_write_reg(tmp
, INTAMR
);
46 plat_irq_setup_pins(IRQ_MODE_IRL7654_MASK
);
47 plat_irq_setup_pins(IRQ_MODE_IRL3210_MASK
);