# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/net/hisilicon,hns-nic.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Hisilicon Network Subsystem NIC controller maintainers: - Jian Shen - Jijie Shao allOf: - $ref: ethernet-controller.yaml# properties: compatible: enum: - hisilicon,hns-nic-v1 - hisilicon,hns-nic-v2 ae-handle: description: accelerator engine handle for hns, specifies a reference to the associating hardware driver node. $ref: /schemas/types.yaml#/definitions/phandle port-id: description: | is the index of port provided by DSAF (the accelerator). DSAF can connect to 8 PHYs. Port 0 to 1 are both used for administration purpose. They are called debug ports. The remaining 6 PHYs are taken according to the mode of DSAF. In NIC mode of DSAF, all 6 PHYs are taken as ethernet ports to the CPU. The port-id can be 2 to 7. Here is the diagram: +-----+---------------+ | CPU | +-+-+-+---+-+-+-+-+-+-+ | | | | | | | | debug service port port (0,1) (2-7) In Switch mode of DSAF, all 6 PHYs are taken as physical ports connect to a LAN Switch, while the CPU side assume itself have one single NIC connect to this switch. In this case, the port-id will be 2 only. +-----+---------------+ | CPU | +-+-+-+---+-+-+-+-+-+-+ | | service| port(2) debug +------------+ port | switch | (0,1) +-+-+-+-+-+-++ | | | | | | external port $ref: /schemas/types.yaml#/definitions/uint32 maximum: 7 deprecated: true port-idx-in-ae: description: | is the index of port provided by AE. In NIC mode of DSAF, all 6 PHYs of service DSAF are taken as ethernet ports to the CPU. The port-idx-in-ae can be 0 to 5. Here is the diagram: +-----+---------------+ | CPU | +-+-+-+---+-+-+-+-+-+-+ | | | | | | | | debug debug service port port port (0) (0) (0-5) In Switch mode of DSAF, all 6 PHYs of service DSAF are taken as physical ports connected to a LAN Switch, while the CPU side assume itself have one single NIC connected to this switch. In this case, the port-idx-in-ae will be 0 only. +-----+-----+------+------+ | CPU | +-+-+-+-+-+-+-+-+-+-+-+-+-+ | | service| port(0) debug debug +------------+ port port | switch | (0) (0) +-+-+-+-+-+-++ | | | | | | external port $ref: /schemas/types.yaml#/definitions/uint32 maximum: 5 dma-coherent: true required: - compatible - ae-handle - port-idx-in-ae - local-mac-address unevaluatedProperties: false examples: - | ethernet { compatible = "hisilicon,hns-nic-v1"; ae-handle = <&dsaf0>; port-idx-in-ae = <0>; local-mac-address = [a2 14 e4 4b 56 76]; };