0001 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/interrupt-controller/msi-controller.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006
0007 title: MSI controller
0008
0009 maintainers:
0010 - Marc Zyngier <maz@kernel.org>
0011
0012 description: |
0013 An MSI controller signals interrupts to a CPU when a write is made
0014 to an MMIO address by some master. An MSI controller may feature a
0015 number of doorbells.
0016
0017 properties:
0018 "#msi-cells":
0019 description: |
0020 The number of cells in an msi-specifier, required if not zero.
0021
0022 Typically this will encode information related to sideband data,
0023 and will not encode doorbells or payloads as these can be
0024 configured dynamically.
0025
0026 The meaning of the msi-specifier is defined by the device tree
0027 binding of the specific MSI controller.
0028 enum: [0, 1]
0029
0030 msi-controller:
0031 description:
0032 Identifies the node as an MSI controller.
0033 $ref: /schemas/types.yaml#/definitions/flag
0034
0035 msi-ranges:
0036 description:
0037 A list of <phandle intspec span> tuples, where "phandle" is the
0038 parent interrupt controller, "intspec" is the starting/base
0039 interrupt specifier and "span" is the size of the
0040 range. Multiple ranges can be provided.
0041 $ref: /schemas/types.yaml#/definitions/phandle-array
0042
0043 dependencies:
0044 "#msi-cells": [ msi-controller ]
0045
0046 additionalProperties: true