[PATCH v4 1/4] dt-bindings: interrupt-controller: Convert MSI controller to json-schema

From: Mark Kettenis
Date: Fri Aug 27 2021 - 13:15:56 EST


From: Mark Kettenis <kettenis@xxxxxxxxxxx>

Split the MSI controller bindings from the MSI binding document
into DT schema format using json-schema.

Signed-off-by: Mark Kettenis <kettenis@xxxxxxxxxxx>
---
.../interrupt-controller/msi-controller.yaml | 34 +++++++++++++++++++
.../bindings/pci/brcm,stb-pcie.yaml | 1 +
.../bindings/pci/microchip,pcie-host.yaml | 1 +
3 files changed, 36 insertions(+)
create mode 100644 Documentation/devicetree/bindings/interrupt-controller/msi-controller.yaml

diff --git a/Documentation/devicetree/bindings/interrupt-controller/msi-controller.yaml b/Documentation/devicetree/bindings/interrupt-controller/msi-controller.yaml
new file mode 100644
index 000000000000..5ed6cd46e2e0
--- /dev/null
+++ b/Documentation/devicetree/bindings/interrupt-controller/msi-controller.yaml
@@ -0,0 +1,34 @@
+# SPDX-License-Identifier: 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 <marc.zyngier@xxxxxxx>
+
+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.
+
+ msi-controller:
+ description:
+ Identifies the node as an MSI controller.
+ $ref: /schemas/types.yaml#/definitions/flag
+
+additionalProperties: true
diff --git a/Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml b/Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml
index b9589a0daa5c..5c67976a8dc2 100644
--- a/Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml
+++ b/Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml
@@ -88,6 +88,7 @@ required:

allOf:
- $ref: /schemas/pci/pci-bus.yaml#
+ - $ref: ../interrupt-controller/msi-controller.yaml#
- if:
properties:
compatible:
diff --git a/Documentation/devicetree/bindings/pci/microchip,pcie-host.yaml b/Documentation/devicetree/bindings/pci/microchip,pcie-host.yaml
index fb95c276a986..684d9d036f48 100644
--- a/Documentation/devicetree/bindings/pci/microchip,pcie-host.yaml
+++ b/Documentation/devicetree/bindings/pci/microchip,pcie-host.yaml
@@ -11,6 +11,7 @@ maintainers:

allOf:
- $ref: /schemas/pci/pci-bus.yaml#
+ - $ref: ../interrupt-controller/msi-controller.yaml#

properties:
compatible:
--
2.32.0