1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: "http://devicetree.org/schemas/interrupt-controller/loongson,pch-msi.yaml#"
5$schema: "http://devicetree.org/meta-schemas/core.yaml#"
6
7title: Loongson PCH MSI Controller
8
9maintainers:
10  - Jiaxun Yang <jiaxun.yang@flygoat.com>
11
12description:
13  This interrupt controller is found in the Loongson LS7A family of PCH for
14  transforming interrupts from PCIe MSI into HyperTransport vectorized
15  interrupts.
16
17properties:
18  compatible:
19    const: loongson,pch-msi-1.0
20
21  reg:
22    maxItems: 1
23
24  loongson,msi-base-vec:
25    description:
26      u32 value of the base of parent HyperTransport vector allocated
27      to PCH MSI.
28    allOf:
29      - $ref: "/schemas/types.yaml#/definitions/uint32"
30      - minimum: 0
31        maximum: 255
32
33  loongson,msi-num-vecs:
34    description:
35      u32 value of the number of parent HyperTransport vectors allocated
36      to PCH MSI.
37    allOf:
38      - $ref: "/schemas/types.yaml#/definitions/uint32"
39      - minimum: 1
40        maximum: 256
41
42  msi-controller: true
43
44required:
45  - compatible
46  - reg
47  - msi-controller
48  - loongson,msi-base-vec
49  - loongson,msi-num-vecs
50
51examples:
52  - |
53    #include <dt-bindings/interrupt-controller/irq.h>
54    msi: msi-controller@2ff00000 {
55      compatible = "loongson,pch-msi-1.0";
56      reg = <0x2ff00000 0x4>;
57      msi-controller;
58      loongson,msi-base-vec = <64>;
59      loongson,msi-num-vecs = <64>;
60      interrupt-parent = <&htvec>;
61    };
62...
63