1 # SPDX-License-Identifier: GPL-2.0-only
2 #
3 # HISILICON device configuration
4 #
5 
6 config 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 
19 if NET_VENDOR_HISILICON
20 
21 config 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 
27 config 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 
39 config 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 
49 config 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 
59 config 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 
66 config 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 
73 config 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 
82 config 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 
90 config 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 
101 if HNS3
102 
103 config 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 
113 config 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 
122 config 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 
131 config 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 
142 endif #HNS3
143 
144 endif # NET_VENDOR_HISILICON
145