1*833e5d42SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*833e5d42SEmmanuel Vadot%YAML 1.2 3*833e5d42SEmmanuel Vadot--- 4*833e5d42SEmmanuel Vadot$id: http://devicetree.org/schemas/interrupt-controller/arm,gic-v5-iwb.yaml# 5*833e5d42SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*833e5d42SEmmanuel Vadot 7*833e5d42SEmmanuel Vadottitle: ARM Generic Interrupt Controller, version 5 Interrupt Wire Bridge (IWB) 8*833e5d42SEmmanuel Vadot 9*833e5d42SEmmanuel Vadotmaintainers: 10*833e5d42SEmmanuel Vadot - Lorenzo Pieralisi <lpieralisi@kernel.org> 11*833e5d42SEmmanuel Vadot - Marc Zyngier <maz@kernel.org> 12*833e5d42SEmmanuel Vadot 13*833e5d42SEmmanuel Vadotdescription: | 14*833e5d42SEmmanuel Vadot The GICv5 architecture defines the guidelines to implement GICv5 15*833e5d42SEmmanuel Vadot compliant interrupt controllers for AArch64 systems. 16*833e5d42SEmmanuel Vadot 17*833e5d42SEmmanuel Vadot The GICv5 specification can be found at 18*833e5d42SEmmanuel Vadot https://developer.arm.com/documentation/aes0070 19*833e5d42SEmmanuel Vadot 20*833e5d42SEmmanuel Vadot GICv5 has zero or more Interrupt Wire Bridges (IWB) that are responsible 21*833e5d42SEmmanuel Vadot for translating wire signals into interrupt messages to the GICv5 ITS. 22*833e5d42SEmmanuel Vadot 23*833e5d42SEmmanuel VadotallOf: 24*833e5d42SEmmanuel Vadot - $ref: /schemas/interrupt-controller.yaml# 25*833e5d42SEmmanuel Vadot 26*833e5d42SEmmanuel Vadotproperties: 27*833e5d42SEmmanuel Vadot compatible: 28*833e5d42SEmmanuel Vadot const: arm,gic-v5-iwb 29*833e5d42SEmmanuel Vadot 30*833e5d42SEmmanuel Vadot reg: 31*833e5d42SEmmanuel Vadot items: 32*833e5d42SEmmanuel Vadot - description: IWB control frame 33*833e5d42SEmmanuel Vadot 34*833e5d42SEmmanuel Vadot "#address-cells": 35*833e5d42SEmmanuel Vadot const: 0 36*833e5d42SEmmanuel Vadot 37*833e5d42SEmmanuel Vadot "#interrupt-cells": 38*833e5d42SEmmanuel Vadot description: | 39*833e5d42SEmmanuel Vadot The 1st cell corresponds to the IWB wire. 40*833e5d42SEmmanuel Vadot 41*833e5d42SEmmanuel Vadot The 2nd cell is the flags, encoded as follows: 42*833e5d42SEmmanuel Vadot bits[3:0] trigger type and level flags. 43*833e5d42SEmmanuel Vadot 44*833e5d42SEmmanuel Vadot 1 = low-to-high edge triggered 45*833e5d42SEmmanuel Vadot 2 = high-to-low edge triggered 46*833e5d42SEmmanuel Vadot 4 = active high level-sensitive 47*833e5d42SEmmanuel Vadot 8 = active low level-sensitive 48*833e5d42SEmmanuel Vadot 49*833e5d42SEmmanuel Vadot const: 2 50*833e5d42SEmmanuel Vadot 51*833e5d42SEmmanuel Vadot interrupt-controller: true 52*833e5d42SEmmanuel Vadot 53*833e5d42SEmmanuel Vadot msi-parent: 54*833e5d42SEmmanuel Vadot maxItems: 1 55*833e5d42SEmmanuel Vadot 56*833e5d42SEmmanuel Vadotrequired: 57*833e5d42SEmmanuel Vadot - compatible 58*833e5d42SEmmanuel Vadot - reg 59*833e5d42SEmmanuel Vadot - "#interrupt-cells" 60*833e5d42SEmmanuel Vadot - interrupt-controller 61*833e5d42SEmmanuel Vadot - msi-parent 62*833e5d42SEmmanuel Vadot 63*833e5d42SEmmanuel VadotadditionalProperties: false 64*833e5d42SEmmanuel Vadot 65*833e5d42SEmmanuel Vadotexamples: 66*833e5d42SEmmanuel Vadot - | 67*833e5d42SEmmanuel Vadot interrupt-controller@2f000000 { 68*833e5d42SEmmanuel Vadot compatible = "arm,gic-v5-iwb"; 69*833e5d42SEmmanuel Vadot reg = <0x2f000000 0x10000>; 70*833e5d42SEmmanuel Vadot 71*833e5d42SEmmanuel Vadot #address-cells = <0>; 72*833e5d42SEmmanuel Vadot 73*833e5d42SEmmanuel Vadot #interrupt-cells = <2>; 74*833e5d42SEmmanuel Vadot interrupt-controller; 75*833e5d42SEmmanuel Vadot 76*833e5d42SEmmanuel Vadot msi-parent = <&its0 64>; 77*833e5d42SEmmanuel Vadot }; 78*833e5d42SEmmanuel Vadot... 79