12e8b4b6eSMark Kettenis# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 22e8b4b6eSMark Kettenis%YAML 1.2 32e8b4b6eSMark Kettenis--- 42e8b4b6eSMark Kettenis$id: http://devicetree.org/schemas/interrupt-controller/msi-controller.yaml# 52e8b4b6eSMark Kettenis$schema: http://devicetree.org/meta-schemas/core.yaml# 62e8b4b6eSMark Kettenis 72e8b4b6eSMark Kettenistitle: MSI controller 82e8b4b6eSMark Kettenis 92e8b4b6eSMark Kettenismaintainers: 102e8b4b6eSMark Kettenis - Marc Zyngier <maz@kernel.org> 112e8b4b6eSMark Kettenis 122e8b4b6eSMark Kettenisdescription: | 132e8b4b6eSMark Kettenis An MSI controller signals interrupts to a CPU when a write is made 142e8b4b6eSMark Kettenis to an MMIO address by some master. An MSI controller may feature a 152e8b4b6eSMark Kettenis number of doorbells. 162e8b4b6eSMark Kettenis 172e8b4b6eSMark Kettenisproperties: 182e8b4b6eSMark Kettenis "#msi-cells": 192e8b4b6eSMark Kettenis description: | 202e8b4b6eSMark Kettenis The number of cells in an msi-specifier, required if not zero. 212e8b4b6eSMark Kettenis 222e8b4b6eSMark Kettenis Typically this will encode information related to sideband data, 232e8b4b6eSMark Kettenis and will not encode doorbells or payloads as these can be 242e8b4b6eSMark Kettenis configured dynamically. 252e8b4b6eSMark Kettenis 262e8b4b6eSMark Kettenis The meaning of the msi-specifier is defined by the device tree 272e8b4b6eSMark Kettenis binding of the specific MSI controller. 282e8b4b6eSMark Kettenis enum: [0, 1] 292e8b4b6eSMark Kettenis 302e8b4b6eSMark Kettenis msi-controller: 312e8b4b6eSMark Kettenis description: 322e8b4b6eSMark Kettenis Identifies the node as an MSI controller. 332e8b4b6eSMark Kettenis $ref: /schemas/types.yaml#/definitions/flag 342e8b4b6eSMark Kettenis 35*da73f4eeSMark Kettenis msi-ranges: 36*da73f4eeSMark Kettenis description: 37*da73f4eeSMark Kettenis A list of <phandle intspec span> tuples, where "phandle" is the 38*da73f4eeSMark Kettenis parent interrupt controller, "intspec" is the starting/base 39*da73f4eeSMark Kettenis interrupt specifier and "span" is the size of the 40*da73f4eeSMark Kettenis range. Multiple ranges can be provided. 41*da73f4eeSMark Kettenis $ref: /schemas/types.yaml#/definitions/phandle-array 42*da73f4eeSMark Kettenis 432e8b4b6eSMark Kettenisdependencies: 442e8b4b6eSMark Kettenis "#msi-cells": [ msi-controller ] 452e8b4b6eSMark Kettenis 462e8b4b6eSMark KettenisadditionalProperties: true 47