xref: /linux/arch/sh/boards/mach-se/7751/irq.c (revision cf206bffbb7542df54043fad9898113172af99d8)
1 /*
2  * linux/arch/sh/boards/se/7751/irq.c
3  *
4  * Copyright (C) 2000  Kazumoto Kojima
5  *
6  * Hitachi SolutionEngine Support.
7  *
8  * Modified for 7751 Solution Engine by
9  * Ian da Silva and Jeremy Siegel, 2001.
10  */
11 
12 #include <linux/init.h>
13 #include <linux/irq.h>
14 #include <asm/irq.h>
15 #include <mach-se/mach/se7751.h>
16 
17 static struct ipr_data ipr_irq_table[] = {
18 	{ 13, 3, 3, 2 },
19 	/* Add additional entries here as drivers are added and tested. */
20 };
21 
22 static unsigned long ipr_offsets[] = {
23 	BCR_ILCRA,
24 	BCR_ILCRB,
25 	BCR_ILCRC,
26 	BCR_ILCRD,
27 	BCR_ILCRE,
28 	BCR_ILCRF,
29 	BCR_ILCRG,
30 };
31 
32 static struct ipr_desc ipr_irq_desc = {
33 	.ipr_offsets	= ipr_offsets,
34 	.nr_offsets	= ARRAY_SIZE(ipr_offsets),
35 
36 	.ipr_data	= ipr_irq_table,
37 	.nr_irqs	= ARRAY_SIZE(ipr_irq_table),
38 
39 	.chip = {
40 		.name	= "IPR-se7751",
41 	},
42 };
43 
44 /*
45  * Initialize IRQ setting
46  */
47 void __init init_7751se_IRQ(void)
48 {
49 	register_ipr_controller(&ipr_irq_desc);
50 }
51