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