18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
28c2ecf20Sopenharmony_ci#
38c2ecf20Sopenharmony_ci# HISILICON device configuration
48c2ecf20Sopenharmony_ci#
58c2ecf20Sopenharmony_ci
68c2ecf20Sopenharmony_ciconfig NET_VENDOR_HISILICON
78c2ecf20Sopenharmony_ci	bool "Hisilicon devices"
88c2ecf20Sopenharmony_ci	default y
98c2ecf20Sopenharmony_ci	depends on OF || ACPI
108c2ecf20Sopenharmony_ci	depends on ARM || ARM64 || COMPILE_TEST
118c2ecf20Sopenharmony_ci	help
128c2ecf20Sopenharmony_ci	  If you have a network (Ethernet) card belonging to this class, say Y.
138c2ecf20Sopenharmony_ci
148c2ecf20Sopenharmony_ci	  Note that the answer to this question doesn't directly affect the
158c2ecf20Sopenharmony_ci	  kernel: saying N will just cause the configurator to skip all
168c2ecf20Sopenharmony_ci	  the questions about Hisilicon devices. If you say Y, you will be asked
178c2ecf20Sopenharmony_ci	  for your specific card in the following questions.
188c2ecf20Sopenharmony_ci
198c2ecf20Sopenharmony_ciif NET_VENDOR_HISILICON
208c2ecf20Sopenharmony_ci
218c2ecf20Sopenharmony_ciconfig HIX5HD2_GMAC
228c2ecf20Sopenharmony_ci	tristate "Hisilicon HIX5HD2 Family Network Device Support"
238c2ecf20Sopenharmony_ci	select PHYLIB
248c2ecf20Sopenharmony_ci	help
258c2ecf20Sopenharmony_ci	  This selects the hix5hd2 mac family network device.
268c2ecf20Sopenharmony_ci
278c2ecf20Sopenharmony_ciconfig HISI_FEMAC
288c2ecf20Sopenharmony_ci	tristate "Hisilicon Fast Ethernet MAC device support"
298c2ecf20Sopenharmony_ci	depends on HAS_IOMEM
308c2ecf20Sopenharmony_ci	select PHYLIB
318c2ecf20Sopenharmony_ci	select RESET_CONTROLLER
328c2ecf20Sopenharmony_ci	help
338c2ecf20Sopenharmony_ci	  This selects the Hisilicon Fast Ethernet MAC device(FEMAC).
348c2ecf20Sopenharmony_ci	  The FEMAC receives and transmits data over Ethernet
358c2ecf20Sopenharmony_ci	  ports at 10/100 Mbps in full-duplex or half-duplex mode.
368c2ecf20Sopenharmony_ci	  The FEMAC exchanges data with the CPU, and supports
378c2ecf20Sopenharmony_ci	  the energy efficient Ethernet (EEE).
388c2ecf20Sopenharmony_ci
398c2ecf20Sopenharmony_ciconfig HIP04_ETH
408c2ecf20Sopenharmony_ci	tristate "HISILICON P04 Ethernet support"
418c2ecf20Sopenharmony_ci	depends on HAS_IOMEM	# For MFD_SYSCON
428c2ecf20Sopenharmony_ci	select MARVELL_PHY
438c2ecf20Sopenharmony_ci	select MFD_SYSCON
448c2ecf20Sopenharmony_ci	select HNS_MDIO
458c2ecf20Sopenharmony_ci	help
468c2ecf20Sopenharmony_ci	  If you wish to compile a kernel for a hardware with hisilicon p04 SoC and
478c2ecf20Sopenharmony_ci	  want to use the internal ethernet then you should answer Y to this.
488c2ecf20Sopenharmony_ci
498c2ecf20Sopenharmony_ciconfig HI13X1_GMAC
508c2ecf20Sopenharmony_ci	bool "Hisilicon HI13X1 Network Device Support"
518c2ecf20Sopenharmony_ci	depends on HIP04_ETH
528c2ecf20Sopenharmony_ci	help
538c2ecf20Sopenharmony_ci	  If you wish to compile a kernel for a hardware with hisilicon hi13x1_gamc
548c2ecf20Sopenharmony_ci	  then you should answer Y to this. This makes this driver suitable for use
558c2ecf20Sopenharmony_ci	  on certain boards such as the HI13X1.
568c2ecf20Sopenharmony_ci
578c2ecf20Sopenharmony_ci	  If you are unsure, say N.
588c2ecf20Sopenharmony_ci
598c2ecf20Sopenharmony_ciconfig HNS_MDIO
608c2ecf20Sopenharmony_ci	tristate
618c2ecf20Sopenharmony_ci	select PHYLIB
628c2ecf20Sopenharmony_ci	help
638c2ecf20Sopenharmony_ci	  This selects the HNS MDIO support. It is needed by HNS_DSAF to access
648c2ecf20Sopenharmony_ci	  the PHY
658c2ecf20Sopenharmony_ci
668c2ecf20Sopenharmony_ciconfig HNS
678c2ecf20Sopenharmony_ci	tristate
688c2ecf20Sopenharmony_ci	help
698c2ecf20Sopenharmony_ci	  This selects the framework support for Hisilicon Network Subsystem. It
708c2ecf20Sopenharmony_ci	  is needed by any driver which provides HNS acceleration engine or make
718c2ecf20Sopenharmony_ci	  use of the engine
728c2ecf20Sopenharmony_ci
738c2ecf20Sopenharmony_ciconfig HNS_DSAF
748c2ecf20Sopenharmony_ci	tristate "Hisilicon HNS DSAF device Support"
758c2ecf20Sopenharmony_ci	select HNS
768c2ecf20Sopenharmony_ci	select HNS_MDIO
778c2ecf20Sopenharmony_ci	help
788c2ecf20Sopenharmony_ci	  This selects the DSAF (Distributed System Area Frabric) network
798c2ecf20Sopenharmony_ci	  acceleration engine support. The engine is used in Hisilicon hip05,
808c2ecf20Sopenharmony_ci	  Hi1610 and further ICT SoC
818c2ecf20Sopenharmony_ci
828c2ecf20Sopenharmony_ciconfig HNS_ENET
838c2ecf20Sopenharmony_ci	tristate "Hisilicon HNS Ethernet Device Support"
848c2ecf20Sopenharmony_ci	select PHYLIB
858c2ecf20Sopenharmony_ci	select HNS
868c2ecf20Sopenharmony_ci	help
878c2ecf20Sopenharmony_ci	  This selects the general ethernet driver for HNS.  This module make
888c2ecf20Sopenharmony_ci	  use of any HNS AE driver, such as HNS_DSAF
898c2ecf20Sopenharmony_ci
908c2ecf20Sopenharmony_ciconfig HNS3
918c2ecf20Sopenharmony_ci	tristate "Hisilicon Network Subsystem Support HNS3 (Framework)"
928c2ecf20Sopenharmony_ci	depends on PCI
938c2ecf20Sopenharmony_ci	help
948c2ecf20Sopenharmony_ci	  This selects the framework support for Hisilicon Network Subsystem 3.
958c2ecf20Sopenharmony_ci	  This layer facilitates clients like ENET, RoCE and user-space ethernet
968c2ecf20Sopenharmony_ci	  drivers(like ODP)to register with HNAE devices and their associated
978c2ecf20Sopenharmony_ci	  operations.
988c2ecf20Sopenharmony_ci
998c2ecf20Sopenharmony_ciif HNS3
1008c2ecf20Sopenharmony_ci
1018c2ecf20Sopenharmony_ciconfig HNS3_HCLGE
1028c2ecf20Sopenharmony_ci	tristate "Hisilicon HNS3 HCLGE Acceleration Engine & Compatibility Layer Support"
1038c2ecf20Sopenharmony_ci	default m
1048c2ecf20Sopenharmony_ci	depends on PCI_MSI
1058c2ecf20Sopenharmony_ci	help
1068c2ecf20Sopenharmony_ci	  This selects the HNS3_HCLGE network acceleration engine & its hardware
1078c2ecf20Sopenharmony_ci	  compatibility layer. The engine would be used in Hisilicon hip08 family of
1088c2ecf20Sopenharmony_ci	  SoCs and further upcoming SoCs.
1098c2ecf20Sopenharmony_ci
1108c2ecf20Sopenharmony_ciconfig HNS3_DCB
1118c2ecf20Sopenharmony_ci	bool "Hisilicon HNS3 Data Center Bridge Support"
1128c2ecf20Sopenharmony_ci	default n
1138c2ecf20Sopenharmony_ci	depends on HNS3_HCLGE && DCB
1148c2ecf20Sopenharmony_ci	help
1158c2ecf20Sopenharmony_ci	  Say Y here if you want to use Data Center Bridging (DCB) in the HNS3 driver.
1168c2ecf20Sopenharmony_ci
1178c2ecf20Sopenharmony_ci	  If unsure, say N.
1188c2ecf20Sopenharmony_ci
1198c2ecf20Sopenharmony_ciconfig HNS3_HCLGEVF
1208c2ecf20Sopenharmony_ci	tristate "Hisilicon HNS3VF Acceleration Engine & Compatibility Layer Support"
1218c2ecf20Sopenharmony_ci	depends on PCI_MSI
1228c2ecf20Sopenharmony_ci	depends on HNS3_HCLGE
1238c2ecf20Sopenharmony_ci	help
1248c2ecf20Sopenharmony_ci	  This selects the HNS3 VF drivers network acceleration engine & its hardware
1258c2ecf20Sopenharmony_ci	  compatibility layer. The engine would be used in Hisilicon hip08 family of
1268c2ecf20Sopenharmony_ci	  SoCs and further upcoming SoCs.
1278c2ecf20Sopenharmony_ci
1288c2ecf20Sopenharmony_ciconfig HNS3_ENET
1298c2ecf20Sopenharmony_ci	tristate "Hisilicon HNS3 Ethernet Device Support"
1308c2ecf20Sopenharmony_ci	default m
1318c2ecf20Sopenharmony_ci	depends on 64BIT && PCI
1328c2ecf20Sopenharmony_ci	depends on INET
1338c2ecf20Sopenharmony_ci	help
1348c2ecf20Sopenharmony_ci	  This selects the Ethernet Driver for Hisilicon Network Subsystem 3 for hip08
1358c2ecf20Sopenharmony_ci	  family of SoCs. This module depends upon HNAE3 driver to access the HNAE3
1368c2ecf20Sopenharmony_ci	  devices and their associated operations.
1378c2ecf20Sopenharmony_ci
1388c2ecf20Sopenharmony_ciendif #HNS3
1398c2ecf20Sopenharmony_ci
1408c2ecf20Sopenharmony_ciendif # NET_VENDOR_HISILICON
141