Kernel-4.18.0-80.el8_hisilicon-hns-roce

Hisilicon RoCE DT description

Hisilicon RoCE engine is a part of network subsystem.
It works depending on other part of network wubsytem, such as, gmac and
dsa fabric.

Additional properties are described here:

Required properties:

  • compatible: Should contain “hisilicon,hns-roce-v1”.

  • reg: Physical base address of the RoCE driver and
    length of memory mapped region.

  • eth-handle: phandle, specifies a reference to a node
    representing a ethernet device.

  • dsaf-handle: phandle, specifies a reference to a node
    representing a dsaf device.

  • node_guid: a number that uniquely identifies a device or component

  • #address-cells: must be 2

  • #size-cells: must be 2
    Optional properties:

  • dma-coherent: Present if DMA operations are coherent.

  • interrupt-parent: the interrupt parent of this device.

  • interrupts: should contain 32 completion event irq,1 async event irq
    and 1 event overflow irq.

  • interrupt-names:should be one of 34 irqs for roce device

    • hns-roce-comp-0 ~ hns-roce-comp-31: 32 complete event irq

    • hns-roce-async: 1 async event irq

    • hns-roce-common: named common exception warning irq
      Example:
      infiniband@c4000000 {

          compatible = "hisilicon,hns-roce-v1";
          reg = <0x0 0xc4000000 0x0 0x100000>;
          dma-coherent;
          eth-handle = <&eth2 &eth3 &eth4 &eth5 &eth6 &eth7>;
          dsaf-handle = <&soc0_dsa>;
          node-guid = [00 9A CD 00 00 01 02 03];
          #address-cells = <2>;
          #size-cells = <2>;
          interrupt-parent = <&mbigen_dsa>;
          interrupts = <722 1>,
                  <723 1>,
                  <724 1>,
                  <725 1>,
                  <726 1>,
                  <727 1>,
                  <728 1>,
                  <729 1>,
                  <730 1>,
                  <731 1>,
                  <732 1>,
                  <733 1>,
                  <734 1>,
                  <735 1>,
                  <736 1>,
                  <737 1>,
                  <738 1>,
                  <739 1>,
                  <740 1>,
                  <741 1>,
                  <742 1>,
                  <743 1>,
                  <744 1>,
                  <745 1>,
                  <746 1>,
                  <747 1>,
                  <748 1>,
                  <749 1>,
                  <750 1>,
                  <751 1>,
                  <752 1>,
                  <753 1>,
                  <785 1>,
                  <754 4>;
      
          interrupt-names = "hns-roce-comp-0",
                  "hns-roce-comp-1",
                  "hns-roce-comp-2",
                  "hns-roce-comp-3",
                  "hns-roce-comp-4",
                  "hns-roce-comp-5",
                  "hns-roce-comp-6",
                  "hns-roce-comp-7",
                  "hns-roce-comp-8",
                  "hns-roce-comp-9",
                  "hns-roce-comp-10",
                  "hns-roce-comp-11",
                  "hns-roce-comp-12",
                  "hns-roce-comp-13",
                  "hns-roce-comp-14",
                  "hns-roce-comp-15",
                  "hns-roce-comp-16",
                  "hns-roce-comp-17",
                  "hns-roce-comp-18",
                  "hns-roce-comp-19",
                  "hns-roce-comp-20",
                  "hns-roce-comp-21",
                  "hns-roce-comp-22",
                  "hns-roce-comp-23",
                  "hns-roce-comp-24",
                  "hns-roce-comp-25",
                  "hns-roce-comp-26",
                  "hns-roce-comp-27",
                  "hns-roce-comp-28",
                  "hns-roce-comp-29",
                  "hns-roce-comp-30",
                  "hns-roce-comp-31",
                  "hns-roce-async",
                  "hns-roce-common";
      };