summaryrefslogtreecommitdiff
path: root/Documentation/devicetree/bindings/interrupt-controller/hisilicon,mbigen-v2.yaml
blob: 326424e6e02a905c9d3bf068aaba76fe0f6f2777 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/interrupt-controller/hisilicon,mbigen-v2.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Hisilicon mbigen v2

maintainers:
  - Wei Xu <xuwei5@hisilicon.com>

description: >
  Mbigen means: message based interrupt generator.

  MBI is kind of msi interrupt only used on Non-PCI devices.

  To reduce the wired interrupt number connected to GIC, Hisilicon designed
  mbigen to collect and generate interrupt.

  Non-pci devices can connect to mbigen and generate the interrupt by writing
  ITS register.

properties:
  compatible:
    const: hisilicon,mbigen-v2

  reg:
    maxItems: 1

required:
  - compatible
  - reg

additionalProperties:
  type: object
  additionalProperties: false

  properties:
    interrupt-controller: true

    '#interrupt-cells':
      const: 2

    msi-parent:
      maxItems: 1

    num-pins:
      description: The total number of pins implemented in this Mbigen instance.
      $ref: /schemas/types.yaml#/definitions/uint32

  required:
    - interrupt-controller
    - "#interrupt-cells"
    - msi-parent
    - num-pins

examples:
  - |
    mbigen@c0080000 {
        compatible = "hisilicon,mbigen-v2";
        reg = <0xc0080000 0x10000>;

        mbigen_gmac: intc_gmac {
            interrupt-controller;
            #interrupt-cells = <2>;
            msi-parent = <&its_dsa 0x40b1c>;
            num-pins = <9>;
        };

        mbigen_i2c: intc_i2c {
            interrupt-controller;
            #interrupt-cells = <2>;
            msi-parent = <&its_dsa 0x40b0e>;
            num-pins = <2>;
        };
    };