Loading...
1/*
2 * Copyright (C) 2004, 2007-2010, 2011-2012 Synopsys, Inc. (www.synopsys.com)
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
7 */
8
9#ifndef __ASM_ARC_IRQ_H
10#define __ASM_ARC_IRQ_H
11
12/*
13 * ARCv2 can support 240 interrupts in the core interrupts controllers and
14 * 128 interrupts in IDU. Thus 512 virtual IRQs must be enough for most
15 * configurations of boards.
16 * This doesnt affect ARCompact, but we change it to same value
17 */
18#define NR_IRQS 512
19
20/* Platform Independent IRQs */
21#ifdef CONFIG_ISA_ARCV2
22#define IPI_IRQ 19
23#define SOFTIRQ_IRQ 21
24#define FIRST_EXT_IRQ 24
25#endif
26
27#include <linux/interrupt.h>
28#include <asm-generic/irq.h>
29
30extern void arc_init_IRQ(void);
31
32#endif
1/*
2 * Copyright (C) 2004, 2007-2010, 2011-2012 Synopsys, Inc. (www.synopsys.com)
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
7 */
8
9#ifndef __ASM_ARC_IRQ_H
10#define __ASM_ARC_IRQ_H
11
12#define NR_CPU_IRQS 32 /* number of interrupt lines of ARC770 CPU */
13#define NR_IRQS 128 /* allow some CPU external IRQ handling */
14
15/* Platform Independent IRQs */
16#ifdef CONFIG_ISA_ARCOMPACT
17#define TIMER0_IRQ 3
18#define TIMER1_IRQ 4
19#else
20#define TIMER0_IRQ 16
21#define TIMER1_IRQ 17
22#endif
23
24#include <linux/interrupt.h>
25#include <asm-generic/irq.h>
26
27extern void arc_init_IRQ(void);
28void arc_local_timer_setup(void);
29void arc_request_percpu_irq(int irq, int cpu,
30 irqreturn_t (*isr)(int irq, void *dev),
31 const char *irq_nm, void *percpu_dev);
32
33#endif