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