xref: /linux/Documentation/devicetree/bindings/interrupt-controller/altr,msi-controller.yaml (revision bf373e4c786bfe989e637195252698f45b157a68)
1*f2e3df34SRob Herring (Arm)# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2*f2e3df34SRob Herring (Arm)# Copyright (C) 2015, 2024, Intel Corporation
3*f2e3df34SRob Herring (Arm)%YAML 1.2
4*f2e3df34SRob Herring (Arm)---
5*f2e3df34SRob Herring (Arm)$id: http://devicetree.org/schemas/interrupt-controller/altr,msi-controller.yaml#
6*f2e3df34SRob Herring (Arm)$schema: http://devicetree.org/meta-schemas/core.yaml#
7*f2e3df34SRob Herring (Arm)
8*f2e3df34SRob Herring (Arm)title: Altera PCIe MSI controller
9*f2e3df34SRob Herring (Arm)
10*f2e3df34SRob Herring (Arm)maintainers:
11*f2e3df34SRob Herring (Arm)  - Matthew Gerlach <matthew.gerlach@linux.intel.com>
12*f2e3df34SRob Herring (Arm)
13*f2e3df34SRob Herring (Arm)properties:
14*f2e3df34SRob Herring (Arm)  compatible:
15*f2e3df34SRob Herring (Arm)    enum:
16*f2e3df34SRob Herring (Arm)      - altr,msi-1.0
17*f2e3df34SRob Herring (Arm)
18*f2e3df34SRob Herring (Arm)  reg:
19*f2e3df34SRob Herring (Arm)    items:
20*f2e3df34SRob Herring (Arm)      - description: CSR registers
21*f2e3df34SRob Herring (Arm)      - description: Vectors slave port region
22*f2e3df34SRob Herring (Arm)
23*f2e3df34SRob Herring (Arm)  reg-names:
24*f2e3df34SRob Herring (Arm)    items:
25*f2e3df34SRob Herring (Arm)      - const: csr
26*f2e3df34SRob Herring (Arm)      - const: vector_slave
27*f2e3df34SRob Herring (Arm)
28*f2e3df34SRob Herring (Arm)  interrupts:
29*f2e3df34SRob Herring (Arm)    maxItems: 1
30*f2e3df34SRob Herring (Arm)
31*f2e3df34SRob Herring (Arm)  msi-controller: true
32*f2e3df34SRob Herring (Arm)
33*f2e3df34SRob Herring (Arm)  num-vectors:
34*f2e3df34SRob Herring (Arm)    description: number of vectors
35*f2e3df34SRob Herring (Arm)    $ref: /schemas/types.yaml#/definitions/uint32
36*f2e3df34SRob Herring (Arm)    minimum: 1
37*f2e3df34SRob Herring (Arm)    maximum: 32
38*f2e3df34SRob Herring (Arm)
39*f2e3df34SRob Herring (Arm)required:
40*f2e3df34SRob Herring (Arm)  - compatible
41*f2e3df34SRob Herring (Arm)  - reg
42*f2e3df34SRob Herring (Arm)  - reg-names
43*f2e3df34SRob Herring (Arm)  - interrupts
44*f2e3df34SRob Herring (Arm)  - msi-controller
45*f2e3df34SRob Herring (Arm)  - num-vectors
46*f2e3df34SRob Herring (Arm)
47*f2e3df34SRob Herring (Arm)allOf:
48*f2e3df34SRob Herring (Arm)  - $ref: /schemas/interrupt-controller/msi-controller.yaml#
49*f2e3df34SRob Herring (Arm)
50*f2e3df34SRob Herring (Arm)unevaluatedProperties: false
51*f2e3df34SRob Herring (Arm)
52*f2e3df34SRob Herring (Arm)examples:
53*f2e3df34SRob Herring (Arm)  - |
54*f2e3df34SRob Herring (Arm)    #include <dt-bindings/interrupt-controller/arm-gic.h>
55*f2e3df34SRob Herring (Arm)    #include <dt-bindings/interrupt-controller/irq.h>
56*f2e3df34SRob Herring (Arm)    msi@ff200000 {
57*f2e3df34SRob Herring (Arm)        compatible = "altr,msi-1.0";
58*f2e3df34SRob Herring (Arm)        reg = <0xff200000 0x00000010>,
59*f2e3df34SRob Herring (Arm)              <0xff200010 0x00000080>;
60*f2e3df34SRob Herring (Arm)        reg-names = "csr", "vector_slave";
61*f2e3df34SRob Herring (Arm)        interrupt-parent = <&hps_0_arm_gic_0>;
62*f2e3df34SRob Herring (Arm)        interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
63*f2e3df34SRob Herring (Arm)        msi-controller;
64*f2e3df34SRob Herring (Arm)        num-vectors = <32>;
65*f2e3df34SRob Herring (Arm)    };
66