MIPS: BCM63XX: add external irq support for BCM6345
authorMaxime Bizon <mbizon@freebox.fr>
Fri, 13 Jul 2012 07:46:03 +0000 (07:46 +0000)
committerJohn Crispin <blogic@openwrt.org>
Fri, 24 Aug 2012 18:09:00 +0000 (20:09 +0200)
Add the missing definitions for BCM6345.

Signed-off-by: Maxime Bizon <mbizon@freebox.fr>
Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
Patchwork: http://patchwork.linux-mips.org/patch/4091/
Signed-off-by: John Crispin <blogic@openwrt.org>
arch/mips/bcm63xx/irq.c
arch/mips/bcm63xx/setup.c
arch/mips/include/asm/mach-bcm63xx/bcm63xx_regs.h

index 18e051a..d40169f 100644 (file)
@@ -56,8 +56,8 @@ static void __internal_irq_unmask_64(unsigned int irq) __maybe_unused;
 #define is_ext_irq_cascaded    0
 #define ext_irq_start          0
 #define ext_irq_end            0
-#define ext_irq_count          0
-#define ext_irq_cfg_reg1       0
+#define ext_irq_count          4
+#define ext_irq_cfg_reg1       PERF_EXTIRQ_CFG_REG_6345
 #define ext_irq_cfg_reg2       0
 #endif
 #ifdef CONFIG_BCM63XX_CPU_6348
@@ -143,11 +143,15 @@ static void bcm63xx_init_irq(void)
                irq_stat_addr += PERF_IRQSTAT_6338_REG;
                irq_mask_addr += PERF_IRQMASK_6338_REG;
                irq_bits = 32;
+               ext_irq_count = 4;
+               ext_irq_cfg_reg1 = PERF_EXTIRQ_CFG_REG_6338;
                break;
        case BCM6345_CPU_ID:
                irq_stat_addr += PERF_IRQSTAT_6345_REG;
                irq_mask_addr += PERF_IRQMASK_6345_REG;
                irq_bits = 32;
+               ext_irq_count = 4;
+               ext_irq_cfg_reg1 = PERF_EXTIRQ_CFG_REG_6345;
                break;
        case BCM6348_CPU_ID:
                irq_stat_addr += PERF_IRQSTAT_6348_REG;
index 0e74a13..bd83836 100644 (file)
@@ -74,6 +74,9 @@ void bcm63xx_machine_reboot(void)
        case BCM6338_CPU_ID:
                perf_regs[0] = PERF_EXTIRQ_CFG_REG_6338;
                break;
+       case BCM6345_CPU_ID:
+               perf_regs[0] = PERF_EXTIRQ_CFG_REG_6345;
+               break;
        case BCM6348_CPU_ID:
                perf_regs[0] = PERF_EXTIRQ_CFG_REG_6348;
                break;
index 4ccc2a7..75f162d 100644 (file)
 /* External Interrupt Configuration register */
 #define PERF_EXTIRQ_CFG_REG_6328       0x18
 #define PERF_EXTIRQ_CFG_REG_6338       0x14
+#define PERF_EXTIRQ_CFG_REG_6345       0x14
 #define PERF_EXTIRQ_CFG_REG_6348       0x14
 #define PERF_EXTIRQ_CFG_REG_6358       0x14
 #define PERF_EXTIRQ_CFG_REG_6368       0x18