1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only
257c5bc9aSZhangfei Gao#
357c5bc9aSZhangfei Gao# HISILICON device configuration
457c5bc9aSZhangfei Gao#
557c5bc9aSZhangfei Gao
657c5bc9aSZhangfei Gaoconfig NET_VENDOR_HISILICON
757c5bc9aSZhangfei Gao	bool "Hisilicon devices"
857c5bc9aSZhangfei Gao	default y
9e020797bSGeert Uytterhoeven	depends on OF || ACPI
103870502aSGeert Uytterhoeven	depends on ARM || ARM64 || COMPILE_TEST
1157c5bc9aSZhangfei Gao	---help---
12138b15edSPaul Gortmaker	  If you have a network (Ethernet) card belonging to this class, say Y.
1357c5bc9aSZhangfei Gao
1457c5bc9aSZhangfei Gao	  Note that the answer to this question doesn't directly affect the
1557c5bc9aSZhangfei Gao	  kernel: saying N will just cause the configurator to skip all
1657c5bc9aSZhangfei Gao	  the questions about Hisilicon devices. If you say Y, you will be asked
1757c5bc9aSZhangfei Gao	  for your specific card in the following questions.
1857c5bc9aSZhangfei Gao
1957c5bc9aSZhangfei Gaoif NET_VENDOR_HISILICON
2057c5bc9aSZhangfei Gao
2157c5bc9aSZhangfei Gaoconfig HIX5HD2_GMAC
2257c5bc9aSZhangfei Gao	tristate "Hisilicon HIX5HD2 Family Network Device Support"
2357c5bc9aSZhangfei Gao	select PHYLIB
2457c5bc9aSZhangfei Gao	help
2557c5bc9aSZhangfei Gao	  This selects the hix5hd2 mac family network device.
2657c5bc9aSZhangfei Gao
27542ae60aSDongpo Liconfig HISI_FEMAC
28542ae60aSDongpo Li	tristate "Hisilicon Fast Ethernet MAC device support"
29542ae60aSDongpo Li	depends on HAS_IOMEM
30542ae60aSDongpo Li	select PHYLIB
31542ae60aSDongpo Li	select RESET_CONTROLLER
32542ae60aSDongpo Li	help
33542ae60aSDongpo Li	  This selects the Hisilicon Fast Ethernet MAC device(FEMAC).
34542ae60aSDongpo Li	  The FEMAC receives and transmits data over Ethernet
35542ae60aSDongpo Li	  ports at 10/100 Mbps in full-duplex or half-duplex mode.
36542ae60aSDongpo Li	  The FEMAC exchanges data with the CPU, and supports
37542ae60aSDongpo Li	  the energy efficient Ethernet (EEE).
38542ae60aSDongpo Li
394a841ee9SZhangfei Gaoconfig HIP04_ETH
404a841ee9SZhangfei Gao	tristate "HISILICON P04 Ethernet support"
41979d804eSKrzysztof Kozlowski	depends on HAS_IOMEM	# For MFD_SYSCON
424a841ee9SZhangfei Gao	select MARVELL_PHY
434a841ee9SZhangfei Gao	select MFD_SYSCON
445b904d39Shuangdaode	select HNS_MDIO
454a841ee9SZhangfei Gao	---help---
464a841ee9SZhangfei Gao	  If you wish to compile a kernel for a hardware with hisilicon p04 SoC and
474a841ee9SZhangfei Gao	  want to use the internal ethernet then you should answer Y to this.
484a841ee9SZhangfei Gao
492ede8489SJiangfeng Xiaoconfig HI13X1_GMAC
502ede8489SJiangfeng Xiao	bool "Hisilicon HI13X1 Network Device Support"
512ede8489SJiangfeng Xiao	depends on HIP04_ETH
522ede8489SJiangfeng Xiao	help
532ede8489SJiangfeng Xiao	  If you wish to compile a kernel for a hardware with hisilicon hi13x1_gamc
542ede8489SJiangfeng Xiao	  then you should answer Y to this. This makes this driver suitable for use
552ede8489SJiangfeng Xiao	  on certain boards such as the HI13X1.
562ede8489SJiangfeng Xiao
572ede8489SJiangfeng Xiao	  If you are unsure, say N.
582ede8489SJiangfeng Xiao
595b904d39Shuangdaodeconfig HNS_MDIO
600fa28877SArnd Bergmann	tristate
610fa28877SArnd Bergmann	select PHYLIB
625b904d39Shuangdaode	---help---
635b904d39Shuangdaode	  This selects the HNS MDIO support. It is needed by HNS_DSAF to access
645b904d39Shuangdaode	  the PHY
655b904d39Shuangdaode
666fe6611fShuangdaodeconfig HNS
676fe6611fShuangdaode	tristate "Hisilicon Network Subsystem Support (Framework)"
686fe6611fShuangdaode	---help---
696fe6611fShuangdaode	  This selects the framework support for Hisilicon Network Subsystem. It
706fe6611fShuangdaode	  is needed by any driver which provides HNS acceleration engine or make
716fe6611fShuangdaode	  use of the engine
726fe6611fShuangdaode
73511e6bc0Shuangdaodeconfig HNS_DSAF
74511e6bc0Shuangdaode	tristate "Hisilicon HNS DSAF device Support"
75511e6bc0Shuangdaode	select HNS
76511e6bc0Shuangdaode	select HNS_MDIO
77511e6bc0Shuangdaode	---help---
78511e6bc0Shuangdaode	  This selects the DSAF (Distributed System Area Frabric) network
79511e6bc0Shuangdaode	  acceleration engine support. The engine is used in Hisilicon hip05,
80511e6bc0Shuangdaode	  Hi1610 and further ICT SoC
81511e6bc0Shuangdaode
82b5996f11Shuangdaodeconfig HNS_ENET
83b5996f11Shuangdaode	tristate "Hisilicon HNS Ethernet Device Support"
84b5996f11Shuangdaode	select PHYLIB
85b5996f11Shuangdaode	select HNS
86b5996f11Shuangdaode	---help---
87b5996f11Shuangdaode	  This selects the general ethernet driver for HNS.  This module make
88b5996f11Shuangdaode	  use of any HNS AE driver, such as HNS_DSAF
89b5996f11Shuangdaode
9015e8e5ffSSalilconfig HNS3
9115e8e5ffSSalil	tristate "Hisilicon Network Subsystem Support HNS3 (Framework)"
9215e8e5ffSSalil	depends on PCI
9315e8e5ffSSalil	---help---
9415e8e5ffSSalil	  This selects the framework support for Hisilicon Network Subsystem 3.
9515e8e5ffSSalil	  This layer facilitates clients like ENET, RoCE and user-space ethernet
9615e8e5ffSSalil	  drivers(like ODP)to register with HNAE devices and their associated
9715e8e5ffSSalil	  operations.
9815e8e5ffSSalil
997a7056e3SHuazhong Tanif HNS3
1007a7056e3SHuazhong Tan
10115e8e5ffSSalilconfig HNS3_HCLGE
10215e8e5ffSSalil	tristate "Hisilicon HNS3 HCLGE Acceleration Engine & Compatibility Layer Support"
1037a7056e3SHuazhong Tan	default m
10415e8e5ffSSalil	depends on PCI_MSI
10515e8e5ffSSalil	---help---
10615e8e5ffSSalil	  This selects the HNS3_HCLGE network acceleration engine & its hardware
10715e8e5ffSSalil	  compatibility layer. The engine would be used in Hisilicon hip08 family of
10815e8e5ffSSalil	  SoCs and further upcoming SoCs.
10915e8e5ffSSalil
110cacde272SYunsheng Linconfig HNS3_DCB
111cacde272SYunsheng Lin	bool "Hisilicon HNS3 Data Center Bridge Support"
112cacde272SYunsheng Lin	default n
1137a7056e3SHuazhong Tan	depends on HNS3_HCLGE && DCB
114cacde272SYunsheng Lin	---help---
115cacde272SYunsheng Lin	  Say Y here if you want to use Data Center Bridging (DCB) in the HNS3 driver.
116cacde272SYunsheng Lin
117cacde272SYunsheng Lin	  If unsure, say N.
118cacde272SYunsheng Lin
119e963cb78SSalil Mehtaconfig HNS3_HCLGEVF
120e963cb78SSalil Mehta	tristate "Hisilicon HNS3VF Acceleration Engine & Compatibility Layer Support"
121e963cb78SSalil Mehta	depends on PCI_MSI
122e963cb78SSalil Mehta	depends on HNS3_HCLGE
123e963cb78SSalil Mehta    ---help---
124e963cb78SSalil Mehta	  This selects the HNS3 VF drivers network acceleration engine & its hardware
125e963cb78SSalil Mehta	  compatibility layer. The engine would be used in Hisilicon hip08 family of
126e963cb78SSalil Mehta	  SoCs and further upcoming SoCs.
127e963cb78SSalil Mehta
128e963cb78SSalil Mehtaconfig HNS3_ENET
129e963cb78SSalil Mehta	tristate "Hisilicon HNS3 Ethernet Device Support"
1307a7056e3SHuazhong Tan	default m
131e963cb78SSalil Mehta	depends on 64BIT && PCI
1322aa55dccSArnd Bergmann	depends on INET
133e963cb78SSalil Mehta	---help---
134e963cb78SSalil Mehta	  This selects the Ethernet Driver for Hisilicon Network Subsystem 3 for hip08
135e963cb78SSalil Mehta	  family of SoCs. This module depends upon HNAE3 driver to access the HNAE3
136e963cb78SSalil Mehta	  devices and their associated operations.
137e963cb78SSalil Mehta
1387a7056e3SHuazhong Tanendif #HNS3
1397a7056e3SHuazhong Tan
14057c5bc9aSZhangfei Gaoendif # NET_VENDOR_HISILICON
141