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 <asm/se7751.h>
16
17static struct ipr_data se7751_ipr_map[] = {
18  /* Leave old Solution Engine code in for reference. */
19#if defined(CONFIG_SH_SOLUTION_ENGINE)
20	/*
21	 * Super I/O (Just mimic PC):
22	 *  1: keyboard
23	 *  3: serial 0
24	 *  4: serial 1
25	 *  5: printer
26	 *  6: floppy
27	 *  8: rtc
28	 * 12: mouse
29	 * 14: ide0
30	 */
31	{ 14, BCR_ILCRA, 2, 0x0f-14 },
32	{ 12, BCR_ILCRA, 1, 0x0f-12 },
33	{  8, BCR_ILCRB, 1, 0x0f- 8 },
34	{  6, BCR_ILCRC, 3, 0x0f- 6 },
35	{  5, BCR_ILCRC, 2, 0x0f- 5 },
36	{  4, BCR_ILCRC, 1, 0x0f- 4 },
37	{  3, BCR_ILCRC, 0, 0x0f- 3 },
38	{  1, BCR_ILCRD, 3, 0x0f- 1 },
39
40	{ 10, BCR_ILCRD, 1, 0x0f-10 }, /* LAN */
41
42	{  0, BCR_ILCRE, 3, 0x0f- 0 }, /* PCIRQ3 */
43	{ 11, BCR_ILCRE, 2, 0x0f-11 }, /* PCIRQ2 */
44	{  9, BCR_ILCRE, 1, 0x0f- 9 }, /* PCIRQ1 */
45	{  7, BCR_ILCRE, 0, 0x0f- 7 }, /* PCIRQ0 */
46
47	/* #2, #13 are allocated for SLOT IRQ #1 and #2 (for now) */
48	/* NOTE: #2 and #13 are not used on PC */
49	{ 13, BCR_ILCRG, 1, 0x0f-13 }, /* SLOTIRQ2 */
50	{  2, BCR_ILCRG, 0, 0x0f- 2 }, /* SLOTIRQ1 */
51#elif defined(CONFIG_SH_7751_SOLUTION_ENGINE)
52	{ 13, BCR_ILCRD, 3, 2 },
53	/* Add additional entries here as drivers are added and tested. */
54#endif
55};
56
57/*
58 * Initialize IRQ setting
59 */
60void __init init_7751se_IRQ(void)
61{
62	make_ipr_irq(se7751_ipr_map, ARRAY_SIZE(se7751_ipr_map));
63}
64