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 7title: EcoNet EN751221 Interrupt Controller 8 9maintainers: 10 - Caleb James DeLisle <cjd@cjdns.fr> 11 12description: 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 21allOf: 22 - $ref: /schemas/interrupt-controller.yaml# 23 24properties: 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 55required: 56 - compatible 57 - reg 58 - interrupt-controller 59 - "#interrupt-cells" 60 - interrupts 61 62additionalProperties: false 63 64examples: 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... 79