1100616Smp/* SPDX-License-Identifier: GPL-2.0-only */
259243Sobrien/*
359243Sobrien * Copyright (C) 2004, 2007-2010, 2011-2012 Synopsys, Inc. (www.synopsys.com)
459243Sobrien */
559243Sobrien
659243Sobrien#ifndef __ASM_ARC_IRQ_H
759243Sobrien#define __ASM_ARC_IRQ_H
859243Sobrien
959243Sobrien/*
1059243Sobrien * ARCv2 can support 240 interrupts in the core interrupts controllers and
1159243Sobrien * 128 interrupts in IDU. Thus 512 virtual IRQs must be enough for most
1259243Sobrien * configurations of boards.
1359243Sobrien * This doesn't affect ARCompact, but we change it to same value
1459243Sobrien */
1559243Sobrien#define NR_IRQS		512
1659243Sobrien
17100616Smp/* Platform Independent IRQs */
1859243Sobrien#ifdef CONFIG_ISA_ARCV2
1959243Sobrien#define IPI_IRQ		19
2059243Sobrien#define SOFTIRQ_IRQ	21
2159243Sobrien#define FIRST_EXT_IRQ	24
2259243Sobrien#endif
2359243Sobrien
2459243Sobrien#include <linux/interrupt.h>
2559243Sobrien#include <asm-generic/irq.h>
2659243Sobrien
2759243Sobrienextern void arc_init_IRQ(void);
2859243Sobrienextern void arch_do_IRQ(unsigned int, struct pt_regs *);
2959243Sobrien
3059243Sobrien#endif
3159243Sobrien