Path: blob/master/arch/sh/include/cpu-sh5/cpu/irq.h
17537 views
#ifndef __ASM_SH_CPU_SH5_IRQ_H1#define __ASM_SH_CPU_SH5_IRQ_H23/*4* include/asm-sh/cpu-sh5/irq.h5*6* Copyright (C) 2000, 2001 Paolo Alberelli7*8* This file is subject to the terms and conditions of the GNU General Public9* License. See the file "COPYING" in the main directory of this archive10* for more details.11*/121314/*15* Encoded IRQs are not considered worth to be supported.16* Main reason is that there's no per-encoded-interrupt17* enable/disable mechanism (as there was in SH3/4).18* An all enabled/all disabled is worth only if there's19* a cascaded IC to disable/enable/ack on. Until such20* IC is available there's no such support.21*22* Presumably Encoded IRQs may use extra IRQs beyond 64,23* below. Some logic must be added to cope with IRQ_IRL?24* in an exclusive way.25*26* Priorities are set at Platform level, when IRQ_IRL0-327* are set to 0 Encoding is allowed. Otherwise it's not28* allowed.29*/3031/* Independent IRQs */32#define IRQ_IRL0 033#define IRQ_IRL1 134#define IRQ_IRL2 235#define IRQ_IRL3 33637#define IRQ_INTA 438#define IRQ_INTB 539#define IRQ_INTC 640#define IRQ_INTD 74142#define IRQ_SERR 1243#define IRQ_ERR 1344#define IRQ_PWR3 1445#define IRQ_PWR2 1546#define IRQ_PWR1 1647#define IRQ_PWR0 174849#define IRQ_DMTE0 1850#define IRQ_DMTE1 1951#define IRQ_DMTE2 2052#define IRQ_DMTE3 2153#define IRQ_DAERR 225455#define IRQ_TUNI0 3256#define IRQ_TUNI1 3357#define IRQ_TUNI2 3458#define IRQ_TICPI2 355960#define IRQ_ATI 3661#define IRQ_PRI 3762#define IRQ_CUI 386364#define IRQ_ERI 3965#define IRQ_RXI 4066#define IRQ_BRI 4167#define IRQ_TXI 426869#define IRQ_ITI 637071#define NR_INTC_IRQS 647273#ifdef CONFIG_SH_CAYMAN74#define NR_EXT_IRQS 3275#define START_EXT_IRQS 647677/* PCI bus 2 uses encoded external interrupts on the Cayman board */78#define IRQ_P2INTA (START_EXT_IRQS + (3*8) + 0)79#define IRQ_P2INTB (START_EXT_IRQS + (3*8) + 1)80#define IRQ_P2INTC (START_EXT_IRQS + (3*8) + 2)81#define IRQ_P2INTD (START_EXT_IRQS + (3*8) + 3)8283#define I8042_KBD_IRQ (START_EXT_IRQS + 2)84#define I8042_AUX_IRQ (START_EXT_IRQS + 6)8586#define IRQ_CFCARD (START_EXT_IRQS + 7)87#define IRQ_PCMCIA (0)8889#else90#define NR_EXT_IRQS 091#endif9293/* Default IRQs, fixed */94#define TIMER_IRQ IRQ_TUNI095#define RTC_IRQ IRQ_CUI9697/* Default Priorities, Platform may choose differently */98#define NO_PRIORITY 0 /* Disabled */99#define TIMER_PRIORITY 2100#define RTC_PRIORITY TIMER_PRIORITY101#define SCIF_PRIORITY 3102#define INTD_PRIORITY 3103#define IRL3_PRIORITY 4104#define INTC_PRIORITY 6105#define IRL2_PRIORITY 7106#define INTB_PRIORITY 9107#define IRL1_PRIORITY 10108#define INTA_PRIORITY 12109#define IRL0_PRIORITY 13110#define TOP_PRIORITY 15111112extern int intc_evt_to_irq[(0xE20/0x20)+1];113extern int platform_int_priority[NR_INTC_IRQS];114115#endif /* __ASM_SH_CPU_SH5_IRQ_H */116117118