GNU Linux-libre 5.10.217-gnu1
[releases.git] / drivers / net / ethernet / hisilicon / Kconfig
1 # SPDX-License-Identifier: GPL-2.0-only
2 #
3 # HISILICON device configuration
4 #
5
6 config NET_VENDOR_HISILICON
7         bool "Hisilicon devices"
8         default y
9         depends on OF || ACPI
10         depends on ARM || ARM64 || COMPILE_TEST
11         help
12           If you have a network (Ethernet) card belonging to this class, say Y.
13
14           Note that the answer to this question doesn't directly affect the
15           kernel: saying N will just cause the configurator to skip all
16           the questions about Hisilicon devices. If you say Y, you will be asked
17           for your specific card in the following questions.
18
19 if NET_VENDOR_HISILICON
20
21 config HIX5HD2_GMAC
22         tristate "Hisilicon HIX5HD2 Family Network Device Support"
23         select PHYLIB
24         help
25           This selects the hix5hd2 mac family network device.
26
27 config HISI_FEMAC
28         tristate "Hisilicon Fast Ethernet MAC device support"
29         depends on HAS_IOMEM
30         select PHYLIB
31         select RESET_CONTROLLER
32         help
33           This selects the Hisilicon Fast Ethernet MAC device(FEMAC).
34           The FEMAC receives and transmits data over Ethernet
35           ports at 10/100 Mbps in full-duplex or half-duplex mode.
36           The FEMAC exchanges data with the CPU, and supports
37           the energy efficient Ethernet (EEE).
38
39 config HIP04_ETH
40         tristate "HISILICON P04 Ethernet support"
41         depends on HAS_IOMEM    # For MFD_SYSCON
42         select MARVELL_PHY
43         select MFD_SYSCON
44         select HNS_MDIO
45         help
46           If you wish to compile a kernel for a hardware with hisilicon p04 SoC and
47           want to use the internal ethernet then you should answer Y to this.
48
49 config HI13X1_GMAC
50         bool "Hisilicon HI13X1 Network Device Support"
51         depends on HIP04_ETH
52         help
53           If you wish to compile a kernel for a hardware with hisilicon hi13x1_gamc
54           then you should answer Y to this. This makes this driver suitable for use
55           on certain boards such as the HI13X1.
56
57           If you are unsure, say N.
58
59 config HNS_MDIO
60         tristate
61         select PHYLIB
62         help
63           This selects the HNS MDIO support. It is needed by HNS_DSAF to access
64           the PHY
65
66 config HNS
67         tristate
68         help
69           This selects the framework support for Hisilicon Network Subsystem. It
70           is needed by any driver which provides HNS acceleration engine or make
71           use of the engine
72
73 config HNS_DSAF
74         tristate "Hisilicon HNS DSAF device Support"
75         select HNS
76         select HNS_MDIO
77         help
78           This selects the DSAF (Distributed System Area Frabric) network
79           acceleration engine support. The engine is used in Hisilicon hip05,
80           Hi1610 and further ICT SoC
81
82 config HNS_ENET
83         tristate "Hisilicon HNS Ethernet Device Support"
84         select PHYLIB
85         select HNS
86         help
87           This selects the general ethernet driver for HNS.  This module make
88           use of any HNS AE driver, such as HNS_DSAF
89
90 config HNS3
91         tristate "Hisilicon Network Subsystem Support HNS3 (Framework)"
92         depends on PCI
93         help
94           This selects the framework support for Hisilicon Network Subsystem 3.
95           This layer facilitates clients like ENET, RoCE and user-space ethernet
96           drivers(like ODP)to register with HNAE devices and their associated
97           operations.
98
99 if HNS3
100
101 config HNS3_HCLGE
102         tristate "Hisilicon HNS3 HCLGE Acceleration Engine & Compatibility Layer Support"
103         default m
104         depends on PCI_MSI
105         help
106           This selects the HNS3_HCLGE network acceleration engine & its hardware
107           compatibility layer. The engine would be used in Hisilicon hip08 family of
108           SoCs and further upcoming SoCs.
109
110 config HNS3_DCB
111         bool "Hisilicon HNS3 Data Center Bridge Support"
112         default n
113         depends on HNS3_HCLGE && DCB
114         help
115           Say Y here if you want to use Data Center Bridging (DCB) in the HNS3 driver.
116
117           If unsure, say N.
118
119 config HNS3_HCLGEVF
120         tristate "Hisilicon HNS3VF Acceleration Engine & Compatibility Layer Support"
121         depends on PCI_MSI
122         depends on HNS3_HCLGE
123         help
124           This selects the HNS3 VF drivers network acceleration engine & its hardware
125           compatibility layer. The engine would be used in Hisilicon hip08 family of
126           SoCs and further upcoming SoCs.
127
128 config HNS3_ENET
129         tristate "Hisilicon HNS3 Ethernet Device Support"
130         default m
131         depends on 64BIT && PCI
132         depends on INET
133         help
134           This selects the Ethernet Driver for Hisilicon Network Subsystem 3 for hip08
135           family of SoCs. This module depends upon HNAE3 driver to access the HNAE3
136           devices and their associated operations.
137
138 endif #HNS3
139
140 endif # NET_VENDOR_HISILICON