diff --git a/dtschema/dtb.py b/dtschema/dtb.py index 72037454..0473c85a 100644 --- a/dtschema/dtb.py +++ b/dtschema/dtb.py @@ -250,6 +250,7 @@ def fdt_scan_node(fdt, nodename, offset): 'interconnects': '#interconnect-cells', 'mboxes': '#mbox-cells', 'sound-dai': '#sound-dai-cells', + 'msi-parent': '#msi-cells', 'gpio-ranges': 3, 'nvmem-cells': None, diff --git a/dtschema/schemas/msi-consumer.yaml b/dtschema/schemas/msi-consumer.yaml new file mode 100644 index 00000000..c50dde16 --- /dev/null +++ b/dtschema/schemas/msi-consumer.yaml @@ -0,0 +1,34 @@ +# SPDX-License-Identifier: BSD-2-Clause +# Copyright 2022 Arm Ltd. +$id: http://devicetree.org/schemas/msi-consumer.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: MSI consumer properties + +maintainers: + - Rob Herring + +# always select the core schema +select: true + +properties: + msi-parent: + description: | + A list of phandle + msi-specifier pairs, one for each MSI controller which the + device is capable of using. + + This property is unordered, and MSIs may be allocated from any combination of + MSI controllers listed in the msi-parent property. + + If a device has restrictions on the allocation of MSIs, these restrictions + must be described with additional properties. + + When #msi-cells is non-zero, busses with an msi-parent will require + additional properties to describe the relationship between devices on the bus + and the set of MSIs they can potentially generate. + $ref: types.yaml#/definitions/phandle-array + items: + minItems: 1 + maxItems: 2 + +additionalProperties: true