1*8cc087a1SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*8cc087a1SEmmanuel Vadot%YAML 1.2 3*8cc087a1SEmmanuel Vadot--- 4*8cc087a1SEmmanuel Vadot$id: http://devicetree.org/schemas/interrupt-controller/msi-controller.yaml# 5*8cc087a1SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*8cc087a1SEmmanuel Vadot 7*8cc087a1SEmmanuel Vadottitle: MSI controller 8*8cc087a1SEmmanuel Vadot 9*8cc087a1SEmmanuel Vadotmaintainers: 10*8cc087a1SEmmanuel Vadot - Marc Zyngier <maz@kernel.org> 11*8cc087a1SEmmanuel Vadot 12*8cc087a1SEmmanuel Vadotdescription: | 13*8cc087a1SEmmanuel Vadot An MSI controller signals interrupts to a CPU when a write is made 14*8cc087a1SEmmanuel Vadot to an MMIO address by some master. An MSI controller may feature a 15*8cc087a1SEmmanuel Vadot number of doorbells. 16*8cc087a1SEmmanuel Vadot 17*8cc087a1SEmmanuel Vadotproperties: 18*8cc087a1SEmmanuel Vadot "#msi-cells": 19*8cc087a1SEmmanuel Vadot description: | 20*8cc087a1SEmmanuel Vadot The number of cells in an msi-specifier, required if not zero. 21*8cc087a1SEmmanuel Vadot 22*8cc087a1SEmmanuel Vadot Typically this will encode information related to sideband data, 23*8cc087a1SEmmanuel Vadot and will not encode doorbells or payloads as these can be 24*8cc087a1SEmmanuel Vadot configured dynamically. 25*8cc087a1SEmmanuel Vadot 26*8cc087a1SEmmanuel Vadot The meaning of the msi-specifier is defined by the device tree 27*8cc087a1SEmmanuel Vadot binding of the specific MSI controller. 28*8cc087a1SEmmanuel Vadot enum: [0, 1] 29*8cc087a1SEmmanuel Vadot 30*8cc087a1SEmmanuel Vadot msi-controller: 31*8cc087a1SEmmanuel Vadot description: 32*8cc087a1SEmmanuel Vadot Identifies the node as an MSI controller. 33*8cc087a1SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/flag 34*8cc087a1SEmmanuel Vadot 35*8cc087a1SEmmanuel Vadot msi-ranges: 36*8cc087a1SEmmanuel Vadot description: 37*8cc087a1SEmmanuel Vadot A list of <phandle intspec span> tuples, where "phandle" is the 38*8cc087a1SEmmanuel Vadot parent interrupt controller, "intspec" is the starting/base 39*8cc087a1SEmmanuel Vadot interrupt specifier and "span" is the size of the 40*8cc087a1SEmmanuel Vadot range. Multiple ranges can be provided. 41*8cc087a1SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/phandle-array 42*8cc087a1SEmmanuel Vadot 43*8cc087a1SEmmanuel Vadotdependencies: 44*8cc087a1SEmmanuel Vadot "#msi-cells": [ msi-controller ] 45*8cc087a1SEmmanuel Vadot 46*8cc087a1SEmmanuel VadotadditionalProperties: true 47