Documentation / devicetree / bindings / interrupt-controller / hisilicon,mbigen-v2.yaml


Based on kernel version 6.18. Page generated on 2025-12-02 09:03 EST.

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>;
        };
    };