2013-01-18 17:42:18 +08:00
|
|
|
/*
|
|
|
|
* Copyright (C) 2004, 2007-2010, 2011-2012 Synopsys, Inc. (www.synopsys.com)
|
|
|
|
*
|
|
|
|
* This program is free software; you can redistribute it and/or modify
|
|
|
|
* it under the terms of the GNU General Public License version 2 as
|
|
|
|
* published by the Free Software Foundation.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef __ASM_ARC_IRQ_H
|
|
|
|
#define __ASM_ARC_IRQ_H
|
|
|
|
|
2013-04-11 21:19:39 +08:00
|
|
|
#define NR_CPU_IRQS 32 /* number of interrupt lines of ARC770 CPU */
|
|
|
|
#define NR_IRQS 128 /* allow some CPU external IRQ handling */
|
2013-01-18 17:42:26 +08:00
|
|
|
|
2013-01-18 17:42:18 +08:00
|
|
|
/* Platform Independent IRQs */
|
ARCv2: Support for ARCv2 ISA and HS38x cores
The notable features are:
- SMP configurations of upto 4 cores with coherency
- Optional L2 Cache and IO-Coherency
- Revised Interrupt Architecture (multiple priorites, reg banks,
auto stack switch, auto regfile save/restore)
- MMUv4 (PIPT dcache, Huge Pages)
- Instructions for
* 64bit load/store: LDD, STD
* Hardware assisted divide/remainder: DIV, REM
* Function prologue/epilogue: ENTER_S, LEAVE_S
* IRQ enable/disable: CLRI, SETI
* pop count: FFS, FLS
* SETcc, BMSKN, XBFU...
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
2013-05-13 21:00:41 +08:00
|
|
|
#ifdef CONFIG_ISA_ARCOMPACT
|
2013-01-18 17:42:18 +08:00
|
|
|
#define TIMER0_IRQ 3
|
|
|
|
#define TIMER1_IRQ 4
|
ARCv2: Support for ARCv2 ISA and HS38x cores
The notable features are:
- SMP configurations of upto 4 cores with coherency
- Optional L2 Cache and IO-Coherency
- Revised Interrupt Architecture (multiple priorites, reg banks,
auto stack switch, auto regfile save/restore)
- MMUv4 (PIPT dcache, Huge Pages)
- Instructions for
* 64bit load/store: LDD, STD
* Hardware assisted divide/remainder: DIV, REM
* Function prologue/epilogue: ENTER_S, LEAVE_S
* IRQ enable/disable: CLRI, SETI
* pop count: FFS, FLS
* SETcc, BMSKN, XBFU...
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
2013-05-13 21:00:41 +08:00
|
|
|
#else
|
|
|
|
#define TIMER0_IRQ 16
|
|
|
|
#define TIMER1_IRQ 17
|
|
|
|
#endif
|
2013-01-18 17:42:18 +08:00
|
|
|
|
2014-05-07 17:55:10 +08:00
|
|
|
#include <linux/interrupt.h>
|
2013-01-18 17:42:18 +08:00
|
|
|
#include <asm-generic/irq.h>
|
|
|
|
|
2013-10-23 10:12:05 +08:00
|
|
|
extern void arc_init_IRQ(void);
|
2014-05-08 16:36:38 +08:00
|
|
|
void arc_local_timer_setup(void);
|
2014-05-07 17:55:10 +08:00
|
|
|
void arc_request_percpu_irq(int irq, int cpu,
|
|
|
|
irqreturn_t (*isr)(int irq, void *dev),
|
|
|
|
const char *irq_nm, void *percpu_dev);
|
2013-01-18 17:42:18 +08:00
|
|
|
|
2013-01-18 17:42:18 +08:00
|
|
|
#endif
|