2 * Renesas Solutions Highlander R7785RP Support.
4 * Copyright (C) 2002 Atom Create Engineering Co., Ltd.
5 * Copyright (C) 2006 Paul Mundt
6 * Copyright (C) 2007 Magnus Damm
8 * This file is subject to the terms and conditions of the GNU General Public
9 * License. See the file "COPYING" in the main directory of this archive
12 #include <linux/init.h>
13 #include <linux/irq.h>
15 #include <asm/r7780rp.h>
20 /* board specific interrupt sources */
21 AX88796
, /* Ethernet controller */
22 CF
, /* Compact Flash */
25 static struct intc_vect vectors
[] __initdata
= {
27 INTC_IRQ(AX88796
, IRQ_AX88796
),
30 static struct intc_mask_reg mask_registers
[] __initdata
= {
31 { 0xa4000010, 0, 16, /* IRLMCR1 */
32 { 0, 0, 0, 0, CF
, AX88796
, 0, 0,
33 0, 0, 0, 0, 0, 0, 0, 0 } },
36 static unsigned char irl2irq
[HL_NR_IRL
] __initdata
= {
43 static DECLARE_INTC_DESC(intc_desc
, "r7785rp", vectors
,
44 NULL
, NULL
, mask_registers
, NULL
, NULL
);
46 unsigned char * __init
highlander_init_irq_r7785rp(void)
48 if ((ctrl_inw(0xa4000158) & 0xf000) != 0x1000)
51 printk(KERN_INFO
"Using r7785rp interrupt controller.\n");
53 ctrl_outw(0x0000, PA_IRLSSR1
); /* FPGA IRLSSR1(CF_CD clear) */
55 /* Setup the FPGA IRL */
56 ctrl_outw(0x0000, PA_IRLPRA
); /* FPGA IRLA */
57 ctrl_outw(0xe598, PA_IRLPRB
); /* FPGA IRLB */
58 ctrl_outw(0x7060, PA_IRLPRC
); /* FPGA IRLC */
59 ctrl_outw(0x0000, PA_IRLPRD
); /* FPGA IRLD */
60 ctrl_outw(0x4321, PA_IRLPRE
); /* FPGA IRLE */
61 ctrl_outw(0x0000, PA_IRLPRF
); /* FPGA IRLF */
63 register_intc_controller(&intc_desc
);