18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
28c2ecf20Sopenharmony_ci%YAML 1.2
38c2ecf20Sopenharmony_ci---
48c2ecf20Sopenharmony_ci$id: "http://devicetree.org/schemas/interrupt-controller/loongson,pch-msi.yaml#"
58c2ecf20Sopenharmony_ci$schema: "http://devicetree.org/meta-schemas/core.yaml#"
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_cititle: Loongson PCH MSI Controller
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_cimaintainers:
108c2ecf20Sopenharmony_ci  - Jiaxun Yang <jiaxun.yang@flygoat.com>
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_cidescription:
138c2ecf20Sopenharmony_ci  This interrupt controller is found in the Loongson LS7A family of PCH for
148c2ecf20Sopenharmony_ci  transforming interrupts from PCIe MSI into HyperTransport vectorized
158c2ecf20Sopenharmony_ci  interrupts.
168c2ecf20Sopenharmony_ci
178c2ecf20Sopenharmony_ciproperties:
188c2ecf20Sopenharmony_ci  compatible:
198c2ecf20Sopenharmony_ci    const: loongson,pch-msi-1.0
208c2ecf20Sopenharmony_ci
218c2ecf20Sopenharmony_ci  reg:
228c2ecf20Sopenharmony_ci    maxItems: 1
238c2ecf20Sopenharmony_ci
248c2ecf20Sopenharmony_ci  loongson,msi-base-vec:
258c2ecf20Sopenharmony_ci    description:
268c2ecf20Sopenharmony_ci      u32 value of the base of parent HyperTransport vector allocated
278c2ecf20Sopenharmony_ci      to PCH MSI.
288c2ecf20Sopenharmony_ci    $ref: "/schemas/types.yaml#/definitions/uint32"
298c2ecf20Sopenharmony_ci    minimum: 0
308c2ecf20Sopenharmony_ci    maximum: 255
318c2ecf20Sopenharmony_ci
328c2ecf20Sopenharmony_ci  loongson,msi-num-vecs:
338c2ecf20Sopenharmony_ci    description:
348c2ecf20Sopenharmony_ci      u32 value of the number of parent HyperTransport vectors allocated
358c2ecf20Sopenharmony_ci      to PCH MSI.
368c2ecf20Sopenharmony_ci    $ref: "/schemas/types.yaml#/definitions/uint32"
378c2ecf20Sopenharmony_ci    minimum: 1
388c2ecf20Sopenharmony_ci    maximum: 256
398c2ecf20Sopenharmony_ci
408c2ecf20Sopenharmony_ci  msi-controller: true
418c2ecf20Sopenharmony_ci
428c2ecf20Sopenharmony_cirequired:
438c2ecf20Sopenharmony_ci  - compatible
448c2ecf20Sopenharmony_ci  - reg
458c2ecf20Sopenharmony_ci  - msi-controller
468c2ecf20Sopenharmony_ci  - loongson,msi-base-vec
478c2ecf20Sopenharmony_ci  - loongson,msi-num-vecs
488c2ecf20Sopenharmony_ci
498c2ecf20Sopenharmony_ciadditionalProperties: true #fixme
508c2ecf20Sopenharmony_ci
518c2ecf20Sopenharmony_ciexamples:
528c2ecf20Sopenharmony_ci  - |
538c2ecf20Sopenharmony_ci    #include <dt-bindings/interrupt-controller/irq.h>
548c2ecf20Sopenharmony_ci    msi: msi-controller@2ff00000 {
558c2ecf20Sopenharmony_ci      compatible = "loongson,pch-msi-1.0";
568c2ecf20Sopenharmony_ci      reg = <0x2ff00000 0x4>;
578c2ecf20Sopenharmony_ci      msi-controller;
588c2ecf20Sopenharmony_ci      loongson,msi-base-vec = <64>;
598c2ecf20Sopenharmony_ci      loongson,msi-num-vecs = <64>;
608c2ecf20Sopenharmony_ci      interrupt-parent = <&htvec>;
618c2ecf20Sopenharmony_ci    };
628c2ecf20Sopenharmony_ci...
63