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 HNS_MDIO
50	tristate
51	select PHYLIB
52	---help---
53	  This selects the HNS MDIO support. It is needed by HNS_DSAF to access
54	  the PHY
55
56config HNS
57	tristate "Hisilicon Network Subsystem Support (Framework)"
58	---help---
59	  This selects the framework support for Hisilicon Network Subsystem. It
60	  is needed by any driver which provides HNS acceleration engine or make
61	  use of the engine
62
63config HNS_DSAF
64	tristate "Hisilicon HNS DSAF device Support"
65	select HNS
66	select HNS_MDIO
67	---help---
68	  This selects the DSAF (Distributed System Area Frabric) network
69	  acceleration engine support. The engine is used in Hisilicon hip05,
70	  Hi1610 and further ICT SoC
71
72config HNS_ENET
73	tristate "Hisilicon HNS Ethernet Device Support"
74	select PHYLIB
75	select HNS
76	---help---
77	  This selects the general ethernet driver for HNS.  This module make
78	  use of any HNS AE driver, such as HNS_DSAF
79
80config HNS3
81	tristate "Hisilicon Network Subsystem Support HNS3 (Framework)"
82	depends on PCI
83	---help---
84	  This selects the framework support for Hisilicon Network Subsystem 3.
85	  This layer facilitates clients like ENET, RoCE and user-space ethernet
86	  drivers(like ODP)to register with HNAE devices and their associated
87	  operations.
88
89if HNS3
90
91config HNS3_HCLGE
92	tristate "Hisilicon HNS3 HCLGE Acceleration Engine & Compatibility Layer Support"
93	default m
94	depends on PCI_MSI
95	---help---
96	  This selects the HNS3_HCLGE network acceleration engine & its hardware
97	  compatibility layer. The engine would be used in Hisilicon hip08 family of
98	  SoCs and further upcoming SoCs.
99
100config HNS3_DCB
101	bool "Hisilicon HNS3 Data Center Bridge Support"
102	default n
103	depends on HNS3_HCLGE && DCB
104	---help---
105	  Say Y here if you want to use Data Center Bridging (DCB) in the HNS3 driver.
106
107	  If unsure, say N.
108
109config HNS3_HCLGEVF
110	tristate "Hisilicon HNS3VF Acceleration Engine & Compatibility Layer Support"
111	depends on PCI_MSI
112	depends on HNS3_HCLGE
113    ---help---
114	  This selects the HNS3 VF drivers network acceleration engine & its hardware
115	  compatibility layer. The engine would be used in Hisilicon hip08 family of
116	  SoCs and further upcoming SoCs.
117
118config HNS3_ENET
119	tristate "Hisilicon HNS3 Ethernet Device Support"
120	default m
121	depends on 64BIT && PCI
122	depends on INET
123	---help---
124	  This selects the Ethernet Driver for Hisilicon Network Subsystem 3 for hip08
125	  family of SoCs. This module depends upon HNAE3 driver to access the HNAE3
126	  devices and their associated operations.
127
128endif #HNS3
129
130endif # NET_VENDOR_HISILICON
131