xref: /src/sys/contrib/device-tree/Bindings/interrupt-controller/econet,en751221-intc.yaml (revision ae5de77ed78ae54d86cead5604869212e8008e6b)
1b8aada78SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2b8aada78SEmmanuel Vadot%YAML 1.2
3b8aada78SEmmanuel Vadot---
4b8aada78SEmmanuel Vadot$id: http://devicetree.org/schemas/interrupt-controller/econet,en751221-intc.yaml#
5b8aada78SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6b8aada78SEmmanuel Vadot
7b8aada78SEmmanuel Vadottitle: EcoNet EN751221 Interrupt Controller
8b8aada78SEmmanuel Vadot
9b8aada78SEmmanuel Vadotmaintainers:
10b8aada78SEmmanuel Vadot  - Caleb James DeLisle <cjd@cjdns.fr>
11b8aada78SEmmanuel Vadot
12b8aada78SEmmanuel Vadotdescription:
13b8aada78SEmmanuel Vadot  The EcoNet EN751221 Interrupt Controller is a simple interrupt controller
14b8aada78SEmmanuel Vadot  designed for the MIPS 34Kc MT SMP processor with 2 VPEs. Each interrupt can
15b8aada78SEmmanuel Vadot  be routed to either VPE but not both, so to support per-CPU interrupts, a
16b8aada78SEmmanuel Vadot  secondary IRQ number is allocated to control masking/unmasking on VPE#1. For
17b8aada78SEmmanuel Vadot  lack of a better term we call these "shadow interrupts". The assignment of
18b8aada78SEmmanuel Vadot  shadow interrupts is defined by the SoC integrator when wiring the interrupt
19b8aada78SEmmanuel Vadot  lines, so they are configurable in the device tree.
20b8aada78SEmmanuel Vadot
21b8aada78SEmmanuel VadotallOf:
22b8aada78SEmmanuel Vadot  - $ref: /schemas/interrupt-controller.yaml#
23b8aada78SEmmanuel Vadot
24b8aada78SEmmanuel Vadotproperties:
25b8aada78SEmmanuel Vadot  compatible:
26b8aada78SEmmanuel Vadot    const: econet,en751221-intc
27b8aada78SEmmanuel Vadot
28b8aada78SEmmanuel Vadot  reg:
29b8aada78SEmmanuel Vadot    maxItems: 1
30b8aada78SEmmanuel Vadot
31b8aada78SEmmanuel Vadot  "#interrupt-cells":
32b8aada78SEmmanuel Vadot    const: 1
33b8aada78SEmmanuel Vadot
34b8aada78SEmmanuel Vadot  interrupt-controller: true
35b8aada78SEmmanuel Vadot
36b8aada78SEmmanuel Vadot  interrupts:
37b8aada78SEmmanuel Vadot    maxItems: 1
38b8aada78SEmmanuel Vadot    description: Interrupt line connecting this controller to its parent.
39b8aada78SEmmanuel Vadot
40b8aada78SEmmanuel Vadot  econet,shadow-interrupts:
41b8aada78SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32-matrix
42b8aada78SEmmanuel Vadot    description:
43b8aada78SEmmanuel Vadot      An array of interrupt number pairs where each pair represents a shadow
44b8aada78SEmmanuel Vadot      interrupt relationship. The first number in each pair is the primary IRQ,
45b8aada78SEmmanuel Vadot      and the second is its shadow IRQ used for VPE#1 control. For example,
46b8aada78SEmmanuel Vadot      <8 3> means IRQ 8 is shadowed by IRQ 3, so IRQ 3 cannot be mapped, but
47b8aada78SEmmanuel Vadot      when VPE#1 requests IRQ 8, it will manipulate the IRQ 3 mask bit.
48b8aada78SEmmanuel Vadot    minItems: 1
49b8aada78SEmmanuel Vadot    maxItems: 20
50b8aada78SEmmanuel Vadot    items:
51b8aada78SEmmanuel Vadot      items:
52b8aada78SEmmanuel Vadot        - description: primary per-CPU IRQ
53b8aada78SEmmanuel Vadot        - description: shadow IRQ number
54b8aada78SEmmanuel Vadot
55b8aada78SEmmanuel Vadotrequired:
56b8aada78SEmmanuel Vadot  - compatible
57b8aada78SEmmanuel Vadot  - reg
58b8aada78SEmmanuel Vadot  - interrupt-controller
59b8aada78SEmmanuel Vadot  - "#interrupt-cells"
60b8aada78SEmmanuel Vadot  - interrupts
61b8aada78SEmmanuel Vadot
62b8aada78SEmmanuel VadotadditionalProperties: false
63b8aada78SEmmanuel Vadot
64b8aada78SEmmanuel Vadotexamples:
65b8aada78SEmmanuel Vadot  - |
66b8aada78SEmmanuel Vadot    interrupt-controller@1fb40000 {
67b8aada78SEmmanuel Vadot        compatible = "econet,en751221-intc";
68b8aada78SEmmanuel Vadot        reg = <0x1fb40000 0x100>;
69b8aada78SEmmanuel Vadot
70b8aada78SEmmanuel Vadot        interrupt-controller;
71b8aada78SEmmanuel Vadot        #interrupt-cells = <1>;
72b8aada78SEmmanuel Vadot
73b8aada78SEmmanuel Vadot        interrupt-parent = <&cpuintc>;
74b8aada78SEmmanuel Vadot        interrupts = <2>;
75b8aada78SEmmanuel Vadot
76b8aada78SEmmanuel Vadot        econet,shadow-interrupts = <7 2>, <8 3>, <13 12>, <30 29>;
77b8aada78SEmmanuel Vadot    };
78b8aada78SEmmanuel Vadot...
79