X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=include%2Fasm-sh%2Firq.h;h=87d148105183fc440f286c70af6f3050c281e28f;hb=6a77f38946aaee1cd85eeec6cf4229b204c15071;hp=58bd8df7a53dbd6ec7e0f3543340558e865ed71b;hpb=87fc8d1bb10cd459024a742c6a10961fefcef18f;p=linux-2.6.git diff --git a/include/asm-sh/irq.h b/include/asm-sh/irq.h index 58bd8df7a..87d148105 100644 --- a/include/asm-sh/irq.h +++ b/include/asm-sh/irq.h @@ -218,7 +218,7 @@ #define IRDA_IPR_POS 2 #define IRDA_PRIORITY 3 #elif defined(CONFIG_CPU_SUBTYPE_SH7750) || defined(CONFIG_CPU_SUBTYPE_SH7751) || \ - defined(CONFIG_CPU_SUBTYPE_ST40STB1) + defined(CONFIG_CPU_SUBTYPE_ST40STB1) || defined(CONFIG_CPU_SUBTYPE_SH4_202) #define SCIF_ERI_IRQ 40 #define SCIF_RXI_IRQ 41 #define SCIF_BRI_IRQ 42 @@ -264,6 +264,8 @@ # define ONCHIP_NR_IRQS 72 # elif defined(CONFIG_CPU_SUBTYPE_SH7760) # define ONCHIP_NR_IRQS 110 +# elif defined(CONFIG_CPU_SUBTYPE_SH4_202) +# define ONCHIP_NR_IRQS 72 # elif defined(CONFIG_CPU_SUBTYPE_ST40STB1) # define ONCHIP_NR_IRQS 144 # elif defined(CONFIG_CPU_SUBTYPE_SH7300) @@ -545,7 +547,7 @@ extern int ipr_irq_demux(int irq); #endif /* CONFIG_CPU_SUBTYPE_SH7707 || CONFIG_CPU_SUBTYPE_SH7709 */ #if defined(CONFIG_CPU_SUBTYPE_SH7750) || defined(CONFIG_CPU_SUBTYPE_SH7751) || \ - defined(CONFIG_CPU_SUBTYPE_ST40STB1) + defined(CONFIG_CPU_SUBTYPE_ST40STB1) || defined(CONFIG_CPU_SUBTYPE_SH4_202) #define INTC_ICR 0xffd00000 #define INTC_ICR_NMIL (1<<15) #define INTC_ICR_MAI (1<<14) @@ -555,21 +557,26 @@ extern int ipr_irq_demux(int irq); #endif #ifdef CONFIG_CPU_SUBTYPE_ST40STB1 + #define INTC2_FIRST_IRQ 64 #define NR_INTC2_IRQS 25 -#define INTC2_BASE0 0xfe080000 -#define INTC2_INTC2MODE (INTC2_BASE0+0x80) +#define INTC2_BASE 0xfe080000 +#define INTC2_INTC2MODE (INTC2_BASE+0x80) #define INTC2_INTPRI_OFFSET 0x00 #define INTC2_INTREQ_OFFSET 0x20 #define INTC2_INTMSK_OFFSET 0x40 #define INTC2_INTMSKCLR_OFFSET 0x60 -extern void make_intc2_irq(unsigned int irq,unsigned int addr, - unsigned int group,int pos,int priority); +void make_intc2_irq(unsigned int irq, + unsigned int ipr_offset, unsigned int ipr_shift, + unsigned int msk_offset, unsigned int msk_shift, + unsigned int priority); +void init_IRQ_intc2(void); +void intc2_add_clear_irq(int irq, int (*fn)(int)); -#endif +#endif /* CONFIG_CPU_SUBTYPE_ST40STB1 */ static inline int generic_irq_demux(int irq) { @@ -583,4 +590,8 @@ struct irqaction; struct pt_regs; int handle_IRQ_event(unsigned int, struct pt_regs *, struct irqaction *); +#if defined(CONFIG_CPU_SUBTYPE_SH73180) +#include +#endif + #endif /* __ASM_SH_IRQ_H */