162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only 262306a36Sopenharmony_ci# 362306a36Sopenharmony_ci# HISILICON device configuration 462306a36Sopenharmony_ci# 562306a36Sopenharmony_ci 662306a36Sopenharmony_ciconfig NET_VENDOR_HISILICON 762306a36Sopenharmony_ci bool "Hisilicon devices" 862306a36Sopenharmony_ci default y 962306a36Sopenharmony_ci depends on OF || ACPI 1062306a36Sopenharmony_ci depends on ARM || ARM64 || COMPILE_TEST 1162306a36Sopenharmony_ci help 1262306a36Sopenharmony_ci If you have a network (Ethernet) card belonging to this class, say Y. 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_ci Note that the answer to this question doesn't directly affect the 1562306a36Sopenharmony_ci kernel: saying N will just cause the configurator to skip all 1662306a36Sopenharmony_ci the questions about Hisilicon devices. If you say Y, you will be asked 1762306a36Sopenharmony_ci for your specific card in the following questions. 1862306a36Sopenharmony_ci 1962306a36Sopenharmony_ciif NET_VENDOR_HISILICON 2062306a36Sopenharmony_ci 2162306a36Sopenharmony_ciconfig HIX5HD2_GMAC 2262306a36Sopenharmony_ci tristate "Hisilicon HIX5HD2 Family Network Device Support" 2362306a36Sopenharmony_ci select PHYLIB 2462306a36Sopenharmony_ci help 2562306a36Sopenharmony_ci This selects the hix5hd2 mac family network device. 2662306a36Sopenharmony_ci 2762306a36Sopenharmony_ciconfig HISI_FEMAC 2862306a36Sopenharmony_ci tristate "Hisilicon Fast Ethernet MAC device support" 2962306a36Sopenharmony_ci depends on HAS_IOMEM 3062306a36Sopenharmony_ci select PHYLIB 3162306a36Sopenharmony_ci select RESET_CONTROLLER 3262306a36Sopenharmony_ci help 3362306a36Sopenharmony_ci This selects the Hisilicon Fast Ethernet MAC device(FEMAC). 3462306a36Sopenharmony_ci The FEMAC receives and transmits data over Ethernet 3562306a36Sopenharmony_ci ports at 10/100 Mbps in full-duplex or half-duplex mode. 3662306a36Sopenharmony_ci The FEMAC exchanges data with the CPU, and supports 3762306a36Sopenharmony_ci the energy efficient Ethernet (EEE). 3862306a36Sopenharmony_ci 3962306a36Sopenharmony_ciconfig HIP04_ETH 4062306a36Sopenharmony_ci tristate "HISILICON P04 Ethernet support" 4162306a36Sopenharmony_ci depends on HAS_IOMEM # For MFD_SYSCON 4262306a36Sopenharmony_ci select MARVELL_PHY 4362306a36Sopenharmony_ci select MFD_SYSCON 4462306a36Sopenharmony_ci select HNS_MDIO 4562306a36Sopenharmony_ci help 4662306a36Sopenharmony_ci If you wish to compile a kernel for a hardware with hisilicon p04 SoC and 4762306a36Sopenharmony_ci want to use the internal ethernet then you should answer Y to this. 4862306a36Sopenharmony_ci 4962306a36Sopenharmony_ciconfig HI13X1_GMAC 5062306a36Sopenharmony_ci bool "Hisilicon HI13X1 Network Device Support" 5162306a36Sopenharmony_ci depends on HIP04_ETH 5262306a36Sopenharmony_ci help 5362306a36Sopenharmony_ci If you wish to compile a kernel for a hardware with hisilicon hi13x1_gamc 5462306a36Sopenharmony_ci then you should answer Y to this. This makes this driver suitable for use 5562306a36Sopenharmony_ci on certain boards such as the HI13X1. 5662306a36Sopenharmony_ci 5762306a36Sopenharmony_ci If you are unsure, say N. 5862306a36Sopenharmony_ci 5962306a36Sopenharmony_ciconfig HNS_MDIO 6062306a36Sopenharmony_ci tristate 6162306a36Sopenharmony_ci select PHYLIB 6262306a36Sopenharmony_ci help 6362306a36Sopenharmony_ci This selects the HNS MDIO support. It is needed by HNS_DSAF to access 6462306a36Sopenharmony_ci the PHY 6562306a36Sopenharmony_ci 6662306a36Sopenharmony_ciconfig HNS 6762306a36Sopenharmony_ci tristate 6862306a36Sopenharmony_ci help 6962306a36Sopenharmony_ci This selects the framework support for Hisilicon Network Subsystem. It 7062306a36Sopenharmony_ci is needed by any driver which provides HNS acceleration engine or make 7162306a36Sopenharmony_ci use of the engine 7262306a36Sopenharmony_ci 7362306a36Sopenharmony_ciconfig HNS_DSAF 7462306a36Sopenharmony_ci tristate "Hisilicon HNS DSAF device Support" 7562306a36Sopenharmony_ci select HNS 7662306a36Sopenharmony_ci select HNS_MDIO 7762306a36Sopenharmony_ci help 7862306a36Sopenharmony_ci This selects the DSAF (Distributed System Area Frabric) network 7962306a36Sopenharmony_ci acceleration engine support. The engine is used in Hisilicon hip05, 8062306a36Sopenharmony_ci Hi1610 and further ICT SoC 8162306a36Sopenharmony_ci 8262306a36Sopenharmony_ciconfig HNS_ENET 8362306a36Sopenharmony_ci tristate "Hisilicon HNS Ethernet Device Support" 8462306a36Sopenharmony_ci select PHYLIB 8562306a36Sopenharmony_ci select HNS 8662306a36Sopenharmony_ci help 8762306a36Sopenharmony_ci This selects the general ethernet driver for HNS. This module make 8862306a36Sopenharmony_ci use of any HNS AE driver, such as HNS_DSAF 8962306a36Sopenharmony_ci 9062306a36Sopenharmony_ciconfig HNS3 9162306a36Sopenharmony_ci tristate "Hisilicon Network Subsystem Support HNS3 (Framework)" 9262306a36Sopenharmony_ci depends on PCI 9362306a36Sopenharmony_ci select NET_DEVLINK 9462306a36Sopenharmony_ci select PAGE_POOL 9562306a36Sopenharmony_ci help 9662306a36Sopenharmony_ci This selects the framework support for Hisilicon Network Subsystem 3. 9762306a36Sopenharmony_ci This layer facilitates clients like ENET, RoCE and user-space ethernet 9862306a36Sopenharmony_ci drivers(like ODP)to register with HNAE devices and their associated 9962306a36Sopenharmony_ci operations. 10062306a36Sopenharmony_ci 10162306a36Sopenharmony_ciif HNS3 10262306a36Sopenharmony_ci 10362306a36Sopenharmony_ciconfig HNS3_HCLGE 10462306a36Sopenharmony_ci tristate "Hisilicon HNS3 HCLGE Acceleration Engine & Compatibility Layer Support" 10562306a36Sopenharmony_ci default m 10662306a36Sopenharmony_ci depends on PCI_MSI 10762306a36Sopenharmony_ci depends on PTP_1588_CLOCK_OPTIONAL 10862306a36Sopenharmony_ci help 10962306a36Sopenharmony_ci This selects the HNS3_HCLGE network acceleration engine & its hardware 11062306a36Sopenharmony_ci compatibility layer. The engine would be used in Hisilicon hip08 family of 11162306a36Sopenharmony_ci SoCs and further upcoming SoCs. 11262306a36Sopenharmony_ci 11362306a36Sopenharmony_ciconfig HNS3_DCB 11462306a36Sopenharmony_ci bool "Hisilicon HNS3 Data Center Bridge Support" 11562306a36Sopenharmony_ci default n 11662306a36Sopenharmony_ci depends on HNS3_HCLGE && DCB 11762306a36Sopenharmony_ci help 11862306a36Sopenharmony_ci Say Y here if you want to use Data Center Bridging (DCB) in the HNS3 driver. 11962306a36Sopenharmony_ci 12062306a36Sopenharmony_ci If unsure, say N. 12162306a36Sopenharmony_ci 12262306a36Sopenharmony_ciconfig HNS3_HCLGEVF 12362306a36Sopenharmony_ci tristate "Hisilicon HNS3VF Acceleration Engine & Compatibility Layer Support" 12462306a36Sopenharmony_ci depends on PCI_MSI 12562306a36Sopenharmony_ci depends on HNS3_HCLGE 12662306a36Sopenharmony_ci help 12762306a36Sopenharmony_ci This selects the HNS3 VF drivers network acceleration engine & its hardware 12862306a36Sopenharmony_ci compatibility layer. The engine would be used in Hisilicon hip08 family of 12962306a36Sopenharmony_ci SoCs and further upcoming SoCs. 13062306a36Sopenharmony_ci 13162306a36Sopenharmony_ciconfig HNS3_ENET 13262306a36Sopenharmony_ci tristate "Hisilicon HNS3 Ethernet Device Support" 13362306a36Sopenharmony_ci default m 13462306a36Sopenharmony_ci depends on 64BIT && PCI 13562306a36Sopenharmony_ci depends on INET 13662306a36Sopenharmony_ci select DIMLIB 13762306a36Sopenharmony_ci help 13862306a36Sopenharmony_ci This selects the Ethernet Driver for Hisilicon Network Subsystem 3 for hip08 13962306a36Sopenharmony_ci family of SoCs. This module depends upon HNAE3 driver to access the HNAE3 14062306a36Sopenharmony_ci devices and their associated operations. 14162306a36Sopenharmony_ci 14262306a36Sopenharmony_ciendif #HNS3 14362306a36Sopenharmony_ci 14462306a36Sopenharmony_ciendif # NET_VENDOR_HISILICON 145