blob: 5c9847ea1e7c1e50cd95f56218126dca712873f5 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/*
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
Linus Torvalds1da177e2005-04-16 15:20:36 -070012#include <linux/init.h>
13#include <linux/irq.h>
14#include <asm/irq.h>
Paul Mundt939a24a2008-07-29 21:41:37 +090015#include <mach-se/mach/se7751.h>
Linus Torvalds1da177e2005-04-16 15:20:36 -070016
Magnus Damm68abdbb2007-06-15 18:56:19 +090017static struct ipr_data ipr_irq_table[] = {
18 { 13, 3, 3, 2 },
Jamie Lenehanbd71ab82006-10-31 12:35:02 +090019 /* Add additional entries here as drivers are added and tested. */
Magnus Damm68abdbb2007-06-15 18:56:19 +090020};
21
22static 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
32static 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 },
Jamie Lenehanbd71ab82006-10-31 12:35:02 +090042};
43
Linus Torvalds1da177e2005-04-16 15:20:36 -070044/*
45 * Initialize IRQ setting
46 */
47void __init init_7751se_IRQ(void)
48{
Magnus Damm68abdbb2007-06-15 18:56:19 +090049 register_ipr_controller(&ipr_irq_desc);
Linus Torvalds1da177e2005-04-16 15:20:36 -070050}