1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * Copyright (C) 2004, 2007-2010, 2011-2012 Synopsys, Inc. (www.synopsys.com)
4  */
5 
6 #ifndef __ASM_ARC_IRQ_H
7 #define __ASM_ARC_IRQ_H
8 
9 /*
10  * ARCv2 can support 240 interrupts in the core interrupts controllers and
11  * 128 interrupts in IDU. Thus 512 virtual IRQs must be enough for most
12  * configurations of boards.
13  * This doesnt affect ARCompact, but we change it to same value
14  */
15 #define NR_IRQS		512
16 
17 /* Platform Independent IRQs */
18 #ifdef CONFIG_ISA_ARCV2
19 #define IPI_IRQ		19
20 #define SOFTIRQ_IRQ	21
21 #define FIRST_EXT_IRQ	24
22 #endif
23 
24 #include <linux/interrupt.h>
25 #include <asm-generic/irq.h>
26 
27 extern void arc_init_IRQ(void);
28 extern void arch_do_IRQ(unsigned int, struct pt_regs *);
29 
30 #endif
31