Path: blob/master/arch/sh/boards/mach-sdk7780/irq.c
15126 views
/*1* linux/arch/sh/boards/renesas/sdk7780/irq.c2*3* Renesas Technology Europe SDK7780 Support.4*5* Copyright (C) 2008 Nicholas Beck <[email protected]>6*7* This file is subject to the terms and conditions of the GNU General Public8* License. See the file "COPYING" in the main directory of this archive9* for more details.10*/11#include <linux/init.h>12#include <linux/irq.h>13#include <linux/io.h>14#include <mach/sdk7780.h>1516enum {17UNUSED = 0,18/* board specific interrupt sources */19SMC91C111, /* Ethernet controller */20};2122static struct intc_vect fpga_vectors[] __initdata = {23INTC_IRQ(SMC91C111, IRQ_ETHERNET),24};2526static struct intc_mask_reg fpga_mask_registers[] __initdata = {27{ 0, FPGA_IRQ0MR, 16,28{ 0, 0, 0, 0, 0, 0, 0, 0,290, 0, 0, SMC91C111, 0, 0, 0, 0 } },30};3132static DECLARE_INTC_DESC(fpga_intc_desc, "sdk7780-irq", fpga_vectors,33NULL, fpga_mask_registers, NULL, NULL);3435void __init init_sdk7780_IRQ(void)36{37printk(KERN_INFO "Using SDK7780 interrupt controller.\n");3839__raw_writew(0xFFFF, FPGA_IRQ0MR);40/* Setup IRL 0-3 */41__raw_writew(0x0003, FPGA_IMSR);42plat_irq_setup_pins(IRQ_MODE_IRL3210);4344register_intc_controller(&fpga_intc_desc);45}464748