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