162306a36Sopenharmony_ciHisilicon mbigen device tree bindings.
262306a36Sopenharmony_ci=======================================
362306a36Sopenharmony_ci
462306a36Sopenharmony_ciMbigen means: message based interrupt generator.
562306a36Sopenharmony_ci
662306a36Sopenharmony_ciMBI is kind of msi interrupt only used on Non-PCI devices.
762306a36Sopenharmony_ci
862306a36Sopenharmony_ciTo reduce the wired interrupt number connected to GIC,
962306a36Sopenharmony_ciHisilicon designed mbigen to collect and generate interrupt.
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ciNon-pci devices can connect to mbigen and generate the
1362306a36Sopenharmony_ciinterrupt by writing ITS register.
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ciThe mbigen chip and devices connect to mbigen have the following properties:
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ciMbigen main node required properties:
1862306a36Sopenharmony_ci-------------------------------------------
1962306a36Sopenharmony_ci- compatible: Should be "hisilicon,mbigen-v2"
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_ci- reg: Specifies the base physical address and size of the Mbigen
2262306a36Sopenharmony_ci  registers.
2362306a36Sopenharmony_ci
2462306a36Sopenharmony_ciMbigen sub node required properties:
2562306a36Sopenharmony_ci------------------------------------------
2662306a36Sopenharmony_ci- interrupt controller: Identifies the node as an interrupt controller
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ci- msi-parent: Specifies the MSI controller this mbigen use.
2962306a36Sopenharmony_ci  For more detail information,please refer to the generic msi-parent binding in
3062306a36Sopenharmony_ci  Documentation/devicetree/bindings/interrupt-controller/msi.txt.
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_ci- num-pins: the total number of pins implemented in this Mbigen
3362306a36Sopenharmony_ci  instance.
3462306a36Sopenharmony_ci
3562306a36Sopenharmony_ci- #interrupt-cells : Specifies the number of cells needed to encode an
3662306a36Sopenharmony_ci  interrupt source. The value must be 2.
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_ci  The 1st cell is hardware pin number of the interrupt.This number is local to
3962306a36Sopenharmony_ci  each mbigen chip and in the range from 0 to the maximum interrupts number
4062306a36Sopenharmony_ci  of the mbigen.
4162306a36Sopenharmony_ci
4262306a36Sopenharmony_ci  The 2nd cell is the interrupt trigger type.
4362306a36Sopenharmony_ci	The value of this cell should be:
4462306a36Sopenharmony_ci	1: rising edge triggered
4562306a36Sopenharmony_ci	or
4662306a36Sopenharmony_ci	4: high level triggered
4762306a36Sopenharmony_ci
4862306a36Sopenharmony_ciExamples:
4962306a36Sopenharmony_ci
5062306a36Sopenharmony_ci	mbigen_chip_dsa {
5162306a36Sopenharmony_ci			compatible = "hisilicon,mbigen-v2";
5262306a36Sopenharmony_ci			reg = <0x0 0xc0080000 0x0 0x10000>;
5362306a36Sopenharmony_ci
5462306a36Sopenharmony_ci			mbigen_gmac:intc_gmac {
5562306a36Sopenharmony_ci				interrupt-controller;
5662306a36Sopenharmony_ci				msi-parent = <&its_dsa 0x40b1c>;
5762306a36Sopenharmony_ci				num-pins = <9>;
5862306a36Sopenharmony_ci				#interrupt-cells = <2>;
5962306a36Sopenharmony_ci			};
6062306a36Sopenharmony_ci
6162306a36Sopenharmony_ci			mbigen_i2c:intc_i2c {
6262306a36Sopenharmony_ci				interrupt-controller;
6362306a36Sopenharmony_ci				msi-parent = <&its_dsa 0x40b0e>;
6462306a36Sopenharmony_ci				num-pins = <2>;
6562306a36Sopenharmony_ci				#interrupt-cells = <2>;
6662306a36Sopenharmony_ci			};
6762306a36Sopenharmony_ci	};
6862306a36Sopenharmony_ci
6962306a36Sopenharmony_ciDevices connect to mbigen required properties:
7062306a36Sopenharmony_ci----------------------------------------------------
7162306a36Sopenharmony_ci-interrupts:Specifies the interrupt source.
7262306a36Sopenharmony_ci For the specific information of each cell in this property,please refer to
7362306a36Sopenharmony_ci the "interrupt-cells" description mentioned above.
7462306a36Sopenharmony_ci
7562306a36Sopenharmony_ciExamples:
7662306a36Sopenharmony_ci	gmac0: ethernet@c2080000 {
7762306a36Sopenharmony_ci		#address-cells = <1>;
7862306a36Sopenharmony_ci		#size-cells = <0>;
7962306a36Sopenharmony_ci		reg = <0 0xc2080000 0 0x20000>,
8062306a36Sopenharmony_ci		      <0 0xc0000000 0 0x1000>;
8162306a36Sopenharmony_ci		interrupt-parent  = <&mbigen_device_gmac>;
8262306a36Sopenharmony_ci		interrupts =	<656 1>,
8362306a36Sopenharmony_ci				<657 1>;
8462306a36Sopenharmony_ci	};
85