xref: /linux/drivers/net/ethernet/hisilicon/Kconfig (revision cdd30ebb1b9f36159d66f088b61aee264e649d7a)
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	help
11	  If you have a network (Ethernet) card belonging to this class, say Y.
12
13	  Note that the answer to this question doesn't directly affect the
14	  kernel: saying N will just cause the configurator to skip all
15	  the questions about Hisilicon devices. If you say Y, you will be asked
16	  for your specific card in the following questions.
17
18if NET_VENDOR_HISILICON
19
20if ARM || ARM64 || COMPILE_TEST
21
22config HIX5HD2_GMAC
23	tristate "Hisilicon HIX5HD2 Family Network Device Support"
24	select PHYLIB
25	help
26	  This selects the hix5hd2 mac family network device.
27
28config HISI_FEMAC
29	tristate "Hisilicon Fast Ethernet MAC device support"
30	depends on HAS_IOMEM
31	select PHYLIB
32	select RESET_CONTROLLER
33	help
34	  This selects the Hisilicon Fast Ethernet MAC device(FEMAC).
35	  The FEMAC receives and transmits data over Ethernet
36	  ports at 10/100 Mbps in full-duplex or half-duplex mode.
37	  The FEMAC exchanges data with the CPU, and supports
38	  the energy efficient Ethernet (EEE).
39
40config HIP04_ETH
41	tristate "HISILICON P04 Ethernet support"
42	depends on HAS_IOMEM	# For MFD_SYSCON
43	select MARVELL_PHY
44	select MFD_SYSCON
45	select HNS_MDIO
46	help
47	  If you wish to compile a kernel for a hardware with hisilicon p04 SoC and
48	  want to use the internal ethernet then you should answer Y to this.
49
50config HI13X1_GMAC
51	bool "Hisilicon HI13X1 Network Device Support"
52	depends on HIP04_ETH
53	help
54	  If you wish to compile a kernel for a hardware with hisilicon hi13x1_gamc
55	  then you should answer Y to this. This makes this driver suitable for use
56	  on certain boards such as the HI13X1.
57
58	  If you are unsure, say N.
59
60config HNS_MDIO
61	tristate
62	select PHYLIB
63	help
64	  This selects the HNS MDIO support. It is needed by HNS_DSAF to access
65	  the PHY
66
67config HNS
68	tristate
69	help
70	  This selects the framework support for Hisilicon Network Subsystem. It
71	  is needed by any driver which provides HNS acceleration engine or make
72	  use of the engine
73
74config HNS_DSAF
75	tristate "Hisilicon HNS DSAF device Support"
76	select HNS
77	select HNS_MDIO
78	help
79	  This selects the DSAF (Distributed System Area Frabric) network
80	  acceleration engine support. The engine is used in Hisilicon hip05,
81	  Hi1610 and further ICT SoC
82
83config HNS_ENET
84	tristate "Hisilicon HNS Ethernet Device Support"
85	select PHYLIB
86	select HNS
87	help
88	  This selects the general ethernet driver for HNS.  This module make
89	  use of any HNS AE driver, such as HNS_DSAF
90
91config HNS3
92	tristate "Hisilicon Network Subsystem Support HNS3 (Framework)"
93	depends on PCI
94	select NET_DEVLINK
95	select PAGE_POOL
96	help
97	  This selects the framework support for Hisilicon Network Subsystem 3.
98	  This layer facilitates clients like ENET, RoCE and user-space ethernet
99	  drivers(like ODP)to register with HNAE devices and their associated
100	  operations.
101
102if HNS3
103
104config HNS3_HCLGE
105	tristate "Hisilicon HNS3 HCLGE Acceleration Engine & Compatibility Layer Support"
106	default m
107	depends on PCI_MSI
108	depends on PTP_1588_CLOCK_OPTIONAL
109	help
110	  This selects the HNS3_HCLGE network acceleration engine & its hardware
111	  compatibility layer. The engine would be used in Hisilicon hip08 family of
112	  SoCs and further upcoming SoCs.
113
114config HNS3_DCB
115	bool "Hisilicon HNS3 Data Center Bridge Support"
116	default n
117	depends on HNS3_HCLGE && DCB
118	help
119	  Say Y here if you want to use Data Center Bridging (DCB) in the HNS3 driver.
120
121	  If unsure, say N.
122
123config HNS3_HCLGEVF
124	tristate "Hisilicon HNS3VF Acceleration Engine & Compatibility Layer Support"
125	depends on PCI_MSI
126	depends on HNS3_HCLGE
127	help
128	  This selects the HNS3 VF drivers network acceleration engine & its hardware
129	  compatibility layer. The engine would be used in Hisilicon hip08 family of
130	  SoCs and further upcoming SoCs.
131
132config HNS3_ENET
133	tristate "Hisilicon HNS3 Ethernet Device Support"
134	default m
135	depends on 64BIT && PCI
136	depends on INET
137	select DIMLIB
138	help
139	  This selects the Ethernet Driver for Hisilicon Network Subsystem 3 for hip08
140	  family of SoCs. This module depends upon HNAE3 driver to access the HNAE3
141	  devices and their associated operations.
142
143endif #HNS3
144
145endif # ARM || ARM64 || COMPILE_TEST
146
147config HIBMCGE
148	tristate "Hisilicon BMC Gigabit Ethernet Device Support"
149	depends on PCI && PCI_MSI
150	select PHYLIB
151	select MOTORCOMM_PHY
152	select REALTEK_PHY
153	help
154	  If you wish to compile a kernel for a BMC with HIBMC-xx_gmac
155	  then you should answer Y to this. This makes this driver suitable for use
156	  on certain boards such as the HIBMC-210.
157
158	  If you are unsure, say N.
159
160endif # NET_VENDOR_HISILICON
161