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 doesn't 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
27extern void arc_init_IRQ(void);
28extern void arch_do_IRQ(unsigned int, struct pt_regs *);
29
30#endif
31