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
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	imply PTP_1588_CLOCK
106	help
107	  This selects the HNS3_HCLGE network acceleration engine & its hardware
108	  compatibility layer. The engine would be used in Hisilicon hip08 family of
109	  SoCs and further upcoming SoCs.
110
111config HNS3_DCB
112	bool "Hisilicon HNS3 Data Center Bridge Support"
113	default n
114	depends on HNS3_HCLGE && DCB
115	help
116	  Say Y here if you want to use Data Center Bridging (DCB) in the HNS3 driver.
117
118	  If unsure, say N.
119
120config HNS3_HCLGEVF
121	tristate "Hisilicon HNS3VF Acceleration Engine & Compatibility Layer Support"
122	depends on PCI_MSI
123	depends on HNS3_HCLGE
124	help
125	  This selects the HNS3 VF drivers network acceleration engine & its hardware
126	  compatibility layer. The engine would be used in Hisilicon hip08 family of
127	  SoCs and further upcoming SoCs.
128
129config HNS3_ENET
130	tristate "Hisilicon HNS3 Ethernet Device Support"
131	default m
132	depends on 64BIT && PCI
133	depends on INET
134	select DIMLIB
135	help
136	  This selects the Ethernet Driver for Hisilicon Network Subsystem 3 for hip08
137	  family of SoCs. This module depends upon HNAE3 driver to access the HNAE3
138	  devices and their associated operations.
139
140endif #HNS3
141
142endif # NET_VENDOR_HISILICON
143