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
11a7f7f624SMasahiro Yamada	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
45a7f7f624SMasahiro Yamada	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
62a7f7f624SMasahiro Yamada	help
635b904d39Shuangdaode	  This selects the HNS MDIO support. It is needed by HNS_DSAF to access
645b904d39Shuangdaode	  the PHY
655b904d39Shuangdaode
666fe6611fShuangdaodeconfig HNS
678aef1994SGeert Uytterhoeven	tristate
68a7f7f624SMasahiro Yamada	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
77a7f7f624SMasahiro Yamada	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
86a7f7f624SMasahiro Yamada	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
93b741269bSYufeng Mo	select NET_DEVLINK
9493188e96SYunsheng Lin	select PAGE_POOL
95a7f7f624SMasahiro Yamada	help
9615e8e5ffSSalil	  This selects the framework support for Hisilicon Network Subsystem 3.
9715e8e5ffSSalil	  This layer facilitates clients like ENET, RoCE and user-space ethernet
9815e8e5ffSSalil	  drivers(like ODP)to register with HNAE devices and their associated
9915e8e5ffSSalil	  operations.
10015e8e5ffSSalil
1017a7056e3SHuazhong Tanif HNS3
1027a7056e3SHuazhong Tan
10315e8e5ffSSalilconfig HNS3_HCLGE
10415e8e5ffSSalil	tristate "Hisilicon HNS3 HCLGE Acceleration Engine & Compatibility Layer Support"
1057a7056e3SHuazhong Tan	default m
10615e8e5ffSSalil	depends on PCI_MSI
107*e5f31552SArnd Bergmann	depends on PTP_1588_CLOCK_OPTIONAL
108a7f7f624SMasahiro Yamada	help
10915e8e5ffSSalil	  This selects the HNS3_HCLGE network acceleration engine & its hardware
11015e8e5ffSSalil	  compatibility layer. The engine would be used in Hisilicon hip08 family of
11115e8e5ffSSalil	  SoCs and further upcoming SoCs.
11215e8e5ffSSalil
113cacde272SYunsheng Linconfig HNS3_DCB
114cacde272SYunsheng Lin	bool "Hisilicon HNS3 Data Center Bridge Support"
115cacde272SYunsheng Lin	default n
1167a7056e3SHuazhong Tan	depends on HNS3_HCLGE && DCB
117a7f7f624SMasahiro Yamada	help
118cacde272SYunsheng Lin	  Say Y here if you want to use Data Center Bridging (DCB) in the HNS3 driver.
119cacde272SYunsheng Lin
120cacde272SYunsheng Lin	  If unsure, say N.
121cacde272SYunsheng Lin
122e963cb78SSalil Mehtaconfig HNS3_HCLGEVF
123e963cb78SSalil Mehta	tristate "Hisilicon HNS3VF Acceleration Engine & Compatibility Layer Support"
124e963cb78SSalil Mehta	depends on PCI_MSI
125e963cb78SSalil Mehta	depends on HNS3_HCLGE
126a7f7f624SMasahiro Yamada	help
127e963cb78SSalil Mehta	  This selects the HNS3 VF drivers network acceleration engine & its hardware
128e963cb78SSalil Mehta	  compatibility layer. The engine would be used in Hisilicon hip08 family of
129e963cb78SSalil Mehta	  SoCs and further upcoming SoCs.
130e963cb78SSalil Mehta
131e963cb78SSalil Mehtaconfig HNS3_ENET
132e963cb78SSalil Mehta	tristate "Hisilicon HNS3 Ethernet Device Support"
1337a7056e3SHuazhong Tan	default m
134e963cb78SSalil Mehta	depends on 64BIT && PCI
1352aa55dccSArnd Bergmann	depends on INET
136307ea4ceSHuazhong Tan	select DIMLIB
137a7f7f624SMasahiro Yamada	help
138e963cb78SSalil Mehta	  This selects the Ethernet Driver for Hisilicon Network Subsystem 3 for hip08
139e963cb78SSalil Mehta	  family of SoCs. This module depends upon HNAE3 driver to access the HNAE3
140e963cb78SSalil Mehta	  devices and their associated operations.
141e963cb78SSalil Mehta
1427a7056e3SHuazhong Tanendif #HNS3
1437a7056e3SHuazhong Tan
14457c5bc9aSZhangfei Gaoendif # NET_VENDOR_HISILICON
145