Skip to content

Commit 9773c54

Browse files
cjdelisleKAGA-KOKO
authored andcommitted
dt-bindings: interrupt-controller: Add EcoNet EN751221 INTC
Document the device tree binding for the interrupt controller in the EcoNet EN751221 MIPS SoC. Signed-off-by: Caleb James DeLisle <[email protected]> Signed-off-by: Thomas Gleixner <[email protected]> Reviewed-by: Rob Herring (Arm) <[email protected]> Link: https://lore.kernel.org/all/[email protected]
1 parent 0af2f6b commit 9773c54

File tree

1 file changed

+78
-0
lines changed

1 file changed

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

0 commit comments

Comments
 (0)