linux/arch/mips/bmips/irq.c
<<
>>
Prefs
   1// SPDX-License-Identifier: GPL-2.0-only
   2/*
   3 *
   4 * Copyright (C) 2014 Broadcom Corporation
   5 * Author: Kevin Cernekee <cernekee@gmail.com>
   6 */
   7
   8#include <linux/of.h>
   9#include <linux/irqchip.h>
  10
  11#include <asm/bmips.h>
  12#include <asm/irq.h>
  13#include <asm/irq_cpu.h>
  14#include <asm/time.h>
  15
  16static const struct of_device_id smp_intc_dt_match[] = {
  17        { .compatible = "brcm,bcm7038-l1-intc" },
  18        { .compatible = "brcm,bcm6345-l1-intc" },
  19        {}
  20};
  21
  22unsigned int get_c0_compare_int(void)
  23{
  24        return CP0_LEGACY_COMPARE_IRQ;
  25}
  26
  27void __init arch_init_irq(void)
  28{
  29        struct device_node *dn;
  30
  31        /* Only these controllers support SMP IRQ affinity */
  32        dn = of_find_matching_node(NULL, smp_intc_dt_match);
  33        if (dn)
  34                of_node_put(dn);
  35        else
  36                bmips_tp1_irqs = 0;
  37
  38        irqchip_init();
  39}
  40
  41IRQCHIP_DECLARE(mips_cpu_intc, "mti,cpu-interrupt-controller",
  42             mips_cpu_irq_of_init);
  43