1# SPDX-License-Identifier: GPL-2.0-only
2#
3# HISILICON device configuration
4#
5
6config 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
19if NET_VENDOR_HISILICON
20
21config 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
27config 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
39config 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
49config 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
59config 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
66config HNS
67	tristate "Hisilicon Network Subsystem Support (Framework)"
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
73config 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
82config 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
90config 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
99if HNS3
100
101config 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
110config 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
119config 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
128config 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
138endif #HNS3
139
140endif # NET_VENDOR_HISILICON
141