Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/arch/mips/bmips/irq.c
26442 views
1
// SPDX-License-Identifier: GPL-2.0-only
2
/*
3
*
4
* Copyright (C) 2014 Broadcom Corporation
5
* Author: Kevin Cernekee <[email protected]>
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
16
static const struct of_device_id smp_intc_dt_match[] = {
17
{ .compatible = "brcm,bcm7038-l1-intc" },
18
{ .compatible = "brcm,bcm6345-l1-intc" },
19
{}
20
};
21
22
unsigned int get_c0_compare_int(void)
23
{
24
return CP0_LEGACY_COMPARE_IRQ;
25
}
26
27
void __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
41
IRQCHIP_DECLARE(mips_cpu_intc, "mti,cpu-interrupt-controller",
42
mips_cpu_irq_of_init);
43
44