# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/interrupt-controller/msi-controller.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: MSI controller
maintainers:
- Marc Zyngier <[email protected]>
description: |
An MSI controller signals interrupts to a CPU when a write is made
to an MMIO address by some master. An MSI controller may feature a
number of doorbells.
properties:
"#msi-cells":
description: |
The number of cells in an msi-specifier, required if not zero.
Typically this will encode information related to sideband data,
and will not encode doorbells or payloads as these can be
configured dynamically.
The meaning of the msi-specifier is defined by the device tree
binding of the specific MSI controller.
enum: [0, 1]
msi-controller:
description:
Identifies the node as an MSI controller.
$ref: /schemas/types.yaml#/definitions/flag
msi-ranges:
description:
A list of <phandle intspec span> tuples, where "phandle" is the
parent interrupt controller, "intspec" is the starting/base
interrupt specifier and "span" is the size of the
range. Multiple ranges can be provided.
$ref: /schemas/types.yaml#/definitions/phandle-array
dependencies:
"#msi-cells": [ msi-controller ]
additionalProperties: true