diff options
Diffstat (limited to 'arch/powerpc/include/asm/mpic.h')
| -rw-r--r-- | arch/powerpc/include/asm/mpic.h | 14 | 
1 files changed, 14 insertions, 0 deletions
diff --git a/arch/powerpc/include/asm/mpic.h b/arch/powerpc/include/asm/mpic.h index e14d35d572a..c0f9ef90f0b 100644 --- a/arch/powerpc/include/asm/mpic.h +++ b/arch/powerpc/include/asm/mpic.h @@ -118,6 +118,9 @@  #define MPIC_MAX_CPUS		32  #define MPIC_MAX_ISU		32 +#define MPIC_MAX_ERR      32 +#define MPIC_FSL_ERR_INT  16 +  /*   * Tsi108 implementation of MPIC has many differences from the original one   */ @@ -270,6 +273,7 @@ struct mpic  	struct irq_chip		hc_ipi;  #endif  	struct irq_chip		hc_tm; +	struct irq_chip		hc_err;  	const char		*name;  	/* Flags */  	unsigned int		flags; @@ -283,6 +287,8 @@ struct mpic  	/* vector numbers used for internal sources (ipi/timers) */  	unsigned int		ipi_vecs[4];  	unsigned int		timer_vecs[8]; +	/* vector numbers used for FSL MPIC error interrupts */ +	unsigned int		err_int_vecs[MPIC_MAX_ERR];  	/* Spurious vector to program into unused sources */  	unsigned int		spurious_vec; @@ -306,6 +312,9 @@ struct mpic  	struct mpic_reg_bank	cpuregs[MPIC_MAX_CPUS];  	struct mpic_reg_bank	isus[MPIC_MAX_ISU]; +	/* ioremap'ed base for error interrupt registers */ +	u32 __iomem	*err_regs; +  	/* Protected sources */  	unsigned long		*protected; @@ -370,6 +379,11 @@ struct mpic  #define MPIC_NO_RESET			0x00004000  /* Freescale MPIC (compatible includes "fsl,mpic") */  #define MPIC_FSL			0x00008000 +/* Freescale MPIC supports EIMR (error interrupt mask register). + * This flag is set for MPIC version >= 4.1 (version determined + * from the BRR1 register). +*/ +#define MPIC_FSL_HAS_EIMR		0x00010000  /* MPIC HW modification ID */  #define MPIC_REGSET_MASK		0xf0000000  |