xref: /linux/Documentation/devicetree/bindings/infiniband/hisilicon-hns-roce.txt (revision bfd5bb6f90af092aa345b15cd78143956a13c2a8)
1Hisilicon RoCE DT description
2
3Hisilicon RoCE engine is a part of network subsystem.
4It works depending on other part of network wubsytem, such as, gmac and
5dsa fabric.
6
7Additional properties are described here:
8
9Required properties:
10- compatible: Should contain "hisilicon,hns-roce-v1".
11- reg: Physical base address of the RoCE driver and
12length of memory mapped region.
13- eth-handle: phandle, specifies a reference to a node
14representing a ethernet device.
15- dsaf-handle: phandle, specifies a reference to a node
16representing a dsaf device.
17- node_guid: a number that uniquely identifies a device or component
18- #address-cells: must be 2
19- #size-cells: must be 2
20Optional properties:
21- dma-coherent: Present if DMA operations are coherent.
22- interrupt-parent: the interrupt parent of this device.
23- interrupts: should contain 32 completion event irq,1 async event irq
24and 1 event overflow irq.
25- interrupt-names:should be one of 34 irqs for roce device
26  - hns-roce-comp-0 ~ hns-roce-comp-31: 32 complete event irq
27  - hns-roce-async: 1 async event irq
28  - hns-roce-common: named common exception warning irq
29Example:
30	infiniband@c4000000 {
31			compatible = "hisilicon,hns-roce-v1";
32			reg = <0x0 0xc4000000 0x0 0x100000>;
33			dma-coherent;
34			eth-handle = <&eth2 &eth3 &eth4 &eth5 &eth6 &eth7>;
35			dsaf-handle = <&soc0_dsa>;
36			node-guid = [00 9A CD 00 00 01 02 03];
37			#address-cells = <2>;
38			#size-cells = <2>;
39			interrupt-parent = <&mbigen_dsa>;
40			interrupts = <722 1>,
41					<723 1>,
42					<724 1>,
43					<725 1>,
44					<726 1>,
45					<727 1>,
46					<728 1>,
47					<729 1>,
48					<730 1>,
49					<731 1>,
50					<732 1>,
51					<733 1>,
52					<734 1>,
53					<735 1>,
54					<736 1>,
55					<737 1>,
56					<738 1>,
57					<739 1>,
58					<740 1>,
59					<741 1>,
60					<742 1>,
61					<743 1>,
62					<744 1>,
63					<745 1>,
64					<746 1>,
65					<747 1>,
66					<748 1>,
67					<749 1>,
68					<750 1>,
69					<751 1>,
70					<752 1>,
71					<753 1>,
72					<785 1>,
73					<754 4>;
74
75			interrupt-names = "hns-roce-comp-0",
76					"hns-roce-comp-1",
77					"hns-roce-comp-2",
78					"hns-roce-comp-3",
79					"hns-roce-comp-4",
80					"hns-roce-comp-5",
81					"hns-roce-comp-6",
82					"hns-roce-comp-7",
83					"hns-roce-comp-8",
84					"hns-roce-comp-9",
85					"hns-roce-comp-10",
86					"hns-roce-comp-11",
87					"hns-roce-comp-12",
88					"hns-roce-comp-13",
89					"hns-roce-comp-14",
90					"hns-roce-comp-15",
91					"hns-roce-comp-16",
92					"hns-roce-comp-17",
93					"hns-roce-comp-18",
94					"hns-roce-comp-19",
95					"hns-roce-comp-20",
96					"hns-roce-comp-21",
97					"hns-roce-comp-22",
98					"hns-roce-comp-23",
99					"hns-roce-comp-24",
100					"hns-roce-comp-25",
101					"hns-roce-comp-26",
102					"hns-roce-comp-27",
103					"hns-roce-comp-28",
104					"hns-roce-comp-29",
105					"hns-roce-comp-30",
106					"hns-roce-comp-31",
107					"hns-roce-async",
108					"hns-roce-common";
109		};
110