1*2e8b4b6eSMark Kettenis# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*2e8b4b6eSMark Kettenis%YAML 1.2 3*2e8b4b6eSMark Kettenis--- 4*2e8b4b6eSMark Kettenis$id: http://devicetree.org/schemas/interrupt-controller/msi-controller.yaml# 5*2e8b4b6eSMark Kettenis$schema: http://devicetree.org/meta-schemas/core.yaml# 6*2e8b4b6eSMark Kettenis 7*2e8b4b6eSMark Kettenistitle: MSI controller 8*2e8b4b6eSMark Kettenis 9*2e8b4b6eSMark Kettenismaintainers: 10*2e8b4b6eSMark Kettenis - Marc Zyngier <maz@kernel.org> 11*2e8b4b6eSMark Kettenis 12*2e8b4b6eSMark Kettenisdescription: | 13*2e8b4b6eSMark Kettenis An MSI controller signals interrupts to a CPU when a write is made 14*2e8b4b6eSMark Kettenis to an MMIO address by some master. An MSI controller may feature a 15*2e8b4b6eSMark Kettenis number of doorbells. 16*2e8b4b6eSMark Kettenis 17*2e8b4b6eSMark Kettenisproperties: 18*2e8b4b6eSMark Kettenis "#msi-cells": 19*2e8b4b6eSMark Kettenis description: | 20*2e8b4b6eSMark Kettenis The number of cells in an msi-specifier, required if not zero. 21*2e8b4b6eSMark Kettenis 22*2e8b4b6eSMark Kettenis Typically this will encode information related to sideband data, 23*2e8b4b6eSMark Kettenis and will not encode doorbells or payloads as these can be 24*2e8b4b6eSMark Kettenis configured dynamically. 25*2e8b4b6eSMark Kettenis 26*2e8b4b6eSMark Kettenis The meaning of the msi-specifier is defined by the device tree 27*2e8b4b6eSMark Kettenis binding of the specific MSI controller. 28*2e8b4b6eSMark Kettenis enum: [0, 1] 29*2e8b4b6eSMark Kettenis 30*2e8b4b6eSMark Kettenis msi-controller: 31*2e8b4b6eSMark Kettenis description: 32*2e8b4b6eSMark Kettenis Identifies the node as an MSI controller. 33*2e8b4b6eSMark Kettenis $ref: /schemas/types.yaml#/definitions/flag 34*2e8b4b6eSMark Kettenis 35*2e8b4b6eSMark Kettenisdependencies: 36*2e8b4b6eSMark Kettenis "#msi-cells": [ msi-controller ] 37*2e8b4b6eSMark Kettenis 38*2e8b4b6eSMark KettenisadditionalProperties: true 39