mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
synced 2025-08-30 13:03:01 +00:00

The GICv5 interrupt controller architecture is composed of: - one or more Interrupt Routing Service (IRS) - zero or more Interrupt Translation Service (ITS) - zero or more Interrupt Wire Bridge (IWB) Describe a GICv5 implementation by specifying a top level node corresponding to the GICv5 system component. IRS nodes are added as GICv5 system component children. An ITS is associated with an IRS so ITS nodes are described as IRS children - use the hierarchy explicitly in the device tree to define the association. IWB nodes are described as a separate schema. An IWB is connected to a single ITS, the connection is made explicit through the msi-parent property and therefore is not required to be explicit through a parent-child relationship in the device tree. Signed-off-by: Lorenzo Pieralisi <lpieralisi@kernel.org> Reviewed-by: Rob Herring (Arm) <robh@kernel.org> Reviewed-by: Marc Zyngier <maz@kernel.org> Cc: Conor Dooley <conor+dt@kernel.org> Cc: Rob Herring <robh@kernel.org> Cc: Krzysztof Kozlowski <krzk+dt@kernel.org> Cc: Marc Zyngier <maz@kernel.org> Link: https://lore.kernel.org/r/20250703-gicv5-host-v7-1-12e71f1b3528@kernel.org Signed-off-by: Marc Zyngier <maz@kernel.org>
79 lines
1.7 KiB
YAML
79 lines
1.7 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/interrupt-controller/arm,gic-v5-iwb.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: ARM Generic Interrupt Controller, version 5 Interrupt Wire Bridge (IWB)
|
|
|
|
maintainers:
|
|
- Lorenzo Pieralisi <lpieralisi@kernel.org>
|
|
- Marc Zyngier <maz@kernel.org>
|
|
|
|
description: |
|
|
The GICv5 architecture defines the guidelines to implement GICv5
|
|
compliant interrupt controllers for AArch64 systems.
|
|
|
|
The GICv5 specification can be found at
|
|
https://developer.arm.com/documentation/aes0070
|
|
|
|
GICv5 has zero or more Interrupt Wire Bridges (IWB) that are responsible
|
|
for translating wire signals into interrupt messages to the GICv5 ITS.
|
|
|
|
allOf:
|
|
- $ref: /schemas/interrupt-controller.yaml#
|
|
|
|
properties:
|
|
compatible:
|
|
const: arm,gic-v5-iwb
|
|
|
|
reg:
|
|
items:
|
|
- description: IWB control frame
|
|
|
|
"#address-cells":
|
|
const: 0
|
|
|
|
"#interrupt-cells":
|
|
description: |
|
|
The 1st cell corresponds to the IWB wire.
|
|
|
|
The 2nd cell is the flags, encoded as follows:
|
|
bits[3:0] trigger type and level flags.
|
|
|
|
1 = low-to-high edge triggered
|
|
2 = high-to-low edge triggered
|
|
4 = active high level-sensitive
|
|
8 = active low level-sensitive
|
|
|
|
const: 2
|
|
|
|
interrupt-controller: true
|
|
|
|
msi-parent:
|
|
maxItems: 1
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
- "#interrupt-cells"
|
|
- interrupt-controller
|
|
- msi-parent
|
|
|
|
additionalProperties: false
|
|
|
|
examples:
|
|
- |
|
|
interrupt-controller@2f000000 {
|
|
compatible = "arm,gic-v5-iwb";
|
|
reg = <0x2f000000 0x10000>;
|
|
|
|
#address-cells = <0>;
|
|
|
|
#interrupt-cells = <2>;
|
|
interrupt-controller;
|
|
|
|
msi-parent = <&its0 64>;
|
|
};
|
|
...
|