xref: /linux/Documentation/devicetree/bindings/interrupt-controller/sophgo,sg2042-msi.yaml (revision 23ca32e4ead48f68e37000f2552b973ef1439acb)
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/interrupt-controller/sophgo,sg2042-msi.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Sophgo SG2042 MSI Controller
8
9maintainers:
10  - Chen Wang <unicorn_wang@outlook.com>
11
12description:
13  This interrupt controller is in Sophgo SG2042 for transforming interrupts from
14  PCIe MSI to PLIC interrupts.
15
16allOf:
17  - $ref: /schemas/interrupt-controller/msi-controller.yaml#
18
19properties:
20  compatible:
21    enum:
22      - sophgo,sg2042-msi
23      - sophgo,sg2044-msi
24
25  reg:
26    items:
27      - description: clear register
28      - description: msi doorbell address
29
30  reg-names:
31    items:
32      - const: clr
33      - const: doorbell
34
35  msi-controller: true
36
37  msi-ranges:
38    maxItems: 1
39
40  "#msi-cells":
41    const: 0
42
43required:
44  - compatible
45  - reg
46  - reg-names
47  - msi-controller
48  - msi-ranges
49  - "#msi-cells"
50
51unevaluatedProperties: false
52
53examples:
54  - |
55    #include <dt-bindings/interrupt-controller/irq.h>
56    msi-controller@30000000 {
57      compatible = "sophgo,sg2042-msi";
58      reg = <0x30000000 0x4>, <0x30000008 0x4>;
59      reg-names = "clr", "doorbell";
60      msi-controller;
61      #msi-cells = <0>;
62      msi-ranges = <&plic 64 IRQ_TYPE_LEVEL_HIGH 32>;
63    };
64