#
# HISILICON device configuration
#

config NET_VENDOR_HISILICON
	bool "Hisilicon devices"
	default y
	depends on OF && HAS_DMA
	depends on ARM || ARM64 || COMPILE_TEST
	---help---
	  If you have a network (Ethernet) card belonging to this class, say Y
	  and read the Ethernet-HOWTO, available from
	  <http://www.tldp.org/docs.html#howto>.

	  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 HIP04_ETH
	tristate "HISILICON P04 Ethernet support"
	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 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 "Hisilicon Network Subsystem Support (Framework)"
	---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
        ---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
endif # NET_VENDOR_HISILICON
