# SPDX-License-Identifier: GPL-2.0-only 
 | 
# 
 | 
# HISILICON device configuration 
 | 
# 
 | 
  
 | 
config NET_VENDOR_HISILICON 
 | 
    bool "Hisilicon devices" 
 | 
    default y 
 | 
    depends on OF || ACPI 
 | 
    depends on ARM || ARM64 || COMPILE_TEST 
 | 
    help 
 | 
      If you have a network (Ethernet) card belonging to this class, say Y. 
 | 
  
 | 
      Note that the answer to this question doesn't directly affect the 
 | 
      kernel: saying N will just cause the configurator to skip all 
 | 
      the questions about Hisilicon devices. If you say Y, you will be asked 
 | 
      for your specific card in the following questions. 
 | 
  
 | 
if NET_VENDOR_HISILICON 
 | 
  
 | 
config HIX5HD2_GMAC 
 | 
    tristate "Hisilicon HIX5HD2 Family Network Device Support" 
 | 
    select PHYLIB 
 | 
    help 
 | 
      This selects the hix5hd2 mac family network device. 
 | 
  
 | 
config HISI_FEMAC 
 | 
    tristate "Hisilicon Fast Ethernet MAC device support" 
 | 
    depends on HAS_IOMEM 
 | 
    select PHYLIB 
 | 
    select RESET_CONTROLLER 
 | 
    help 
 | 
      This selects the Hisilicon Fast Ethernet MAC device(FEMAC). 
 | 
      The FEMAC receives and transmits data over Ethernet 
 | 
      ports at 10/100 Mbps in full-duplex or half-duplex mode. 
 | 
      The FEMAC exchanges data with the CPU, and supports 
 | 
      the energy efficient Ethernet (EEE). 
 | 
  
 | 
config HIP04_ETH 
 | 
    tristate "HISILICON P04 Ethernet support" 
 | 
    depends on HAS_IOMEM    # For MFD_SYSCON 
 | 
    select MARVELL_PHY 
 | 
    select MFD_SYSCON 
 | 
    select HNS_MDIO 
 | 
    help 
 | 
      If you wish to compile a kernel for a hardware with hisilicon p04 SoC and 
 | 
      want to use the internal ethernet then you should answer Y to this. 
 | 
  
 | 
config HI13X1_GMAC 
 | 
    bool "Hisilicon HI13X1 Network Device Support" 
 | 
    depends on HIP04_ETH 
 | 
    help 
 | 
      If you wish to compile a kernel for a hardware with hisilicon hi13x1_gamc 
 | 
      then you should answer Y to this. This makes this driver suitable for use 
 | 
      on certain boards such as the HI13X1. 
 | 
  
 | 
      If you are unsure, say N. 
 | 
  
 | 
config HNS_MDIO 
 | 
    tristate 
 | 
    select PHYLIB 
 | 
    help 
 | 
      This selects the HNS MDIO support. It is needed by HNS_DSAF to access 
 | 
      the PHY 
 | 
  
 | 
config HNS 
 | 
    tristate 
 | 
    help 
 | 
      This selects the framework support for Hisilicon Network Subsystem. It 
 | 
      is needed by any driver which provides HNS acceleration engine or make 
 | 
      use of the engine 
 | 
  
 | 
config HNS_DSAF 
 | 
    tristate "Hisilicon HNS DSAF device Support" 
 | 
    select HNS 
 | 
    select HNS_MDIO 
 | 
    help 
 | 
      This selects the DSAF (Distributed System Area Frabric) network 
 | 
      acceleration engine support. The engine is used in Hisilicon hip05, 
 | 
      Hi1610 and further ICT SoC 
 | 
  
 | 
config HNS_ENET 
 | 
    tristate "Hisilicon HNS Ethernet Device Support" 
 | 
    select PHYLIB 
 | 
    select HNS 
 | 
    help 
 | 
      This selects the general ethernet driver for HNS.  This module make 
 | 
      use of any HNS AE driver, such as HNS_DSAF 
 | 
  
 | 
config HNS3 
 | 
    tristate "Hisilicon Network Subsystem Support HNS3 (Framework)" 
 | 
    depends on PCI 
 | 
    help 
 | 
      This selects the framework support for Hisilicon Network Subsystem 3. 
 | 
      This layer facilitates clients like ENET, RoCE and user-space ethernet 
 | 
      drivers(like ODP)to register with HNAE devices and their associated 
 | 
      operations. 
 | 
  
 | 
if HNS3 
 | 
  
 | 
config HNS3_HCLGE 
 | 
    tristate "Hisilicon HNS3 HCLGE Acceleration Engine & Compatibility Layer Support" 
 | 
    default m 
 | 
    depends on PCI_MSI 
 | 
    help 
 | 
      This selects the HNS3_HCLGE network acceleration engine & its hardware 
 | 
      compatibility layer. The engine would be used in Hisilicon hip08 family of 
 | 
      SoCs and further upcoming SoCs. 
 | 
  
 | 
config HNS3_DCB 
 | 
    bool "Hisilicon HNS3 Data Center Bridge Support" 
 | 
    default n 
 | 
    depends on HNS3_HCLGE && DCB 
 | 
    help 
 | 
      Say Y here if you want to use Data Center Bridging (DCB) in the HNS3 driver. 
 | 
  
 | 
      If unsure, say N. 
 | 
  
 | 
config HNS3_HCLGEVF 
 | 
    tristate "Hisilicon HNS3VF Acceleration Engine & Compatibility Layer Support" 
 | 
    depends on PCI_MSI 
 | 
    depends on HNS3_HCLGE 
 | 
    help 
 | 
      This selects the HNS3 VF drivers network acceleration engine & its hardware 
 | 
      compatibility layer. The engine would be used in Hisilicon hip08 family of 
 | 
      SoCs and further upcoming SoCs. 
 | 
  
 | 
config HNS3_ENET 
 | 
    tristate "Hisilicon HNS3 Ethernet Device Support" 
 | 
    default m 
 | 
    depends on 64BIT && PCI 
 | 
    depends on INET 
 | 
    help 
 | 
      This selects the Ethernet Driver for Hisilicon Network Subsystem 3 for hip08 
 | 
      family of SoCs. This module depends upon HNAE3 driver to access the HNAE3 
 | 
      devices and their associated operations. 
 | 
  
 | 
endif #HNS3 
 | 
  
 | 
endif # NET_VENDOR_HISILICON 
 |