irq.c 868 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. /*
  2. * This program is free software; you can redistribute it and/or modify it
  3. * under the terms of the GNU General Public License version 2 as published
  4. * by the Free Software Foundation.
  5. *
  6. * Copyright (C) 2014 Broadcom Corporation
  7. * Author: Kevin Cernekee <cernekee@gmail.com>
  8. */
  9. #include <linux/of.h>
  10. #include <linux/irqchip.h>
  11. #include <asm/bmips.h>
  12. #include <asm/irq.h>
  13. #include <asm/irq_cpu.h>
  14. #include <asm/time.h>
  15. unsigned int get_c0_compare_int(void)
  16. {
  17. return CP0_LEGACY_COMPARE_IRQ;
  18. }
  19. void __init arch_init_irq(void)
  20. {
  21. struct device_node *dn;
  22. /* Only the STB (bcm7038) controller supports SMP IRQ affinity */
  23. dn = of_find_compatible_node(NULL, NULL, "brcm,bcm7038-l1-intc");
  24. if (dn)
  25. of_node_put(dn);
  26. else
  27. bmips_tp1_irqs = 0;
  28. irqchip_init();
  29. }
  30. IRQCHIP_DECLARE(mips_cpu_intc, "mti,cpu-interrupt-controller",
  31. mips_cpu_irq_of_init);