Linux 6.9-rc1
[linux-2.6-microblaze.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         select NET_DEVLINK
94         select PAGE_POOL
95         help
96           This selects the framework support for Hisilicon Network Subsystem 3.
97           This layer facilitates clients like ENET, RoCE and user-space ethernet
98           drivers(like ODP)to register with HNAE devices and their associated
99           operations.
100
101 if HNS3
102
103 config HNS3_HCLGE
104         tristate "Hisilicon HNS3 HCLGE Acceleration Engine & Compatibility Layer Support"
105         default m
106         depends on PCI_MSI
107         depends on PTP_1588_CLOCK_OPTIONAL
108         help
109           This selects the HNS3_HCLGE network acceleration engine & its hardware
110           compatibility layer. The engine would be used in Hisilicon hip08 family of
111           SoCs and further upcoming SoCs.
112
113 config HNS3_DCB
114         bool "Hisilicon HNS3 Data Center Bridge Support"
115         default n
116         depends on HNS3_HCLGE && DCB
117         help
118           Say Y here if you want to use Data Center Bridging (DCB) in the HNS3 driver.
119
120           If unsure, say N.
121
122 config HNS3_HCLGEVF
123         tristate "Hisilicon HNS3VF Acceleration Engine & Compatibility Layer Support"
124         depends on PCI_MSI
125         depends on HNS3_HCLGE
126         help
127           This selects the HNS3 VF drivers network acceleration engine & its hardware
128           compatibility layer. The engine would be used in Hisilicon hip08 family of
129           SoCs and further upcoming SoCs.
130
131 config HNS3_ENET
132         tristate "Hisilicon HNS3 Ethernet Device Support"
133         default m
134         depends on 64BIT && PCI
135         depends on INET
136         select DIMLIB
137         help
138           This selects the Ethernet Driver for Hisilicon Network Subsystem 3 for hip08
139           family of SoCs. This module depends upon HNAE3 driver to access the HNAE3
140           devices and their associated operations.
141
142 endif #HNS3
143
144 endif # NET_VENDOR_HISILICON