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	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
101if HNS3
102
103config 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
113config 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
122config 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
131config 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
142endif #HNS3
143
144endif # NET_VENDOR_HISILICON
145