0001
0002
0003
0004
0005
0006
0007
0008 #include <linux/of.h>
0009 #include <linux/irqchip.h>
0010
0011 #include <asm/bmips.h>
0012 #include <asm/irq.h>
0013 #include <asm/irq_cpu.h>
0014 #include <asm/time.h>
0015
0016 static const struct of_device_id smp_intc_dt_match[] = {
0017 { .compatible = "brcm,bcm7038-l1-intc" },
0018 { .compatible = "brcm,bcm6345-l1-intc" },
0019 {}
0020 };
0021
0022 unsigned int get_c0_compare_int(void)
0023 {
0024 return CP0_LEGACY_COMPARE_IRQ;
0025 }
0026
0027 void __init arch_init_irq(void)
0028 {
0029 struct device_node *dn;
0030
0031
0032 dn = of_find_matching_node(NULL, smp_intc_dt_match);
0033 if (dn)
0034 of_node_put(dn);
0035 else
0036 bmips_tp1_irqs = 0;
0037
0038 irqchip_init();
0039 }
0040
0041 IRQCHIP_DECLARE(mips_cpu_intc, "mti,cpu-interrupt-controller",
0042 mips_cpu_irq_of_init);