Hi, On 10 June 2011 23:47, Maxime Bizon <mbizon@xxxxxxxxxx> wrote: > diff --git a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_regs.h b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_regs.h > index 4354be1..0fa613c 100644 > --- a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_regs.h > +++ b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_regs.h > @@ -104,12 +104,22 @@ > > Â/* External Interrupt Configuration register */ > Â#define PERF_EXTIRQ_CFG_REG Â Â Â Â Â Â0x14 > + > +/* for 6348 only */ > +#define EXTIRQ_CFG_SENSE_6348(x) Â Â Â (1 << (x)) > +#define EXTIRQ_CFG_STAT_6348(x) Â Â Â Â Â Â Â Â(1 << (x + 5)) > +#define EXTIRQ_CFG_CLEAR_6348(x) Â Â Â (1 << (x + 10)) > +#define EXTIRQ_CFG_MASK_6348(x) Â Â Â Â Â Â Â Â(1 << (x + 15)) > +#define EXTIRQ_CFG_BOTHEDGE_6348(x) Â Â(1 << (x + 20)) > +#define EXTIRQ_CFG_LEVELSENSE_6348(x) Â(1 << (x + 25)) > + > +/* for all others */ > Â#define EXTIRQ_CFG_SENSE(x) Â Â Â Â Â Â(1 << (x)) > -#define EXTIRQ_CFG_STAT(x) Â Â Â Â Â Â (1 << (x + 5)) > -#define EXTIRQ_CFG_CLEAR(x) Â Â Â Â Â Â(1 << (x + 10)) > -#define EXTIRQ_CFG_MASK(x) Â Â Â Â Â Â (1 << (x + 15)) > -#define EXTIRQ_CFG_BOTHEDGE(x) Â Â Â Â (1 << (x + 20)) > -#define EXTIRQ_CFG_LEVELSENSE(x) Â Â Â (1 << (x + 25)) > +#define EXTIRQ_CFG_STAT(x) Â Â Â Â Â Â (1 << (x + 4)) > +#define EXTIRQ_CFG_CLEAR(x) Â Â Â Â Â Â(1 << (x + 8)) > +#define EXTIRQ_CFG_MASK(x) Â Â Â Â Â Â (1 << (x + 12)) > +#define EXTIRQ_CFG_BOTHEDGE(x) Â Â Â Â (1 << (x + 16)) > +#define EXTIRQ_CFG_LEVELSENSE(x) Â Â Â (1 << (x + 20)) > > Â#define EXTIRQ_CFG_CLEAR_ALL Â Â Â Â Â (0xf << 10) > Â#define EXTIRQ_CFG_MASK_ALL Â Â Â Â Â Â(0xf << 15) These two are still based on the 6348 definition, you should also add these for non 6348 SoCs. <http://lxr.linux.no/#linux+v2.6.39/arch/mips/bcm63xx/setup.c#L64>, where these get used, needs also to be changed to then use the appropriate one. Jonas